hixie: Captions - Stage 4: preparing the ground for timed tracks updating during media playback. (whatwg r5073)

hixie: Captions - Stage 4: preparing the ground for timed tracks
updating during media playback. (whatwg r5073)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.4074&r2=1.4075&f=h
http://html5.org/tools/web-apps-tracker?from=5072&to=5073

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.4074
retrieving revision 1.4075
diff -u -d -r1.4074 -r1.4075
--- Overview.html 4 May 2010 10:05:00 -0000 1.4074
+++ Overview.html 4 May 2010 22:53:12 -0000 1.4075
@@ -685,16 +685,19 @@
        <li><a href="#timed-tracks"><span class="secno">4.8.10.10 </span>Timed tracks</a>
         <ol>
          <li><a href="#timed-track-model"><span class="secno">4.8.10.10.1 </span>Timed track model</a></li>
-         <li><a href="#timed-track-api"><span class="secno">4.8.10.10.2 </span>Timed track API</a></li>
-         <li><a href="#in-band-timed-tracks"><span class="secno">4.8.10.10.3 </span>In-band timed tracks</a></li>
-         <li><a href="#websrt-timed-tracks"><span class="secno">4.8.10.10.4 </span>WebSRT timed tracks</a></li>
-         <li><a href="#sourcing-timed-tracks"><span class="secno">4.8.10.10.5 </span>Sourcing timed tracks</a></li>
-         <li><a href="#timed-track-processing-model"><span class="secno">4.8.10.10.6 </span>Timed track processing model</a></li>
-         <li><a href="#event-definitions"><span class="secno">4.8.10.10.7 </span>Event definitions</a></ol></li>
-       <li><a href="#user-interface"><span class="secno">4.8.10.11 </span>User interface</a></li>
-       <li><a href="#time-ranges"><span class="secno">4.8.10.12 </span>Time ranges</a></li>
-       <li><a href="#mediaevents"><span class="secno">4.8.10.13 </span>Event summary</a></li>
-       <li><a href="#security-and-privacy-considerations"><span class="secno">4.8.10.14 </span>Security and privacy considerations</a></ol></li>
+         <li><a href="#sourcing-in-band-timed-tracks"><span class="secno">4.8.10.10.2 </span>Sourcing in-band timed tracks</a></li>
+         <li><a href="#sourcing-websrt-timed-tracks"><span class="secno">4.8.10.10.3 </span>Sourcing WebSRT timed tracks</a></li>
+         <li><a href="#timed-track-processing-model"><span class="secno">4.8.10.10.4 </span>Timed track processing model</a></li>
+         <li><a href="#timed-track-api"><span class="secno">4.8.10.10.5 </span>Timed track API</a></li>
+         <li><a href="#cue-events"><span class="secno">4.8.10.10.6 </span>Event definitions</a></ol></li>
+       <li><a href="#websrt"><span class="secno">4.8.10.11 </span>WebSRT</a>
+        <ol>
+         <li><a href="#syntax-0"><span class="secno">4.8.10.11.1 </span>Syntax</a></li>
+         <li><a href="#parsing-0"><span class="secno">4.8.10.11.2 </span>Parsing</a></ol></li>
+       <li><a href="#user-interface"><span class="secno">4.8.10.12 </span>User interface</a></li>
+       <li><a href="#time-ranges"><span class="secno">4.8.10.13 </span>Time ranges</a></li>
+       <li><a href="#mediaevents"><span class="secno">4.8.10.14 </span>Event summary</a></li>
+       <li><a href="#security-and-privacy-considerations"><span class="secno">4.8.10.15 </span>Security and privacy considerations</a></ol></li>
      <li><a href="#the-canvas-element"><span class="secno">4.8.11 </span>The <code>canvas</code> element</a>
       <ol>
        <li><a href="#color-spaces-and-color-correction"><span class="secno">4.8.11.1 </span>Color spaces and color correction</a></li>
@@ -928,7 +931,7 @@
      <li><a href="#scroll-to-fragid"><span class="secno">5.5.8 </span>Navigating to a fragment identifier</a></li>
      <li><a href="#history-traversal"><span class="secno">5.5.9 </span>History traversal</a>
       <ol>
