spec/Overview.html 1.2019 2848 Avoid firing 'canplay' twice if media bu

Avoid firing 'canplay' twice if media buffers slowly. Also, what's this
about a 'prevous' ready state...? (whatwg r2848)

If this is the first time this occurs for this media element since the load() algorithm was last invoked, the user agent must queue a task to fire a simple event called loadeddata at the element.
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2019.html#fire-loadeddata
If the previous ready state was HAVE_METADATA and the new ready state is HAVE_CURRENT_DATA
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2019.html#handling-first-frame-available
HAVE_ENOUGH_DATA
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2019.html#dom-media-have_enough_data

http://people.w3.org/mike/diffs/html5/spec/Overview.diff.html
http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.2018&r2=1.2019&f=h
http://html5.org/tools/web-apps-tracker?from=2847&to=2848

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.2018
retrieving revision 1.2019
diff -u -d -r1.2018 -r1.2019
--- Overview.html 22 Feb 2009 09:24:38 -0000 1.2018
+++ Overview.html 22 Feb 2009 09:28:35 -0000 1.2019
@@ -15696,7 +15696,7 @@
    reaches the end of the <a href=#media-resource>media resource</a>.</dd>
 
   </dl><p>When the ready state of a <a href=#media-element>media element</a> whose <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> is not <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> changes, the
-  user agent must follow the steps given below:<dl class=switch><!-- going up to metadata --><dt>If the prevous ready state was <code title=dom-media-HAVE_NOTHING><a href=#dom-media-have_nothing>HAVE_NOTHING</a></code>, and the new
+  user agent must follow the steps given below:<dl class=switch><!-- going up to metadata --><dt>If the previous ready state was <code title=dom-media-HAVE_NOTHING><a href=#dom-media-have_nothing>HAVE_NOTHING</a></code>, and the new
    ready state is <code title=dom-media-HAVE_METADATA><a href=#dom-media-have_metadata>HAVE_METADATA</a></code></dt>
 
    <dd>
@@ -15707,7 +15707,7 @@
 
    <!-- going up to current for the first time -->
 
-   <dt id=handling-first-frame-available>If the prevous ready state
+   <dt id=handling-first-frame-available>If the previous ready state
    was <code title=dom-media-HAVE_METADATA><a href=#dom-media-have_metadata>HAVE_METADATA</a></code> and
    the new ready state is <code title=dom-media-HAVE_CURRENT_DATA><a href=#dom-media-have_current_data>HAVE_CURRENT_DATA</a></code></dt>
 
@@ -15721,7 +15721,7 @@
    </dd>
 
    <!-- going down -->
-   <dt>If the prevous ready state was <code title=dom-media-HAVE_FUTURE_DATA><a href=#dom-media-have_future_data>HAVE_FUTURE_DATA</a></code> or more,
+   <dt>If the previous ready state was <code title=dom-media-HAVE_FUTURE_DATA><a href=#dom-media-have_future_data>HAVE_FUTURE_DATA</a></code> or more,
    and the new ready state is <code title=dom-media-HAVE_CURRENT_DATA><a href=#dom-media-have_current_data>HAVE_CURRENT_DATA</a></code> or
    less</dt>
 
@@ -15734,7 +15734,7 @@
    </dd>
 
    <!-- going up to future -->
-   <dt>If the prevous ready state was <code title=dom-media-HAVE_CURRENT_DATA><a href=#dom-media-have_current_data>HAVE_CURRENT_DATA</a></code> or
+   <dt>If the previous ready state was <code title=dom-media-HAVE_CURRENT_DATA><a href=#dom-media-have_current_data>HAVE_CURRENT_DATA</a></code> or
    less, and the new ready state is <code title=dom-media-HAVE_FUTURE_DATA><a href=#dom-media-have_future_data>HAVE_FUTURE_DATA</a></code></dt>
 
    <dd>
@@ -15753,8 +15753,11 @@
 
    <dd>
 
-    <p>The user agent must <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a
-    simple event</a> called <code title=event-canplay><a href=#event-canplay>canplay</a></code>, and then <a href=#queue-a-task>queue a
+    <p>If the previous ready state was <code title=dom-media-HAVE_CURRENT_DATA><a href=#dom-media-have_current_data>HAVE_CURRENT_DATA</a></code> or
+    less, the user agent must <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire
+    a simple event</a> called <code title=event-canplay><a href=#event-canplay>canplay</a></code>.</p>
+
+    <p>In either case, the user agent must then <a href=#queue-a-task>queue a
     task</a> to <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-canplaythrough><a href=#event-canplaythrough>canplaythrough</a></code>.</p>
 
     <p>If the <a href=#autoplaying-flag>autoplaying flag</a> is true, and the <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> attribute is true, and the

Received on Sunday, 22 February 2009 09:31:59 UTC