[html5] r6859 - [giow] (0) Define how to handle synthesised audio descriptions that take longer [...]

whatwg at whatwg.org whatwg at whatwg.org
Fri Dec 9 13:51:00 PST 2011


Author: ianh
Date: 2011-12-09 13:50:59 -0800 (Fri, 09 Dec 2011)
New Revision: 6859

Modified:
   complete.html
   index
   source
Log:
[giow] (0) Define how to handle synthesised audio descriptions that take longer to play than the cue with which they are associated
Affected topics: Video and Audio

Modified: complete.html
===================================================================
--- complete.html	2011-12-09 21:46:47 UTC (rev 6858)
+++ complete.html	2011-12-09 21:50:59 UTC (rev 6859)
@@ -29406,12 +29406,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>
 
@@ -29612,7 +29612,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>
@@ -29623,6 +29624,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>
 
@@ -29681,8 +29688,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
@@ -29693,13 +29699,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>
@@ -33817,13 +33844,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.

Modified: index
===================================================================
--- index	2011-12-09 21:46:47 UTC (rev 6858)
+++ index	2011-12-09 21:50:59 UTC (rev 6859)
@@ -29406,12 +29406,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>
 
@@ -29612,7 +29612,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>
@@ -29623,6 +29624,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>
 
@@ -29681,8 +29688,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
@@ -29693,13 +29699,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>
@@ -33817,13 +33844,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.

Modified: source
===================================================================
--- source	2011-12-09 21:46:47 UTC (rev 6858)
+++ source	2011-12-09 21:50:59 UTC (rev 6859)
@@ -31960,12 +31960,13 @@
       changed to a value lower than <code
       title="dom-media-HAVE_FUTURE_DATA">HAVE_FUTURE_DATA</code>, and
       the element has not <span>ended playback</span>, and playback
-      has not <span>stopped due to errors</span>, and playback has not
-      <span>paused for user interaction</span>, the user agent must
-      <span>queue a task</span> to <span>fire a simple event</span>
-      named <code title="event-media-timeupdate">timeupdate</code> at
-      the element, and <span>queue a task</span> to <span>fire a
-      simple event</span> named <code
+      has not <span>stopped due to errors</span>, <span>paused for
+      user interaction</span>, or <span>paused for in-band
+      content</span>, the user agent must <span>queue a task</span> to
+      <span>fire a simple event</span> named <code
+      title="event-media-timeupdate">timeupdate</code> at the element,
+      and <span>queue a task</span> to <span>fire a simple
+      event</span> named <code
       title="event-media-waiting">waiting</code> at the element.</p>
 
      </dd>
@@ -32196,7 +32197,8 @@
   <code title="dom-media-HAVE_METADATA">HAVE_METADATA</code> state, or
   the <code
   title="dom-media-HAVE_CURRENT_DATA">HAVE_CURRENT_DATA</code> state,
-  or if the element has <span>paused for user interaction</span>.</p>
+  or if the element has <span>paused for user interaction</span> or
+  <span>paused for in-band content</span>.</p>
 
   <p>A <span>media element</span> is said to be <dfn>potentially
   playing</dfn> when its <code title="dom-media-paused">paused</code>
@@ -32207,6 +32209,14 @@
   on its media controller</span>,
   and the element is not a <span>blocked media element</span>.</p>
 
+  <p class="note">A <code title="event-media-waiting">waiting</code>
+  DOM event <a href="#fire-waiting-when-waiting">can be fired</a> as a
+  result of an element that is <span>potentially playing</span>
+  stopping playback due to its <code
+  title="dom-media-readyState">readyState</code> attribute changing to
+  a value lower than <code
+  title="dom-media-HAVE_FUTURE_DATA">HAVE_FUTURE_DATA</code>.</p>
+
   <p>A <span>media element</span> is said to have <dfn>ended
   playback</dfn> when:</p>
 
@@ -32284,8 +32294,7 @@
   controller</span> when the user makes a selection, allowing playback
   to resume, the user agent must similarly <span>report the controller
   state</span> for the <span>media element</span>'s <span>current
-  media controller</span>.
-  </p>
+  media controller</span>.</p>
 
   <p>It is possible for a <span>media element</span> to have both
   <span>ended playback</span> and <span>paused for user
@@ -32297,14 +32306,37 @@
   <span>fire a simple event</span> named <code
   title="event-media-timeupdate">timeupdate</code> at the element.</p>
 
