[html5] r1617 - /
whatwg at whatwg.org
whatwg at whatwg.org
Wed May 14 18:28:53 PDT 2008
Author: ianh
Date: 2008-05-14 18:28:52 -0700 (Wed, 14 May 2008)
New Revision: 1617
Modified:
index
source
Log:
[e] (0) Note the request for external captions; move <source> to before the definition of media elements.
Modified: index
===================================================================
--- index 2008-05-14 19:45:16 UTC (rev 1616)
+++ index 2008-05-15 01:28:52 UTC (rev 1617)
@@ -25,7 +25,7 @@
<h1 id=html-5>HTML 5</h1>
- <h2 class="no-num no-toc" id=draft>Draft Recommendation — 14 May
+ <h2 class="no-num no-toc" id=draft>Draft Recommendation — 15 May
2008</h2>
<p>You can take part in this work. <a
@@ -660,52 +660,52 @@
codecs for <code>audio</code> elements</a>
</ul>
- <li><a href="#media"><span class=secno>3.12.9 </span>Media
+ <li><a href="#the-source"><span class=secno>3.12.9 </span>The
+ <code>source</code> element</a>
+
+ <li><a href="#media"><span class=secno>3.12.10 </span>Media
elements</a>
<ul class=toc>
- <li><a href="#error"><span class=secno>3.12.9.1. </span>Error
+ <li><a href="#error"><span class=secno>3.12.10.1. </span>Error
codes</a>
- <li><a href="#location"><span class=secno>3.12.9.2. </span>Location
+ <li><a href="#location"><span class=secno>3.12.10.2. </span>Location
of the media resource</a>
- <li><a href="#network0"><span class=secno>3.12.9.3. </span>Network
+ <li><a href="#network0"><span class=secno>3.12.10.3. </span>Network
states</a>
- <li><a href="#loading"><span class=secno>3.12.9.4. </span>Loading
+ <li><a href="#loading"><span class=secno>3.12.10.4. </span>Loading
the media resource</a>
- <li><a href="#offsets"><span class=secno>3.12.9.5. </span>Offsets
+ <li><a href="#offsets"><span class=secno>3.12.10.5. </span>Offsets
into the media resource</a>
- <li><a href="#the-ready"><span class=secno>3.12.9.6. </span>The
+ <li><a href="#the-ready"><span class=secno>3.12.10.6. </span>The
ready states</a>
- <li><a href="#playing"><span class=secno>3.12.9.7. </span>Playing
+ <li><a href="#playing"><span class=secno>3.12.10.7. </span>Playing
the media resource</a>
- <li><a href="#seeking"><span class=secno>3.12.9.8.
+ <li><a href="#seeking"><span class=secno>3.12.10.8.
</span>Seeking</a>
- <li><a href="#cue-ranges"><span class=secno>3.12.9.9. </span>Cue
+ <li><a href="#cue-ranges"><span class=secno>3.12.10.9. </span>Cue
ranges</a>
- <li><a href="#user-interface"><span class=secno>3.12.9.10.
+ <li><a href="#user-interface"><span class=secno>3.12.10.10.
</span>User interface</a>
- <li><a href="#time-range"><span class=secno>3.12.9.11. </span>Time
+ <li><a href="#time-range"><span class=secno>3.12.10.11. </span>Time
range</a>
- <li><a href="#mediaevents"><span class=secno>3.12.9.12. </span>Event
- summary</a>
+ <li><a href="#mediaevents"><span class=secno>3.12.10.12.
+ </span>Event summary</a>
- <li><a href="#security0"><span class=secno>3.12.9.13.
+ <li><a href="#security0"><span class=secno>3.12.10.13.
</span>Security and privacy considerations</a>
</ul>
- <li><a href="#the-source"><span class=secno>3.12.10 </span>The
- <code>source</code> element</a>
-
<li><a href="#the-canvas"><span class=secno>3.12.11 </span>The
<code>canvas</code> element</a>
<ul class=toc>
@@ -14794,17 +14794,17 @@
<dt>Content model:
<dd>If the element has a <code title=attr-media-src><a
- href="#src5">src</a></code> attribute: <a
+ href="#src7">src</a></code> attribute: <a
href="#transparent0">transparent</a>.
<dd>If the element does not have a <code title=attr-media-src><a
- href="#src5">src</a></code> attribute: one or more <code><a
+ href="#src7">src</a></code> attribute: one or more <code><a
href="#source">source</a></code> elements, then, <a
href="#transparent0">transparent</a>.
<dt>Element-specific attributes:
- <dd><code title=attr-media-src><a href="#src5">src</a></code>
+ <dd><code title=attr-media-src><a href="#src7">src</a></code>
<dd><code title=attr-video-poster><a href="#poster">poster</a></code>
@@ -14862,10 +14862,10 @@
streams.
<p>The <code><a href="#video1">video</a></code> element is a <a
- href="#media5">media element</a> whose <a href="#media7">media data</a> is
+ href="#media7">media element</a> whose <a href="#media9">media data</a> is
ostensibly video data, possibly with associated audio data.
- <p>The <code title=attr-media-src><a href="#src5">src</a></code>, <code
+ <p>The <code title=attr-media-src><a href="#src7">src</a></code>, <code
title=attr-media-autoplay><a href="#autoplay">autoplay</a></code>, <code
title=attr-media-start><a href="#start2">start</a></code>, <code
title=attr-media-loopstart><a href="#loopstart">loopstart</a></code>,
@@ -14873,7 +14873,7 @@
<code title=attr-media-end><a href="#end">end</a></code>, <code
title=attr-media-playcount><a href="#playcount">playcount</a></code>, and
<code title=attr-media-controls><a href="#controls">controls</a></code>
- attributes are <a href="#media6" title="media element attributes">the
+ attributes are <a href="#media8" title="media element attributes">the
attributes common to all media elements</a>.
<p>The <code><a href="#video1">video</a></code> element supports <a
@@ -15024,17 +15024,17 @@
<dt>Content model:
<dd>If the element has a <code title=attr-media-src><a
- href="#src5">src</a></code> attribute: <a
+ href="#src7">src</a></code> attribute: <a
href="#transparent0">transparent</a>.
<dd>If the element does not have a <code title=attr-media-src><a
- href="#src5">src</a></code> attribute: one or more <code><a
+ href="#src7">src</a></code> attribute: one or more <code><a
href="#source">source</a></code> elements, then, <a
href="#transparent0">transparent</a>.
<dt>Element-specific attributes:
- <dd><code title=attr-media-src><a href="#src5">src</a></code>
+ <dd><code title=attr-media-src><a href="#src7">src</a></code>
<dd><code title=attr-media-autoplay><a
href="#autoplay">autoplay</a></code>
@@ -15081,10 +15081,10 @@
(such as transcriptions) into their media streams.
<p>The <code><a href="#audio1">audio</a></code> element is a <a
- href="#media5">media element</a> whose <a href="#media7">media data</a> is
+ href="#media7">media element</a> whose <a href="#media9">media data</a> is
ostensibly audio data.
- <p>The <code title=attr-media-src><a href="#src5">src</a></code>, <code
+ <p>The <code title=attr-media-src><a href="#src7">src</a></code>, <code
title=attr-media-autoplay><a href="#autoplay">autoplay</a></code>, <code
title=attr-media-start><a href="#start2">start</a></code>, <code
title=attr-media-loopstart><a href="#loopstart">loopstart</a></code>,
@@ -15092,7 +15092,7 @@
<code title=attr-media-end><a href="#end">end</a></code>, <code
title=attr-media-playcount><a href="#playcount">playcount</a></code>, and
<code title=attr-media-controls><a href="#controls">controls</a></code>
- attributes are <a href="#media6" title="media element attributes">the
+ attributes are <a href="#media8" title="media element attributes">the
attributes common to all media elements</a>.
<p>When an <code><a href="#audio1">audio</a></code> element is <a
@@ -15115,9 +15115,213 @@
<!-- XXX mention that this spec doesn't require native support or
plugin support, either is fine -->
- <h4 id=media><span class=secno>3.12.9 </span>Media elements</h4>
+ <h4 id=the-source><span class=secno>3.12.9 </span>The <dfn
+ id=source><code>source</code></dfn> element</h4>
- <p><dfn id=media5 title="media element">Media elements</dfn> implement the
+ <dl class=element>
+ <dt>Categories
+
+ <dd>None.
+
+ <dt>Contexts in which this element may be used:
+
+ <dd>As a child of a <a href="#media7">media element</a>, before any <a
+ href="#flow-content0">flow content</a>.
+
+ <dt>Content model:
+
+ <dd>Empty.
+
+ <dt>Element-specific attributes:
+
+ <dd><code title=attr-source-src><a href="#src5">src</a></code>
+
+ <dd><code title=attr-source-type><a href="#type8">type</a></code>
+
+ <dd><code title=attr-source-media><a href="#media5">media</a></code>
+
+ <dt>DOM interface:
+
+ <dd>
+ <pre
+ class=idl>interface <dfn id=htmlsourceelement>HTMLSourceElement</dfn> : <a href="#htmlelement">HTMLElement</a> {
+ attribute DOMString <a href="#src6" title=dom-source-src>src</a>;
+ attribute DOMString <a href="#type9" title=dom-source-type>type</a>;
+ attribute DOMString <a href="#media6" title=dom-source-media>media</a>;
+};</pre>
+ </dl>
+
+ <p>The <code><a href="#source">source</a></code> element allows authors to
+ specify multiple <a href="#media10" title="media resource">media
+ resources</a> for <a href="#media7" title="media element">media
+ elements</a>.
+
+ <p>The <dfn id=src5 title=attr-source-src><code>src</code></dfn> attribute
+ gives the address of the <a href="#media10">media resource</a>. The value
+ must be a URI (or IRI). This attribute must be present.
+
+ <p>The <dfn id=type8 title=attr-source-type><code>type</code></dfn>
+ attribute gives the type of the <a href="#media10">media resource</a>, to
+ help the user agent determine if it can play this <a href="#media10">media
+ resource</a> before downloading it. Its value must be a MIME type. The
+ <code title="">codecs</code> parameter may be specified and might be
+ necessary to specify exactly how the resource is encoded. <a
+ href="#refsRFC2046">[RFC2046]</a> <a href="#refsRFC4281">[RFC4281]</a>
+
+ <div class=example>
+ <p>The following list shows some examples of how to use the <code
+ title="">codecs=</code> MIME parameter in the <code
+ title=attr-source-type><a href="#type8">type</a></code> attribute.</p>
+
+ <dl>
+ <dt>H.264 Simple baseline profile video (main and extended video
+ compatible) level 3 and Low-Complexity AAC audio in MP4 container
+
+ <dd>
+ <pre><source src="video.mp4" type="video/mp4; codecs="avc1.42E01E, mp4a.40.2""></pre>
+
+ <dt>H.264 Extended profile video (baseline-compatible) level 3 and
+ Low-Complexity AAC audio in MP4 container
+
+ <dd>
+ <pre><source src="video.mp4" type="video/mp4; codecs="avc1.58A01E, mp4a.40.2""></pre>
+
+ <dt>H.264 Main profile video level 3 and Low-Complexity AAC audio in MP4
+ container
+
+ <dd>
+ <pre><source src="video.mp4" type="video/mp4; codecs="avc1.4D401E, mp4a.40.2""></pre>
+
+ <dt>H.264 "High" profile video (incompatible with main, baseline, or
+ extended profiles) level 3 and Low-Complexity AAC audio in MP4 container
+
+ <dd>
+ <pre><source src="video.mp4" type="video/mp4; codecs="avc1.64001E, mp4a.40.2""></pre>
+
+ <dt>MPEG-4 Visual Simple Profile Level 0 video and Low-Complexity AAC
+ audio in MP4 container
+
+ <dd>
+ <pre><source src="video.mp4" type="video/mp4; codecs="mp4v.20.8, mp4a.40.2""></pre>
+
+ <dt>MPEG-4 Advanced Simple Profile Level 0 video and Low-Complexity AAC
+ audio in MP4 container
+
+ <dd>
+ <pre><source src="video.mp4" type="video/mp4; codecs="mp4v.20.240, mp4a.40.2""></pre>
+
+ <dt>MPEG-4 Visual Simple Profile Level 0 video and AMR audio in 3GPP
+ container
+
+ <dd>
+ <pre><source src="video.3gp" type="video/3gpp; codecs="mp4v.20.8, samr""></pre>
+
+ <dt>Theora video and Vorbis audio in Ogg container
+
+ <dd>
+ <pre><source src="video.ogv" type="video/ogg; codecs="theora, vorbis""></pre>
+
+ <dt>Theora video and Speex audio in Ogg container
+
+ <dd>
+ <pre><source src="video.ogv" type="video/ogg; codecs="theora, speex""></pre>
+
+ <dt>Vorbis audio alone in Ogg container
+
+ <dd>
+ <pre><source src="audio.oga" type="audio/ogg; codecs=vorbis"></pre>
+ </dd>
+ <!-- you also see .ogg but .oga is preferred -->
+
+ <dt>Speex audio alone in Ogg container
+
+ <dd>
+ <pre><source src="audio.oga" type="audio/ogg; codecs=speex"></pre>
+ </dd>
+ <!-- you also see .spx but .oga is preferred -->
+
+ <dt>Flac audio alone in Ogg container
+
+ <dd>
+ <pre><source src="audio.oga" type="audio/ogg; codecs=flac"></pre>
+
+ <dt>Dirac video and Vorbis audio in Ogg container
+
+ <dd>
+ <pre><source src="video.ogv" type="video/ogg; codecs="dirac, vorbis""></pre>
+
+ <dt>Theora video and Vorbis audio in Matroska container
+
+ <dd>
+ <pre><source src="video.mkv" type="video/x-matroska; codecs="theora, vorbis""></pre>
+ </dd>
+ <!-- awaiting definition by the Ogg or BBC guys:
+ <dt>Dirac video and Vorbis audio in Matroska container</dt>
+ <dd><pre><source src="video.mkv" type="video/x-matroska; codecs="></pre></dd>
+-->
+ <!-- awaiting definition by the Microsoft guys:
+
+ <dt>WMV9 video and WMA 2 audio in ASF container</dt>
+ <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
+
+ <dt>WMV8 video and WMA 2 audio in ASF container</dt>
+ <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
+
+ <dt>VC-1 video and WMA 10 Pro audio in ASF container</dt>
+ <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
+
+ <dt>XviD video and MP3 audio in AVI container</dt>
+ <dd><pre><source src="video.avi" type="video/x-msvideo; codecs="></pre></dd>
+
+ <dt>Motion-JPEG video and uncompressed PCM audio in AVI container</dt>
+ <dd><pre><source src="video.avi" type="video/x-msvideo; codecs="></pre></dd>
+
+-->
+ <!-- awaiting definition by Real:
+ <dt>Real Video 10 video and High-Efficiency AAC audio in Real Media container</dt>
+ <dd><pre><source src="video.rm" type="application/vnd.rn-realmedia; codecs="></pre></dd>
+-->
+ <!-- undefined:
+ <dt>MPEG-1 video and MPEG-1 Audio Layer II audio in MPEG-1 program stream</dt>
+ <dd><pre><source src="video.mpg" type="video/mpeg; codecs="></pre></dd>
+-->
+ </dl>
+ <!-- XXX #refs https://trac.xiph.org/browser/experimental/ivo/drafts/draft-xiph-rfc3534bis.txt may be relevant -->
+ </div>
+
+ <p>The <dfn id=media5 title=attr-source-media><code>media</code></dfn>
+ attribute gives the intended media type of the <a href="#media10">media
+ resource</a>, to help the user agent determine if this <a
+ href="#media10">media resource</a> is useful to the user before
+ downloading it. Its value must be a valid <a href="#mq">media query</a>.
+ <a href="#refsMQ">[MQ]</a>
+
+ <p>Either the <code title=attr-source-type><a href="#type8">type</a></code>
+ attribute, the <code title=attr-source-media><a
+ href="#media5">media</a></code> attribute or both, must be specified,
+ unless this is the last <code><a href="#source">source</a></code> element
+ child of the parent element.
+
+ <p>If a <code><a href="#source">source</a></code> element is inserted into
+ a <a href="#media7">media element</a> that is already in a document and
+ whose <code title=dom-media-networkState><a
+ href="#networkstate">networkState</a></code> is in the <code
+ title=dom-media-EMPTY><a href="#empty">EMPTY</a></code> state, the user
+ agent must implicitly invoke the <code title=dom-media-load><a
+ href="#load">load()</a></code> method on the <a href="#media7">media
+ element</a> as soon as all other scripts have finished executing. Any
+ exceptions raised must be ignored.
+
+ <p>The DOM attributes <dfn id=src6
+ title=dom-source-src><code>src</code></dfn>, <dfn id=type9
+ title=dom-source-type><code>type</code></dfn>, and <dfn id=media6
+ title=dom-source-media><code>media</code></dfn> must <a
+ href="#reflect">reflect</a> the respective content attributes of the same
+ name.
+
+ <h4 id=media><span class=secno>3.12.10 </span>Media elements</h4>
+
+ <p><dfn id=media7 title="media element">Media elements</dfn> implement the
following interface:
<pre
@@ -15127,7 +15331,7 @@
readonly attribute <a href="#mediaerror">MediaError</a> <a href="#error0" title=dom-media-error>error</a>;
// network state
- attribute DOMString <a href="#src6" title=dom-media-src>src</a>;
+ attribute DOMString <a href="#src8" title=dom-media-src>src</a>;
readonly attribute DOMString <a href="#currentsrc" title=dom-media-currentSrc>currentSrc</a>;
const unsigned short <a href="#empty" title=dom-media-EMPTY>EMPTY</a> = 0;
const unsigned short <a href="#loading0" title=dom-media-LOADING>LOADING</a> = 1;
@@ -15178,8 +15382,8 @@
attribute boolean <a href="#muted" title=dom-media-muted>muted</a>;
};</pre>
- <p>The <dfn id=media6>media element attributes</dfn>, <code
- title=attr-media-src><a href="#src5">src</a></code>, <code
+ <p>The <dfn id=media8>media element attributes</dfn>, <code
+ title=attr-media-src><a href="#src7">src</a></code>, <code
title=attr-media-autoplay><a href="#autoplay">autoplay</a></code>, <code
title=attr-media-start><a href="#start2">start</a></code>, <code
title=attr-media-loopstart><a href="#loopstart">loopstart</a></code>,
@@ -15187,7 +15391,7 @@
<code title=attr-media-end><a href="#end">end</a></code>, <code
title=attr-media-playcount><a href="#playcount">playcount</a></code>, and
<code title=attr-media-controls><a href="#controls">controls</a></code>,
- apply to all <a href="#media5" title="media element">media elements</a>.
+ apply to all <a href="#media7" title="media element">media elements</a>.
They are defined in this section.</p>
<!-- XXXv3 features:
* frame forward / backwards / step(n) while paused
@@ -15215,22 +15419,23 @@
* general meta data, implemented as getters (don't expose the whole thing)
- getMetadata(key: string, language: string) => HTMLImageElement or string
- onmetadatachanged (no context info)
+ * external captions support
* video: changing the playback aspect ratio
* video: applying CSS filters
* infinite looping
-->
- <p><a href="#media5" title="media element">Media elements</a> are used to
+ <p><a href="#media7" title="media element">Media elements</a> are used to
present audio data, or video and audio data, to the user. This is referred
- to as <dfn id=media7>media data</dfn> in this section, since this section
- applies equally to <a href="#media5" title="media element">media
- elements</a> for audio or for video. The term <dfn id=media8>media
+ to as <dfn id=media9>media data</dfn> in this section, since this section
+ applies equally to <a href="#media7" title="media element">media
+ elements</a> for audio or for video. The term <dfn id=media10>media
resource</dfn> is used to refer to the complete set of media data, e.g.
the complete video file, or complete audio file.
- <h5 id=error><span class=secno>3.12.9.1. </span>Error codes</h5>
+ <h5 id=error><span class=secno>3.12.10.1. </span>Error codes</h5>
- <p>All <a href="#media5" title="media element">media elements</a> have an
+ <p>All <a href="#media7" title="media element">media elements</a> have an
associated error status, which records the last error the element
encountered since the <code title=dom-media-load><a
href="#load">load()</a></code> method was last invoked. The <dfn id=error0
@@ -15254,7 +15459,7 @@
title=dom-MediaError-MEDIA_ERR_ABORTED><code>MEDIA_ERR_ABORTED</code></dfn>
(numeric value 1)
- <dd>The download of the <a href="#media8">media resource</a> was aborted
+ <dd>The download of the <a href="#media10">media resource</a> was aborted
by the user agent at the user's request.
<dt><dfn id=mediaerrnetwork
@@ -15262,61 +15467,61 @@
(numeric value 2)
<dd>A network error of some description caused the user agent to stop
- downloading the <a href="#media8">media resource</a>.
+ downloading the <a href="#media10">media resource</a>.
<dt><dfn id=mediaerrdecode
title=dom-MediaError-MEDIA_ERR_DECODE><code>MEDIA_ERR_DECODE</code></dfn>
(numeric value 3)
<dd>An error of some description occurred while decoding the <a
- href="#media8">media resource</a>.
+ href="#media10">media resource</a>.
</dl>
- <h5 id=location><span class=secno>3.12.9.2. </span>Location of the media
+ <h5 id=location><span class=secno>3.12.10.2. </span>Location of the media
resource</h5>
- <p>The <dfn id=src5 title=attr-media-src><code>src</code></dfn> content
- attribute on <a href="#media5" title="media element">media elements</a>
+ <p>The <dfn id=src7 title=attr-media-src><code>src</code></dfn> content
+ attribute on <a href="#media7" title="media element">media elements</a>
gives the address of the media resource (video, audio) to show. The
attribute, if present, must contain a URI (or IRI).
- <p>If the <code title=attr-media-src><a href="#src5">src</a></code>
- attribute of a <a href="#media5">media element</a> that is already in a
+ <p>If the <code title=attr-media-src><a href="#src7">src</a></code>
+ attribute of a <a href="#media7">media element</a> that is already in a
document and whose <code title=dom-media-networkState><a
href="#networkstate">networkState</a></code> is in the <code
title=dom-media-EMPTY><a href="#empty">EMPTY</a></code> state is added,
changed, or removed, the user agent must implicitly invoke the <code
title=dom-media-load><a href="#load">load()</a></code> method on the <a
- href="#media5">media element</a> as soon as all other scripts have
+ href="#media7">media element</a> as soon as all other scripts have
finished executing. Any exceptions raised must be ignored.
<p class=note>If a <code title=attr-media-src><a
- href="#src5">src</a></code> attribute is specified, the resource it
- specifies is the <a href="#media8">media resource</a> that will be used.
+ href="#src7">src</a></code> attribute is specified, the resource it
+ specifies is the <a href="#media10">media resource</a> that will be used.
Otherwise, the resource specified by the first suitable <code><a
href="#source">source</a></code> element child of the <a
- href="#media5">media element</a> is the one used.
+ href="#media7">media element</a> is the one used.
- <p>The <dfn id=src6 title=dom-media-src><code>src</code></dfn> DOM
- attribute on <a href="#media5" title="media element">media elements</a>
+ <p>The <dfn id=src8 title=dom-media-src><code>src</code></dfn> DOM
+ attribute on <a href="#media7" title="media element">media elements</a>
must <a href="#reflect">reflect</a> the content attribute of the same
name.
<p>To <dfn id=pick-a>pick a media resource</dfn> for a <a
- href="#media5">media element</a>, a user agent must use the following
+ href="#media7">media element</a>, a user agent must use the following
steps:
<ol>
<li>
- <p>If the <a href="#media5">media element</a> has a <code
- title=attr-media-src><a href="#src5">src</a></code>, then the address
- given in that attribute is the address of the <a href="#media8">media
+ <p>If the <a href="#media7">media element</a> has a <code
+ title=attr-media-src><a href="#src7">src</a></code>, then the address
+ given in that attribute is the address of the <a href="#media10">media
resource</a>; jump to the last step.
<li>
<p>Otherwise, let <var title="">candidate</var> be the first <code><a
href="#source">source</a></code> element child in the <a
- href="#media5">media element</a>, or null if there is no such child.
+ href="#media7">media element</a>, or null if there is no such child.
<li>
<p>If either:</p>
@@ -15325,7 +15530,7 @@
<li><var title="">candidate</var> is null, or
<li>the <var title="">candidate</var> element has no <code
- title=attr-source-src><a href="#src7">src</a></code> attribute, or
+ title=attr-source-src><a href="#src5">src</a></code> attribute, or
<li>the <var title="">candidate</var> element has a <code
title=attr-source-type><a href="#type8">type</a></code> attribute and
@@ -15335,7 +15540,7 @@
href="#refsRFC2046">[RFC2046]</a> <a href="#refsRFC4281">[RFC4281]</a>
<li>the <var title="">candidate</var> element has a <code
- title=attr-source-media><a href="#media9">media</a></code> attribute
+ title=attr-source-media><a href="#media5">media</a></code> attribute
and that attribute's value, when processed according to the rules for
<a href="#mq">media queries</a>, does not match the current
environment, <a href="#refsMQ">[MQ]</a>
@@ -15345,21 +15550,21 @@
next step.</p>
<p>Otherwise, the address given in that <var title="">candidate</var>
- element's <code title=attr-source-src><a href="#src7">src</a></code>
- attribute is the address of the <a href="#media8">media resource</a>;
+ element's <code title=attr-source-src><a href="#src5">src</a></code>
+ attribute is the address of the <a href="#media10">media resource</a>;
jump to the last step.</p>
<li>
<p>Let <var title="">candidate</var> be the next <code><a
href="#source">source</a></code> element child in the <a
- href="#media5">media element</a>, or null if there are no more such
+ href="#media7">media element</a>, or null if there are no more such
children.
<li>
<p>If <var title="">candidate</var> is not null, return to step 3.
<li>
- <p>There is no <a href="#media8">media resource</a>. Abort these steps.
+ <p>There is no <a href="#media10">media resource</a>. Abort these steps.
<li>
<p>Let the address of the <dfn id=chosen>chosen media resource</dfn> be
@@ -15368,15 +15573,15 @@
<p>The <dfn id=currentsrc
title=dom-media-currentSrc><code>currentSrc</code></dfn> DOM attribute
- must return the empty string if the <a href="#media5">media element</a>'s
+ must return the empty string if the <a href="#media7">media element</a>'s
<code title=dom-media-networkState><a
href="#networkstate">networkState</a></code> has the value <a
href="#empty" title=dom-media-EMPTY>EMPTY</a>, and the absolute URL of the
<a href="#chosen">chosen media resource</a> otherwise.
- <h5 id=network0><span class=secno>3.12.9.3. </span>Network states</h5>
+ <h5 id=network0><span class=secno>3.12.10.3. </span>Network states</h5>
- <p>As <a href="#media5" title="media element">media elements</a> interact
+ <p>As <a href="#media7" title="media element">media elements</a> interact
with the network, they go through several states. The <dfn id=networkstate
title=dom-media-networkState><code>networkState</code></dfn> attribute, on
getting, must return the current network state of the element, which must
@@ -15411,14 +15616,14 @@
title=dom-media-LOADED_FIRST_FRAME><code>LOADED_FIRST_FRAME</code></dfn>
(numeric value 3)
- <dd>Actual <a href="#media7">media data</a> has been obtained. In the case
+ <dd>Actual <a href="#media9">media data</a> has been obtained. In the case
of video, this specifically means that a frame of video is available and
can be shown.
<dt><dfn id=loaded title=dom-media-LOADED><code>LOADED</code></dfn>
(numeric value 4)
- <dd>The entire <a href="#media8">media resource</a> has been obtained and
+ <dd>The entire <a href="#media10">media resource</a> has been obtained and
is available to the user agent locally. Network connectivity could be
lost without affecting the media playback.
</dl>
@@ -15428,17 +15633,17 @@
the <code title=dom-media-networkState><a
href="#networkstate">networkState</a></code> attribute changes value.
- <h5 id=loading><span class=secno>3.12.9.4. </span>Loading the media
+ <h5 id=loading><span class=secno>3.12.10.4. </span>Loading the media
resource</h5>
- <p>All <a href="#media5" title="media element">media elements</a> have a
+ <p>All <a href="#media7" title="media element">media elements</a> have a
<dfn id=begun>begun flag</dfn>, which must begin in the false state, a
<dfn id=loaded-first-frame>loaded-first-frame flag</dfn>, which must begin
in the false state, and an <dfn id=autoplaying>autoplaying flag</dfn>,
which must begin in the true state.
<p>When the <dfn id=load title=dom-media-load><code>load()</code></dfn>
- method on a <a href="#media5">media element</a> is invoked, the user agent
+ method on a <a href="#media7">media element</a> is invoked, the user agent
must run the following steps. Note that this algorithm might get aborted,
e.g. if the <code title=dom-media-load><a href="#load">load()</a></code>
method itself is invoked again.
@@ -15459,7 +15664,7 @@
href="#mediaerraborted">MEDIA_ERR_ABORTED</a></code>, and the user agent
must synchronously <a href="#firing6">fire a progress event</a> called
<code title=event-abort><a href="#abort">abort</a></code> at the <a
- href="#media5">media element</a>.
+ href="#media7">media element</a>.
<li>
<p>The <code title=dom-media-error><a href="#error0">error</a></code>
@@ -15475,7 +15680,7 @@
href="#defaultplaybackrate">defaultPlaybackRate</a></code> attribute.
<li>
- <p>If the <a href="#media5">media element</a>'s <code
+ <p>If the <a href="#media7">media element</a>'s <code
title=dom-media-networkState><a
href="#networkstate">networkState</a></code> is not set to <a
href="#empty" title=dom-media-EMPTY>EMPTY</a>, then the following
@@ -15521,13 +15726,13 @@
<li>The user agent must synchronously <a href="#firing2">fire a simple
event</a> called <code title=event-emptied><a
- href="#emptied">emptied</a></code> at the <a href="#media5">media
+ href="#emptied">emptied</a></code> at the <a href="#media7">media
element</a>.
</ol>
<li>
<p>The user agent must <a href="#pick-a">pick a media resource</a> for
- the <a href="#media5">media element</a>. If that fails, the method must
+ the <a href="#media7">media element</a>. If that fails, the method must
raise an <code>INVALID_STATE_ERR</code> exception, and abort these
steps.
@@ -15544,17 +15749,17 @@
<li>
<p>The user agent must then set the <a href="#begun">begun flag</a> to
true and <a href="#firing6">fire a progress event</a> called
- <code>begin</code> at the <a href="#media5">media element</a>.
+ <code>begin</code> at the <a href="#media7">media element</a>.
<li>
<p>The method must return, but these steps must continue.
<li>
- <p class=note>Playback of any previously playing <a href="#media8">media
+ <p class=note>Playback of any previously playing <a href="#media10">media
resource</a> for this element stops.
<li>
- <p>If a download is in progress for the <a href="#media5">media
+ <p>If a download is in progress for the <a href="#media7">media
element</a>, the user agent should stop the download.
<li>
@@ -15578,7 +15783,7 @@
href="#stalled">stalled</a></code> at the element.</p>
<p>User agents may allow users to selectively block or slow <a
- href="#media7">media data</a> downloads. When a <a href="#media5">media
+ href="#media9">media data</a> downloads. When a <a href="#media7">media
element</a>'s download has been blocked, the user agent must act as if
it was stalled (as opposed to acting as if the connection was closed).</p>
@@ -15590,7 +15795,7 @@
only if it has given up trying to download it.</p>
<dl class=switch>
- <dt>If the <a href="#media7">media data</a> cannot be downloaded at all,
+ <dt>If the <a href="#media9">media data</a> cannot be downloaded at all,
due to network errors, causing the user agent to give up trying to
download the resource
@@ -15613,7 +15818,7 @@
<li>The <a href="#begun">begun flag</a> must be set to false and the
user agent must <a href="#firing6">fire a progress event</a> called
<code title=event-error><a href="#error1">error</a></code> at the <a
- href="#media5">media element</a>.
+ href="#media7">media element</a>.
<li>The element's <code title=dom-media-networkState><a
href="#networkstate">networkState</a></code> attribute must be
@@ -15625,13 +15830,13 @@
<li>These steps must be aborted.
</ol>
- <dt id=fatal-decode-error>If the <a href="#media7">media data</a> can be
+ <dt id=fatal-decode-error>If the <a href="#media9">media data</a> can be
downloaded but is in an unsupported format, or can otherwise not be
rendered at all
<dd>
<p>The server returning a file of the wrong kind (e.g. one that that
- turns out to not be pure audio when the <a href="#media5">media
+ turns out to not be pure audio when the <a href="#media7">media
element</a> is an <code><a href="#audio1">audio</a></code> element),
or the file using unsupported codecs for all the data, must cause the
user agent to execute the following steps. User agents may also
@@ -15652,7 +15857,7 @@
<li>The <a href="#begun">begun flag</a> must be set to false and the
user agent must <a href="#firing6">fire a progress event</a> called
<code title=event-error><a href="#error1">error</a></code> at the <a
- href="#media5">media element</a>.
+ href="#media7">media element</a>.
<li>The element's <code title=dom-media-networkState><a
href="#networkstate">networkState</a></code> attribute must be
@@ -15664,7 +15869,7 @@
<li>These steps must be aborted.
</ol>
- <dt>If the <a href="#media7">media data</a> download is aborted by the
+ <dt>If the <a href="#media9">media data</a> download is aborted by the
user
<dd>
@@ -15687,9 +15892,9 @@
<li>The <a href="#begun">begun flag</a> must be set to false and the
user agent must <a href="#firing6">fire a progress event</a> called
<code title=event-abort><a href="#abort">abort</a></code> at the <a
- href="#media5">media element</a>.
+ href="#media7">media element</a>.
- <li>If the <a href="#media5">media element</a>'s <code
+ <li>If the <a href="#media7">media element</a>'s <code
title=dom-media-networkState><a
href="#networkstate">networkState</a></code> attribute has the value
<code title=dom-media-LOADING><a href="#loading0">LOADING</a></code>,
@@ -15708,7 +15913,7 @@
<li>These steps must be aborted.
</ol>
- <dt id=non-fatal-media-error>If the <a href="#media7">media data</a> can
+ <dt id=non-fatal-media-error>If the <a href="#media9">media data</a> can
be downloaded but has non-fatal errors or uses, in part, codecs that
are unsupported, preventing the user agent from rendering the content
completely correctly but not preventing playback altogether
@@ -15723,8 +15928,8 @@
flag to 'MEDIA_ERR_SUBOPTIMAL' or something?
</ol>
- <dt>Once enough of the <a href="#media7">media data</a> has been
- downloaded to determine the duration of the <a href="#media8">media
+ <dt>Once enough of the <a href="#media9">media data</a> has been
+ downloaded to determine the duration of the <a href="#media10">media
resource</a>, its dimensions, and other metadata
<dd>
@@ -15762,9 +15967,9 @@
</ol>
<dt id=handling-first-frame-available>Once enough of the <a
- href="#media7">media data</a> has been downloaded to enable the user
+ href="#media9">media data</a> has been downloaded to enable the user
agent to display the frame at the <a href="#effective">effective
- start</a> of the <a href="#media8">media resource</a>
+ start</a> of the <a href="#media10">media resource</a>
<dd>
<p>The user agent must follow these substeps:</p>
@@ -15801,7 +16006,7 @@
</dl>
<p>When the user agent has completed the download of the entire <a
- href="#media8">media resource</a>, it must move on to the next step.</p>
+ href="#media10">media resource</a>, it must move on to the next step.</p>
<li>
<p>If the download completes without errors, the <a href="#begun">begun
@@ -15812,13 +16017,13 @@
<code title=event-load><a href="#load0">load</a></code> at the element.
</ol>
- <p>If a <a href="#media5">media element</a> whose <code
+ <p>If a <a href="#media7">media element</a> whose <code
title=dom-media-networkState><a
href="#networkstate">networkState</a></code> has the value <code
title=dom-media-EMPTY><a href="#empty">EMPTY</a></code> is inserted into a
document, user agents must implicitly invoke the <code
title=dom-media-load><a href="#load">load()</a></code> method on the <a
- href="#media5">media element</a> as soon as all other scripts have
+ href="#media7">media element</a> as soon as all other scripts have
finished executing<!-- XXX phrase that better? -->. Any exceptions raised
must be ignored.
@@ -15831,7 +16036,7 @@
<p>The <dfn id=buffered
title=dom-media-buffered><code>buffered</code></dfn> attribute must return
a static <a href="#normalised">normalised <code>TimeRanges</code>
- object</a> that represents the ranges of the <a href="#media8">media
+ object</a> that represents the ranges of the <a href="#media10">media
resource</a>, if any, that the user agent has downloaded, at the time the
attribute is evaluated.
@@ -15839,28 +16044,28 @@
point, but if, e.g. the user agent uses HTTP range requests in response to
seeking, then there could be multiple ranges.
- <h5 id=offsets><span class=secno>3.12.9.5. </span>Offsets into the media
+ <h5 id=offsets><span class=secno>3.12.10.5. </span>Offsets into the media
resource</h5>
<p>The <dfn id=duration
title=dom-media-duration><code>duration</code></dfn> attribute must return
- the length of the <a href="#media8">media resource</a>, in seconds. If no
- <a href="#media7">media data</a> is available, then the attributes must
- return 0. If <a href="#media7">media data</a> is available but the length
+ the length of the <a href="#media10">media resource</a>, in seconds. If no
+ <a href="#media9">media data</a> is available, then the attributes must
+ return 0. If <a href="#media9">media data</a> is available but the length
is not known, the attribute must return the Not-a-Number (NaN) value. If
- the <a href="#media8">media resource</a> is known to be unbounded (e.g. a
+ the <a href="#media10">media resource</a> is known to be unbounded (e.g. a
streaming radio), then the attribute must return the positive Infinity
value.
- <p>When the length of the <a href="#media8">media resource</a> changes
+ <p>When the length of the <a href="#media10">media resource</a> changes
(e.g. from being unknown to known, or from indeterminate to known, or from
a previously established length to a new length) the user agent must, once
any running scripts have finished, <a href="#firing2">fire a simple
event</a> called <code title=event-durationchange><a
href="#durationchange">durationchange</a></code> at the <a
- href="#media5">media element</a>.
+ href="#media7">media element</a>.
- <p><a href="#media5" title="media element">Media elements</a> have a <dfn
+ <p><a href="#media7" title="media element">Media elements</a> have a <dfn
id=current0>current playback position</dfn>, which must initially be zero.
The current position is a time.
@@ -15872,20 +16077,20 @@
exception).
<p>The <dfn id=start2 title=attr-media-start><code>start</code></dfn>
- content attribute gives the offset into the <a href="#media8">media
+ content attribute gives the offset into the <a href="#media10">media
resource</a> at which playback is to begin. The default value is the
- default start position of the <a href="#media8">media resource</a>, or 0
- if not enough <a href="#media7">media data</a> has been obtained yet to
+ default start position of the <a href="#media10">media resource</a>, or 0
+ if not enough <a href="#media9">media data</a> has been obtained yet to
determine the default start position or if the resource doesn't specify a
default start position.
<p>The <dfn id=effective><var>effective start</var></dfn> is the smaller of
the <code title=dom-media-start><a href="#start3">start</a></code> DOM
- attribute and the end of the <a href="#media8">media resource</a>.
+ attribute and the end of the <a href="#media10">media resource</a>.
<p>The <dfn id=loopstart
title=attr-media-loopstart><code>loopstart</code></dfn> content attribute
- gives the offset into the <a href="#media8">media resource</a> at which
+ gives the offset into the <a href="#media10">media resource</a> at which
playback is to begin when looping a clip. The default value of the <code
title=attr-media-loopStart><a href="#loopstart">loopstart</a></code>
content attribute is the value of the <code title=dom-media-start><a
@@ -15894,12 +16099,12 @@
<p>The <dfn id=effective0><var>effective loop start</var></dfn> is the
smaller of the <code title=dom-media-loopStart><a
href="#loopstart0">loopStart</a></code> DOM attribute and the end of the
- <a href="#media8">media resource</a>.
+ <a href="#media10">media resource</a>.
<p>
<p>The <dfn id=loopend title=attr-media-loopend><code>loopend</code></dfn>
- content attribute gives an offset into the <a href="#media8">media
+ content attribute gives an offset into the <a href="#media10">media
resource</a> at which playback is to jump back to the <code
title=attr-media-loopstart><a href="#loopstart">loopstart</a></code>, when
looping the clip. The default value of the <code
@@ -15913,20 +16118,20 @@
href="#loopstart0">loopStart</a></code>, and <code
title=dom-media-loopEnd><a href="#loopend0">loopEnd</a></code> DOM
attributes, except if that is greater than the end of the <a
- href="#media8">media resource</a>, in which case that's its value.
+ href="#media10">media resource</a>, in which case that's its value.
<p>
<p>The <dfn id=end title=attr-media-end><code>end</code></dfn> content
- attribute gives an offset into the <a href="#media8">media resource</a> at
- which playback is to end. The default value is infinity.
+ attribute gives an offset into the <a href="#media10">media resource</a>
+ at which playback is to end. The default value is infinity.
<p>The <dfn id=effective2><var>effective end</var></dfn> is the greater of
the <code title=dom-media-start><a href="#start3">start</a></code>, <code
title=dom-media-loopStart><a href="#loopstart0">loopStart</a></code>, and
<code title=dom-media-loopEnd><a href="#loopend0">end</a></code> DOM
attributes, except if that is greater than the end of the <a
- href="#media8">media resource</a>, in which case that's its value.
+ href="#media10">media resource</a>, in which case that's its value.
<p>
@@ -15948,7 +16153,7 @@
href="#loopstart">loopstart</a></code>, <code title=attr-media-loopend><a
href="#loopend">loopend</a></code>, and <code title=attr-media-end><a
href="#end">end</a></code> content attributes on the <a
- href="#media5">media element</a> respectively.
+ href="#media7">media element</a> respectively.
<p>The <dfn id=playcount
title=attr-media-playcount><code>playcount</code></dfn> content attribute
@@ -15958,7 +16163,7 @@
title=dom-media-playCount><code>playCount</code></dfn> DOM attribute must
<a href="#reflect">reflect</a> the <code title=attr-media-playcount><a
href="#playcount">playcount</a></code> content attribute on the <a
- href="#media5">media element</a>. The value must be <a
+ href="#media7">media element</a>. The value must be <a
href="#limited1">limited to only positive non-zero numbers</a>.
<p>The <dfn id=currentloop
@@ -15989,7 +16194,7 @@
current loop the last loop).
<li>
- <p>If the <a href="#media5">media element</a>'s <code
+ <p>If the <a href="#media7">media element</a>'s <code
title=dom-media-networkState><a
href="#networkstate">networkState</a></code> is in the <code
title=dom-media-EMPTY><a href="#empty">EMPTY</a></code> state or the
@@ -16036,9 +16241,9 @@
end.
</ol>
- <h5 id=the-ready><span class=secno>3.12.9.6. </span>The ready states</h5>
+ <h5 id=the-ready><span class=secno>3.12.10.6. </span>The ready states</h5>
- <p><a href="#media5" title="media element">Media elements</a> have a
+ <p><a href="#media7" title="media element">Media elements</a> have a
<em>ready state</em>, which describes to what degree they are ready to be
rendered at the <a href="#current0">current playback position</a>. The
possible values are as follows; the ready state of a media element at any
@@ -16050,7 +16255,7 @@
(numeric value 0)
<dd>No data for the <a href="#current0">current playback position</a> is
- available. <a href="#media5" title="media element">Media elements</a>
+ available. <a href="#media7" title="media element">Media elements</a>
whose <code title=dom-media-networkState><a
href="#networkstate">networkState</a></code> attribute is less than <code
title=dom-media-LOADED_FIRST_FRAME><a
@@ -16102,12 +16307,12 @@
title=dom-media-defaultPlaybackRate><a
href="#defaultplaybackrate">defaultPlaybackRate</a></code> attribute,
would not overtake the available data before playback reaches the <a
- href="#effective2">effective end</a> of the <a href="#media8">media
+ href="#effective2">effective end</a> of the <a href="#media10">media
resource</a> on the last <a href="#playcount0"
title=dom-media-playCount>loop</a>.
</dl>
- <p>When the ready state of a <a href="#media5">media element</a> whose
+ <p>When the ready state of a <a href="#media7">media element</a> whose
<code title=dom-media-networkState><a
href="#networkstate">networkState</a></code> is not <code
title=dom-media-EMPTY><a href="#empty">EMPTY</a></code> changes, the user
@@ -16156,7 +16361,7 @@
href="#canplaythrough0">canplaythrough</a></code> event. If the <a
href="#autoplaying">autoplaying flag</a> is true, and the <code
title=dom-media-paused><a href="#paused">paused</a></code> attribute is
- true, and the <a href="#media5">media element</a> has an <code
+ true, and the <a href="#media7">media element</a> has an <code
title=attr-media-autoplay><a href="#autoplay">autoplay</a></code>
attribute specified, then the user agent must also set the <code
title=dom-media-paused><a href="#paused">paused</a></code> attribute to
@@ -16186,27 +16391,27 @@
<p>The <dfn id=readystate0
title=dom-media-readyState><code>readyState</code></dfn> DOM attribute
must, on getting, return the value described above that describes the
- current ready state of the <a href="#media5">media element</a>.
+ current ready state of the <a href="#media7">media element</a>.
<p>The <dfn id=autoplay
title=attr-media-autoplay><code>autoplay</code></dfn> attribute is a <a
href="#boolean0">boolean attribute</a>. When present, the algorithm
described herein will cause the user agent to automatically begin playback
- of the <a href="#media8">media resource</a> as soon as it can do so
+ of the <a href="#media10">media resource</a> as soon as it can do so
without stopping.
<p>The <dfn id=autoplay0
title=dom-media-autoplay><code>autoplay</code></dfn> DOM attribute must <a
href="#reflect">reflect</a> the content attribute of the same name.
- <h5 id=playing><span class=secno>3.12.9.7. </span>Playing the media
+ <h5 id=playing><span class=secno>3.12.10.7. </span>Playing the media
resource</h5>
<p>The <dfn id=paused title=dom-media-paused><code>paused</code></dfn>
- attribute represents whether the <a href="#media5">media element</a> is
+ attribute represents whether the <a href="#media7">media element</a> is
paused or not. The attribute must initially be true.
- <p>A <a href="#media5">media element</a> is said to be <dfn
+ <p>A <a href="#media7">media element</a> is said to be <dfn
id=actively>actively playing</dfn> when its <code
title=dom-media-paused><a href="#paused">paused</a></code> attribute is
false, the <code title=dom-media-readyState><a
@@ -16218,31 +16423,31 @@
href="#stopped">stopped due to errors</a>, and the element has not <a
href="#paused0">paused for user interaction</a>.
- <p>A <a href="#media5">media element</a> is said to have <dfn
+ <p>A <a href="#media7">media element</a> is said to have <dfn
id=ended>ended playback</dfn> when the element's <code
title=dom-media-networkState><a
href="#networkstate">networkState</a></code> attribute is <code
title=dom-media-LOADED_METADATA><a
href="#loadedmetadata">LOADED_METADATA</a></code> or greater, the <a
href="#current0">current playback position</a> is equal to the <var><a
- href="#effective2">effective end</a></var> of the <a href="#media8">media
+ href="#effective2">effective end</a></var> of the <a href="#media10">media
resource</a>, and the <code title=dom-media-currentLoop><a
href="#currentloop">currentLoop</a></code> attribute is equal to
<span><code title=dom-media-playCount><a
href="#playcount0">playCount</a></code>-1</span>.
- <p>A <a href="#media5">media element</a> is said to have <dfn
+ <p>A <a href="#media7">media element</a> is said to have <dfn
id=stopped>stopped due to errors</dfn> when the element's <code
title=dom-media-networkState><a
href="#networkstate">networkState</a></code> attribute is <code
title=dom-media-LOADED_METADATA><a
href="#loadedmetadata">LOADED_METADATA</a></code> or greater, and the user
agent <a href="#non-fatal-media-error">encounters a non-fatal error</a>
- during the processing of the <a href="#media7">media data</a>, and due to
+ during the processing of the <a href="#media9">media data</a>, and due to
that error, is not able to play the content at the <a
href="#current0">current playback position</a>.
- <p>A <a href="#media5">media element</a> is said to have <dfn
+ <p>A <a href="#media7">media element</a> is said to have <dfn
id=paused0>paused for user interaction</dfn> when its <code
title=dom-media-paused><a href="#paused">paused</a></code> attribute is
false, the <code title=dom-media-readyState><a
@@ -16250,14 +16455,14 @@
title=dom-media-CAN_PLAY><a href="#canplay">CAN_PLAY</a></code> or <code
title=dom-media-CAN_PLAY_THROUGH><a
href="#canplaythrough">CAN_PLAY_THROUGH</a></code> and the user agent has
- reached a point in the <a href="#media8">media resource</a> where the user
- has to make a selection for the resource to continue.
+ reached a point in the <a href="#media10">media resource</a> where the
+ user has to make a selection for the resource to continue.
- <p>It is possible for a <a href="#media5">media element</a> to have both <a
+ <p>It is possible for a <a href="#media7">media element</a> to have both <a
href="#ended">ended playback</a> and <a href="#paused0">paused for user
interaction</a> at the same time.
- <p id=media-playback>When a <a href="#media5">media element</a> is <a
+ <p id=media-playback>When a <a href="#media7">media element</a> is <a
href="#actively">actively playing</a> and its <span
title=dom-ownerDocument>owner <code>Document</code></span><!-- XXX
xref -->
@@ -16266,18 +16471,18 @@
at <code title=dom-media-playbackRate><a
href="#playbackrate">playbackRate</a></code> units of media time per unit
time of wall clock time. If this value is not 1, the user agent may apply
- pitch adjustments to any audio component of the <a href="#media8">media
+ pitch adjustments to any audio component of the <a href="#media10">media
resource</a>.
- <p><a href="#media8" title="media resource">Media resources</a> might be
- internally scripted or interactive. Thus, a <a href="#media5">media
+ <p><a href="#media10" title="media resource">Media resources</a> might be
+ internally scripted or interactive. Thus, a <a href="#media7">media
element</a> could play in a non-linear fashion. If this happens, the user
agent must act as if the algorithm for <a href="#seek"
title=dom-media-seek>seeking</a> was used whenever the <a
href="#current0">current playback position</a> changes in a discontinuous
fashion (so that the relevant events fire).
- <p>When a <a href="#media5">media element</a> that is <a
+ <p>When a <a href="#media7">media element</a> that is <a
href="#actively">actively playing</a> stops playing because its <code
title=dom-media-readyState><a href="#readystate0">readyState</a></code>
attribute changes to a value lower than <code title=dom-media-CAN_PLAY><a
@@ -16291,7 +16496,7 @@
<code title=event-waiting><a href="#waiting">waiting</a></code> at the
element.
- <p>When a <a href="#media5">media element</a> that is <a
+ <p>When a <a href="#media7">media element</a> that is <a
href="#actively">actively playing</a> stops playing because it has <a
href="#paused0">paused for user interaction</a>, the user agent must <a
href="#firing2">fire a simple event</a> called <code
@@ -16339,7 +16544,7 @@
<p>The <dfn id=defaultplaybackrate
title=dom-media-defaultPlaybackRate><code>defaultPlaybackRate</code></dfn>
- attribute gives the desired speed at which the <a href="#media8">media
+ attribute gives the desired speed at which the <a href="#media10">media
resource</a> is to play, as a multiple of its intrinsic speed. The
attribute is mutable, but on setting, if the new value is 0.0, a
<code>NOT_SUPPORTED_ERR</code> exception must be raised instead of the
@@ -16347,7 +16552,7 @@
<p>The <dfn id=playbackrate
title=dom-media-playbackRate><code>playbackRate</code></dfn> attribute
- gives the speed at which the <a href="#media8">media resource</a> plays,
+ gives the speed at which the <a href="#media10">media resource</a> plays,
as a multiple of its intrinsic speed. If it is not equal to the <code
title=dom-media-defaultPlaybackRate><a
href="#defaultplaybackrate">defaultPlaybackRate</a></code>, then the
@@ -16366,15 +16571,15 @@
agent, e.g. in response to user control) the user agent must, once any
running scripts have finished, <a href="#firing2">fire a simple event</a>
called <code title=event-ratechange>ratechange</code> at the <a
- href="#media5">media element</a>.
+ href="#media7">media element</a>.
<p>When the <dfn id=play title=dom-media-play><code>play()</code></dfn>
- method on a <a href="#media5">media element</a> is invoked, the user agent
+ method on a <a href="#media7">media element</a> is invoked, the user agent
must run the following steps.
<ol>
<li>
- <p>If the <a href="#media5">media element</a>'s <code
+ <p>If the <a href="#media7">media element</a>'s <code
title=dom-media-networkState><a
href="#networkstate">networkState</a></code> attribute has the value <a
href="#empty" title=dom-media-EMPTY>EMPTY</a>, then the user agent must
@@ -16397,12 +16602,12 @@
href="#defaultplaybackrate">defaultPlaybackRate</a></code> attribute.
<li>
- <p>If the <a href="#media5">media element</a>'s <code
+ <p>If the <a href="#media7">media element</a>'s <code
title=dom-media-paused><a href="#paused">paused</a></code> attribute is
true, it must be set to false.
<li>
- <p>The <a href="#media5">media element</a>'s <a
+ <p>The <a href="#media7">media element</a>'s <a
href="#autoplaying">autoplaying flag</a> must be set to false.
<li>
@@ -16412,27 +16617,27 @@
<p class=note>If the second step above involved a seek, the user agent will
<a href="#firing2">fire a simple event</a> called <code
title=event-timeupdate><a href="#timeupdate">timeupdate</a></code> at the
- <a href="#media5">media element</a>.
+ <a href="#media7">media element</a>.
<p class=note>If the third step above caused the <code
title=dom-media-playbackRate><a
href="#playbackrate">playbackRate</a></code> attribute to change value,
the user agent will <a href="#firing2">fire a simple event</a> called
<code title=event-ratechange>ratechange</code> at the <a
- href="#media5">media element</a>.
+ href="#media7">media element</a>.
<p class=note>If the fourth step above changed the value of <code
title=dom-media-paused><a href="#paused">paused</a></code>, the user agent
must <a href="#firing2">fire a simple event</a> called <code
title=event-play><a href="#play0">play</a></code> at the <a
- href="#media5">media element</a>.
+ href="#media7">media element</a>.
<p>When the <dfn id=pause0 title=dom-media-pause><code>pause()</code></dfn>
method is invoked, the user agent must run the following steps:
<ol>
<li>
- <p>If the <a href="#media5">media element</a>'s <code
+ <p>If the <a href="#media7">media element</a>'s <code
title=dom-media-networkState><a
href="#networkstate">networkState</a></code> attribute has the value <a
href="#empty" title=dom-media-EMPTY>EMPTY</a>, then the user agent must
@@ -16442,12 +16647,12 @@
href="#play">pause()</a></code> method.
<li>
- <p>If the <a href="#media5">media element</a>'s <code
+ <p>If the <a href="#media7">media element</a>'s <code
title=dom-media-paused><a href="#paused">paused</a></code> attribute is
false, it must be set to true.
<li>
- <p>The <a href="#media5">media element</a>'s <a
+ <p>The <a href="#media7">media element</a>'s <a
href="#autoplaying">autoplaying flag</a> must be set to false.
<li>
@@ -16463,12 +16668,12 @@
element.
</ol>
- <p>When a <a href="#media5">media element</a> is <span>removed from a
+ <p>When a <a href="#media7">media element</a> is <span>removed from a
<code>Document</code><!-- XXX xref removed --></span>, the user agent must
act as if the <code title=dom-media-pause><a
href="#pause0">pause()</a></code> method had been invoked.
- <p><a href="#media5" title="media element">Media elements</a> that are <a
+ <p><a href="#media7" title="media element">Media elements</a> that are <a
href="#actively">actively playing</a> while not <span>in a
<code>Document</code></span><!-- XXX xref --> must not play any video, but
should play any audio component. Media elements must not stop playing just
@@ -16478,34 +16683,34 @@
paused or because the end of the clip has been reached) may the element be
<span>garbage collected</span><!-- XXX xref -->.
- <p class=note>If the <a href="#media5">media element</a>'s <code
+ <p class=note>If the <a href="#media7">media element</a>'s <code
title=dom-ownerDocument>ownerDocument</code> stops being an active
document, then the playback will <a href="#media-playback">stop</a> until
the document is active again.
<p>The <dfn id=ended0 title=dom-media-ended><code>ended</code></dfn>
- attribute must return true if the <a href="#media5">media element</a> has
+ attribute must return true if the <a href="#media7">media element</a> has
<a href="#ended">ended playback</a>, and false otherwise.
<p>The <dfn id=played title=dom-media-played><code>played</code></dfn>
attribute must return a static <a href="#normalised">normalised
<code>TimeRanges</code> object</a> that represents the ranges of the <a
- href="#media8">media resource</a>, if any, that the user agent has so far
+ href="#media10">media resource</a>, if any, that the user agent has so far
rendered, at the time the attribute is evaluated.
- <h5 id=seeking><span class=secno>3.12.9.8. </span>Seeking</h5>
+ <h5 id=seeking><span class=secno>3.12.10.8. </span>Seeking</h5>
<p>The <dfn id=seeking0 title=dom-media-seeking><code>seeking</code></dfn>
attribute must initially have the value false.
<p>When the user agent is required to <dfn id=seek
title=dom-media-seek>seek</dfn> to a particular <var title="">new playback
- position</var> in the <a href="#media8">media resource</a>, it means that
+ position</var> in the <a href="#media10">media resource</a>, it means that
the user agent must run the following steps:
<ol>
<li>
- <p>If the <a href="#media5">media element</a>'s <code
+ <p>If the <a href="#media7">media element</a>'s <code
title=dom-media-networkState><a
href="#networkstate">networkState</a></code> is less than <code
title=dom-media-LOADED_METADATA><a
@@ -16560,7 +16765,7 @@
<li>
<p>As soon as the user agent has established whether or not the <a
- href="#media7">media data</a> for the <var title="">new playback
+ href="#media9">media data</a> for the <var title="">new playback
position</var> is available, and, if it is, decoded enough data to play
back that position, the <code title=dom-media-seeking><a
href="#seeking0">seeking</a></code> DOM attribute must be set to false.
@@ -16569,7 +16774,7 @@
<p>The <dfn id=seekable
title=dom-media-seekable><code>seekable</code></dfn> attribute must return
a static <a href="#normalised">normalised <code>TimeRanges</code>
- object</a> that represents the ranges of the <a href="#media8">media
+ object</a> that represents the ranges of the <a href="#media10">media
resource</a>, if any, that the user agent is able to seek to, at the time
the attribute is evaluated, notwithstanding the looping attributes (i.e.
the <var><a href="#effective">effective start</a></var> and <var><a
@@ -16578,17 +16783,17 @@
attribute).
<p class=note>If the user agent can seek to anywhere in the <a
- href="#media8">media resource</a>, e.g. because it a simple movie file and
- the user agent and the server support HTTP Range requests, then the
+ href="#media10">media resource</a>, e.g. because it a simple movie file
+ and the user agent and the server support HTTP Range requests, then the
attribute would return an object with one range, whose start is the time
of the first frame (typically zero), and whose end is the same as the time
of the first frame plus the <code title=dom-media-duration><a
href="#duration">duration</a></code> attribute's value (which would equal
the time of the last frame).
- <h5 id=cue-ranges><span class=secno>3.12.9.9. </span>Cue ranges</h5>
+ <h5 id=cue-ranges><span class=secno>3.12.10.9. </span>Cue ranges</h5>
- <p><a href="#media5" title="media element">Media elements</a> have a set of
+ <p><a href="#media7" title="media element">Media elements</a> have a set of
<dfn id=cue-ranges0 title="cue range">cue ranges</dfn>. Each cue range is
made up of the following information:
@@ -16603,7 +16808,7 @@
<dt>An end time
<dd>The actual time range, using the same timeline as the <a
- href="#media8">media resource</a> itself.
+ href="#media10">media resource</a> itself.
<dt>A "pause" boolean
@@ -16630,7 +16835,7 @@
title="">end</var>, <var title="">pauseOnExit</var>, <var
title="">enterCallback</var>, <var
title="">exitCallback</var>)</code></dfn> method must, when called, add a
- <a href="#cue-ranges0">cue range</a> to the <a href="#media5">media
+ <a href="#cue-ranges0">cue range</a> to the <a href="#media7">media
element</a>, that cue range having the class name <var
title="">className</var>, the start time <var title="">start</var> (in
seconds), the end time <var title="">end</var> (in seconds), the "pause"
@@ -16645,11 +16850,11 @@
title=dom-media-removeCueRanges><code>removeCueRanges(<var
title="">className</var>)</code></dfn> method must, when called, remove
all the <a href="#cue-ranges0" title="cue range">cue ranges</a> of the <a
- href="#media5">media element</a> which have the class name <var
+ href="#media7">media element</a> which have the class name <var
title="">className</var>.
<p>When the <a href="#current0">current playback position</a> of a <a
- href="#media5">media element</a> changes (e.g. due to playback or
+ href="#media7">media element</a> changes (e.g. due to playback or
seeking), the user agent must run the following steps. If the <a
href="#current0">current playback position</a> changes while the steps are
running, then the user agent must wait for the steps to complete, and then
@@ -16663,7 +16868,7 @@
<p>Let <var title="">current ranges</var> be an ordered list of <a
href="#cue-ranges0" title="cue range">cue ranges</a>, initialised to
contain all the <a href="#cue-ranges0" title="cue range">cue ranges</a>
- of the <a href="#media5">media element</a> whose start times are less
+ of the <a href="#media7">media element</a> whose start times are less
than or equal to the <a href="#current0">current playback position</a>
and whose end times are greater than the <a href="#current0">current
playback position</a>, in the order they were added to the element.
@@ -16672,7 +16877,7 @@
<p>Let <var title="">other ranges</var> be an ordered list of <a
href="#cue-ranges0" title="cue range">cue ranges</a>, initialised to
contain all the <a href="#cue-ranges0" title="cue range">cue ranges</a>
- of the <a href="#media5">media element</a> that are not present in <var
+ of the <a href="#media7">media element</a> that are not present in <var
title="">current ranges</var>, in the order they were added to the
element.
@@ -16744,7 +16949,7 @@
href="#voidcallback">VoidCallback</a></code> interface is the entrypoint
for the callback represented by the object.
- <h5 id=user-interface><span class=secno>3.12.9.10. </span>User interface</h5>
+ <h5 id=user-interface><span class=secno>3.12.10.10. </span>User interface</h5>
<p>The <dfn id=controls
title=attr-media-controls><code>controls</code></dfn> attribute is a <a
@@ -16765,7 +16970,7 @@
<p>User agents may provide controls to affect playback of the media
resource (e.g. play, pause, seeking, and volume controls), but such
features should not interfere with the page's normal rendering. For
- example, such features could be exposed in the <a href="#media5">media
+ example, such features could be exposed in the <a href="#media7">media
element</a>'s context menu.
<p>Where possible (specifically, for starting, stopping, pausing, and
@@ -16780,7 +16985,7 @@
<p>The <dfn id=volume title=dom-media-volume><code>volume</code></dfn>
attribute must return the playback volume of any audio portions of the <a
- href="#media5">media element</a>, in the range 0.0 (silent) to 1.0
+ href="#media7">media element</a>, in the range 0.0 (silent) to 1.0
(loudest). Initially, the volume must be 0.5, but user agents may remember
the last set value across sessions, on a per-site basis or otherwise, so
the volume may start at other values. On setting, if the new value is in
@@ -16797,7 +17002,7 @@
<p>The <dfn id=muted title=dom-media-muted><code>muted</code></dfn>
attribute must return true if the audio channels are muted and false
otherwise. On setting, the attribute must be set to the new value; if the
- new value is true, audio playback for this <a href="#media8">media
+ new value is true, audio playback for this <a href="#media10">media
resource</a> must then be muted, and if false, audio playback must then be
enabled.
@@ -16807,9 +17012,9 @@
scripts have finished executing, the user agent must <a
href="#firing2">fire a simple event</a> called <code
title=event-volumechange><a href="#volumechange">volumechange</a></code>
- at the <a href="#media5">media element</a>.
+ at the <a href="#media7">media element</a>.
- <h5 id=time-range><span class=secno>3.12.9.11. </span>Time range</h5>
+ <h5 id=time-range><span class=secno>3.12.10.11. </span>Time range</h5>
<p>Objects implementing the <code><a
href="#timeranges">TimeRanges</a></code> interface represent a list of
@@ -16857,12 +17062,12 @@
title=dom-media-buffered><a href="#buffered">buffered</a></code>, <code
title=dom-media-seekable><a href="#seekable">seekable</a></code> and <code
title=dom-media-played><a href="#played">played</a></code> DOM attributes
- of <a href="#media5" title="media element">media elements</a> must be the
- same as that element's <a href="#media8">media resource</a>'s timeline.
+ of <a href="#media7" title="media element">media elements</a> must be the
+ same as that element's <a href="#media10">media resource</a>'s timeline.
- <h5 id=mediaevents><span class=secno>3.12.9.12. </span>Event summary</h5>
+ <h5 id=mediaevents><span class=secno>3.12.10.12. </span>Event summary</h5>
- <p>The following events fire on <a href="#media5" title="media
+ <p>The following events fire on <a href="#media7" title="media
element">media elements</a> as part of the processing model described
above:
@@ -16883,7 +17088,7 @@
<td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
- <td>The user agent begins fetching the <a href="#media7">media data</a>,
+ <td>The user agent begins fetching the <a href="#media9">media data</a>,
synchronously during the <code title=dom-media-load><a
href="#load">load()</a></code> method call.
@@ -16896,7 +17101,7 @@
<td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
- <td>The user agent is fetching <a href="#media7">media data</a>.
+ <td>The user agent is fetching <a href="#media9">media data</a>.
<td><code title=dom-media-networkState><a
href="#networkstate">networkState</a></code> is more than <code
@@ -16909,9 +17114,9 @@
<td><code>Event</code>
- <td>The user agent is fetching <a href="#media7">media data</a>, and the
- <a href="#media8">media resource</a>'s metadata has just been received.
-
+ <td>The user agent is fetching <a href="#media9">media data</a>, and the
+ <a href="#media10">media resource</a>'s metadata has just been
+ received.
<td><code title=dom-media-networkState><a
href="#networkstate">networkState</a></code> equals <code
@@ -16924,8 +17129,8 @@
<td><code>Event</code>
- <td>The user agent is fetching <a href="#media7">media data</a>, and the
- <a href="#media8">media resource</a>'s first frame has just been
+ <td>The user agent is fetching <a href="#media9">media data</a>, and the
+ <a href="#media10">media resource</a>'s first frame has just been
received.
<td><code title=dom-media-networkState><a
@@ -16939,7 +17144,7 @@
<td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
<td>The user agent finishes downloading the entire <a
- href="#media8">media resource</a>.
+ href="#media10">media resource</a>.
<td><code title=dom-media-networkState><a
href="#networkstate">networkState</a></code> equals <code
@@ -16950,7 +17155,7 @@
<td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
- <td>The user agent stops fetching the <a href="#media7">media data</a>
+ <td>The user agent stops fetching the <a href="#media9">media data</a>
before it is completely downloaded. This can be fired synchronously
during the <code title=dom-media-load><a href="#load">load()</a></code>
method call.
@@ -16969,7 +17174,7 @@
<td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
- <td>An error occurs while fetching the <a href="#media7">media data</a>.
+ <td>An error occurs while fetching the <a href="#media9">media data</a>.
<td><code title=dom-media-error><a href="#error0">error</a></code> is an
@@ -16986,7 +17191,7 @@
<td><code>Event</code>
- <td>A <a href="#media5">media element</a> whose <code
+ <td>A <a href="#media7">media element</a> whose <code
title=dom-media-networkState><a
href="#networkstate">networkState</a></code> was previously not in the
<code title=dom-media-EMPTY><a href="#empty">EMPTY</a></code> state has
@@ -17006,7 +17211,7 @@
<td><code>ProgressEvent</code>
- <td>The user agent is trying to fetch <a href="#media7">media data</a>,
+ <td>The user agent is trying to fetch <a href="#media9">media data</a>,
but data is unexpectedly not forthcoming.
<td>
@@ -17076,7 +17281,7 @@
<td><code>Event</code>
- <td>Playback has stopped because the end of the <a href="#media8">media
+ <td>Playback has stopped because the end of the <a href="#media10">media
resource</a> was reached.
<td><code title=dom-media-currentTime><a
@@ -17118,9 +17323,9 @@
<td><code>Event</code>
- <td>The user agent can resume playback of the <a href="#media7">media
+ <td>The user agent can resume playback of the <a href="#media9">media
data</a>, but estimates that if playback were to be started now, the <a
- href="#media8">media resource</a> could not be rendered at the current
+ href="#media10">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.
@@ -17135,7 +17340,7 @@
<td><code>Event</code>
<td>The user agent estimates that if playback were to be started now,
- the <a href="#media8">media resource</a> could be rendered at the
+ the <a href="#media10">media resource</a> could be rendered at the
current playback rate all the way to its end without having to stop for
further buffering.
@@ -17183,7 +17388,7 @@
<td>
</table>
- <h5 id=security0><span class=secno>3.12.9.13. </span>Security and privacy
+ <h5 id=security0><span class=secno>3.12.10.13. </span>Security and privacy
considerations</h5>
<p class=big-issue>Talk about making sure interactive media files (e.g.
@@ -17191,210 +17396,6 @@
not exposing any sensitive data like metadata from tracks in the media
files (intranet snooping risk)
- <h4 id=the-source><span class=secno>3.12.10 </span>The <dfn
- id=source><code>source</code></dfn> element</h4>
-
- <dl class=element>
- <dt>Categories
-
- <dd>None.
-
- <dt>Contexts in which this element may be used:
-
- <dd>As a child of a <a href="#media5">media element</a>, before any <a
- href="#flow-content0">flow content</a>.
-
- <dt>Content model:
-
- <dd>Empty.
-
- <dt>Element-specific attributes:
-
- <dd><code title=attr-source-src><a href="#src7">src</a></code>
-
- <dd><code title=attr-source-type><a href="#type8">type</a></code>
-
- <dd><code title=attr-source-media><a href="#media9">media</a></code>
-
- <dt>DOM interface:
-
- <dd>
- <pre
- class=idl>interface <dfn id=htmlsourceelement>HTMLSourceElement</dfn> : <a href="#htmlelement">HTMLElement</a> {
- attribute DOMString <a href="#src8" title=dom-source-src>src</a>;
- attribute DOMString <a href="#type9" title=dom-source-type>type</a>;
- attribute DOMString <a href="#media10" title=dom-source-media>media</a>;
-};</pre>
- </dl>
-
- <p>The <code><a href="#source">source</a></code> element allows authors to
- specify multiple <a href="#media8" title="media resource">media
- resources</a> for <a href="#media5" title="media element">media
- elements</a>.
-
- <p>The <dfn id=src7 title=attr-source-src><code>src</code></dfn> attribute
- gives the address of the <a href="#media8">media resource</a>. The value
- must be a URI (or IRI). This attribute must be present.
-
- <p>The <dfn id=type8 title=attr-source-type><code>type</code></dfn>
- attribute gives the type of the <a href="#media8">media resource</a>, to
- help the user agent determine if it can play this <a href="#media8">media
- resource</a> before downloading it. Its value must be a MIME type. The
- <code title="">codecs</code> parameter may be specified and might be
- necessary to specify exactly how the resource is encoded. <a
- href="#refsRFC2046">[RFC2046]</a> <a href="#refsRFC4281">[RFC4281]</a>
-
- <div class=example>
- <p>The following list shows some examples of how to use the <code
- title="">codecs=</code> MIME parameter in the <code
- title=attr-source-type><a href="#type8">type</a></code> attribute.</p>
-
- <dl>
- <dt>H.264 Simple baseline profile video (main and extended video
- compatible) level 3 and Low-Complexity AAC audio in MP4 container
-
- <dd>
- <pre><source src="video.mp4" type="video/mp4; codecs="avc1.42E01E, mp4a.40.2""></pre>
-
- <dt>H.264 Extended profile video (baseline-compatible) level 3 and
- Low-Complexity AAC audio in MP4 container
-
- <dd>
- <pre><source src="video.mp4" type="video/mp4; codecs="avc1.58A01E, mp4a.40.2""></pre>
-
- <dt>H.264 Main profile video level 3 and Low-Complexity AAC audio in MP4
- container
-
- <dd>
- <pre><source src="video.mp4" type="video/mp4; codecs="avc1.4D401E, mp4a.40.2""></pre>
-
- <dt>H.264 "High" profile video (incompatible with main, baseline, or
- extended profiles) level 3 and Low-Complexity AAC audio in MP4 container
-
- <dd>
- <pre><source src="video.mp4" type="video/mp4; codecs="avc1.64001E, mp4a.40.2""></pre>
-
- <dt>MPEG-4 Visual Simple Profile Level 0 video and Low-Complexity AAC
- audio in MP4 container
-
- <dd>
- <pre><source src="video.mp4" type="video/mp4; codecs="mp4v.20.8, mp4a.40.2""></pre>
-
- <dt>MPEG-4 Advanced Simple Profile Level 0 video and Low-Complexity AAC
- audio in MP4 container
-
- <dd>
- <pre><source src="video.mp4" type="video/mp4; codecs="mp4v.20.240, mp4a.40.2""></pre>
-
- <dt>MPEG-4 Visual Simple Profile Level 0 video and AMR audio in 3GPP
- container
-
- <dd>
- <pre><source src="video.3gp" type="video/3gpp; codecs="mp4v.20.8, samr""></pre>
-
- <dt>Theora video and Vorbis audio in Ogg container
-
- <dd>
- <pre><source src="video.ogv" type="video/ogg; codecs="theora, vorbis""></pre>
-
- <dt>Theora video and Speex audio in Ogg container
-
- <dd>
- <pre><source src="video.ogv" type="video/ogg; codecs="theora, speex""></pre>
-
- <dt>Vorbis audio alone in Ogg container
-
- <dd>
- <pre><source src="audio.oga" type="audio/ogg; codecs=vorbis"></pre>
- </dd>
- <!-- you also see .ogg but .oga is preferred -->
-
- <dt>Speex audio alone in Ogg container
-
- <dd>
- <pre><source src="audio.oga" type="audio/ogg; codecs=speex"></pre>
- </dd>
- <!-- you also see .spx but .oga is preferred -->
-
- <dt>Flac audio alone in Ogg container
-
- <dd>
- <pre><source src="audio.oga" type="audio/ogg; codecs=flac"></pre>
-
- <dt>Dirac video and Vorbis audio in Ogg container
-
- <dd>
- <pre><source src="video.ogv" type="video/ogg; codecs="dirac, vorbis""></pre>
-
- <dt>Theora video and Vorbis audio in Matroska container
-
- <dd>
- <pre><source src="video.mkv" type="video/x-matroska; codecs="theora, vorbis""></pre>
- </dd>
- <!-- awaiting definition by the Ogg or BBC guys:
- <dt>Dirac video and Vorbis audio in Matroska container</dt>
- <dd><pre><source src="video.mkv" type="video/x-matroska; codecs="></pre></dd>
--->
- <!-- awaiting definition by the Microsoft guys:
-
- <dt>WMV9 video and WMA 2 audio in ASF container</dt>
- <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
-
- <dt>WMV8 video and WMA 2 audio in ASF container</dt>
- <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
-
- <dt>VC-1 video and WMA 10 Pro audio in ASF container</dt>
- <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
-
- <dt>XviD video and MP3 audio in AVI container</dt>
- <dd><pre><source src="video.avi" type="video/x-msvideo; codecs="></pre></dd>
-
- <dt>Motion-JPEG video and uncompressed PCM audio in AVI container</dt>
- <dd><pre><source src="video.avi" type="video/x-msvideo; codecs="></pre></dd>
-
--->
- <!-- awaiting definition by Real:
- <dt>Real Video 10 video and High-Efficiency AAC audio in Real Media container</dt>
- <dd><pre><source src="video.rm" type="application/vnd.rn-realmedia; codecs="></pre></dd>
--->
- <!-- undefined:
- <dt>MPEG-1 video and MPEG-1 Audio Layer II audio in MPEG-1 program stream</dt>
- <dd><pre><source src="video.mpg" type="video/mpeg; codecs="></pre></dd>
--->
- </dl>
- <!-- XXX #refs https://trac.xiph.org/browser/experimental/ivo/drafts/draft-xiph-rfc3534bis.txt may be relevant -->
- </div>
-
- <p>The <dfn id=media9 title=attr-source-media><code>media</code></dfn>
- attribute gives the intended media type of the <a href="#media8">media
- resource</a>, to help the user agent determine if this <a
- href="#media8">media resource</a> is useful to the user before downloading
- it. Its value must be a valid <a href="#mq">media query</a>. <a
- href="#refsMQ">[MQ]</a>
-
- <p>Either the <code title=attr-source-type><a href="#type8">type</a></code>
- attribute, the <code title=attr-source-media><a
- href="#media9">media</a></code> attribute or both, must be specified,
- unless this is the last <code><a href="#source">source</a></code> element
- child of the parent element.
-
- <p>If a <code><a href="#source">source</a></code> element is inserted into
- a <a href="#media5">media element</a> that is already in a document and
- whose <code title=dom-media-networkState><a
- href="#networkstate">networkState</a></code> is in the <code
- title=dom-media-EMPTY><a href="#empty">EMPTY</a></code> state, the user
- agent must implicitly invoke the <code title=dom-media-load><a
- href="#load">load()</a></code> method on the <a href="#media5">media
- element</a> as soon as all other scripts have finished executing. Any
- exceptions raised must be ignored.
-
- <p>The DOM attributes <dfn id=src8
- title=dom-source-src><code>src</code></dfn>, <dfn id=type9
- title=dom-source-type><code>type</code></dfn>, and <dfn id=media10
- title=dom-source-media><code>media</code></dfn> must <a
- href="#reflect">reflect</a> the respective content attributes of the same
- name.
-
<h4 id=the-canvas><span class=secno>3.12.11 </span>The <dfn
id=canvas><code>canvas</code></dfn> element</h4>
@@ -27967,7 +27968,7 @@
href="#htmlaudioelement">HTMLAudioElement</a></code> object (a new
<code><a href="#audio1">audio</a></code> element). If the <var
title=src>src</var> argument is present, the object created must have
- its <code title=dom-media-src><a href="#src6">src</a></code> content
+ its <code title=dom-media-src><a href="#src8">src</a></code> content
attribute set to the provided value, and the user agent must invoke the
<code title=dom-media-load><a href="#load">load()</a></code> method on
the object before returning.
@@ -39749,7 +39750,7 @@
without errors, the packet should be ignored.
<p class=note>This protocol does not yet allow binary data (e.g. an image
- or <a href="#media7">media data</a>) to be efficiently transmitted. A
+ or <a href="#media9">media data</a>) to be efficiently transmitted. A
future version of this protocol might allow this by using the prefix
character U+001F INFORMATION SEPARATOR ONE, followed by binary data which
uses a particular byte (e.g. 0xFF) to encode byte 0x17 somehow (since
Modified: source
===================================================================
--- source 2008-05-14 19:45:16 UTC (rev 1616)
+++ source 2008-05-15 01:28:52 UTC (rev 1617)
@@ -13099,7 +13099,173 @@
+ <h4>The <dfn><code>source</code></dfn> element</h4>
+ <dl class="element">
+ <dt>Categories</dt>
+ <dd>None.</dd>
+ <dt>Contexts in which this element may be used:</dt>
+ <dd>As a child of a <span>media element</span>, before any <span>flow content</span>.</dd>
+ <dt>Content model:</dt>
+ <dd>Empty.</dd>
+ <dt>Element-specific attributes:</dt>
+ <dd><code title="attr-source-src">src</code></dd>
+ <dd><code title="attr-source-type">type</code></dd>
+ <dd><code title="attr-source-media">media</code></dd>
+ <dt>DOM interface:</dt>
+ <dd>
+<pre class="idl">interface <dfn>HTMLSourceElement</dfn> : <span>HTMLElement</span> {
+ attribute DOMString <span title="dom-source-src">src</span>;
+ attribute DOMString <span title="dom-source-type">type</span>;
+ attribute DOMString <span title="dom-source-media">media</span>;
+};</pre>
+ </dd>
+ </dl>
+
+ <p>The <code>source</code> element allows authors to specify
+ multiple <span title="media resource">media resources</span> for
+ <span title="media element">media elements</span>.</p>
+
+ <p>The <dfn title="attr-source-src"><code>src</code></dfn> attribute
+ gives the address of the <span>media resource</span>. The value must
+ be a URI (or IRI). This attribute must be present.</p>
+
+ <p>The <dfn title="attr-source-type"><code>type</code></dfn>
+ attribute gives the type of the <span>media resource</span>, to help
+ the user agent determine if it can play this <span>media
+ resource</span> before downloading it. Its value must be a MIME
+ type. The <code title="">codecs</code> parameter may be specified and
+ might be necessary to specify exactly how the resource is
+ encoded. <a href="#refsRFC2046">[RFC2046]</a> <a
+ href="#refsRFC4281">[RFC4281]</a></p>
+
+ <div class="example">
+
+ <p>The following list shows some examples of how to use the <code
+ title="">codecs=</code> MIME parameter in the <code
+ title="attr-source-type">type</code> attribute.</p>
+
+ <dl>
+
+ <dt>H.264 Simple baseline profile video (main and extended video compatible) level 3 and Low-Complexity AAC audio in MP4 container</dt>
+ <dd><pre><source src="video.mp4" type="video/mp4; codecs="avc1.42E01E, mp4a.40.2""></pre></dd>
+
+ <dt>H.264 Extended profile video (baseline-compatible) level 3 and Low-Complexity AAC audio in MP4 container</dt>
+ <dd><pre><source src="video.mp4" type="video/mp4; codecs="avc1.58A01E, mp4a.40.2""></pre></dd>
+
+ <dt>H.264 Main profile video level 3 and Low-Complexity AAC audio in MP4 container</dt>
+ <dd><pre><source src="video.mp4" type="video/mp4; codecs="avc1.4D401E, mp4a.40.2""></pre></dd>
+
+ <dt>H.264 "High" profile video (incompatible with main, baseline, or extended profiles) level 3 and Low-Complexity AAC audio in MP4 container</dt>
+ <dd><pre><source src="video.mp4" type="video/mp4; codecs="avc1.64001E, mp4a.40.2""></pre></dd>
+
+
+ <dt>MPEG-4 Visual Simple Profile Level 0 video and Low-Complexity AAC audio in MP4 container</dt>
+ <dd><pre><source src="video.mp4" type="video/mp4; codecs="mp4v.20.8, mp4a.40.2""></pre></dd>
+
+ <dt>MPEG-4 Advanced Simple Profile Level 0 video and Low-Complexity AAC audio in MP4 container</dt>
+ <dd><pre><source src="video.mp4" type="video/mp4; codecs="mp4v.20.240, mp4a.40.2""></pre></dd>
+
+ <dt>MPEG-4 Visual Simple Profile Level 0 video and AMR audio in 3GPP container</dt>
+ <dd><pre><source src="video.3gp" type="video/3gpp; codecs="mp4v.20.8, samr""></pre></dd>
+
+
+ <dt>Theora video and Vorbis audio in Ogg container</dt>
+ <dd><pre><source src="video.ogv" type="video/ogg; codecs="theora, vorbis""></pre></dd>
+
+ <dt>Theora video and Speex audio in Ogg container</dt>
+ <dd><pre><source src="video.ogv" type="video/ogg; codecs="theora, speex""></pre></dd>
+
+ <dt>Vorbis audio alone in Ogg container</dt>
+ <dd><pre><source src="audio.oga" type="audio/ogg; codecs=vorbis"></pre></dd>
+ <!-- you also see .ogg but .oga is preferred -->
+
+ <dt>Speex audio alone in Ogg container</dt>
+ <dd><pre><source src="audio.oga" type="audio/ogg; codecs=speex"></pre></dd>
+ <!-- you also see .spx but .oga is preferred -->
+
+ <dt>Flac audio alone in Ogg container</dt>
+ <dd><pre><source src="audio.oga" type="audio/ogg; codecs=flac"></pre></dd>
+
+ <dt>Dirac video and Vorbis audio in Ogg container</dt>
+ <dd><pre><source src="video.ogv" type="video/ogg; codecs="dirac, vorbis""></pre></dd>
+
+ <dt>Theora video and Vorbis audio in Matroska container</dt>
+ <dd><pre><source src="video.mkv" type="video/x-matroska; codecs="theora, vorbis""></pre></dd>
+
+<!-- awaiting definition by the Ogg or BBC guys:
+ <dt>Dirac video and Vorbis audio in Matroska container</dt>
+ <dd><pre><source src="video.mkv" type="video/x-matroska; codecs="></pre></dd>
+-->
+
+
+<!-- awaiting definition by the Microsoft guys:
+
+ <dt>WMV9 video and WMA 2 audio in ASF container</dt>
+ <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
+
+ <dt>WMV8 video and WMA 2 audio in ASF container</dt>
+ <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
+
+ <dt>VC-1 video and WMA 10 Pro audio in ASF container</dt>
+ <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
+
+ <dt>XviD video and MP3 audio in AVI container</dt>
+ <dd><pre><source src="video.avi" type="video/x-msvideo; codecs="></pre></dd>
+
+ <dt>Motion-JPEG video and uncompressed PCM audio in AVI container</dt>
+ <dd><pre><source src="video.avi" type="video/x-msvideo; codecs="></pre></dd>
+
+-->
+
+
+<!-- awaiting definition by Real:
+ <dt>Real Video 10 video and High-Efficiency AAC audio in Real Media container</dt>
+ <dd><pre><source src="video.rm" type="application/vnd.rn-realmedia; codecs="></pre></dd>
+-->
+
+
+<!-- undefined:
+ <dt>MPEG-1 video and MPEG-1 Audio Layer II audio in MPEG-1 program stream</dt>
+ <dd><pre><source src="video.mpg" type="video/mpeg; codecs="></pre></dd>
+-->
+
+ </dl>
+
+ <!-- XXX #refs https://trac.xiph.org/browser/experimental/ivo/drafts/draft-xiph-rfc3534bis.txt may be relevant -->
+
+ </div>
+
+ <p>The <dfn title="attr-source-media"><code>media</code></dfn>
+ attribute gives the intended media type of the <span>media
+ resource</span>, to help the user agent determine if this
+ <span>media resource</span> is useful to the user before downloading
+ it. Its value must be a valid <a href="#mq">media query</a>. <a
+ href="#refsMQ">[MQ]</a></p>
+
+ <p>Either the <code title="attr-source-type">type</code> attribute,
+ the <code title="attr-source-media">media</code> attribute or both,
+ must be specified, unless this is the last <code>source</code>
+ element child of the parent element.</p>
+
+ <p>If a <code>source</code> element is inserted into a <span>media
+ element</span> that is already in a document and whose <code
+ title="dom-media-networkState">networkState</code> is in the <code
+ title="dom-media-EMPTY">EMPTY</code> state, the user agent must
+ implicitly invoke the <code title="dom-media-load">load()</code>
+ method on the <span>media element</span> as soon as all other
+ scripts have finished executing. Any exceptions raised must be
+ ignored.</p>
+
+ <p>The DOM attributes <dfn
+ title="dom-source-src"><code>src</code></dfn>, <dfn
+ title="dom-source-type"><code>type</code></dfn>, and <dfn
+ title="dom-source-media"><code>media</code></dfn> must
+ <span>reflect</span> the respective content attributes of the same
+ name.</p>
+
+
+
<h4>Media elements</h4>
<p><dfn title="media element">Media elements</dfn> implement the
@@ -13200,6 +13366,7 @@
* general meta data, implemented as getters (don't expose the whole thing)
- getMetadata(key: string, language: string) => HTMLImageElement or string
- onmetadatachanged (no context info)
+ * external captions support
* video: changing the playback aspect ratio
* video: applying CSS filters
* infinite looping
@@ -14932,173 +15099,8 @@
- <h4>The <dfn><code>source</code></dfn> element</h4>
- <dl class="element">
- <dt>Categories</dt>
- <dd>None.</dd>
- <dt>Contexts in which this element may be used:</dt>
- <dd>As a child of a <span>media element</span>, before any <span>flow content</span>.</dd>
- <dt>Content model:</dt>
- <dd>Empty.</dd>
- <dt>Element-specific attributes:</dt>
- <dd><code title="attr-source-src">src</code></dd>
- <dd><code title="attr-source-type">type</code></dd>
- <dd><code title="attr-source-media">media</code></dd>
- <dt>DOM interface:</dt>
- <dd>
-<pre class="idl">interface <dfn>HTMLSourceElement</dfn> : <span>HTMLElement</span> {
- attribute DOMString <span title="dom-source-src">src</span>;
- attribute DOMString <span title="dom-source-type">type</span>;
- attribute DOMString <span title="dom-source-media">media</span>;
-};</pre>
- </dd>
- </dl>
- <p>The <code>source</code> element allows authors to specify
- multiple <span title="media resource">media resources</span> for
- <span title="media element">media elements</span>.</p>
-
- <p>The <dfn title="attr-source-src"><code>src</code></dfn> attribute
- gives the address of the <span>media resource</span>. The value must
- be a URI (or IRI). This attribute must be present.</p>
-
- <p>The <dfn title="attr-source-type"><code>type</code></dfn>
- attribute gives the type of the <span>media resource</span>, to help
- the user agent determine if it can play this <span>media
- resource</span> before downloading it. Its value must be a MIME
- type. The <code title="">codecs</code> parameter may be specified and
- might be necessary to specify exactly how the resource is
- encoded. <a href="#refsRFC2046">[RFC2046]</a> <a
- href="#refsRFC4281">[RFC4281]</a></p>
-
- <div class="example">
-
- <p>The following list shows some examples of how to use the <code
- title="">codecs=</code> MIME parameter in the <code
- title="attr-source-type">type</code> attribute.</p>
-
- <dl>
-
- <dt>H.264 Simple baseline profile video (main and extended video compatible) level 3 and Low-Complexity AAC audio in MP4 container</dt>
- <dd><pre><source src="video.mp4" type="video/mp4; codecs="avc1.42E01E, mp4a.40.2""></pre></dd>
-
- <dt>H.264 Extended profile video (baseline-compatible) level 3 and Low-Complexity AAC audio in MP4 container</dt>
- <dd><pre><source src="video.mp4" type="video/mp4; codecs="avc1.58A01E, mp4a.40.2""></pre></dd>
-
- <dt>H.264 Main profile video level 3 and Low-Complexity AAC audio in MP4 container</dt>
- <dd><pre><source src="video.mp4" type="video/mp4; codecs="avc1.4D401E, mp4a.40.2""></pre></dd>
-
- <dt>H.264 "High" profile video (incompatible with main, baseline, or extended profiles) level 3 and Low-Complexity AAC audio in MP4 container</dt>
- <dd><pre><source src="video.mp4" type="video/mp4; codecs="avc1.64001E, mp4a.40.2""></pre></dd>
-
-
- <dt>MPEG-4 Visual Simple Profile Level 0 video and Low-Complexity AAC audio in MP4 container</dt>
- <dd><pre><source src="video.mp4" type="video/mp4; codecs="mp4v.20.8, mp4a.40.2""></pre></dd>
-
- <dt>MPEG-4 Advanced Simple Profile Level 0 video and Low-Complexity AAC audio in MP4 container</dt>
- <dd><pre><source src="video.mp4" type="video/mp4; codecs="mp4v.20.240, mp4a.40.2""></pre></dd>
-
- <dt>MPEG-4 Visual Simple Profile Level 0 video and AMR audio in 3GPP container</dt>
- <dd><pre><source src="video.3gp" type="video/3gpp; codecs="mp4v.20.8, samr""></pre></dd>
-
-
- <dt>Theora video and Vorbis audio in Ogg container</dt>
- <dd><pre><source src="video.ogv" type="video/ogg; codecs="theora, vorbis""></pre></dd>
-
- <dt>Theora video and Speex audio in Ogg container</dt>
- <dd><pre><source src="video.ogv" type="video/ogg; codecs="theora, speex""></pre></dd>
-
- <dt>Vorbis audio alone in Ogg container</dt>
- <dd><pre><source src="audio.oga" type="audio/ogg; codecs=vorbis"></pre></dd>
- <!-- you also see .ogg but .oga is preferred -->
-
- <dt>Speex audio alone in Ogg container</dt>
- <dd><pre><source src="audio.oga" type="audio/ogg; codecs=speex"></pre></dd>
- <!-- you also see .spx but .oga is preferred -->
-
- <dt>Flac audio alone in Ogg container</dt>
- <dd><pre><source src="audio.oga" type="audio/ogg; codecs=flac"></pre></dd>
-
- <dt>Dirac video and Vorbis audio in Ogg container</dt>
- <dd><pre><source src="video.ogv" type="video/ogg; codecs="dirac, vorbis""></pre></dd>
-
- <dt>Theora video and Vorbis audio in Matroska container</dt>
- <dd><pre><source src="video.mkv" type="video/x-matroska; codecs="theora, vorbis""></pre></dd>
-
-<!-- awaiting definition by the Ogg or BBC guys:
- <dt>Dirac video and Vorbis audio in Matroska container</dt>
- <dd><pre><source src="video.mkv" type="video/x-matroska; codecs="></pre></dd>
--->
-
-
-<!-- awaiting definition by the Microsoft guys:
-
- <dt>WMV9 video and WMA 2 audio in ASF container</dt>
- <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
-
- <dt>WMV8 video and WMA 2 audio in ASF container</dt>
- <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
-
- <dt>VC-1 video and WMA 10 Pro audio in ASF container</dt>
- <dd><pre><source src="video.wmv" type="video/x-ms-wmv; codecs="></pre></dd>
-
- <dt>XviD video and MP3 audio in AVI container</dt>
- <dd><pre><source src="video.avi" type="video/x-msvideo; codecs="></pre></dd>
-
- <dt>Motion-JPEG video and uncompressed PCM audio in AVI container</dt>
- <dd><pre><source src="video.avi" type="video/x-msvideo; codecs="></pre></dd>
-
--->
-
-
-<!-- awaiting definition by Real:
- <dt>Real Video 10 video and High-Efficiency AAC audio in Real Media container</dt>
- <dd><pre><source src="video.rm" type="application/vnd.rn-realmedia; codecs="></pre></dd>
--->
-
-
-<!-- undefined:
- <dt>MPEG-1 video and MPEG-1 Audio Layer II audio in MPEG-1 program stream</dt>
- <dd><pre><source src="video.mpg" type="video/mpeg; codecs="></pre></dd>
--->
-
- </dl>
-
- <!-- XXX #refs https://trac.xiph.org/browser/experimental/ivo/drafts/draft-xiph-rfc3534bis.txt may be relevant -->
-
- </div>
-
- <p>The <dfn title="attr-source-media"><code>media</code></dfn>
- attribute gives the intended media type of the <span>media
- resource</span>, to help the user agent determine if this
- <span>media resource</span> is useful to the user before downloading
- it. Its value must be a valid <a href="#mq">media query</a>. <a
- href="#refsMQ">[MQ]</a></p>
-
- <p>Either the <code title="attr-source-type">type</code> attribute,
- the <code title="attr-source-media">media</code> attribute or both,
- must be specified, unless this is the last <code>source</code>
- element child of the parent element.</p>
-
- <p>If a <code>source</code> element is inserted into a <span>media
- element</span> that is already in a document and whose <code
- title="dom-media-networkState">networkState</code> is in the <code
- title="dom-media-EMPTY">EMPTY</code> state, the user agent must
- implicitly invoke the <code title="dom-media-load">load()</code>
- method on the <span>media element</span> as soon as all other
- scripts have finished executing. Any exceptions raised must be
- ignored.</p>
-
- <p>The DOM attributes <dfn
- title="dom-source-src"><code>src</code></dfn>, <dfn
- title="dom-source-type"><code>type</code></dfn>, and <dfn
- title="dom-source-media"><code>media</code></dfn> must
- <span>reflect</span> the respective content attributes of the same
- name.</p>
-
-
-
<h4>The <dfn id="canvas"><code>canvas</code></dfn> element</h4>
<dl class="element">
More information about the Commit-Watchers
mailing list