Short URL: http://html5.org/r/6859
| SVN | Bug | Comment | Time (UTC) |
|---|---|---|---|
| 6859 | 2011-12-09 21:50 |
Index: source
===================================================================
--- source (revision 6858)
+++ source (revision 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>