-  <p class="note">A <code title="event-media-waiting">waiting</code>
-  DOM event <a href="#fire-waiting-when-waiting">can be fired</a> as a
-  result of an element that is <span>potentially playing</span>
-  stopping playback due to its <code
-  title="dom-media-readyState">readyState</code> attribute changing to
-  a value lower than <code
-  title="dom-media-HAVE_FUTURE_DATA">HAVE_FUTURE_DATA</code>.</p>
+  <p>A <span>media element</span> is said to have <dfn>paused for
+  in-band content</dfn> when its <code
+  title="dom-media-paused">paused</code> attribute is false, the <code
+  title="dom-media-readyState">readyState</code> attribute is either
+  <code title="dom-media-HAVE_FUTURE_DATA">HAVE_FUTURE_DATA</code> or
+  <code title="dom-media-HAVE_ENOUGH_DATA">HAVE_ENOUGH_DATA</code> and
+  the user agent has suspended playback of the <span>media
+  resource</span> in order to play content that is temporally anchored
+  to the <span>media resource</span> and has a non-zero length, or to
+  play content that is temporally anchored to a segment of the
+  <span>media resource</span> but has a length longer than that
+  segment. If the <span>media element</span> has a <span>current media
+  controller</span> when this happens, then the user agent must
+  <span>report the controller state</span> for the <span>media
+  element</span>'s <span>current media controller</span>. If the
+  <span>media element</span> has a <span>current media
+  controller</span> when the user agent unsuspends playback, the user
+  agent must similarly <span>report the controller state</span> for
+  the <span>media element</span>'s <span>current media
+  controller</span>.</p>
 
+  <p class="example">One example of when a <span>media element</span>
+  would be <span>paused for in-band content</span> is when the user
+  agent is playing <span title="attr-track-kind-descriptions">audio
+  descriptions</span> from an external WebVTT file, and the
+  synthesized speech generated for a cue is longer than the time
+  between the <span>text track cue start time</span> and the
+  <span>text track cue end time</span>.</p>
+
+  <hr>
+
   <p>When the <span>current playback position</span> reaches the end
   of the <span>media resource</span> when the <span>direction of
   playback</span> is forwards, then the user agent must follow these
@@ -39346,14 +39378,14 @@
      <td>Playback is ready to start after having been paused or delayed due to lack of <span>media data</span>.
      <td><code title="dom-media-readyState">readyState</code> is newly equal to or greater than <code title="dom-media-HAVE_FUTURE_DATA">HAVE_FUTURE_DATA</code> and <code title="dom-media-paused">paused</code> is false, or <code title="dom-media-paused">paused</code> is newly false and <code title="dom-media-readyState">readyState</code> is equal to or greater than <code title="dom-media-HAVE_FUTURE_DATA">HAVE_FUTURE_DATA</code>. Even if this event fires, the element might still not be <span>potentially playing</span>, e.g. if
      the element is <span>blocked on its media controller</span> (e.g. because the <span>current media controller</span> is paused, or another <span title="slaved media elements">slaved media element</span> is stalled somehow, or because the <span>media resource</span> has no data corresponding to the <span>media controller position</span>), or
-     the element is <span>paused for user interaction</span>.
+     the element is <span>paused for user interaction</span> or <span>paused for in-band content</span>.
     <tr>
      <td><dfn title="event-media-waiting"><code>waiting</code></dfn>
      <td><code>Event</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">readyState</code> is equal to or less than <code title="dom-media-HAVE_CURRENT_DATA">HAVE_CURRENT_DATA</code>, and <code title="dom-media-paused">paused</code> is false. Either <code title="dom-media-seeking">seeking</code> is true, or the <span>current playback position</span> is not contained in any of the ranges in <code title="dom-media-buffered">buffered</code>. It is possible for playback to stop for other reasons without <code title="dom-media-paused">paused</code> being false, but those reasons do not fire this event (and when those situations resolve, a separate <code title="event-media-playing">playing</code> event is not fired either): e.g.
      the element is newly <span>blocked on its media controller</span>, or
-     <span title="ended playback">playback ended</span>, or playback <span>stopped due to errors</span>, or the element has <span>paused for user interaction</span>.
+     <span title="ended playback">playback ended</span>, or playback <span>stopped due to errors</span>, or the element has <span>paused for user interaction</span> or <span>paused for in-band content</span>.
    <tbody>
     <tr>
      <td><dfn title="event-media-seeking"><code>seeking</code></dfn>




More information about the Commit-Watchers mailing list