html5/spec Overview.html,1.1501,1.1502

Update of /sources/public/html5/spec
In directory hutz:/tmp/cvs-serv8510

Modified Files:
	Overview.html 
Log Message:
How to handle a moving window of backbuffer; how to handle audio playback in non-1.0 playback rates. (whatwg r2329)

Index: Overview.html
===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.1501
retrieving revision 1.1502
diff -u -d -r1.1501 -r1.1502
--- Overview.html	13 Oct 2008 21:09:03 -0000	1.1501
+++ Overview.html	13 Oct 2008 22:23:46 -0000	1.1502
@@ -14103,34 +14103,43 @@
   attribute must, on getting, return the <a href=#current-playback-position>current playback
   position</a>, expressed in seconds. On setting, the user agent
   must <a href=#dom-media-seek title=dom-media-seek>seek</a> to the new value
-  (which might raise an exception).<p>The <dfn id=attr-media-start title=attr-media-start><code>start</code></dfn>
+  (which might raise an exception).<p>If the <a href=#media-resource>media resource</a> is a streaming resource, then
+  the user agent might be unable to obtain certain parts of the
+  resource after it has expired from its buffer. The
+  <dfn id=earliest-possible-position><var>earliest possible position</var></dfn> is the earliest
+  position in the stream that the user agent can ever obtain
+  again.<p>The <dfn id=attr-media-start title=attr-media-start><code>start</code></dfn>
   content attribute gives the offset into the <a href=#media-resource>media
   resource</a> at which playback is to begin. The default value is
   the default start position of the <a href=#media-resource>media resource</a>, or 0
   if not enough <a href=#media-data>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-start><var>effective start</var></dfn> is the smaller of the
-  <code title=dom-media-start><a href=#dom-media-start>start</a></code> DOM attribute and the end
-  of the <a href=#media-resource>media resource</a>.<p>The <dfn id=attr-media-loopstart title=attr-media-loopstart><code>loopstart</code></dfn> content
+  <code title=dom-media-start><a href=#dom-media-start>start</a></code> DOM attribute, the
+  <var><a href=#earliest-possible-position>earliest possible position</a></var>, and the end of the <a href=#media-resource>media
+  resource</a>.<p>The <dfn id=attr-media-loopstart title=attr-media-loopstart><code>loopstart</code></dfn> content
   attribute gives the offset into the <a href=#media-resource>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=#attr-media-loopstart>loopstart</a></code> content
   attribute is the value of the <code title=dom-media-start><a href=#dom-media-start>start</a></code> DOM attribute.<p>The <dfn id=effective-loop-start><var>effective loop start</var></dfn> is the smaller of
-  the <code title=dom-media-loopStart><a href=#dom-media-loopstart>loopStart</a></code> DOM attribute
-  and the end of the <a href=#media-resource>media resource</a>.<p>The <dfn id=attr-media-loopend title=attr-media-loopend><code>loopend</code></dfn>
+  the <code title=dom-media-loopStart><a href=#dom-media-loopstart>loopStart</a></code> DOM
+  attribute, the <var><a href=#earliest-possible-position>earliest possible position</a></var>, and the end of
+  the <a href=#media-resource>media resource</a>.<p>The <dfn id=attr-media-loopend title=attr-media-loopend><code>loopend</code></dfn>
   content attribute gives an offset into the <a href=#media-resource>media
   resource</a> at which playback is to jump back to the <code title=attr-media-loopstart><a href=#attr-media-loopstart>loopstart</a></code>, when looping the
   clip. The default value of the <code title=attr-media-loopEnd><a href=#attr-media-loopend>loopend</a></code> content attribute is the
   value of the <code title=dom-media-end><a href=#dom-media-end>end</a></code> DOM
   attribute.<p>The <dfn id=effective-loop-end><var>effective loop end</var></dfn> is the greater of
