CVS 2011/webrtc/editor

Update of /sources/public/2011/webrtc/editor
In directory roscoe:/tmp/cvs-serv5352

Modified Files:
	getusermedia.html getusermedia.js 
Log Message:
Added 20130824 archived version.

--- /sources/public/2011/webrtc/editor/getusermedia.html	2013/07/04 13:38:43	1.21
+++ /sources/public/2011/webrtc/editor/getusermedia.html	2013/08/24 14:10:53	1.22
@@ -733,8 +733,12 @@
         rendering media from the source. A muted track will however, regardless
         of the enabled state, render silence and blackness. A disabled track is
         logically equivalent to a muted track, from a consumer point of view.
-        A newly created <code><a>MediaStreamTrack</a></code> object is always
-        enabled unless stated otherwise.</p>
+        </p>
+
+        <p>For a newly created <code><a>MediaStreamTrack</a></code> object, the
+        following applies. The track is always enabled unless stated otherwise
+        (for examlpe when cloned) and the muted state reflects the state of the
+        source at the time the track is created.</p>
 
         <p>A <code><a>MediaStreamTrack</a></code> object is said to <em>end</em>
         when the source of the track is disconnected or exhausted.</p>
@@ -1075,8 +1079,9 @@
               <li>
                 <p>Let <var>trackClone</var> inherit this track's underlying
                 source, <code>
-                <a href="#dom-mediastreamtrack-kind">kind</a></code> and <code>
-                <a href="#dom-mediastreamtrack-label">label</a></code>
+                <a href="#dom-mediastreamtrack-kind">kind</a></code>, <code>
+                <a href="#dom-mediastreamtrack-label">label</a></code> and
+                <a href="#dom-mediastreamtrack-enabled">enabled</a></code>
                 attributes.</p>
               </li>
 
@@ -1863,17 +1868,17 @@
       support the following partial interface, which allows a
       MediaStream to be assigned directly to a media element.  </p>
       	
-      <dl class="idl" title="partial interface directAssignment">
+      <dl class="idl" title="partial interface HTMLMediaElement">
 
-	<dt>attribute MediaStream? sourceObj </dt>
+	<dt>attribute MediaStream? srcObject </dt>
 	
 	<dd><p>Holds the MediaStream that provides media for this
 	  element. This attribute overrides both the <code>src</code>
 	  attribute and any &lt;source&gt; elements. Specifically, if
-	  <code>sourceObj</code> is specified, the UA MUST use it as
+	  <code>srcObject</code> is specified, the UA MUST use it as
 	  the source of media, even if the <code>src</code> attribute
 	  is also set or &lt;source&gt; children are present.  If the
-	  value of <code>sourceObj</code> is replaced or set to null
+	  value of <code>srcObject</code> is replaced or set to null
 	  the UA MUST re-run the <a href=
 	  "http://www.w3.org/TR/html5/embedded-content-0.html#media-element-load-algorithm">
 	  media element load algorithm</a>
@@ -1898,7 +1903,7 @@
          href="http://www.w3.org/TR/html5/embedded-content-0.html#concept-media-load-resource">
         resource fetch phase</a> loads the resource. Both these phases
         are potentially simplified when using a MediaStream.  First of
-        all, in the case of direct assignment, <code>sourceObj</code>
+        all, in the case of direct assignment, <code>srcObject</code>
         takes priority over other means of specifying the resource.
         Futhermore, it provides the object itself rather than a URI.
         In this case, there is no need to run the resource selection
@@ -1914,7 +1919,7 @@
 	
       	<li>Whenever the user agent runs the <a href=
         "http://www.w3.org/TR/html5/embedded-content-0.html#media-element-load-algorithm">