-       <li><a href="#event-definitions-0"><span class="secno">5.5.9.1 </span>Event definitions</a></ol></li>
+       <li><a href="#event-definitions"><span class="secno">5.5.9.1 </span>Event definitions</a></ol></li>
      <li><a href="#unloading-documents"><span class="secno">5.5.10 </span>Unloading documents</a>
       <ol>
        <li><a href="#event-definition"><span class="secno">5.5.10.1 </span>Event definition</a></ol></li>
@@ -20796,20 +20799,23 @@
     <ol><li><p>If a fetching process is in progress for the <a href="#media-element">media
      element</a>, the user agent should stop it.</li>
 
-     <li>Set the <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> attribute to
-     <a href="#dom-media-network_empty" title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</a>.</li>
+     <li><p>Set the <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> attribute to
+     <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code>.</li>
 
-     <li>If <code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> is
+     <li class="XXX"><p>remove all timed tracks</li>
+
+     <li><p>If <code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> is
      not set to <code title="dom-media-HAVE_NOTHING"><a href="#dom-media-have_nothing">HAVE_NOTHING</a></code>, then set it
      to that state.</li>
 
-     <li>If the <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> attribute
-     is false, then set to true.</li>
+     <li><p>If the <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code>
+     attribute is false, then set to true.</li>
 
-     <li>If <code title="dom-media-seeking"><a href="#dom-media-seeking">seeking</a></code> is true,
+     <li><p>If <code title="dom-media-seeking"><a href="#dom-media-seeking">seeking</a></code> is true,
      set it to false.</li>
 
-     <li>Set the <a href="#current-playback-position">current playback position</a> to 0.</li>
+     <li><p>Set the <a href="#current-playback-position">current playback position</a> to
+     0.</li>
 
      <li><p><a href="#queue-a-task">Queue a task</a> to <a href="#fire-a-simple-event">fire a simple
      event</a> named <code title="event-media-emptied"><a href="#event-media-emptied">emptied</a></code> at the <a href="#media-element">media
@@ -20846,7 +20852,7 @@
   the <a href="#event-loop">event loop</a> algorithm). Steps in such sections are
   marked with &#8987;.</p>
 
-  <ol><li><p>Set the <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> to <code title="dom-media-NETWORK_NO_SOURCE"><a href="#dom-media-network_no_source">NETWORK_NO_SOURCE</a></code>.</li>
+  <ol><!-- precondition: networkState == NETWORK_EMPTY at this point --><li><p>Set the <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> to <code title="dom-media-NETWORK_NO_SOURCE"><a href="#dom-media-network_no_source">NETWORK_NO_SOURCE</a></code>.</li>
 
    <li><p>Asynchronously <a href="#await-a-stable-state">await a stable state</a>, allowing
    the <a href="#concept-task" title="concept-task">task</a> that invoked this
@@ -20913,7 +20919,7 @@
      <li><p><i>Failed</i>: Reaching this step indicates that the media
      resource failed to load or that the given <a href="#url">URL</a> could
      not be <a href="#resolve-a-url" title="resolve a url">resolved</a>. Set the <code title="dom-media-error"><a href="#dom-media-error">error</a></code> attribute to a new
-     <code><a href="#mediaerror">MediaError</a></code> object whose <code title="dom-MediaError-code"><a href="#dom-mediaerror-code">code</a></code> attribute is set to <code title="dom-MediaError-MEDIA_ERR_SRC_NOT_SUPPORTED"><a href="#dom-mediaerror-media_err_src_not_supported">MEDIA_ERR_SRC_NOT_SUPPORTED</a></code>.</li>
+     <code><a href="#mediaerror">MediaError</a></code> object whose <code title="dom-MediaError-code"><a href="#dom-mediaerror-code">code</a></code> attribute is set to <code title="dom-MediaError-MEDIA_ERR_SRC_NOT_SUPPORTED"><a href="#dom-mediaerror-media_err_src_not_supported">MEDIA_ERR_SRC_NOT_SUPPORTED</a></code>. <span class="XXX">remove all timed tracks</span></li>
 
      <li><p>Set the element's <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> attribute to
      the <a href="#dom-media-network_no_source" title="dom-media-NETWORK_NO_SOURCE">NETWORK_NO_SOURCE</a>