-  the <code title=dom-media-start><a href=#dom-media-start>start</a></code>, <code title=dom-media-loopStart><a href=#dom-media-loopstart>loopStart</a></code>, and <code title=dom-media-loopEnd><a href=#dom-media-loopend>loopEnd</a></code> DOM attributes, except if
-  that is greater than the end of the <a href=#media-resource>media resource</a>, in
-  which case that's its value.<p>The <dfn id=attr-media-end title=attr-media-end><code>end</code></dfn> content
+  the <code title=dom-media-start><a href=#dom-media-start>start</a></code>, <code title=dom-media-loopStart><a href=#dom-media-loopstart>loopStart</a></code>, and <code title=dom-media-loopEnd><a href=#dom-media-loopend>loopEnd</a></code> DOM attributes and the
+  <var><a href=#earliest-possible-position>earliest possible position</a></var>, except if that is greater
+  than the end of the <a href=#media-resource>media resource</a>, in which case
+  that's its value.<p>The <dfn id=attr-media-end title=attr-media-end><code>end</code></dfn> content
   attribute gives an offset into the <a href=#media-resource>media resource</a> at
   which playback is to end. The default value is infinity.<p>The <dfn id=effective-end><var>effective end</var></dfn> is the greater of the
-  <code title=dom-media-start><a href=#dom-media-start>start</a></code>, <code title=dom-media-loopStart><a href=#dom-media-loopstart>loopStart</a></code>, and <code title=dom-media-loopEnd><a href=#dom-media-loopend>end</a></code> DOM attributes, except if that
-  is greater than the end of the <a href=#media-resource>media resource</a>, in which
-  case that's its value.<p>The <code title=attr-media-start><a href=#attr-media-start>start</a></code>, <code title=attr-media-loopstart><a href=#attr-media-loopstart>loopstart</a></code>, <code title=attr-media-loopend><a href=#attr-media-loopend>loopend</a></code>, and <code title=attr-media-end><a href=#attr-media-end>end</a></code> attributes must, if specified,
+  <code title=dom-media-start><a href=#dom-media-start>start</a></code>, <code title=dom-media-loopStart><a href=#dom-media-loopstart>loopStart</a></code>, and <code title=dom-media-loopEnd><a href=#dom-media-loopend>end</a></code> DOM attributes and the
+  <var><a href=#earliest-possible-position>earliest possible position</a></var>, except if that is greater
+  than the end of the <a href=#media-resource>media resource</a>, in which case
+  that's its value.<p>The <code title=attr-media-start><a href=#attr-media-start>start</a></code>, <code title=attr-media-loopstart><a href=#attr-media-loopstart>loopstart</a></code>, <code title=attr-media-loopend><a href=#attr-media-loopend>loopend</a></code>, and <code title=attr-media-end><a href=#attr-media-end>end</a></code> attributes must, if specified,
   contain <span title="value time offset">value time
   offsets</span>. To get the time values they represent, user agents
   must use the <a href=#rules-for-parsing-time-offsets>rules for parsing time offsets</a>.<p>The <dfn id=dom-media-start title=dom-media-start><code>start</code></dfn>, <dfn id=dom-media-loopstart title=dom-media-loopStart><code>loopStart</code></dfn>, <dfn id=dom-media-loopend title=dom-media-loopEnd><code>loopEnd</code></dfn>, and <dfn id=dom-media-end title=dom-media-end><code>end</code></dfn> DOM attributes must
@@ -14145,7 +14154,8 @@
   current loop. It is changed during playback as described below.<p>When any of the <code title=dom-media-start><a href=#dom-media-start>start</a></code>, <code title=dom-media-loopStart><a href=#dom-media-loopstart>loopStart</a></code>, <code title=dom-media-loopEnd><a href=#dom-media-loopend>loopEnd</a></code>, <code title=dom-media-end><a href=#dom-media-end>end</a></code>, <code title=dom-media-playCount><a href=#dom-media-playcount>playCount</a></code>, and <code title=dom-media-currentLoop><a href=#dom-media-currentloop>currentLoop</a></code> DOM attributes
   change value (either through content attribute mutations reflecting
   into the DOM attribute, if applicable, or through direct mutations
-  of the DOM attribute), the user agent must apply the following
+  of the DOM attribute), or if the <var><a href=#earliest-possible-position>earliest possible
+  position</a></var> changes, the user agent must apply the following
   steps:<ol><li><p>If the <code title=dom-media-playCount><a href=#dom-media-playcount>playCount</a></code>
    DOM attribute's value is less than or equal to the <code title=dom-media-currentLoop><a href=#dom-media-currentloop>currentLoop</a></code> DOM attribute's
    value, then the <code title=dom-media-currentLoop><a href=#dom-media-currentloop>currentLoop</a></code> DOM attribute's
