[html5] r5077 - [giow] (0) Captions - Stage 7: track.track.
whatwg at whatwg.org
whatwg at whatwg.org
Tue May 4 22:49:24 PDT 2010
Author: ianh
Date: 2010-05-04 22:49:23 -0700 (Tue, 04 May 2010)
New Revision: 5077
Modified:
complete.html
index
source
Log:
[giow] (0) Captions - Stage 7: track.track.
Modified: complete.html
===================================================================
--- complete.html 2010-05-05 01:00:07 UTC (rev 5076)
+++ complete.html 2010-05-05 05:49:23 UTC (rev 5077)
@@ -531,7 +531,7 @@
<ol>
<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=#sourcing-websrt-timed-tracks><span class=secno>4.8.10.10.3 </span>Sourcing WebSRT timed tracks</a></li>
+ <li><a href=#sourcing-out-of-band-timed-tracks><span class=secno>4.8.10.10.3 </span>Sourcing out-of-band timed tracks</a></li>
<li><a href=#timed-track-api><span class=secno>4.8.10.10.4 </span>Timed track API</a></li>
<li><a href=#cue-events><span class=secno>4.8.10.10.5 </span>Event definitions</a></ol></li>
<li><a href=#websrt><span class=secno>4.8.10.11 </span>WebSRT</a>
@@ -23559,12 +23559,11 @@
attribute DOMString <a href=#dom-track-src title=dom-track-src>src</a>;
attribute DOMString <a href=#dom-track-srclang title=dom-track-srclang>srclang</a>;
- readonly attribute <a href=#mediatrack>MediaTrack</a> <span title=dom-track-track>track</span>;
+ readonly attribute <a href=#timedtrack>TimedTrack</a> <a href=#dom-track-track title=dom-track-track>track</a>;
};</pre>
</dd>
</dl><p>The <code><a href=#the-track-element>track</a></code> element allows authors to specify explicit
- external timed tracks for <a href=#media-element title="media element">media
- elements</a>. It does not <a href=#represents title=represents>represent</a> anything on its own.</p>
+ external <a href=#timed-track title="timed track">timed tracks</a> for <a href=#media-element title="media element">media elements</a>. It does not <a href=#represents title=represents>represent</a> anything on its own.</p>
<p>The <dfn id=attr-track-kind title=attr-track-kind><code>kind</code></dfn>
attribute is an <a href=#enumerated-attribute>enumerated attribute</a>. The following
@@ -23615,12 +23614,25 @@
language, and whose <code title=attr-track-label><a href=#attr-track-label>label</a></code>
attributes are again both missing or both have the same value.</p>
- <p class=XXX>domintro for track.track</p>
+ <dl class=domintro><dt><var title="">track</var> . <code title=dom-track-track><a href=#dom-track-track>track</a></code></dt>
- <div class=impl>
+ <dd>
- <p class=XXX>track.track</p>
+ <p>Returns the <code><a href=#timedtrack>TimedTrack</a></code> object corresponding to the <a href=#timed-track>timed track</a> of the <code><a href=#the-track-element>track</a></code> element.</p>
+ </dd>
+
+ </dl><div class=impl>
+
+ <p>When a <code><a href=#the-track-element>track</a></code> element is created, it must be
+ associated with a new <a href=#timed-track>timed track</a> and its corresponding
+ new <code><a href=#timedtrack>TimedTrack</a></code> object.</p>
+
+ <p>The <dfn id=dom-track-track title=dom-track-track><code>track</code></dfn> IDL
+ attribute must, on getting, return the <code><a href=#the-track-element>track</a></code> element's
+ <a href=#timed-track>timed track</a>'s corresponding <code><a href=#timedtrack>TimedTrack</a></code>
+ object.</p>
+
<p>The IDL attributes <dfn id=dom-track-kind title=dom-track-kind><code>kind</code></dfn>, <dfn id=dom-track-label title=dom-track-label><code>label</code></dfn>, <dfn id=dom-track-src title=dom-track-src><code>src</code></dfn>, and <dfn id=dom-track-srclang title=dom-track-srclang><code>srclang</code></dfn> must
<a href=#reflect>reflect</a> the respective content attributes of the same
name.</p>
@@ -23684,8 +23696,8 @@
attribute boolean <a href=#dom-media-muted title=dom-media-muted>muted</a>;
// timed tracks
- readonly attribute <a href=#mediatrack>MediaTrack</a>[] <span title=dom-media-tracks>tracks</span>;
- <a href=#mutablemediatrack>MutableMediaTrack</a> <span title=dom-media-addTrack>addTrack</span>(in DOMString label, in DOMString kind, in DOMString language);
+ readonly attribute <a href=#timedtrack>TimedTrack</a>[] <span title=dom-media-tracks>tracks</span>;
+ <a href=#mutabletimedtrack>MutableTimedTrack</a> <span title=dom-media-addTrack>addTrack</span>(in DOMString label, in DOMString kind, in DOMString language);
};</pre>
<p>The <dfn id=media-element-attributes>media element attributes</dfn>, <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code>, apply to all <a href=#media-element title="media element">media elements</a>. They are defined in
@@ -25449,7 +25461,7 @@
<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>
+ element.</p>
<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
@@ -25458,14 +25470,14 @@
named <code title=event-media-playing><a href=#event-media-playing>playing</a></code> at the
element.</p>
- </ol></li>
+ </li>
- </ol><li><p>Set the <a href=#media-element>media element</a>'s <a href=#autoplaying-flag>autoplaying
+ </ol></li>
+
+ <li><p>Set the <a href=#media-element>media element</a>'s <a href=#autoplaying-flag>autoplaying
flag</a> to false.</li>
-
-
- <hr><p>When the <dfn id=dom-media-pause title=dom-media-pause><code>pause()</code></dfn>
+ </ol><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>
<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
@@ -25797,11 +25809,11 @@
<p>This decides how the track is handled by the user agent. The
kind is represented by a string. The possible strings are:</p>
- <ul class=brief><li><dfn id=dom-mediatrack-kind-subtitles title=dom-MediaTrack-kind-subtitles><code>subtitles</code></dfn>
- <li><dfn id=dom-mediatrack-kind-captions title=dom-MediaTrack-kind-captions><code>captions</code></dfn>
- <li><dfn id=dom-mediatrack-kind-descriptions title=dom-MediaTrack-kind-descriptions><code>descriptions</code></dfn>
- <li><dfn id=dom-mediatrack-kind-chapters title=dom-MediaTrack-kind-chapters><code>chapters</code></dfn>
- <li><dfn id=dom-mediatrack-kind-metadata title=dom-MediaTrack-kind-metadata><code>metadata</code></dfn>
+ <ul class=brief><li><dfn id=dom-timedtrack-kind-subtitles title=dom-TimedTrack-kind-subtitles><code>subtitles</code></dfn>
+ <li><dfn id=dom-timedtrack-kind-captions title=dom-TimedTrack-kind-captions><code>captions</code></dfn>
+ <li><dfn id=dom-timedtrack-kind-descriptions title=dom-TimedTrack-kind-descriptions><code>descriptions</code></dfn>
+ <li><dfn id=dom-timedtrack-kind-chapters title=dom-TimedTrack-kind-chapters><code>chapters</code></dfn>
+ <li><dfn id=dom-timedtrack-kind-metadata title=dom-TimedTrack-kind-metadata><code>metadata</code></dfn>
</ul><p>The <a href=#timed-track-kind title="timed track kind">kind of track</a> can
change dynamically, in the case of a <a href=#timed-track>timed track</a>
corresponding to a <code><a href=#the-track-element>track</a></code> element.</p>
@@ -25870,7 +25882,7 @@
<p>Indicates that the timed track has been loaded with no fatal
errors. No new cues will be added to the track except if the
<a href=#timed-track>timed track</a> corresponds to a
- <code>MutableTimedTrack</code> object.</p>
+ <code><a href=#mutabletimedtrack>MutableTimedTrack</a></code> object.</p>
</dd>
@@ -25932,11 +25944,11 @@
yet been made to obtain the track's cues, the user will perform
such an attempt momentarily. The user agent is maintaining a
list of which cues are active, and events are being fired
- accordingly. In addition, for timed tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-subtitles><a href=#dom-mediatrack-kind-subtitles>subtitles</a></code> or <code title=dom-mediatrack-kind-captions><a href=#dom-mediatrack-kind-captions>captions</a></code>, the cues
+ accordingly. In addition, for timed tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-subtitles>subtitles</code> or <code title=dom-mediatrack-kind-captions>captions</code>, the cues
are being displayed over the video as appropriate; for timed
- tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-descriptions><a href=#dom-mediatrack-kind-descriptions>descriptions</a></code>,
+ tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-descriptions>descriptions</code>,
the user agent is making the cues available to the user in a
- non-visual fashion; and for timed tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-chapters><a href=#dom-mediatrack-kind-chapters>chapters</a></code>, the user
+ non-visual fashion; and for timed tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-chapters>chapters</code>, the user
agent is making available to the user a mechanism by which the
user can navigate to any point in the <a href=#media-resource>media
resource</a> by selecting a cue.</p>
@@ -25956,13 +25968,16 @@
<a href=#timed-track>timed track</a> has <a href=#timed-track-not-loaded title="timed track not
loaded">not yet been loaded</a> or is still <a href=#timed-track-loading title="timed
track loading">loading</a>, or in the case of a <a href=#timed-track>timed
- track</a> corresponding to a <code>MutableTimedTrack</code>
+ track</a> corresponding to a <code><a href=#mutabletimedtrack>MutableTimedTrack</a></code>
object, where individual cues can be added or removed
dynamically using the API.</p>
</dd>
- </dl><p>A <dfn id=timed-track-cue>timed track cue</dfn> is the unit of time-sensitive data
+ </dl><p>Each <a href=#timed-track>timed track</a> has a corresponding
+ <code><a href=#timedtrack>TimedTrack</a></code> object.</p>
+
+ <p>A <dfn id=timed-track-cue>timed track cue</dfn> is the unit of time-sensitive data
in a <a href=#timed-track>timed track</a>, corresponding for instance for
subtitles and captions to the text that appears at a particular time
and disappears at another time.</p>
@@ -26067,79 +26082,102 @@
</dl><p>A <a href=#timed-track-cue>timed track cue</a> is immutable.</p>
+ <p>Each <a href=#timed-track-cue>timed track cue</a> has a corresponding
+ <code><a href=#timedtrackcue>TimedTrackCue</a></code> object, and can be associated with a
+ particular <a href=#timed-track>timed track</a>. Once a <a href=#timed-track-cue>timed track
+ cue</a> is associated with a particular <a href=#timed-track>timed track</a>,
+ the association is permanent.</p>
+
<h6 id=sourcing-in-band-timed-tracks><span class=secno>4.8.10.10.2 </span>Sourcing in-band timed tracks</h6>
<p class=XXX>...
- <h6 id=sourcing-websrt-timed-tracks><span class=secno>4.8.10.10.3 </span>Sourcing WebSRT timed tracks</h6>
+ <h6 id=sourcing-out-of-band-timed-tracks><span class=secno>4.8.10.10.3 </span>Sourcing out-of-band timed tracks</h6>
- <p class=XXX>...fetching timed tracks
+ <p class=XXX>...
+ <!--
+ - when <track> inserted into media element:
+ - add the timed track to the list of timed tracks
+
+ - when <track> removed from media element:
+ - remove the track from the list of timed tracks
+
+ - when <track> corresponding to a media element's timed track has a
+ content attribute changed:
+ - kind => timed track kind
+ - label => timed track label
+ - srclang => timed track language
+ - src => if it's changed, blow away all the cues, set readyState to NONE, then reprocess the mode
+
+ -->
+
+
<h6 id=timed-track-api><span class=secno>4.8.10.10.4 </span>Timed track API</h6>
<!--
// timed tracks
- 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);
+ readonly attribute <span>TimedTrack</span>[] <span title="dom-media-tracks">tracks</span>;
+ <span>MutableTimedTrack</span> <span title="dom-media-addTrack">addTrack</span>(in DOMString label, in DOMString kind, in DOMString language);
-->
- <pre class=idl>interface <dfn id=mediatrack>MediaTrack</dfn> {
- readonly attribute DOMString <span title=dom-MediaTrack-kind>kind</span>;
- readonly attribute DOMString <span title=dom-MediaTrack-label>label</span>;
- readonly attribute DOMString <span title=dom-MediaTrack-language>language</span>;
+ <pre class=idl>interface <dfn id=timedtrack>TimedTrack</dfn> {
+ readonly attribute DOMString <span title=dom-TimedTrack-kind>kind</span>;
+ readonly attribute DOMString <span title=dom-TimedTrack-label>label</span>;
+ readonly attribute DOMString <span title=dom-TimedTrack-language>language</span>;
- const unsigned short <span title=dom-MediaTrack-NONE>NONE</span> = 0;
- const unsigned short <span title=dom-MediaTrack-LOADING>LOADING</span> = 1;
- const unsigned short <span title=dom-MediaTrack-LOADED>LOADED</span> = 2;
- const unsigned short <span title=dom-MediaTrack-ERROR>ERROR</span> = 3;
- readonly attribute unsigned short <span title=dom-MediaTrack-readyState>readyState</span>;
- readonly attribute <a href=#function>Function</a> <span title=dom-MediaTrack-onload>onload</span>;
- readonly attribute <a href=#function>Function</a> <span title=dom-MediaTrack-onerror>onerror</span>;
+ const unsigned short <span title=dom-TimedTrack-NONE>NONE</span> = 0;
+ const unsigned short <span title=dom-TimedTrack-LOADING>LOADING</span> = 1;
+ const unsigned short <span title=dom-TimedTrack-LOADED>LOADED</span> = 2;
+ const unsigned short <span title=dom-TimedTrack-ERROR>ERROR</span> = 3;
+ readonly attribute unsigned short <span title=dom-TimedTrack-readyState>readyState</span>;
+ readonly attribute <a href=#function>Function</a> <span title=dom-TimedTrack-onload>onload</span>;
+ readonly attribute <a href=#function>Function</a> <span title=dom-TimedTrack-onerror>onerror</span>;
- const unsigned short <span title=dom-MediaTrack-OFF>OFF</span> = 0;
- const unsigned short <span title=dom-MediaTrack-HIDDEN>HIDDEN</span> = 1;
- const unsigned short <span title=dom-MediaTrack-SHOWING>SHOWING</span> = 2;
- attribute unsigned short <span title=dom-MediaTrack-mode>mode</span>;
+ const unsigned short <span title=dom-TimedTrack-OFF>OFF</span> = 0;
+ const unsigned short <span title=dom-TimedTrack-HIDDEN>HIDDEN</span> = 1;
+ const unsigned short <span title=dom-TimedTrack-SHOWING>SHOWING</span> = 2;
+ attribute unsigned short <span title=dom-TimedTrack-mode>mode</span>;
- readonly attribute <a href=#mediacuelist>MediaCueList</a> <span title=dom-MediaTrack-cues>cues</span>;
- readonly attribute <a href=#mediacuelist>MediaCueList</a> <span title=dom-MediaTrack-activeCues>activeCues</span>;
- readonly attribute <a href=#function>Function</a> <span title=dom-MediaTrack-onentercue>onentercue</span>;
- readonly attribute <a href=#function>Function</a> <span title=dom-MediaTrack-onexitcue>onexitcue</span>;
+ readonly attribute <a href=#timedtrackcuelist>TimedTrackCueList</a> <span title=dom-TimedTrack-cues>cues</span>;
+ readonly attribute <a href=#timedtrackcuelist>TimedTrackCueList</a> <span title=dom-TimedTrack-activeCues>activeCues</span>;
+ readonly attribute <a href=#function>Function</a> <span title=dom-TimedTrack-onentercue>onentercue</span>;
+ readonly attribute <a href=#function>Function</a> <span title=dom-TimedTrack-onexitcue>onexitcue</span>;
};
-interface <dfn id=mutablemediatrack>MutableMediaTrack</dfn> : <a href=#mediatrack>MediaTrack</a> {
- void <span title=dom-MutableMediaTrack-addCue>addCue</span>(in <a href=#mediacue>MediaCue</a> cue);
- void <span title=dom-MutableMediaTrack-removeCue>removeCue</span>(in <a href=#mediacue>MediaCue</a> cue);
+interface <dfn id=mutabletimedtrack>MutableTimedTrack</dfn> : <a href=#timedtrack>TimedTrack</a> {
+ void <span title=dom-MutableTimedTrack-addCue>addCue</span>(in <a href=#timedtrackcue>TimedTrackCue</a> cue);
+ void <span title=dom-MutableTimedTrack-removeCue>removeCue</span>(in <a href=#timedtrackcue>TimedTrackCue</a> cue);
};
-interface <dfn id=mediacuelist>MediaCueList</dfn> {
- readonly attribute unsigned long <span title=dom-MediaCueList-length>length</span>;
- getter <a href=#mediacue>MediaCue</a> (in unsigned long index);
- <a href=#mediacue>MediaCue</a> getCueById(in DOMString id);
+interface <dfn id=timedtrackcuelist>TimedTrackCueList</dfn> {
+ readonly attribute unsigned long <span title=dom-TimedTrackCueList-length>length</span>;
+ getter <a href=#timedtrackcue>TimedTrackCue</a> (in unsigned long index);
+ <a href=#timedtrackcue>TimedTrackCue</a> getCueById(in DOMString id);
};
[Constructor(in DOMString id, in float startTime, in float endTime, in DOMString settings, in DOMString text, in optional boolean pauseOnExit)]
-interface <dfn id=mediacue>MediaCue</dfn> {
- readonly attribute <a href=#mediatrack>MediaTrack</a> <span title=dom-MediaCue-track>track</span>;
- readonly attribute DOMString <span title=dom-MediaCue-id>id</span>;
+interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
+ readonly attribute <a href=#timedtrack>TimedTrack</a> <span title=dom-TimedTrackCue-track>track</span>;
+ readonly attribute DOMString <span title=dom-TimedTrackCue-id>id</span>;
- readonly attribute float <span title=dom-MediaCue-startTime>startTime</span>;
- readonly attribute float <span title=dom-MediaCue-endTime>endTime</span>;
- readonly attribute boolean <span title=dom-MediaCue-pauseOnExit>pauseOnExit</span>;
+ readonly attribute float <span title=dom-TimedTrackCue-startTime>startTime</span>;
+ readonly attribute float <span title=dom-TimedTrackCue-endTime>endTime</span>;
+ readonly attribute boolean <span title=dom-TimedTrackCue-pauseOnExit>pauseOnExit</span>;
- readonly attribute DOMString <span title=dom-MediaCue-direction>direction</span>;
- readonly attribute boolean <span title=dom-MediaCue-snapToLines>snapToLines</span>;
- readonly attribute long <span title=dom-MediaCue-linePosition>linePosition</span>;
- readonly attribute long <span title=dom-MediaCue-textPosition>textPosition</span>;
- readonly attribute long <span title=dom-MediaCue-size>size</span>;
- readonly attribute DOMString <span title=dom-MediaCue-alignment>alignment</span>;
+ readonly attribute DOMString <span title=dom-TimedTrackCue-direction>direction</span>;
+ readonly attribute boolean <span title=dom-TimedTrackCue-snapToLines>snapToLines</span>;
+ readonly attribute long <span title=dom-TimedTrackCue-linePosition>linePosition</span>;
+ readonly attribute long <span title=dom-TimedTrackCue-textPosition>textPosition</span>;
+ readonly attribute long <span title=dom-TimedTrackCue-size>size</span>;
+ readonly attribute DOMString <span title=dom-TimedTrackCue-alignment>alignment</span>;
- readonly attribute DOMString <span title=dom-MediaCue-voice>voice</span>;
- DOMString <span title=dom-MediaCue-getCueAsSource()>getCueAsSource</span>();
- <a href=#documentfragment>DocumentFragment</a> <span title=dom-MediaCue-getCueAsHTML()>getCueAsHTML</span>();
+ readonly attribute DOMString <span title=dom-TimedTrackCue-voice>voice</span>;
+ DOMString <span title=dom-TimedTrackCue-getCueAsSource()>getCueAsSource</span>();
+ <a href=#documentfragment>DocumentFragment</a> <span title=dom-TimedTrackCue-getCueAsHTML()>getCueAsHTML</span>();
};</pre>
<p class=XXX>domintro
@@ -26157,7 +26195,7 @@
<!-- XXX
CueEvent
- readonly attribute MediaCue cue;
+ readonly attribute TimedTrackCue cue;
-->
Modified: index
===================================================================
--- index 2010-05-05 01:00:07 UTC (rev 5076)
+++ index 2010-05-05 05:49:23 UTC (rev 5077)
@@ -540,7 +540,7 @@
<ol>
<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=#sourcing-websrt-timed-tracks><span class=secno>4.8.10.10.3 </span>Sourcing WebSRT timed tracks</a></li>
+ <li><a href=#sourcing-out-of-band-timed-tracks><span class=secno>4.8.10.10.3 </span>Sourcing out-of-band timed tracks</a></li>
<li><a href=#timed-track-api><span class=secno>4.8.10.10.4 </span>Timed track API</a></li>
<li><a href=#cue-events><span class=secno>4.8.10.10.5 </span>Event definitions</a></ol></li>
<li><a href=#websrt><span class=secno>4.8.10.11 </span>WebSRT</a>
@@ -23460,12 +23460,11 @@
attribute DOMString <a href=#dom-track-src title=dom-track-src>src</a>;
attribute DOMString <a href=#dom-track-srclang title=dom-track-srclang>srclang</a>;
- readonly attribute <a href=#mediatrack>MediaTrack</a> <span title=dom-track-track>track</span>;
+ readonly attribute <a href=#timedtrack>TimedTrack</a> <a href=#dom-track-track title=dom-track-track>track</a>;
};</pre>
</dd>
</dl><p>The <code><a href=#the-track-element>track</a></code> element allows authors to specify explicit
- external timed tracks for <a href=#media-element title="media element">media
- elements</a>. It does not <a href=#represents title=represents>represent</a> anything on its own.</p>
+ external <a href=#timed-track title="timed track">timed tracks</a> for <a href=#media-element title="media element">media elements</a>. It does not <a href=#represents title=represents>represent</a> anything on its own.</p>
<p>The <dfn id=attr-track-kind title=attr-track-kind><code>kind</code></dfn>
attribute is an <a href=#enumerated-attribute>enumerated attribute</a>. The following
@@ -23516,12 +23515,25 @@
language, and whose <code title=attr-track-label><a href=#attr-track-label>label</a></code>
attributes are again both missing or both have the same value.</p>
- <p class=XXX>domintro for track.track</p>
+ <dl class=domintro><dt><var title="">track</var> . <code title=dom-track-track><a href=#dom-track-track>track</a></code></dt>
- <div class=impl>
+ <dd>
- <p class=XXX>track.track</p>
+ <p>Returns the <code><a href=#timedtrack>TimedTrack</a></code> object corresponding to the <a href=#timed-track>timed track</a> of the <code><a href=#the-track-element>track</a></code> element.</p>
+ </dd>
+
+ </dl><div class=impl>
+
+ <p>When a <code><a href=#the-track-element>track</a></code> element is created, it must be
+ associated with a new <a href=#timed-track>timed track</a> and its corresponding
+ new <code><a href=#timedtrack>TimedTrack</a></code> object.</p>
+
+ <p>The <dfn id=dom-track-track title=dom-track-track><code>track</code></dfn> IDL
+ attribute must, on getting, return the <code><a href=#the-track-element>track</a></code> element's
+ <a href=#timed-track>timed track</a>'s corresponding <code><a href=#timedtrack>TimedTrack</a></code>
+ object.</p>
+
<p>The IDL attributes <dfn id=dom-track-kind title=dom-track-kind><code>kind</code></dfn>, <dfn id=dom-track-label title=dom-track-label><code>label</code></dfn>, <dfn id=dom-track-src title=dom-track-src><code>src</code></dfn>, and <dfn id=dom-track-srclang title=dom-track-srclang><code>srclang</code></dfn> must
<a href=#reflect>reflect</a> the respective content attributes of the same
name.</p>
@@ -23585,8 +23597,8 @@
attribute boolean <a href=#dom-media-muted title=dom-media-muted>muted</a>;
// timed tracks
- readonly attribute <a href=#mediatrack>MediaTrack</a>[] <span title=dom-media-tracks>tracks</span>;
- <a href=#mutablemediatrack>MutableMediaTrack</a> <span title=dom-media-addTrack>addTrack</span>(in DOMString label, in DOMString kind, in DOMString language);
+ readonly attribute <a href=#timedtrack>TimedTrack</a>[] <span title=dom-media-tracks>tracks</span>;
+ <a href=#mutabletimedtrack>MutableTimedTrack</a> <span title=dom-media-addTrack>addTrack</span>(in DOMString label, in DOMString kind, in DOMString language);
};</pre>
<p>The <dfn id=media-element-attributes>media element attributes</dfn>, <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code>, apply to all <a href=#media-element title="media element">media elements</a>. They are defined in
@@ -25350,7 +25362,7 @@
<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>
+ element.</p>
<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
@@ -25359,14 +25371,14 @@
named <code title=event-media-playing><a href=#event-media-playing>playing</a></code> at the
element.</p>
- </ol></li>
+ </li>
- </ol><li><p>Set the <a href=#media-element>media element</a>'s <a href=#autoplaying-flag>autoplaying
+ </ol></li>
+
+ <li><p>Set the <a href=#media-element>media element</a>'s <a href=#autoplaying-flag>autoplaying
flag</a> to false.</li>
-
-
- <hr><p>When the <dfn id=dom-media-pause title=dom-media-pause><code>pause()</code></dfn>
+ </ol><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>
<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
@@ -25698,11 +25710,11 @@
<p>This decides how the track is handled by the user agent. The
kind is represented by a string. The possible strings are:</p>
- <ul class=brief><li><dfn id=dom-mediatrack-kind-subtitles title=dom-MediaTrack-kind-subtitles><code>subtitles</code></dfn>
- <li><dfn id=dom-mediatrack-kind-captions title=dom-MediaTrack-kind-captions><code>captions</code></dfn>
- <li><dfn id=dom-mediatrack-kind-descriptions title=dom-MediaTrack-kind-descriptions><code>descriptions</code></dfn>
- <li><dfn id=dom-mediatrack-kind-chapters title=dom-MediaTrack-kind-chapters><code>chapters</code></dfn>
- <li><dfn id=dom-mediatrack-kind-metadata title=dom-MediaTrack-kind-metadata><code>metadata</code></dfn>
+ <ul class=brief><li><dfn id=dom-timedtrack-kind-subtitles title=dom-TimedTrack-kind-subtitles><code>subtitles</code></dfn>
+ <li><dfn id=dom-timedtrack-kind-captions title=dom-TimedTrack-kind-captions><code>captions</code></dfn>
+ <li><dfn id=dom-timedtrack-kind-descriptions title=dom-TimedTrack-kind-descriptions><code>descriptions</code></dfn>
+ <li><dfn id=dom-timedtrack-kind-chapters title=dom-TimedTrack-kind-chapters><code>chapters</code></dfn>
+ <li><dfn id=dom-timedtrack-kind-metadata title=dom-TimedTrack-kind-metadata><code>metadata</code></dfn>
</ul><p>The <a href=#timed-track-kind title="timed track kind">kind of track</a> can
change dynamically, in the case of a <a href=#timed-track>timed track</a>
corresponding to a <code><a href=#the-track-element>track</a></code> element.</p>
@@ -25771,7 +25783,7 @@
<p>Indicates that the timed track has been loaded with no fatal
errors. No new cues will be added to the track except if the
<a href=#timed-track>timed track</a> corresponds to a
- <code>MutableTimedTrack</code> object.</p>
+ <code><a href=#mutabletimedtrack>MutableTimedTrack</a></code> object.</p>
</dd>
@@ -25833,11 +25845,11 @@
yet been made to obtain the track's cues, the user will perform
such an attempt momentarily. The user agent is maintaining a
list of which cues are active, and events are being fired
- accordingly. In addition, for timed tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-subtitles><a href=#dom-mediatrack-kind-subtitles>subtitles</a></code> or <code title=dom-mediatrack-kind-captions><a href=#dom-mediatrack-kind-captions>captions</a></code>, the cues
+ accordingly. In addition, for timed tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-subtitles>subtitles</code> or <code title=dom-mediatrack-kind-captions>captions</code>, the cues
are being displayed over the video as appropriate; for timed
- tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-descriptions><a href=#dom-mediatrack-kind-descriptions>descriptions</a></code>,
+ tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-descriptions>descriptions</code>,
the user agent is making the cues available to the user in a
- non-visual fashion; and for timed tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-chapters><a href=#dom-mediatrack-kind-chapters>chapters</a></code>, the user
+ non-visual fashion; and for timed tracks whose <a href=#timed-track-kind title="timed track kind">kind</a> is <code title=dom-mediatrack-kind-chapters>chapters</code>, the user
agent is making available to the user a mechanism by which the
user can navigate to any point in the <a href=#media-resource>media
resource</a> by selecting a cue.</p>
@@ -25857,13 +25869,16 @@
<a href=#timed-track>timed track</a> has <a href=#timed-track-not-loaded title="timed track not
loaded">not yet been loaded</a> or is still <a href=#timed-track-loading title="timed
track loading">loading</a>, or in the case of a <a href=#timed-track>timed
- track</a> corresponding to a <code>MutableTimedTrack</code>
+ track</a> corresponding to a <code><a href=#mutabletimedtrack>MutableTimedTrack</a></code>
object, where individual cues can be added or removed
dynamically using the API.</p>
</dd>
- </dl><p>A <dfn id=timed-track-cue>timed track cue</dfn> is the unit of time-sensitive data
+ </dl><p>Each <a href=#timed-track>timed track</a> has a corresponding
+ <code><a href=#timedtrack>TimedTrack</a></code> object.</p>
+
+ <p>A <dfn id=timed-track-cue>timed track cue</dfn> is the unit of time-sensitive data
in a <a href=#timed-track>timed track</a>, corresponding for instance for
subtitles and captions to the text that appears at a particular time
and disappears at another time.</p>
@@ -25968,79 +25983,102 @@
</dl><p>A <a href=#timed-track-cue>timed track cue</a> is immutable.</p>
+ <p>Each <a href=#timed-track-cue>timed track cue</a> has a corresponding
+ <code><a href=#timedtrackcue>TimedTrackCue</a></code> object, and can be associated with a
+ particular <a href=#timed-track>timed track</a>. Once a <a href=#timed-track-cue>timed track
+ cue</a> is associated with a particular <a href=#timed-track>timed track</a>,
+ the association is permanent.</p>
+
<h6 id=sourcing-in-band-timed-tracks><span class=secno>4.8.10.10.2 </span>Sourcing in-band timed tracks</h6>
<p class=XXX>...
- <h6 id=sourcing-websrt-timed-tracks><span class=secno>4.8.10.10.3 </span>Sourcing WebSRT timed tracks</h6>
+ <h6 id=sourcing-out-of-band-timed-tracks><span class=secno>4.8.10.10.3 </span>Sourcing out-of-band timed tracks</h6>
- <p class=XXX>...fetching timed tracks
+ <p class=XXX>...
+ <!--
+ - when <track> inserted into media element:
+ - add the timed track to the list of timed tracks
+
+ - when <track> removed from media element:
+ - remove the track from the list of timed tracks
+
+ - when <track> corresponding to a media element's timed track has a
+ content attribute changed:
+ - kind => timed track kind
+ - label => timed track label
+ - srclang => timed track language
+ - src => if it's changed, blow away all the cues, set readyState to NONE, then reprocess the mode
+
+ -->
+
+
<h6 id=timed-track-api><span class=secno>4.8.10.10.4 </span>Timed track API</h6>
<!--
// timed tracks
- 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);
+ readonly attribute <span>TimedTrack</span>[] <span title="dom-media-tracks">tracks</span>;
+ <span>MutableTimedTrack</span> <span title="dom-media-addTrack">addTrack</span>(in DOMString label, in DOMString kind, in DOMString language);
-->
- <pre class=idl>interface <dfn id=mediatrack>MediaTrack</dfn> {
- readonly attribute DOMString <span title=dom-MediaTrack-kind>kind</span>;
- readonly attribute DOMString <span title=dom-MediaTrack-label>label</span>;
- readonly attribute DOMString <span title=dom-MediaTrack-language>language</span>;
+ <pre class=idl>interface <dfn id=timedtrack>TimedTrack</dfn> {
+ readonly attribute DOMString <span title=dom-TimedTrack-kind>kind</span>;
+ readonly attribute DOMString <span title=dom-TimedTrack-label>label</span>;
+ readonly attribute DOMString <span title=dom-TimedTrack-language>language</span>;
- const unsigned short <span title=dom-MediaTrack-NONE>NONE</span> = 0;
- const unsigned short <span title=dom-MediaTrack-LOADING>LOADING</span> = 1;
- const unsigned short <span title=dom-MediaTrack-LOADED>LOADED</span> = 2;
- const unsigned short <span title=dom-MediaTrack-ERROR>ERROR</span> = 3;
- readonly attribute unsigned short <span title=dom-MediaTrack-readyState>readyState</span>;
- readonly attribute <a href=#function>Function</a> <span title=dom-MediaTrack-onload>onload</span>;
- readonly attribute <a href=#function>Function</a> <span title=dom-MediaTrack-onerror>onerror</span>;
+ const unsigned short <span title=dom-TimedTrack-NONE>NONE</span> = 0;
+ const unsigned short <span title=dom-TimedTrack-LOADING>LOADING</span> = 1;
+ const unsigned short <span title=dom-TimedTrack-LOADED>LOADED</span> = 2;
+ const unsigned short <span title=dom-TimedTrack-ERROR>ERROR</span> = 3;
+ readonly attribute unsigned short <span title=dom-TimedTrack-readyState>readyState</span>;
+ readonly attribute <a href=#function>Function</a> <span title=dom-TimedTrack-onload>onload</span>;
+ readonly attribute <a href=#function>Function</a> <span title=dom-TimedTrack-onerror>onerror</span>;
- const unsigned short <span title=dom-MediaTrack-OFF>OFF</span> = 0;
- const unsigned short <span title=dom-MediaTrack-HIDDEN>HIDDEN</span> = 1;
- const unsigned short <span title=dom-MediaTrack-SHOWING>SHOWING</span> = 2;
- attribute unsigned short <span title=dom-MediaTrack-mode>mode</span>;
+ const unsigned short <span title=dom-TimedTrack-OFF>OFF</span> = 0;
+ const unsigned short <span title=dom-TimedTrack-HIDDEN>HIDDEN</span> = 1;
+ const unsigned short <span title=dom-TimedTrack-SHOWING>SHOWING</span> = 2;
+ attribute unsigned short <span title=dom-TimedTrack-mode>mode</span>;
- readonly attribute <a href=#mediacuelist>MediaCueList</a> <span title=dom-MediaTrack-cues>cues</span>;
- readonly attribute <a href=#mediacuelist>MediaCueList</a> <span title=dom-MediaTrack-activeCues>activeCues</span>;
- readonly attribute <a href=#function>Function</a> <span title=dom-MediaTrack-onentercue>onentercue</span>;
- readonly attribute <a href=#function>Function</a> <span title=dom-MediaTrack-onexitcue>onexitcue</span>;
+ readonly attribute <a href=#timedtrackcuelist>TimedTrackCueList</a> <span title=dom-TimedTrack-cues>cues</span>;
+ readonly attribute <a href=#timedtrackcuelist>TimedTrackCueList</a> <span title=dom-TimedTrack-activeCues>activeCues</span>;
+ readonly attribute <a href=#function>Function</a> <span title=dom-TimedTrack-onentercue>onentercue</span>;
+ readonly attribute <a href=#function>Function</a> <span title=dom-TimedTrack-onexitcue>onexitcue</span>;
};
-interface <dfn id=mutablemediatrack>MutableMediaTrack</dfn> : <a href=#mediatrack>MediaTrack</a> {
- void <span title=dom-MutableMediaTrack-addCue>addCue</span>(in <a href=#mediacue>MediaCue</a> cue);
- void <span title=dom-MutableMediaTrack-removeCue>removeCue</span>(in <a href=#mediacue>MediaCue</a> cue);
+interface <dfn id=mutabletimedtrack>MutableTimedTrack</dfn> : <a href=#timedtrack>TimedTrack</a> {
+ void <span title=dom-MutableTimedTrack-addCue>addCue</span>(in <a href=#timedtrackcue>TimedTrackCue</a> cue);
+ void <span title=dom-MutableTimedTrack-removeCue>removeCue</span>(in <a href=#timedtrackcue>TimedTrackCue</a> cue);
};
-interface <dfn id=mediacuelist>MediaCueList</dfn> {
- readonly attribute unsigned long <span title=dom-MediaCueList-length>length</span>;
- getter <a href=#mediacue>MediaCue</a> (in unsigned long index);
- <a href=#mediacue>MediaCue</a> getCueById(in DOMString id);
+interface <dfn id=timedtrackcuelist>TimedTrackCueList</dfn> {
+ readonly attribute unsigned long <span title=dom-TimedTrackCueList-length>length</span>;
+ getter <a href=#timedtrackcue>TimedTrackCue</a> (in unsigned long index);
+ <a href=#timedtrackcue>TimedTrackCue</a> getCueById(in DOMString id);
};
[Constructor(in DOMString id, in float startTime, in float endTime, in DOMString settings, in DOMString text, in optional boolean pauseOnExit)]
-interface <dfn id=mediacue>MediaCue</dfn> {
- readonly attribute <a href=#mediatrack>MediaTrack</a> <span title=dom-MediaCue-track>track</span>;
- readonly attribute DOMString <span title=dom-MediaCue-id>id</span>;
+interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
+ readonly attribute <a href=#timedtrack>TimedTrack</a> <span title=dom-TimedTrackCue-track>track</span>;
+ readonly attribute DOMString <span title=dom-TimedTrackCue-id>id</span>;
- readonly attribute float <span title=dom-MediaCue-startTime>startTime</span>;
- readonly attribute float <span title=dom-MediaCue-endTime>endTime</span>;
- readonly attribute boolean <span title=dom-MediaCue-pauseOnExit>pauseOnExit</span>;
+ readonly attribute float <span title=dom-TimedTrackCue-startTime>startTime</span>;
+ readonly attribute float <span title=dom-TimedTrackCue-endTime>endTime</span>;
+ readonly attribute boolean <span title=dom-TimedTrackCue-pauseOnExit>pauseOnExit</span>;
- readonly attribute DOMString <span title=dom-MediaCue-direction>direction</span>;
- readonly attribute boolean <span title=dom-MediaCue-snapToLines>snapToLines</span>;
- readonly attribute long <span title=dom-MediaCue-linePosition>linePosition</span>;
- readonly attribute long <span title=dom-MediaCue-textPosition>textPosition</span>;
- readonly attribute long <span title=dom-MediaCue-size>size</span>;
- readonly attribute DOMString <span title=dom-MediaCue-alignment>alignment</span>;
+ readonly attribute DOMString <span title=dom-TimedTrackCue-direction>direction</span>;
+ readonly attribute boolean <span title=dom-TimedTrackCue-snapToLines>snapToLines</span>;
+ readonly attribute long <span title=dom-TimedTrackCue-linePosition>linePosition</span>;
+ readonly attribute long <span title=dom-TimedTrackCue-textPosition>textPosition</span>;
+ readonly attribute long <span title=dom-TimedTrackCue-size>size</span>;
+ readonly attribute DOMString <span title=dom-TimedTrackCue-alignment>alignment</span>;
- readonly attribute DOMString <span title=dom-MediaCue-voice>voice</span>;
- DOMString <span title=dom-MediaCue-getCueAsSource()>getCueAsSource</span>();
- <a href=#documentfragment>DocumentFragment</a> <span title=dom-MediaCue-getCueAsHTML()>getCueAsHTML</span>();
+ readonly attribute DOMString <span title=dom-TimedTrackCue-voice>voice</span>;
+ DOMString <span title=dom-TimedTrackCue-getCueAsSource()>getCueAsSource</span>();
+ <a href=#documentfragment>DocumentFragment</a> <span title=dom-TimedTrackCue-getCueAsHTML()>getCueAsHTML</span>();
};</pre>
<p class=XXX>domintro
@@ -26058,7 +26096,7 @@
<!-- XXX
CueEvent
- readonly attribute MediaCue cue;
+ readonly attribute TimedTrackCue cue;
-->
Modified: source
===================================================================
--- source 2010-05-05 01:00:07 UTC (rev 5076)
+++ source 2010-05-05 05:49:23 UTC (rev 5077)
@@ -25188,14 +25188,14 @@
attribute DOMString <span title="dom-track-src">src</span>;
attribute DOMString <span title="dom-track-srclang">srclang</span>;
- readonly attribute <span>MediaTrack</span> <span title="dom-track-track">track</span>;
+ readonly attribute <span>TimedTrack</span> <span title="dom-track-track">track</span>;
};</pre>
</dd>
</dl>
<p>The <code>track</code> element allows authors to specify explicit
- external timed tracks for <span title="media element">media
- elements</span>. It does not <span
+ external <span title="timed track">timed tracks</span> for <span
+ title="media element">media elements</span>. It does not <span
title="represents">represent</span> anything on its own.</p>
<p>The <dfn title="attr-track-kind"><code>kind</code></dfn>
@@ -25259,12 +25259,29 @@
language, and whose <code title="attr-track-label">label</code>
attributes are again both missing or both have the same value.</p>
- <p class="XXX">domintro for track.track</p>
+ <dl class="domintro">
+ <dt><var title="">track</var> . <code title="dom-track-track">track</code></dt>
+
+ <dd>
+
+ <p>Returns the <code>TimedTrack</code> object corresponding to the <span>timed track</span> of the <code>track</code> element.</p>
+
+ </dd>
+
+ </dl>
+
<div class="impl">
- <p class="XXX">track.track</p>
+ <p>When a <code>track</code> element is created, it must be
+ associated with a new <span>timed track</span> and its corresponding
+ new <code>TimedTrack</code> object.</p>
+ <p>The <dfn title="dom-track-track"><code>track</code></dfn> IDL
+ attribute must, on getting, return the <code>track</code> element's
+ <span>timed track</span>'s corresponding <code>TimedTrack</code>
+ object.</p>
+
<p>The IDL attributes <dfn
title="dom-track-kind"><code>kind</code></dfn>, <dfn
title="dom-track-label"><code>label</code></dfn>, <dfn
@@ -25332,8 +25349,8 @@
attribute boolean <span title="dom-media-muted">muted</span>;
// timed tracks
- 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);
+ readonly attribute <span>TimedTrack</span>[] <span title="dom-media-tracks">tracks</span>;
+ <span>MutableTimedTrack</span> <span title="dom-media-addTrack">addTrack</span>(in DOMString label, in DOMString kind, in DOMString language);
};</pre>
<p>The <dfn>media element attributes</dfn>, <code
@@ -27458,7 +27475,7 @@
title="dom-media-HAVE_CURRENT_DATA">HAVE_CURRENT_DATA</code>,
<span>queue a task</span> to <span>fire a simple event</span>
named <code title="event-media-waiting">waiting</code> at the
- element.</p></li>
+ element.</p>
<p>Otherwise, the <span>media element</span>'s <code
title="dom-media-readyState">readyState</code> attribute has the
@@ -27878,11 +27895,11 @@
kind is represented by a string. The possible strings are:</p>
<ul class="brief">
- <li><dfn title="dom-MediaTrack-kind-subtitles"><code>subtitles</code></dfn>
- <li><dfn title="dom-MediaTrack-kind-captions"><code>captions</code></dfn>
- <li><dfn title="dom-MediaTrack-kind-descriptions"><code>descriptions</code></dfn>
- <li><dfn title="dom-MediaTrack-kind-chapters"><code>chapters</code></dfn>
- <li><dfn title="dom-MediaTrack-kind-metadata"><code>metadata</code></dfn>
+ <li><dfn title="dom-TimedTrack-kind-subtitles"><code>subtitles</code></dfn>
+ <li><dfn title="dom-TimedTrack-kind-captions"><code>captions</code></dfn>
+ <li><dfn title="dom-TimedTrack-kind-descriptions"><code>descriptions</code></dfn>
+ <li><dfn title="dom-TimedTrack-kind-chapters"><code>chapters</code></dfn>
+ <li><dfn title="dom-TimedTrack-kind-metadata"><code>metadata</code></dfn>
</ul>
<p>The <span title="timed track kind">kind of track</span> can
@@ -28062,6 +28079,9 @@
</dl>
+ <p>Each <span>timed track</span> has a corresponding
+ <code>TimedTrack</code> object.</p>
+
<p>A <dfn>timed track cue</dfn> is the unit of time-sensitive data
in a <span>timed track</span>, corresponding for instance for
subtitles and captions to the text that appears at a particular time
@@ -28173,79 +28193,102 @@
<p>A <span>timed track cue</span> is immutable.</p>
+ <p>Each <span>timed track cue</span> has a corresponding
+ <code>TimedTrackCue</code> object, and can be associated with a
+ particular <span>timed track</span>. Once a <span>timed track
+ cue</span> is associated with a particular <span>timed track</span>,
+ the association is permanent.</p>
+
<h6>Sourcing in-band timed tracks</h6>
<p class="XXX">...
- <h6>Sourcing WebSRT timed tracks</h6>
+ <h6>Sourcing out-of-band timed tracks</h6>
- <p class="XXX">...fetching timed tracks
+ <p class="XXX">...
+ <!--
+ - when <track> inserted into media element:
+ - add the timed track to the list of timed tracks
+
+ - when <track> removed from media element:
+ - remove the track from the list of timed tracks
+
+ - when <track> corresponding to a media element's timed track has a
+ content attribute changed:
+ - kind => timed track kind
+ - label => timed track label
+ - srclang => timed track language
+ - src => if it's changed, blow away all the cues, set readyState to NONE, then reprocess the mode
+
+ -->
+
+
<h6>Timed track API</h6>
<!--
// timed tracks
- 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);
+ readonly attribute <span>TimedTrack</span>[] <span title="dom-media-tracks">tracks</span>;
+ <span>MutableTimedTrack</span> <span title="dom-media-addTrack">addTrack</span>(in DOMString label, in DOMString kind, in DOMString language);
-->
- <pre class="idl">interface <dfn>MediaTrack</dfn> {
- readonly attribute DOMString <span title="dom-MediaTrack-kind">kind</span>;
- readonly attribute DOMString <span title="dom-MediaTrack-label">label</span>;
- readonly attribute DOMString <span title="dom-MediaTrack-language">language</span>;
+ <pre class="idl">interface <dfn>TimedTrack</dfn> {
+ readonly attribute DOMString <span title="dom-TimedTrack-kind">kind</span>;
+ readonly attribute DOMString <span title="dom-TimedTrack-label">label</span>;
+ readonly attribute DOMString <span title="dom-TimedTrack-language">language</span>;
- const unsigned short <span title="dom-MediaTrack-NONE">NONE</span> = 0;
- const unsigned short <span title="dom-MediaTrack-LOADING">LOADING</span> = 1;
- const unsigned short <span title="dom-MediaTrack-LOADED">LOADED</span> = 2;
- const unsigned short <span title="dom-MediaTrack-ERROR">ERROR</span> = 3;
- readonly attribute unsigned short <span title="dom-MediaTrack-readyState">readyState</span>;
- readonly attribute <span>Function</span> <span title="dom-MediaTrack-onload">onload</span>;
- readonly attribute <span>Function</span> <span title="dom-MediaTrack-onerror">onerror</span>;
+ const unsigned short <span title="dom-TimedTrack-NONE">NONE</span> = 0;
+ const unsigned short <span title="dom-TimedTrack-LOADING">LOADING</span> = 1;
+ const unsigned short <span title="dom-TimedTrack-LOADED">LOADED</span> = 2;
+ const unsigned short <span title="dom-TimedTrack-ERROR">ERROR</span> = 3;
+ readonly attribute unsigned short <span title="dom-TimedTrack-readyState">readyState</span>;
+ readonly attribute <span>Function</span> <span title="dom-TimedTrack-onload">onload</span>;
+ readonly attribute <span>Function</span> <span title="dom-TimedTrack-onerror">onerror</span>;
- const unsigned short <span title="dom-MediaTrack-OFF">OFF</span> = 0;
- const unsigned short <span title="dom-MediaTrack-HIDDEN">HIDDEN</span> = 1;
- const unsigned short <span title="dom-MediaTrack-SHOWING">SHOWING</span> = 2;
- attribute unsigned short <span title="dom-MediaTrack-mode">mode</span>;
+ const unsigned short <span title="dom-TimedTrack-OFF">OFF</span> = 0;
+ const unsigned short <span title="dom-TimedTrack-HIDDEN">HIDDEN</span> = 1;
+ const unsigned short <span title="dom-TimedTrack-SHOWING">SHOWING</span> = 2;
+ attribute unsigned short <span title="dom-TimedTrack-mode">mode</span>;
- readonly attribute <span>MediaCueList</span> <span title="dom-MediaTrack-cues">cues</span>;
- readonly attribute <Span>MediaCueList</span> <span title="dom-MediaTrack-activeCues">activeCues</span>;
- readonly attribute <span>Function</span> <span title="dom-MediaTrack-onentercue">onentercue</span>;
- readonly attribute <span>Function</span> <span title="dom-MediaTrack-onexitcue">onexitcue</span>;
+ readonly attribute <span>TimedTrackCueList</span> <span title="dom-TimedTrack-cues">cues</span>;
+ readonly attribute <Span>TimedTrackCueList</span> <span title="dom-TimedTrack-activeCues">activeCues</span>;
+ readonly attribute <span>Function</span> <span title="dom-TimedTrack-onentercue">onentercue</span>;
+ readonly attribute <span>Function</span> <span title="dom-TimedTrack-onexitcue">onexitcue</span>;
};
-interface <dfn>MutableMediaTrack</dfn> : <span>MediaTrack</span> {
- void <span title="dom-MutableMediaTrack-addCue">addCue</span>(in <span>MediaCue</span> cue);
- void <span title="dom-MutableMediaTrack-removeCue">removeCue</span>(in <span>MediaCue</span> cue);
+interface <dfn>MutableTimedTrack</dfn> : <span>TimedTrack</span> {
+ void <span title="dom-MutableTimedTrack-addCue">addCue</span>(in <span>TimedTrackCue</span> cue);
+ void <span title="dom-MutableTimedTrack-removeCue">removeCue</span>(in <span>TimedTrackCue</span> cue);
};
-interface <dfn>MediaCueList</dfn> {
- readonly attribute unsigned long <span title="dom-MediaCueList-length">length</span>;
- getter <span>MediaCue</span> (in unsigned long index);
- <span>MediaCue</span> getCueById(in DOMString id);
+interface <dfn>TimedTrackCueList</dfn> {
+ readonly attribute unsigned long <span title="dom-TimedTrackCueList-length">length</span>;
+ getter <span>TimedTrackCue</span> (in unsigned long index);
+ <span>TimedTrackCue</span> getCueById(in DOMString id);
};
[Constructor(in DOMString id, in float startTime, in float endTime, in DOMString settings, in DOMString text, in optional boolean pauseOnExit)]
-interface <dfn>MediaCue</dfn> {
- readonly attribute <span>MediaTrack</span> <span title="dom-MediaCue-track">track</span>;
- readonly attribute DOMString <span title="dom-MediaCue-id">id</span>;
+interface <dfn>TimedTrackCue</dfn> {
+ readonly attribute <span>TimedTrack</span> <span title="dom-TimedTrackCue-track">track</span>;
+ readonly attribute DOMString <span title="dom-TimedTrackCue-id">id</span>;
- readonly attribute float <span title="dom-MediaCue-startTime">startTime</span>;
- readonly attribute float <span title="dom-MediaCue-endTime">endTime</span>;
- readonly attribute boolean <span title="dom-MediaCue-pauseOnExit">pauseOnExit</span>;
+ readonly attribute float <span title="dom-TimedTrackCue-startTime">startTime</span>;
+ readonly attribute float <span title="dom-TimedTrackCue-endTime">endTime</span>;
+ readonly attribute boolean <span title="dom-TimedTrackCue-pauseOnExit">pauseOnExit</span>;
- readonly attribute DOMString <span title="dom-MediaCue-direction">direction</span>;
- readonly attribute boolean <span title="dom-MediaCue-snapToLines">snapToLines</span>;
- readonly attribute long <span title="dom-MediaCue-linePosition">linePosition</span>;
- readonly attribute long <span title="dom-MediaCue-textPosition">textPosition</span>;
- readonly attribute long <span title="dom-MediaCue-size">size</span>;
- readonly attribute DOMString <span title="dom-MediaCue-alignment">alignment</span>;
+ readonly attribute DOMString <span title="dom-TimedTrackCue-direction">direction</span>;
+ readonly attribute boolean <span title="dom-TimedTrackCue-snapToLines">snapToLines</span>;
+ readonly attribute long <span title="dom-TimedTrackCue-linePosition">linePosition</span>;
+ readonly attribute long <span title="dom-TimedTrackCue-textPosition">textPosition</span>;
+ readonly attribute long <span title="dom-TimedTrackCue-size">size</span>;
+ readonly attribute DOMString <span title="dom-TimedTrackCue-alignment">alignment</span>;
- readonly attribute DOMString <span title="dom-MediaCue-voice">voice</span>;
- DOMString <span title="dom-MediaCue-getCueAsSource()">getCueAsSource</span>();
- <span>DocumentFragment</span> <span title="dom-MediaCue-getCueAsHTML()">getCueAsHTML</span>();
+ readonly attribute DOMString <span title="dom-TimedTrackCue-voice">voice</span>;
+ DOMString <span title="dom-TimedTrackCue-getCueAsSource()">getCueAsSource</span>();
+ <span>DocumentFragment</span> <span title="dom-TimedTrackCue-getCueAsHTML()">getCueAsHTML</span>();
};</pre>
<p class="XXX">domintro
@@ -28263,7 +28306,7 @@
<!-- XXX
CueEvent
- readonly attribute MediaCue cue;
+ readonly attribute TimedTrackCue cue;
-->
More information about the Commit-Watchers
mailing list