hixie: Define how to handle synthesised audio descriptions that take longer to play than the cue with which they are associated (whatwg r6859)

hixie: Define how to handle synthesised audio descriptions that take
longer to play than the cue with which they are associated (whatwg
r6859)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.5458&r2=1.5459&f=h
http://html5.org/tools/web-apps-tracker?from=6858&to=6859

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.5458
retrieving revision 1.5459
diff -u -d -r1.5458 -r1.5459
--- Overview.html 9 Dec 2011 21:46:52 -0000 1.5458
+++ Overview.html 9 Dec 2011 21:51:03 -0000 1.5459
@@ -24385,12 +24385,12 @@
       <code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> attribute
       changed to a value lower than <code title="dom-media-HAVE_FUTURE_DATA"><a href="#dom-media-have_future_data">HAVE_FUTURE_DATA</a></code>, and
       the element has not <a href="#ended-playback">ended playback</a>, and playback
-      has not <a href="#stopped-due-to-errors">stopped due to errors</a>, and playback has not
-      <a href="#paused-for-user-interaction">paused for user interaction</a>, the user agent must
-      <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-timeupdate"><a href="#event-media-timeupdate">timeupdate</a></code> at
-      the element, 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-waiting"><a href="#event-media-waiting">waiting</a></code> at the element.</p>
+      has not <a href="#stopped-due-to-errors">stopped due to errors</a>, <a href="#paused-for-user-interaction">paused for
+      user interaction</a>, or <a href="#paused-for-in-band-content">paused for in-band
+      content</a>, the user agent must <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-timeupdate"><a href="#event-media-timeupdate">timeupdate</a></code> at the element,
+      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-waiting"><a href="#event-media-waiting">waiting</a></code> at the element.</p>
 
      </dd>
 
@@ -24575,7 +24575,8 @@
   <code title="dom-media-HAVE_NOTHING"><a href="#dom-media-have_nothing">HAVE_NOTHING</a></code> state, the
   <code title="dom-media-HAVE_METADATA"><a href="#dom-media-have_metadata">HAVE_METADATA</a></code> state, or
   the <code title="dom-media-HAVE_CURRENT_DATA"><a href="#dom-media-have_current_data">HAVE_CURRENT_DATA</a></code> state,
-  or if the element has <a href="#paused-for-user-interaction">paused for user interaction</a>.</p>
+  or if the element has <a href="#paused-for-user-interaction">paused for user interaction</a> or
+  <a href="#paused-for-in-band-content">paused for in-band content</a>.</p>
 
   <p>A <a href="#media-element">media element</a> is said to be <dfn id="potentially-playing">potentially
   playing</dfn> when its <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code>
@@ -24586,6 +24587,12 @@
   on its media controller</a>,
   and the element is not a <a href="#blocked-media-element">blocked media element</a>.</p>
 
+  <p class="note">A <code title="event-media-waiting"><a href="#event-media-waiting">waiting</a></code>
+  DOM event <a href="#fire-waiting-when-waiting">can be fired</a> as a
+  result of an element that is <a href="#potentially-playing">potentially playing</a>
+  stopping playback due to its <code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> attribute changing to
+  a value lower than <code title="dom-media-HAVE_FUTURE_DATA"><a href="#dom-media-have_future_data">HAVE_FUTURE_DATA</a></code>.</p>
+
   <p>A <a href="#media-element">media element</a> is said to have <dfn id="ended-playback">ended
   playback</dfn> when:</p>
 
@@ -24644,8 +24651,7 @@
   controller</a> when the user makes a selection, allowing playback
   to resume, the user agent must similarly <a href="#report-the-controller-state">report the controller
   state</a> for the <a href="#media-element">media element</a>'s <a href="#current-media-controller">current
-  media controller</a>.
-  </p>
+  media controller</a>.</p>
 
   <p>It is possible for a <a href="#media-element">media element</a> to have both
   <a href="#ended-playback">ended playback</a> and <a href="#paused-for-user-interaction">paused for user
@@ -24656,13 +24662,34 @@
   interaction</a>, the user agent must <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-timeupdate"><a href="#event-media-timeupdate">timeupdate</a></code> at the element.</p>
 