-        media element load algorithm</a>, if <code>sourceObj</code> is
+        media element load algorithm</a>, if <code>srcObject</code> is
         specified, the UA must immediately go to the <a href=
         "http://www.w3.org/TR/html5/embedded-content-0.html#concept-media-load-resource">
         resource fetch phase</a> of the algorithm. (Note that in this
@@ -1934,7 +1939,8 @@
         "http://www.w3.org/TR/html5/embedded-content-0.html#concept-media-load-algorithm">
         resource selection algorithm</a>, setting the <a href=
         "http://www.w3.org/TR/html5/embedded-content-0.html#dom-media-readystate">
-        <code>media.readyState</code></a> to HAVE_ENOUGH_DATA.  </li>
+        <code>media.readyState</code></a> to HAVE_NOTHING if media is
+        not yet available and to HAVE_ENOUGH_DATA once it is.</li>
 	
         <li>For each Track in the MediaStream, including those that
 	are added after the UA enters the <a href=
@@ -2031,7 +2037,7 @@
             <td>a local URI referencing a MediaStream or the empty string</td>
 
             <td>The UA automatically sets the value of this attribute.
-            	When <code>sourceObj</code> is specified the UA MUST
+              When <code>srcObject</code> is specified the UA MUST
             	set it to the empty string. </td>
 		
           </tr>
@@ -2063,9 +2069,7 @@
               class="externalDFN"><code>TimeRanges</code></a>
             </td>
 
-            <td><code>buffered.length</code> MUST return <code>1</code>.<br>
-            <code>buffered.start(0)</code> MUST return <code>0</code>.<br>
-            <code>buffered.end(0)</code> MUST return <code>0</code>.<br></td>
+            <td><code>buffered.length</code> MUST return <code>0</code>.</td>
 
             <td>A MediaStream cannot be preloaded. Therefore, the amount
             buffered is always an empty TimeRange.</td>
@@ -2092,13 +2096,14 @@
 
             <td><code>unsigned short</code></td>
 
-            <td>HAVE_ENOUGH_DATA</td>
+            <td>HAVE_NOTHING, HAVE_ENOUGH_DATA</td>
 
-            <td>The media is provided locally in real time, so there
-            	is always enough data to play.  (A MediaStream with no
-            	Tracks is equivalent to a downloaded file that
-            	contains no playable data.)</td>
-		
+            <td>A <code><a>MediaStream</a></code> may be created before there
+            is any data available, for example when a stream is received from a
+            remote peer. The value of the <code>readyState</code> of
+            the media element MUST
+            be HAVE_NOTHING before the first media arrives
+            and HAVE_ENOUGH_DATA once the first media has arrived.</td>
           </tr>
           <tr>
             <td>
@@ -2113,9 +2118,9 @@
             increments linearly in real time whenever the stream is
             playing.</td>
 
-            <td>The value is the current stream position, in seconds. The UA
-            MUST ignore attempts to set
-            this attribute.</td>
+            <td>The value is the current stream position, in seconds. On any
+            attempt to set this attribute, the user agent must throw an
+            <code>InvalidStateError</code> exception.</td>
           </tr>
 
           <tr>
@@ -2525,6 +2530,15 @@
             </li>
 
             <li>
+              <p>If <var>requestedMediaTypes</var> is the empty set, let
+              <var>error</var> be a new
+              <code><a>NavigatorUserMediaError</a></code> object whose
+              <code><a>name</a></code> attribute has the value
+              <code>NotSupportedError</code> and jump to the step labeled
+              <em>Error Task</em> below.</p>
+            </li>
+
+            <li>
               <p>Let <var>finalSet</var> be an (initially) empty set.</p>
             </li>
 
@@ -2574,15 +2588,9 @@
 
                   <ol>
                     <li>
-                    
                       <p>If the constraint is not supported by the browser,
-                      queue a task to invoke <var>errorCallback</var> with a new
-                      NavigatorUserMediaError object whose name attribute has
-                      the value <code> CONSTRAINT_NOT_SATISFIED </code> and
-                      whose constraintName atribute is set to the name of the
-                      constraint that caused the error and then jump to the step
-                      labeled <em>failure</em> below. </p>
-                    
+                      jump to the step labeled <em>Constraint Failure</em>
+                      below.</p>
                     </li>
 
                     <li>
@@ -2591,17 +2599,10 @@
                     </li>
 
                     <li>
-                    
                       <p>If the <var>candidateSet</var> no longer contains at
-                      least one track, queue a task to invoke
-                      <var>errorCallback</var> with a new
-                      NavigatorUserMediaError object whose name attribute has
-                      the value <code> CONSTRAINT_NOT_SATISFIED </code> and
-                      whose constraintName atribute is set to the name of the
-                      constraint that caused the error and then jump to the step
-                      labeled <em>failure</em> below.  Otherwise, continue with
-                      the next mandatory constraint.</p>
-                    
+                      least one track, jump to the step labeled
+                      <em>Constraint Failure</em> below. Otherwise, continue
+                      with the next mandatory constraint.</p>
                     </li>
                   </ol>
                 </li>
@@ -2644,9 +2645,7 @@
                 </li>
               </ol>
             </li>
-          </ol>
 
-          <ul>
             <li>
               <p>Return, and run the remaining steps asynchronously.</p>
             </li>
@@ -2654,7 +2653,7 @@
             <li>
               <p>Optionally, e.g., based on a previously-established user
               preference, for security reasons, or due to platform limitations,
-              jump to the step labeled <em>failure</em> below.</p>
+              jump to the step labeled <em>Permission Failure</em> below.</p>
             </li>
 
             <li>
@@ -2691,7 +2690,7 @@
               indicator).</p>
 
               <p>If the user denies permission, jump to the step labeled