@@ -21020,7 +21026,8 @@
      <a href="#fire-a-simple-event">fire a simple event</a> named <code title="event-error">error</code> at the <var title="">candidate</var> element, in the context of the <a href="#fetch" title="fetch">fetching process</a> that was used to try to
      obtain <var title="">candidate</var>'s corresponding <a href="#media-resource">media
      resource</a> in the <a href="#concept-media-load-resource" title="concept-media-load-resource">resource fetch
-     algorithm</a>.</li>
+     algorithm</a>. <span class="XXX">remove all timed
+     tracks</span></li>
 
      <li><p>Asynchronously <a href="#await-a-stable-state">await a stable state</a>. The
      <a href="#synchronous-section">synchronous section</a> consists of all the remaining
@@ -21298,10 +21305,11 @@
        at the <a href="#media-element">media element</a>.</li>
 
        <li><p>Set the element's <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> attribute to
-       the <a href="#dom-media-network_empty" title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</a>
+       the <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code>
        value and <a href="#queue-a-task">queue a task</a> to <a href="#fire-a-simple-event">fire a simple
-       event</a> named <code title="event-media-emptied"><a href="#event-media-emptied">emptied</a></code>
-       at the element.</li>
+       event</a> named <code title="event-media-emptied"><a href="#event-media-emptied">emptied</a></code> at the
+       element.</li> <!-- XXX shouldn't this be _IDLE? see
+       aborted-by-user state below -->
 
        <li><p>Set the element's <a href="#delaying-the-load-event-flag">delaying-the-load-event
        flag</a> to false. This stops <a href="#delay-the-load-event" title="delay the load
@@ -21334,10 +21342,11 @@
        at the <a href="#media-element">media element</a>.</li>
 
        <li><p>Set the element's <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> attribute to
-       the <a href="#dom-media-network_empty" title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</a>
+       the <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code>
        value and <a href="#queue-a-task">queue a task</a> to <a href="#fire-a-simple-event">fire a simple
-       event</a> named <code title="event-media-emptied"><a href="#event-media-emptied">emptied</a></code>
-       at the element.</li>
+       event</a> named <code title="event-media-emptied"><a href="#event-media-emptied">emptied</a></code> at the
+       element.</li> <!-- XXX shouldn't this be _IDLE? see
+       aborted-by-user case below -->
 
        <li><p>Set the element's <a href="#delaying-the-load-event-flag">delaying-the-load-event
        flag</a> to false. This stops <a href="#delay-the-load-event" title="delay the load
@@ -21375,11 +21384,11 @@
        <li><p>If the <a href="#media-element">media element</a>'s <code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> attribute has a
        value equal to <code title="dom-media-HAVE_NOTHING"><a href="#dom-media-have_nothing">HAVE_NOTHING</a></code>, set the
        element's <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> attribute to
-       the <a href="#dom-media-network_empty" title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</a>
+       the <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code>
        value and <a href="#queue-a-task">queue a task</a> to <a href="#fire-a-simple-event">fire a simple
        event</a> named <code title="event-media-emptied"><a href="#event-media-emptied">emptied</a></code>
        at the element. Otherwise, set the element's <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> attribute to
-       the <a href="#dom-media-network_idle" title="dom-media-NETWORK_IDLE">NETWORK_IDLE</a>
+       the <code title="dom-media-NETWORK_IDLE"><a href="#dom-media-network_idle">NETWORK_IDLE</a></code>
        value.</li>
 
        <li><p>Set the element's <a href="#delaying-the-load-event-flag">delaying-the-load-event
@@ -21408,6 +21417,15 @@
 
      </dd>
 
+
+     <dt class="XXX">timed tracks are found</dt>
+
+     <dd>
+
+      <p class="XXX">...
+
+     </dd>
+
     </dl><p>When the <a href="#networking-task-source">networking task source</a> has <a href="#queue-a-task" title="queue a task">queued</a> the last <a href="#concept-task" title="concept-task">task</a> as part of <a href="#fetch" title="fetch">fetching</a> the <a href="#media-resource">media resource</a>
     (i.e. once the download has completed), if the fetching process
     completes without errors, including decoding the media data, and
