Skip to content

Commit

Permalink
[giow] (0) Captions - Stage 5: preparing the ground for timed tracks …
Browse files Browse the repository at this point in the history
…loading, firing 'waiting' or 'playing' events as appropriate.

git-svn-id: http://svn.whatwg.org/webapps@5074 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed May 4, 2010
1 parent f81fcc1 commit 6550124
Show file tree
Hide file tree
Showing 3 changed files with 125 additions and 85 deletions.
71 changes: 42 additions & 29 deletions complete.html
Expand Up @@ -530,9 +530,9 @@ <h2 class="no-num no-toc" id=contents>Table of contents</h2>
<li><a href=#timed-tracks><span class=secno>4.8.10.10 </span>Timed tracks</a> <li><a href=#timed-tracks><span class=secno>4.8.10.10 </span>Timed tracks</a>
<ol> <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-model><span class=secno>4.8.10.10.1 </span>Timed track model</a></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=#timed-track-processing-model><span class=secno>4.8.10.10.2 </span>Timed track processing model</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=#sourcing-in-band-timed-tracks><span class=secno>4.8.10.10.3 </span>Sourcing in-band 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=#sourcing-websrt-timed-tracks><span class=secno>4.8.10.10.4 </span>Sourcing WebSRT timed tracks</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=#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=#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> <li><a href=#websrt><span class=secno>4.8.10.11 </span>WebSRT</a>
Expand Down Expand Up @@ -25176,7 +25176,11 @@ <h5 id=the-ready-states><span class=secno>4.8.10.7 </span>The ready states</h5>
agent may also set the <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> attribute to false, agent may also set the <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> attribute to false,
<a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a> <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-play><a href=#event-media-play>play</a></code>, and <a href=#queue-a-task>queue named <code title=event-media-play><a href=#event-media-play>play</a></code>, 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-playing><a href=#event-media-playing>playing</a></code>.</p> a task</a> to <a href=#fire-a-simple-event>fire a simple event</a> named <code title=event-media-playing><a href=#event-media-playing>playing</a></code>.

<span class=XXX>need to handle timed tracks loading</span>

</p>


<p class=note>User agents are not required to autoplay, and it <p class=note>User agents are not required to autoplay, and it
is suggested that user agents honor user preferences on the is suggested that user agents honor user preferences on the
Expand Down Expand Up @@ -25318,8 +25322,9 @@ <h5 id=playing-the-media-resource><span class=secno>4.8.10.8 </span>Playing the
<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_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>, <code title=dom-media-HAVE_ENOUGH_DATA><a href=#dom-media-have_enough_data>HAVE_ENOUGH_DATA</a></code>,
the element has not <a href=#ended-playback>ended playback</a>, playback has not the element has not <a href=#ended-playback>ended playback</a>, playback has not
<a href=#stopped-due-to-errors>stopped due to errors</a>, and the element has not <a href=#stopped-due-to-errors>stopped due to errors</a>, the element has not <a href=#paused-for-user-interaction>paused
<a href=#paused-for-user-interaction>paused for user interaction</a>.</p> for user interaction</a>, and <span class=XXX>there are no
timed tracks loading</span>.</p>


<p>A <a href=#media-element>media element</a> is said to have <dfn id=ended-playback>ended <p>A <a href=#media-element>media element</a> is said to have <dfn id=ended-playback>ended
playback</dfn> when the element's <code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> attribute is <code title=dom-media-HAVE_METADATA><a href=#dom-media-have_metadata>HAVE_METADATA</a></code> or greater, and playback</dfn> when the element's <code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> attribute is <code title=dom-media-HAVE_METADATA><a href=#dom-media-have_metadata>HAVE_METADATA</a></code> or greater, and
Expand Down Expand Up @@ -25484,27 +25489,33 @@ <h5 id=playing-the-media-resource><span class=secno>4.8.10.8 </span>Playing the
<li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a> <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-play><a href=#event-media-play>play</a></code> at the element.</li> named <code title=event-media-play><a href=#event-media-play>play</a></code> at the element.</li>