-              <em>failure</em> below. If the user never responds, this
+              <em>Constraint Failure</em> below. If the user never responds, this
               algorithm stalls on this step.</p>
             </li>
 
@@ -2711,21 +2710,27 @@
             </li>
 
             <li>
-              <p><em>Failure</em>:</p>
+              <p><em>Permission Failure</em>: Let <var>error</var> be a new
+              <code><a>NavigatorUserMediaError</a></code> object whose
+              <code><a>name</a></code> attribute has the value
+              <code>PermissionDeniedError</code> and jump to the step
+              labeled <em>Error Task</em> below.</p>
             </li>
 
             <li>
-            
-              <p>Let <var>error</var> be a new
+              <p><em>Constraint Failure</em>: Let <var>error</var> be a new
               <code><a>NavigatorUserMediaError</a></code> object whose
               <code><a>name</a></code> attribute has the value
-              <code><a>PERMISSION_DENIED</a></code>. </p>
-            
+              <code>ConstraintNotSatisfiedError</code> and whose
+              <code><a href="#widl-NavigatorUserMediaError-constraintName"
+              >constraintName</a></code> attribute is set to the name of the
+              constraint that caused the error.</p>
             </li>
 
             <li>
-              <p>Queue a task to invoke <var>errorCallback</var> with
-              <var>error</var> as its argument.</p>
+              <p><em>Error Task:</em> Queue a task to invoke
+              <var>errorCallback</var> with <var>error</var> as its argument.
+              </p>
             </li>
 
             <li style="list-style: none; display: inline">
@@ -2829,43 +2834,30 @@
       <h2>NavigatorUserMediaError and NavigatorUserMediaErrorCallback</h2>
 
       <dl class="idl" title=
-      "[NoInterfaceObject] interface NavigatorUserMediaError">
- 
-         <dt>readonly attribute DOMString name</dt>
-
-          <dd>A string representing the type of error. This string must be one
-          of those defined by the 
-          <code>NavigatorUserMediaErrorName</code> enum for the error object to be
-          valid.</dd>
-
-          <dt>readonly attribute DOMString? message</dt>
-
-          <dd>A human readable description of the error. This string may vary
-          between different user agents.</dd>
+      "[NoInterfaceObject] interface NavigatorUserMediaError : DOMError">
 
           <dt>readonly attribute DOMString? constraintName</dt>
 