@@ -21671,7 +21689,7 @@
    available. No data for the <a href="#current-playback-position">current playback position</a>
    is available. <a href="#media-element" title="media element">Media elements</a>
    whose <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code>
-   attribute is <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code> are always in
+   attribute are set to <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code> are always in
    the <code title="dom-media-HAVE_NOTHING"><a href="#dom-media-have_nothing">HAVE_NOTHING</a></code>
    state.</dd>
 
@@ -22409,7 +22427,7 @@
   <a href="#current-playback-position">current playback position</a> changes in a discontinuous
   fashion (so that the relevant events fire).</p>
 
-  </div><h5 id="timed-tracks"><span class="secno">4.8.10.10 </span>Timed tracks</h5><h6 id="timed-track-model"><span class="secno">4.8.10.10.1 </span>Timed track model</h6><p>A <a href="#media-element">media element</a> can have a group of associated <dfn id="timed-track" title="timed track">timed tracks</dfn>, known as the <a href="#media-element">media
+  </div><h5 id="timed-tracks"><span class="secno">4.8.10.10 </span>Timed tracks</h5><p class="XXX annotation"><b>Status: </b><i>Being edited right now</i><h6 id="timed-track-model"><span class="secno">4.8.10.10.1 </span>Timed track model</h6><p>A <a href="#media-element">media element</a> can have a group of associated <dfn id="timed-track" title="timed track">timed tracks</dfn>, known as the <a href="#media-element">media
   element</a>'s <dfn id="list-of-timed-tracks">list of timed tracks</dfn>. The <a href="#timed-track" title="timed track">timed tracks</a> are sorted as follows:<ol class="brief"><li>The <a href="#timed-track" title="timed track">timed tracks</a> corresponding
    to <code><a href="#the-track-element">track</a></code> element children of the <a href="#media-element">media
    element</a>, in <a href="#tree-order">tree order</a>.</li>
@@ -22582,10 +22600,16 @@
     HTML.</p>
    </dd>
 
-  </dl><p class="XXX">...
+  </dl><h6 id="sourcing-in-band-timed-tracks"><span class="secno">4.8.10.10.2 </span>Sourcing in-band timed tracks</h6><p>
 
 
-  <h6 id="timed-track-api"><span class="secno">4.8.10.10.2 </span>Timed track API</h6><!--
+  <h6 id="sourcing-websrt-timed-tracks"><span class="secno">4.8.10.10.3 </span>Sourcing WebSRT timed tracks</h6><p class="XXX">...
+
+
+  <h6 id="timed-track-processing-model"><span class="secno">4.8.10.10.4 </span>Timed track processing model</h6><p class="XXX">...
+
+
+  <h6 id="timed-track-api"><span class="secno">4.8.10.10.5 </span>Timed track API</h6><!--
   // timed tracks on HTMLMediaElement:
   readonly attribute <span>MediaTrack</span>[] <span title="dom-media-tracks">tracks</span>;
   <span>MutableMediaTrack</span> <span title="dom-media-addTrack">addTrack</span>(in DOMString label, in DOMString kind, in DOMString language);
@@ -22643,19 +22667,7 @@
 
   <p class="XXX">...
 
-  </div><h6 id="in-band-timed-tracks"><span class="secno">4.8.10.10.3 </span>In-band timed tracks</h6><p class="XXX">...
-
-
-  <h6 id="websrt-timed-tracks"><span class="secno">4.8.10.10.4 </span>WebSRT timed tracks</h6><p class="XXX">...
-
-
-  <h6 id="sourcing-timed-tracks"><span class="secno">4.8.10.10.5 </span>Sourcing timed tracks</h6><p class="XXX">...
-
-
-  <h6 id="timed-track-processing-model"><span class="secno">4.8.10.10.6 </span>Timed track processing model</h6><p class="XXX">...
-
-
-  <h6 id="event-definitions"><span class="secno">4.8.10.10.7 </span>Event definitions</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i><p class="XXX">...
+  </div><h6 id="cue-events"><span class="secno">4.8.10.10.6 </span>Event definitions</h6><p class="XXX">...
 
 <!-- XXX
 CueEvent