-  <p class="note">A <code title="event-media-waiting"><a href="#event-media-waiting">waiting</a></code>
-  DOM event <a href="#fire-waiting-when-waiting">can be fired</a> as a
-  result of an element that is <a href="#potentially-playing">potentially playing</a>
-  stopping playback due to its <code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> attribute changing to
-  a value lower than <code title="dom-media-HAVE_FUTURE_DATA"><a href="#dom-media-have_future_data">HAVE_FUTURE_DATA</a></code>.</p>
+  <p>A <a href="#media-element">media element</a> is said to have <dfn id="paused-for-in-band-content">paused for
+  in-band content</dfn> when its <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> attribute is false, the <code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> attribute is either
+  <code title="dom-media-HAVE_FUTURE_DATA"><a href="#dom-media-have_future_data">HAVE_FUTURE_DATA</a></code> or
+  <code title="dom-media-HAVE_ENOUGH_DATA"><a href="#dom-media-have_enough_data">HAVE_ENOUGH_DATA</a></code> and
+  the user agent has suspended playback of the <a href="#media-resource">media
+  resource</a> in order to play content that is temporally anchored
+  to the <a href="#media-resource">media resource</a> and has a non-zero length, or to
+  play content that is temporally anchored to a segment of the
+  <a href="#media-resource">media resource</a> but has a length longer than that
+  segment. If the <a href="#media-element">media element</a> has a <a href="#current-media-controller">current media
+  controller</a> when this happens, then the user agent must
+  <a href="#report-the-controller-state">report the controller state</a> for the <a href="#media-element">media
+  element</a>'s <a href="#current-media-controller">current media controller</a>. If the
+  <a href="#media-element">media element</a> has a <a href="#current-media-controller">current media
+  controller</a> when the user agent unsuspends playback, the user
+  agent must similarly <a href="#report-the-controller-state">report the controller state</a> for
+  the <a href="#media-element">media element</a>'s <a href="#current-media-controller">current media
+  controller</a>.</p>
 
-  <p>When the <a href="#current-playback-position">current playback position</a> reaches the end
+  <p class="example">One example of when a <a href="#media-element">media element</a>
+  would be <a href="#paused-for-in-band-content">paused for in-band content</a> is when the user
+  agent is playing <a href="#attr-track-kind-descriptions" title="attr-track-kind-descriptions">audio
+  descriptions</a> from an external WebVTT file, and the
+  synthesized speech generated for a cue is longer than the time
+  between the <a href="#text-track-cue-start-time">text track cue start time</a> and the
+  <a href="#text-track-cue-end-time">text track cue end time</a>.</p>
+
+  <hr><p>When the <a href="#current-playback-position">current playback position</a> reaches the end
   of the <a href="#media-resource">media resource</a> when the <a href="#direction-of-playback">direction of
   playback</a> is forwards, then the user agent must follow these
   steps:</p>
@@ -28512,13 +28539,13 @@
      <td>Playback is ready to start after having been paused or delayed due to lack of <a href="#media-data">media data</a>.
      <td><code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> is newly equal to or greater than <code title="dom-media-HAVE_FUTURE_DATA"><a href="#dom-media-have_future_data">HAVE_FUTURE_DATA</a></code> and <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> is false, or <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> is newly false and <code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> is equal to or greater than <code title="dom-media-HAVE_FUTURE_DATA"><a href="#dom-media-have_future_data">HAVE_FUTURE_DATA</a></code>. Even if this event fires, the element might still not be <a href="#potentially-playing">potentially playing</a>, e.g. if
      the element is <a href="#blocked-on-its-media-controller">blocked on its media controller</a> (e.g. because the <a href="#current-media-controller">current media controller</a> is paused, or another <a href="#slaved-media-elements" title="slaved media elements">slaved media element</a> is stalled somehow, or because the <a href="#media-resource">media resource</a> has no data corresponding to the <a href="#media-controller-position">media controller position</a>), or
-     the element is <a href="#paused-for-user-interaction">paused for user interaction</a>.
+     the element is <a href="#paused-for-user-interaction">paused for user interaction</a> or <a href="#paused-for-in-band-content">paused for in-band content</a>.
     <tr><td><dfn id="event-media-waiting" title="event-media-waiting"><code>waiting</code></dfn>
      <td><code><a href="#event">Event</a></code>
      <td>Playback has stopped because the next frame is not available, but the user agent expects that frame to become available in due course.
      <td><code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> is equal to or less than <code title="dom-media-HAVE_CURRENT_DATA"><a href="#dom-media-have_current_data">HAVE_CURRENT_DATA</a></code>, and <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> is false. Either <code title="dom-media-seeking"><a href="#dom-media-seeking">seeking</a></code> is true, or the <a href="#current-playback-position">current playback position</a> is not contained in any of the ranges in <code title="dom-media-buffered"><a href="#dom-media-buffered">buffered</a></code>. It is possible for playback to stop for other reasons without <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> being false, but those reasons do not fire this event (and when those situations resolve, a separate <code title="event-media-playing"><a href="#event-media-playing">playing</a></code> event is not fired either): e.g.
      the element is newly <a href="#blocked-on-its-media-controller">blocked on its media controller</a>, or
-     <a href="#ended-playback" title="ended playback">playback ended</a>, or playback <a href="#stopped-due-to-errors">stopped due to errors</a>, or the element has <a href="#paused-for-user-interaction">paused for user interaction</a>.
+     <a href="#ended-playback" title="ended playback">playback ended</a>, or playback <a href="#stopped-due-to-errors">stopped due to errors</a>, or the element has <a href="#paused-for-user-interaction">paused for user interaction</a> or <a href="#paused-for-in-band-content">paused for in-band content</a>.
    <tbody><tr><td><dfn id="event-media-seeking" title="event-media-seeking"><code>seeking</code></dfn>
      <td><code><a href="#event">Event</a></code>
      <td>The <code title="dom-media-seeking"><a href="#dom-media-seeking">seeking</a></code> IDL attribute changed to true.

Received on Wednesday, 14 December 2011 02:00:56 UTC