-          <dd>The name of the constraint that caused the error. Only used for
-          some types of errors. For NavigatorUserMediaError with a name of
-          CONSTRAINT_NOT_SATISFIED , the constraintName attribute in the
-          NavigatorUserMediaError object MUST be set to the name of the
-          constraint that caused the error. </dd>
+          <dd>
+            <p>This attribute is only used for some types of errors. For <code>
+            <a>NavigatorUserMediaError</a></code> with a name of
+            <code>ConstraintNotSatisfiedError</code>, this attribute MUST be set
+            to the name of the constraint that caused the error.</p>
+        </dd>
           
       </dl>
 
-      <dl class='idl' title='enum NavigatorUserMediaErrorName'>
-        <dt> PERMISSION_DENIED </dt>
-          
-        <dd> User denied permission for scripts from this origin to access the
-          media device. </dd>
-          
-        <dt> CONSTRAINT_NOT_SATISFIED </dt>
-
-        <dd> One of the mandatory constraints could not be satisfied. </dd>
-      </dl>
+      <div class="note">
+        <p>Ask the DOM team to extend their list with the following errors.</p>
 
-    
+        <ul>
+          <li>PermissionDeniedError: User denied permission for scripts from
+          this origin to access the media device.</li>
 
+          <li>ConstraintNotSatisfiedError: One of the mandatory constraints
+          could not be satisfied.</li>
+        </ul>
+      </div>
             
       <dl class="idl" title="callback NavigatorUserMediaErrorCallback = void">
         <dt>NavigatorUserMediaError error</dt>
@@ -3290,7 +3282,31 @@
     -->
 
 
-    <h2>Changes since May 29, 2013</h2>
+    <h2>Changes since July 4, 2013</h2>
+
+    <ol>
+      <li>Bug 21967: Added paragraph on MediaStreamTrack enabled state and
+      updated cloning algorithm.</li>
+
+      <li>Bug 22210: Make getUserMedia() algorithm use all numbered items.</li>
+
+      <li>Bug 22250: Fixed accidentally overridden error.</li>
+
+      <li>Bug 22211: Added async error when no valid media type is requested.
+
+      <li>Bug 22216: Made NavigatorUserMediaError extend DOMError.</li>
+
+      <li>Bug 22249: Throw on attempts to set currentTime on media elements
+      playing MediaStream objects.</li>
+
+      <li>Bug 22246: Made media.buffered have length 0.</li>
+
+      <li>Bug 22692: Updated media element to use HAVE_NOTHING state
+      before media arrives on the played MediaStream and
+      HAVE_ENOUGH_DATA as soon as media arrives.</li>
+    </ol>
+
+    <h2>May 29, 2013</h2>
 
     <ol>
       <li>Bug 22252: fixed usage of MUST in MediaStream() constructor
@@ -3300,6 +3316,7 @@
 
       <li>Bug 21967: clarified MediaStreamTrack.enabled state initial value.
       </li>
+
       <li>Added aspectRatio constraint, capability, and state.</li>
       <li>Updated usage of MediaStreams in media elements.</li>
     </ol>
--- /sources/public/2011/webrtc/editor/getusermedia.js	2013/07/04 13:38:43	1.14
+++ /sources/public/2011/webrtc/editor/getusermedia.js	2013/08/24 14:10:53	1.15
@@ -19,7 +19,7 @@
    // copyrightStart: "2005",
 
    // if there is a previously published draft, uncomment this and set its YYYY-MM-DD
-   prevED: "http://dev.w3.org/2011/webrtc/editor/archives/20130529/getusermedia.html",
+   prevED: "http://dev.w3.org/2011/webrtc/editor/archives/20130704/getusermedia.html",
 
    // if there a publicly available Editor's Draft, this is the link
    edDraftURI:           "http://dev.w3.org/2011/webrtc/editor/getusermedia.html",

Received on Saturday, 24 August 2013 14:10:54 UTC