spec/Overview.html 1.2026 2855 Add the autobuffer='' attribute as a hin

Add the autobuffer='' attribute as a hint to browsers. (whatwg r2855)

poster
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#attr-video-poster
bufferingRate
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#dom-media-bufferingrate
Queue a task to fire a simple event called loadedmetadata at the element.
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#fire-loadedmetadata
HTMLMediaElement
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#htmlmediaelement
HTMLAudioElement
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#htmlaudioelement
bufferingThrottled
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#dom-media-bufferingthrottled
media element attributes
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#media-element-attributes
CueRangeCallback
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#cuerangecallback
autobuffer
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#dom-media-autobuffer
4.8.7 The video element
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#video
resource-load algorithm
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#concept-media-load-resource
If the media data can be fetched 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
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#non-fatal-media-error
4.8.8 The audio element
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#audio
HTMLVideoElement
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#htmlvideoelement
autobuffer
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2026.html#attr-media-autobuffer

http://people.w3.org/mike/diffs/html5/spec/Overview.diff.html
http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.2025&r2=1.2026&f=h
http://html5.org/tools/web-apps-tracker?from=2854&to=2855

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.2025
retrieving revision 1.2026
diff -u -d -r1.2025 -r1.2026
--- Overview.html 23 Feb 2009 10:54:30 -0000 1.2025
+++ Overview.html 23 Feb 2009 11:14:08 -0000 1.2026
@@ -14520,6 +14520,7 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-media-src><a href=#attr-media-src>src</a></code></dd>
    <dd><code title=attr-video-poster><a href=#attr-video-poster>poster</a></code></dd>
+   <dd><code title=attr-media-autobuffer><a href=#attr-media-autobuffer>autobuffer</a></code></dd>
    <dd><code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code></dd>
    <dd><code title=attr-media-loop><a href=#attr-media-loop>loop</a></code></dd>
    <dd><code title=attr-media-controls><a href=#attr-media-controls>controls</a></code></dd>
@@ -14547,7 +14548,7 @@
   alternative media streams and/or to embed accessibility aids (such
   as caption or subtitle tracks) into their media streams.<p>The <code><a href=#video>video</a></code> element is a <a href=#media-element>media element</a>
   whose <a href=#media-data>media data</a> is ostensibly video data, possibly
-  with associated audio data.<p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
+  with associated audio data.<p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-autobuffer><a href=#attr-media-autobuffer>autobuffer</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
   elements</a>.<p>The <dfn id=attr-video-poster title=attr-video-poster><code>poster</code></dfn>
   attribute gives the address of an image file that the user agent can
   show while no video data is available. The attribute, if present,
@@ -14679,6 +14680,7 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-media-src><a href=#attr-media-src>src</a></code></dd>
+   <dd><code title=attr-media-autobuffer><a href=#attr-media-autobuffer>autobuffer</a></code></dd>
    <dd><code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code></dd>
    <dd><code title=attr-media-loop><a href=#attr-media-loop>loop</a></code></dd>
    <dd><code title=attr-media-controls><a href=#attr-media-controls>controls</a></code></dd>
@@ -14702,7 +14704,7 @@
   or cognitive disabilities, authors are expected to provide
   alternative media streams and/or to embed accessibility aids (such
   as transcriptions) into their media streams.<p>The <code><a href=#audio>audio</a></code> element is a <a href=#media-element>media element</a>
-  whose <a href=#media-data>media data</a> is ostensibly audio data.<p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
+  whose <a href=#media-data>media data</a> is ostensibly audio data.<p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-autobuffer><a href=#attr-media-autobuffer>autobuffer</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
   elements</a>.<p>When an <code><a href=#audio>audio</a></code> element is <a href=#potentially-playing>potentially
   playing</a>, it must have its audio data played synchronized with
   the <a href=#current-playback-position>current playback position</a>, at the specified <a href=#dom-media-volume title=dom-media-volume>volume</a> with the specified <a href=#dom-media-muted title=dom-media-muted>mute state</a>.<p>When an <code><a href=#audio>audio</a></code> element is not <a href=#potentially-playing>potentially
@@ -14851,6 +14853,7 @@
   const unsigned short <a href=#dom-media-network_loaded title=dom-media-NETWORK_LOADED>NETWORK_LOADED</a> = 3;
   const unsigned short <a href=#dom-media-network_no_source title=dom-media-NETWORK_NO_SOURCE>NETWORK_NO_SOURCE</a> = 4;
   readonly attribute unsigned short <a href=#dom-media-networkstate title=dom-media-networkState>networkState</a>;