<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 the <li>
value <code title=dom-media-HAVE_NOTHING><a href=#dom-media-have_nothing>HAVE_NOTHING</a></code>,
<code title=dom-media-HAVE_METADATA><a href=#dom-media-have_metadata>HAVE_METADATA</a></code>, or
<code title=dom-media-HAVE_CURRENT_DATA><a href=#dom-media-have_current_data>HAVE_CURRENT_DATA</a></code>,
<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.</li>


<li><p>Otherwise, the <a href=#media-element>media element</a>'s <code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> attribute has the <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 the
value <code title=dom-media-HAVE_FUTURE_DATA><a href=#dom-media-have_future_data>HAVE_FUTURE_DATA</a></code> or value <code title=dom-media-HAVE_NOTHING><a href=#dom-media-have_nothing>HAVE_NOTHING</a></code>,
<code title=dom-media-HAVE_ENOUGH_DATA><a href=#dom-media-have_enough_data>HAVE_ENOUGH_DATA</a></code>; <code title=dom-media-HAVE_METADATA><a href=#dom-media-have_metadata>HAVE_METADATA</a></code>, or
<a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a> <code title=dom-media-HAVE_CURRENT_DATA><a href=#dom-media-have_current_data>HAVE_CURRENT_DATA</a></code>,
named <code title=event-media-playing><a href=#event-media-playing>playing</a></code> at the <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a>
element.</li> named <code title=event-media-waiting><a href=#event-media-waiting>waiting</a></code> at the
element.</li>

<p>Otherwise, the <a href=#media-element>media element</a>'s <code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> attribute has the
value <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>;
<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-playing><a href=#event-media-playing>playing</a></code> at the
element.</p>


</ol></li> <span class=XXX> handle a timed track loading in this step </span>


<li><p>Set the <a href=#media-element>media element</a>'s <a href=#autoplaying-flag>autoplaying </ol></li>

</ol><li><p>Set the <a href=#media-element>media element</a>'s <a href=#autoplaying-flag>autoplaying
flag</a> to false.</li> flag</a> to false.</li>


</ol><hr><p>When the <dfn id=dom-media-pause title=dom-media-pause><code>pause()</code></dfn>

<hr><p>When the <dfn id=dom-media-pause title=dom-media-pause><code>pause()</code></dfn>
method is invoked, the user agent must run the following steps:</p> method is invoked, the user agent must run the following steps:</p>


<ol><li><p>If the <a href=#media-element>media element</a>'s <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> attribute has <ol><li><p>If the <a href=#media-element>media element</a>'s <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> attribute has
Expand Down Expand Up @@ -25993,17 +26004,17 @@ <h6 id=timed-track-model><span class=secno>4.8.10.10.1 </span>Timed track model<
HTML.</p> HTML.</p>
</dd> </dd>


</dl><h6 id=sourcing-in-band-timed-tracks><span class=secno>4.8.10.10.2 </span>Sourcing in-band timed tracks</h6> </dl><h6 id=timed-track-processing-model><span class=secno>4.8.10.10.2 </span>Timed track processing model</h6>


<p> <p class=XXX>...fetching timed tracks; effect on 'waiting' and 'playing' events




<h6 id=sourcing-websrt-timed-tracks><span class=secno>4.8.10.10.3 </span>Sourcing WebSRT timed tracks</h6> <h6 id=sourcing-in-band-timed-tracks><span class=secno>4.8.10.10.3 </span>Sourcing in-band timed tracks</h6>


<p class=XXX>... <p>




<h6 id=timed-track-processing-model><span class=secno>4.8.10.10.4 </span>Timed track processing model</h6> <h6 id=sourcing-websrt-timed-tracks><span class=secno>4.8.10.10.4 </span>Sourcing WebSRT timed tracks</h6>


<p class=XXX>... <p class=XXX>...


Expand Down Expand Up @@ -26323,11 +26334,11 @@ <h5 id=mediaevents><span class=secno>4.8.10.14 </span>Event summary</h5>