@@ -22663,7 +22675,13 @@
 -->
 
 
-  <h5 id="user-interface"><span class="secno">4.8.10.11 </span>User interface</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i><p>The <dfn id="attr-media-controls" title="attr-media-controls"><code>controls</code></dfn>
+  <h5 id="websrt"><span class="secno">4.8.10.11 </span>WebSRT</h5><h6 id="syntax-0"><span class="secno">4.8.10.11.1 </span>Syntax</h6><p class="XXX">...
+
+  <h6 id="parsing-0"><span class="secno">4.8.10.11.2 </span>Parsing</h6><p class="XXX">...
+
+
+
+  <h5 id="user-interface"><span class="secno">4.8.10.12 </span>User interface</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i><p>The <dfn id="attr-media-controls" title="attr-media-controls"><code>controls</code></dfn>
   attribute is a <a href="#boolean-attribute">boolean attribute</a>. If present, it
   indicates that the author has not provided a scripted controller and
   would like the user agent to provide its own set of controls.<div class="impl">
@@ -22757,7 +22775,7 @@
   event</a> named <code title="event-media-volumechange"><a href="#event-media-volumechange">volumechange</a></code> at the <a href="#media-element">media
   element</a>.</p>
 
-  </div><h5 id="time-ranges"><span class="secno">4.8.10.12 </span>Time ranges</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i><p>Objects implementing the <code><a href="#timeranges">TimeRanges</a></code> interface
+  </div><h5 id="time-ranges"><span class="secno">4.8.10.13 </span>Time ranges</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i><p>Objects implementing the <code><a href="#timeranges">TimeRanges</a></code> interface
   represent a list of ranges (periods) of time.<pre class="idl">interface <dfn id="timeranges">TimeRanges</dfn> {
   readonly attribute unsigned long <a href="#dom-timeranges-length" title="dom-TimeRanges-length">length</a>;
   float <a href="#dom-timeranges-start" title="dom-TimeRanges-start">start</a>(in unsigned long index);
@@ -22826,7 +22844,7 @@
   <p>The timelines used by the objects returned by the <code title="dom-media-buffered"><a href="#dom-media-buffered">buffered</a></code>, <code title="dom-media-seekable"><a href="#dom-media-seekable">seekable</a></code> and <code title="dom-media-played"><a href="#dom-media-played">played</a></code> IDL attributes of <a href="#media-element" title="media element">media elements</a> must be the same as that
   element's <a href="#media-resource">media resource</a>'s timeline.</p>
 
-  </div><h5 id="mediaevents"><span class="secno">4.8.10.13 </span>Event summary</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i><p><i>This section is non-normative.</i><p>The following events fire on <a href="#media-element" title="media element">media
+  </div><h5 id="mediaevents"><span class="secno">4.8.10.14 </span>Event summary</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i><p><i>This section is non-normative.</i><p>The following events fire on <a href="#media-element" title="media element">media
   elements</a> as part of the processing model described above:<table><thead><tr><th>Event name
      <th>Interface
      <th>Dispatched when...
@@ -22928,7 +22946,7 @@
      <td>
   </table><div class="impl">
 
-  <h5 id="security-and-privacy-considerations"><span class="secno">4.8.10.14 </span>Security and privacy considerations</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p>
+  <h5 id="security-and-privacy-considerations"><span class="secno">4.8.10.15 </span>Security and privacy considerations</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p>
 
   <p>The main security and privacy implications of the
   <code><a href="#video">video</a></code> and <code><a href="#audio">audio</a></code> elements come from the
@@ -44089,7 +44107,7 @@
   <a href="#dom-manipulation-task-source">DOM manipulation task source</a>.</p>
 
 
-  <h5 id="event-definitions-0"><span class="secno">5.5.9.1 </span>Event definitions</h5>
+  <h5 id="event-definitions"><span class="secno">5.5.9.1 </span>Event definitions</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p>
 
   </div><p>The <dfn id="event-popstate" title="event-popstate"><code>popstate</code></dfn> event
   is fired when navigating to a <a href="#session-history-entry">session history entry</a>

Received on Tuesday, 4 May 2010 22:54:00 UTC