@@ -14480,16 +14490,33 @@
   <a href=#potentially-playing>potentially playing</a> and its <code>Document</code> is an
   <a href=#active-document>active document</a>, its <a href=#current-playback-position>current playback
   position</a> must increase monotonically at <code title=dom-media-playbackRate><a href=#dom-media-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=#media-resource>media resource</a>.<p class=note>This specification doesn't define how the user agent
+  time per unit time of wall clock time.<p class=note>This specification doesn't define how the user agent
   achieves the appropriate playback rate &mdash; depending on the
   protocol and media available, it is plausible that the user agent
   could negotiate with the server to have the server provide the media
   data at the appropriate rate, so that (except for the period between
   when the rate is changed and when the server updates the stream's
   playback rate) the client doesn't actually have to drop or
-  interpolate any frames.</p><hr><p>When the <a href=#current-playback-position>current playback position</a> of a <a href=#media-element>media
+  interpolate any frames.<p>If the <code title=dom-media-playbackRate><a href=#dom-media-playbackrate>playbackRate</a></code>
+  is positive and is a rate at which audio can be played back, and if
+  the audio channels are not <code title=dom-media-muted><a href=#dom-media-muted>muted</a></code>, then the audio component of
+  the <a href=#media-resource>media resource</a> should be played synchronised with
+  the <a href=#current-playback-position>current playback position</a>. If this rate is not 1.0,
+  the user agent may apply pitch adjustments to the audio as necessary
+  to render it faithfully. When the <code title=dom-media-playbackRate><a href=#dom-media-playbackrate>playbackRate</a></code> is negative
+  (playback is backwards), the corresponding audio must not play. When
+  the <code title=dom-media-playbackRate><a href=#dom-media-playbackrate>playbackRate</a></code> is so
+  low or so high that the user agent cannot play audio usefully, the
+  corresponding audio must not play.<p><a href=#media-element title="media element">Media elements</a> that are
+  <a href=#potentially-playing>potentially 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 because all references to them have been removed;
+  only once a media element to which no references exist has reached a
+  point where no further audio remains to be played for that element
+  (e.g. because the element is paused or because the end of the clip
+  has been reached) may the element be <span>garbage
+  collected</span><!-- XXX xref -->.</p><hr><p>When the <a href=#current-playback-position>current playback position</a> of a <a href=#media-element>media
   element</a> changes (e.g. due to playback or seeking), the user
   agent must run the following steps. If the <a href=#current-playback-position>current playback
   position</a> changes while the steps are running, then the user
@@ -14560,16 +14587,7 @@
   <code>Document</code><!-- XXX xref removed --></span>, if the
   <a href=#media-element>media element</a>'s <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> attribute has a
   value other than <a href=#dom-media-empty title=dom-media-EMPTY>EMPTY</a> then the
-  user agent must act as if the <code title=dom-media-pause><a href=#dom-media-pause>pause()</a></code> method had been invoked.<p><a href=#media-element title="media element">Media elements</a> that are
-  <a href=#potentially-playing>potentially 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 because all references to them have been removed;
-  only once a media element to which no references exist has reached a
-  point where no further audio remains to be played for that element
-  (e.g. because the element is 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=#media-element>media element</a>'s
+  user agent must act as if the <code title=dom-media-pause><a href=#dom-media-pause>pause()</a></code> method had been invoked.<p class=note>If the <a href=#media-element>media element</a>'s
   <code>Document</code> stops being an active document, then the
   playback will <a href=#media-playback>stop</a> until the document
   is active again.<h5 id=seeking><span class=secno>4.8.10.9 </span>Seeking</h5><p>The <dfn id=dom-media-seeking title=dom-media-seeking><code>seeking</code></dfn>

Received on Monday, 13 October 2008 22:23:59 UTC