+           attribute boolean <a href=#dom-media-autobuffer title=dom-media-autobuffer>autobuffer</a>;
   readonly attribute float <a href=#dom-media-bufferingrate title=dom-media-bufferingRate>bufferingRate</a>;
   readonly attribute boolean <a href=#dom-media-bufferingthrottled title=dom-media-bufferingThrottled>bufferingThrottled</a>;
   readonly attribute <a href=#timeranges>TimeRanges</a> <a href=#dom-media-buffered title=dom-media-buffered>buffered</a>;
@@ -14893,7 +14896,7 @@
 [Callback=FunctionOnly, NoInterfaceObject]
 interface <dfn id=cuerangecallback>CueRangeCallback</dfn> {
   void <span title=dom-CueRangeCallback-handleEvent>handleEvent</span>(in DOMString id);
-};</pre><p>The <dfn id=media-element-attributes>media element attributes</dfn>, <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code>, apply to all <a href=#media-element title="media element">media elements</a>. They are defined in
+};</pre><p>The <dfn id=media-element-attributes>media element attributes</dfn>, <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-autobuffer><a href=#attr-media-autobuffer>autobuffer</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code>, apply to all <a href=#media-element title="media element">media elements</a>. They are defined in
   this section.</p><!-- proposed v2 (actually v3!) features:
     * frame forward / backwards / step(n) while paused
     * hasAudio, hasVideo, hasCaptions, etc
@@ -15397,6 +15400,15 @@
     element. If and when downloading of the resource resumes, the
     user agent must set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>.</p>
 
+    <p>The <code title=attr-media-autobuffer><a href=#attr-media-autobuffer>autobuffer</a></code>
+    attribute provides a hint that the author expects that downloading
+    the entire resource optimistically will be worth it, even in the
+    absence of the <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>
+    attribute. In the absence of either attribute, the user agent is
+    likely to find that waiting until the user starts playback before
+    downloading any further content leads to a more efficient use of
+    the network resources.</p>
+
     <p>The user agent may use whatever means necessary to fetch the
     resource (within the constraints put forward by this and other
     specifications); for example, reconnecting to the server in the
@@ -15484,6 +15496,13 @@
        flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load
        event">delaying the load event</a>.</li>
 
+       <li><p class=note>This is the point at which a user agent
+       that is attempting to reduce network usage while still fetching
+       the metadata for each <a href=#media-resource>media resource</a> would stop
+       buffering, causing the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> attribute to
+       switch to the <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code> value, if
+       the <a href=#media-element>media element</a> did not have an <code title=attr-media-autobuffer><a href=#attr-media-autobuffer>autobuffer</a></code> or <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code> attribute.</li>
+
       </ol><p class=note>The user agent is <em>required</em> to
       determine the duration of the <a href=#media-resource>media resource</a> and
       go through this step before playing.</p> <!-- actually defined
@@ -15642,7 +15661,18 @@
   </ol><p>If a <a href=#media-element>media element</a> whose <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> has the value
   <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> is <a href=#insert-an-element-into-a-document title="insert an element into a document">inserted into a
   document</a>, the user agent must asynchronously invoke the
-  <a href=#media-element>media element</a>'s <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load algorithm</a>.<p>The <dfn id=dom-media-bufferingrate title=dom-media-bufferingRate><code>bufferingRate</code></dfn>
+  <a href=#media-element>media element</a>'s <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load algorithm</a>.<p>The <dfn id=attr-media-autobuffer title=attr-media-autobuffer><code>autobuffer</code></dfn>
+  attribute is a <a href=#boolean-attribute>boolean attribute</a>. Its presence hints to
+  the user agent that the author believes that the <a href=#media-element>media
+  element</a> will likely be used, even though the element does not
+  have an <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>
+  attribute. (The attribute has no effect if used in conjunction with
+  the <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code> attribute,
+  though including both is not an error.) This attribute may be
+  ignored altogether. The attribute must be ignored if the <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code> attribute is
+  present.<p>The <dfn id=dom-media-autobuffer title=dom-media-autobuffer><code>autobuffer</code></dfn> DOM
+  attribute must <a href=#reflect>reflect</a> the content attribute of the
+  same name.<p>The <dfn id=dom-media-bufferingrate title=dom-media-bufferingRate><code>bufferingRate</code></dfn>
   attribute must return the average number of bits received per second
   for the current download over the past few seconds. If there is no
   download in progress, the attribute must return 0.<p>The <dfn id=dom-media-bufferingthrottled title=dom-media-bufferingThrottled><code>bufferingThrottled</code></dfn>

Received on Monday, 23 February 2009 11:17:50 UTC