<tbody><tr><td><dfn id=event-media-play title=event-media-play><code>play</code></dfn> <tbody><tr><td><dfn id=event-media-play title=event-media-play><code>play</code></dfn>
<td><code><a href=#event>Event</a></code> <td><code><a href=#event>Event</a></code>
<td>Playback has begun. Fired after the <code title=dom-media-play><a href=#dom-media-play>play()</a></code> method has returned. <td>Playback has begun. Fired after the <code title=dom-media-play><a href=#dom-media-play>play()</a></code> method has returned, or when the <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code> attribute has caused playback to begin.
<td><code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is newly false. <td><code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is newly false.
<tr><td><dfn id=event-media-pause title=event-media-pause><code>pause</code></dfn> <tr><td><dfn id=event-media-pause title=event-media-pause><code>pause</code></dfn>
<td><code><a href=#event>Event</a></code> <td><code><a href=#event>Event</a></code>
<td>Playback has been paused. Fired after the <code title=dom-media-pause><a href=#dom-media-pause>pause</a></code> method has returned. <td>Playback has been paused. Fired after the <code title=dom-media-pause><a href=#dom-media-pause>pause()</a></code> method has returned.
<td><code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is newly true. <td><code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is newly true.


<tbody><tr><td><dfn id=event-media-loadedmetadata title=event-media-loadedmetadata><code>loadedmetadata</code></dfn> <tbody><tr><td><dfn id=event-media-loadedmetadata title=event-media-loadedmetadata><code>loadedmetadata</code></dfn>
Expand All @@ -26342,10 +26353,12 @@ <h5 id=mediaevents><span class=secno>4.8.10.14 </span>Event summary</h5>
<td><code><a href=#event>Event</a></code> <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>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 newly 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 two other reasons without <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> being false, but those two reasons do not fire this event: maybe <a href=#ended-playback title="ended playback">playback ended</a>, or playback <a href=#stopped-due-to-errors>stopped due to errors</a>. <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> is newly 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 two other reasons without <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> being false, but those two reasons do not fire this event: maybe <a href=#ended-playback title="ended playback">playback ended</a>, or playback <a href=#stopped-due-to-errors>stopped due to errors</a>.
<span class=XXX> add to the reasons for this event and the preconditions for this event the case of a timed track loading </span>
<tr><td><dfn id=event-media-playing title=event-media-playing><code>playing</code></dfn> <tr><td><dfn id=event-media-playing title=event-media-playing><code>playing</code></dfn>
<td><code><a href=#event>Event</a></code> <td><code><a href=#event>Event</a></code>
<td>Playback has started. <td>Playback has started.
<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>, <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is false, <code title=dom-media-seeking><a href=#dom-media-seeking>seeking</a></code> is false, or the <a href=#current-playback-position>current playback position</a> is contained in one of the ranges in <code title=dom-media-buffered><a href=#dom-media-buffered>buffered</a></code>. <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>, <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is false, <code title=dom-media-seeking><a href=#dom-media-seeking>seeking</a></code> is false, or the <a href=#current-playback-position>current playback position</a> is contained in one of the ranges in <code title=dom-media-buffered><a href=#dom-media-buffered>buffered</a></code>.
<span class=XXX> add to the preconditions for this event that no timed tracks are loading </span>
<tr><td><dfn id=event-media-canplay title=event-media-canplay><code>canplay</code></dfn> <tr><td><dfn id=event-media-canplay title=event-media-canplay><code>canplay</code></dfn>
<td><code><a href=#event>Event</a></code> <td><code><a href=#event>Event</a></code>
<td>The user agent can resume playback of the <a href=#media-data>media data</a>, but estimates that if playback were to be started now, the <a href=#media-resource>media resource</a> could not be rendered at the current playback rate up to its end without having to stop for further buffering of content. <td>The user agent can resume playback of the <a href=#media-data>media data</a>, but estimates that if playback were to be started now, the <a href=#media-resource>media resource</a> could not be rendered at the current playback rate up to its end without having to stop for further buffering of content.
Expand Down

0 comments on commit 6550124

Please sign in to comment.