-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix #99: Update the attachment references to lead to HTML51 local mode #143
Conversation
Note that the old "stalled" event logic is allowed in a non-normative note (even though the logic which does such stalled events is in the now-skipped remote mode section) since that particular behavior change would have been substantive, IMHO. We already have a VNext MSE spec bug #88 which will eventually clarify behavior around 'stalled' and 'progress' events.
...including those in EndOfStream. Also, made the wording around replacing the first step of the resource fetch algorithm more clear IMHO.
@jdsmith3000 @mwatson2 @tidoust: I believe you are all out of the office this week. This PR follows the route outlined by each of @tidoust, @mwatson2, and @foolip in comments in #99. I would like to merge this ASAP to meet MSE timeline. Given that I believe this follows the editors' agreed-upon implementation route, I would like at least one other person to look this over before I merge it. @foolip or @paulbrucecotton, would you please take a look and see if this raises any concerns? I kept the substantive changes out of this by noting the same in non-normative notes (specifically, 'stalled' MAY still occur; and srcObject MAY not reflect the src-attribute (or edit: Useful link for reviewers: http://services.w3.org/htmldiff?doc1=http%3A%2F%2Frawgit.com%2Fw3c%2Fmedia-source%2Fba1a409a311ad642dd787adcb1535eda3c95e268%2Findex.html&doc2=http%3A%2F%2Frawgit.com%2Fw3c%2Fmedia-source%2F55b92b1aee07f6490295bad8f6097b62babc6d3c%2Findex.html (The changes are within the "Attaching to a media element" and "End of stream algorithm" sections.) |
@wolenetz - As much as I appreciate your attempts to close out the remaining MSE GitHub issues ASAP, maybe a better plan would be for you to leave this PR open for a longer review and for you to work on the outstanding comments and problems with the MSE test suite on WPT? The test suite and test results are as much the "long pole" to getting to PR as the GitHub issues are. /paulc |
@@ -1782,7 +1786,7 @@ <h4 id="h-mediasource-detach" resource="#h-mediasource-detach"><span property="x | |||
<a href="https://www.w3.org/TR/html51/webappapis.html#queuing">Queue a task</a> to <a href="https://www.w3.org/TR/html51/infrastructure.html#fire">fire a simple event</a> named <code><a href="#dom-evt-sourceclose">sourceclose</a></code> at the <a href="#idl-def-mediasource" class="internalDFN" data-link-type="dfn"><code>MediaSource</code></a>.</li> | |||
</ol> | |||
<div class="note"> | |||
<div class="note-title marker" aria-level="5" role="heading" id="h-note20"><span>Note</span></div> | |||
<div class="note-title marker" aria-level="5" role="heading" id="h-note21"><span>Note</span></div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see no internal links to #h-note*, so I guess these are linked to from somewhere else? Aren't they meant to be stable? If nobody is actually expected to link to these, I'd just drop the ids to make diffs like this smaller :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, index.html is generated, media-source-respec.html is the input. Too bad they show up in the other order in diffs :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the regeneration upon note insertion/removal makes for a bunch of lines in the index.html diff. I suppose the link tag is generated in case someone might wish to make a link into a document revision to a particular note, though those numbers can obviously change significantly across revisions.
9310bf8 addresses all comments so far. |
|
||
<p>If the <a def-id="resource-fetch-algorithm"></a> was invoked with a media provider object that is a MediaSource object or a URL record whose object is a MediaSource object, then let mode be local, skip the first step in the <a def-id="resource-fetch-algorithm"></a> which may otherwise set mode to remote, and run the following steps at the beginning of the <a def-id="Otherwise-mode-is-local"></a> section of the <a def-id="resource-fetch-algorithm"></a>. | ||
<p class="note">The <a def-id="resource-fetch-algorithm"></a>[[HTML51]]'s first step is expected to eventually align with selecting local mode for URL records whose objects are media provider objects. The intent is that if the HTMLMediaElement's <code>src</code> attribute or selected child <code><source></code>'s <code>src</code> attribute is an absolute URL matching a <a def-id="MediaSource-object-URL"></a> when the respective <code>src</code> attribute was last changed, then that MediaSource object is used as the media provider object and current media resource in the local mode logic in the <a def-id="resource-fetch-algorithm"></a>. This also means that the remote mode logic that includes observance of any preload attribute is skipped when a MediaSource object is attached. Even with that eventual change to [[HTML51]], the execution of the following steps at the beginning of the local mode logic is still required when the current media resource is a MediaSource object.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two issues on the same source line.
A bit odd with the spec ref is between "resource fetch algorithm" and the trailing 's, maybe skip the ref entirely or put if after?
Maybe "blob:
URL" instead of "absolute URL"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sgtm. I'll fix both. I used "absolute URL" since that's what the current w3c html 5.1 terminology is, but blob: is even more specific, and this is already in a non-normative note describing the real intent.
OK, I've finished reviewing the whole change, on the assumption that it'll be squashed into a single commit so I didn't pay attention to the later commit messages. LGTM, I think it does the job, and since the difference between this sometimes taking the remote branch is observable, it's important to get all implementations aligned. (And again, I'm sorry that integrating with HTML is such a pain for you, but I'll do what I can to make it less terrible.) |
3c44929 addressess all comments so far. Updated htmldiff link to assist review is: http://services.w3.org/htmldiff?doc1=http%3A%2F%2Frawgit.com%2Fw3c%2Fmedia-source%2Fba1a409a311ad642dd787adcb1535eda3c95e268%2Findex.html&doc2=http%3A%2F%2Frawgit.com%2Fw3c%2Fmedia-source%2F3c449292ab57363913384b4a00593c47f64e4cdf%2Findex.html |
I agree that having (Top-level since it'd otherwise be in collapsed comments.) |
Note, this and PR #146 modify similar region of the spec, so merge conflict resolution will be necessary when they're landed. |
This PR LGTM, can it be merged so reviewing the other one is cleaner? |
<dl class="switch"> | ||
<dt>If <a def-id="readyState"></a> is NOT set to <a def-id="closed"></a></dt> | ||
<dd>Run the <a def-id="media-data-cannot-be-fetched"></a> steps of the <a def-id="resource-fetch-algorithm"></a>.</dd> | ||
<dd>Run the <a def-id="media-data-cannot-be-fetched"></a> steps of the <a def-id="resource-fetch-algorithm"></a>'s <a def-id="media-data-processing-steps-list"></a>.</dd> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This addition LGTM.
I made a minor comment about how the added/clarified steps are spliced in. Otherwise, the change PR LGTM as well. |
Note that the old "stalled" and "progress" event logic is allowed (but not required)
in a non-normative note (even though the logic which does such events is in the
now-skipped remote mode section) since that particular behavior change
would have been substantive, IMHO. We already have a VNext MSE spec
bug #88 which will eventually clarify behavior around 'stalled' and
'progress' events.
edit: included "progress" in this msg to inform eventual squash commit msg, since 3c44929 now also mentions 'progress' events.