CVS 2011/webrtc/editor

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

Modified Files:
	getusermedia.html 
Log Message:
Added 20140507 archived version.

--- /sources/public/2011/webrtc/editor/getusermedia.html	2014/03/21 13:01:10	1.30
+++ /sources/public/2011/webrtc/editor/getusermedia.html	2014/05/08 02:05:53	1.31
@@ -467,11 +467,11 @@
   </p>
   <h1 class="title p-name" id="title" property="dcterms:title">Media Capture and Streams</h1>
   
-  <h2 id="w3c-editor-s-draft-21-march-2014" property="dcterms:issued" datatype="xsd:dateTime" content="2014-03-21T12:30:59.000Z"><acronym title="World Wide Web Consortium">W3C</acronym> Editor's Draft <time class="dt-published" datetime="2014-03-21">21 March 2014</time></h2>
+  <h2 id="w3c-editor-s-draft-07-may-2014" property="dcterms:issued" datatype="xsd:dateTime" content="2014-05-08T01:01:25.000Z"><acronym title="World Wide Web Consortium">W3C</acronym> Editor's Draft <time class="dt-published" datetime="2014-05-07">07 May 2014</time></h2>
   <dl>
     
       <dt>This version:</dt>
-      <dd><a class="u-url" href="http://dev.w3.org/2011/webrtc/editor/archives/20140321/getusermedia.html">http://dev.w3.org/2011/webrtc/editor/getusermedia.html</a></dd>
+      <dd><a class="u-url" href="http://dev.w3.org/2011/webrtc/editor/archives/20140507/getusermedia.html">http://dev.w3.org/2011/webrtc/editor/archives/20140507/getusermedia.html</a></dd>
       <dt>Latest published version:</dt>
       <dd><a href="http://www.w3.org/TR/mediacapture-streams/">http://www.w3.org/TR/mediacapture-streams/</a></dd>
     
@@ -485,7 +485,7 @@
     
       
         <dt>Previous editor's draft:</dt>
-        <dd><a href="http://dev.w3.org/2011/webrtc/editor/archives/20140218/getusermedia.html">http://dev.w3.org/2011/webrtc/editor/archives/20140218/getusermedia.html</a></dd>
+        <dd><a href="http://dev.w3.org/2011/webrtc/editor/archives/20140321/getusermedia.html">http://dev.w3.org/2011/webrtc/editor/archives/20140321/getusermedia.html</a></dd>
       
     
     
@@ -513,10 +513,10 @@
   
   <hr>
 </div>
-  <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" datatype="" property="dcterms:abstract" class="introductory" id="abstract"><h2 id="h2_abstract" role="heading" aria-level="1">Abstract</h2>
+  <section rel="bibo:Chapter" resource="#abstract" typeof="bibo:Chapter" datatype="" property="dcterms:abstract" class="introductory" id="abstract"><h2 id="h2_abstract" role="heading" aria-level="1">Abstract</h2>
     <p>This document defines a set of JavaScript APIs that allow local media,
     including audio and video, to be requested from a platform.</p>
-  </section><section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sotd" class="introductory"><h2 id="h2_sotd" role="heading" aria-level="1">Status of This Document</h2>
+  </section><section rel="bibo:Chapter" resource="#sotd" typeof="bibo:Chapter" id="sotd" class="introductory"><h2 id="h2_sotd" role="heading" aria-level="1">Status of This Document</h2>
   
     
       
@@ -583,16 +583,15 @@
       
     
   
-</section><section id="toc"><h2 id="h2_toc" role="heading" aria-level="1" class="introductory">Table of Contents</h2><ul id="respecContents" role="directory" class="toc"><li class="tocline"><a class="tocxref" href="#intro"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a class="tocxref" href="#conformance"><span class="secno">2. </span>Conformance</a></li><li class="tocline"><a class="tocxref" href="#terminology"><span class="secno">3. </span>Terminology</a></li><li class="tocline"><a class="tocxref" href="#stream-api"><span class="secno">4. </span>MediaStream API</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#introduction"><span class="secno">4.1 </span>Introduction</a></li><li class="tocline"><a class="tocxref" href="#mediastream"><span class="secno">4.2 </span>MediaStream</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#constructors"><span class="secno">4.2.1 </span>Constructors</a></li><li class="tocline"><a class="tocxref" href="#attributes"><pan class="secno">4.2.2 </span>Attributes</a></li><li class="tocline"><a class="tocxref" href="#methods"><span class="secno">4.2.3 </span>Methods</a></li></ul></li><li class="tocline"><a class="tocxref" href="#mediastreamtrack"><span class="secno">4.3 </span>MediaStreamTrack</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#life-cycle-and-media-flow"><span class="secno">4.3.1 </span>Life-cycle and Media Flow</a></li><li class="tocline"><a class="tocxref" href="#tracks-and-constraints"><span class="secno">4.3.2 </span>Tracks and Constraints</a></li><li class="tocline"><a class="tocxref" href="#interface-definition"><span class="secno">4.3.3 </span>Interface Definition</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#attributes-1"><span class="secno">4.3.3.1 </span>Attributes</a></li><li class="tocline"><a class="tocxref" href="#methods-1"><span class="secno">4.3.3.2 </span>Methods</a></li></ul></li><li class="tocline"><a class="tocxref" href="#track-source-types"><span class="scno">4.3.4 </span>Track Source Types</a></li><li class="tocline"><a class="tocxref" href="#isolated-media-streams"><span class="secno">4.3.5 </span>Isolated Media Streams</a></li></ul></li><li class="tocline"><a class="tocxref" href="#mediastreamtrackevent"><span class="secno">4.4 </span>MediaStreamTrackEvent</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#constructors-1"><span class="secno">4.4.1 </span>Constructors</a></li><li class="tocline"><a class="tocxref" href="#attributes-2"><span class="secno">4.4.2 </span>Attributes</a></li><li class="tocline"><a class="tocxref" href="#dictionary-mediastreamtrackeventinit-members"><span class="secno">4.4.3 </span>Dictionary <span class="formerLink"><code>MediaStreamTrackEventInit</code></span> Members</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#the-model-sources-sinks-constraints-and-states"><span class="secno">5. </span>The model: sources, sinks, constraints, and states</a></li><li class="tocline"><a class="tocxref"href="#mediastreams-as-media-elements"><span class="secno">6. </span>MediaStreams as Media Elements</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#direct-assignment-to-media-elements"><span class="secno">6.1 </span>Direct Assignment to Media Elements</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#attributes-3"><span class="secno">6.1.1 </span>Attributes</a></li></ul></li><li class="tocline"><a class="tocxref" href="#loading-and-playing-a-mediastream-in-a-media-element"><span class="secno">6.2 </span>Loading and Playing a MediaStream in a Media Element</a></li><li class="tocline"><a class="tocxref" href="#media-element-attributes-when-playing-a-mediastream"><span class="secno">6.3 </span>Media Element Attributes when Playing a MediaStream</a></li></ul></li><li class="tocline"><a class="tocxref" href="#error-handling"><span class="secno">7. </span>Error Handling</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#attributes-4"><span class="secno">7.1 </span>Attibutes</a></li><li class="tocline"><a class="tocxref" href="#constructors-2"><span class="secno">7.2 </span>Constructors</a></li><li class="tocline"><a class="tocxref" href="#attributes-5"><span class="secno">7.3 </span>Attributes</a></li><li class="tocline"><a class="tocxref" href="#dictionary-mediaerroreventinit-members"><span class="secno">7.4 </span>Dictionary <span class="formerLink"><code>MediaErrorEventInit</code></span> Members</a></li></ul></li><li class="tocline"><a class="tocxref" href="#event-summary"><span class="secno">8. </span>Event summary</a></li><li class="tocline"><a class="tocxref" href="#enumerating-devices"><span class="secno">9. </span>Enumerating Local Media Devices</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#navigatorusermedia"><span class="secno">9.1 </span>NavigatorUserMedia</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#methods-2"><span class="secno">9.1.1 </span>Methods</a></li></ul></li><li class="tocline"><a class="tocxref" href="#deviceinfo"><span class="secno">9.2 </span>Device Info</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#callback-mediadeviceinfocallback-parameters"><span class="secno">9.2.1 </span>Callback <span class="formerLink"><code>MediaDeviceInfoCallback</code></span> Parameters</a></li><li class="tocline"><a class="tocxref" href="#dictionary-mediadeviceinfo-members"><span class="secno">9.2.2 </span>Dictionary <span class="formerLink"><code>MediaDeviceInfo</code></span> Members</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#local-content"><span class="secno">10. </span>Obtaining local multimedia content</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#navigatorusermedia-1"><span class="secno">10.1 </span>NavigatorUserMedia</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#methods-3"><span class="secno">10.1.1 </span>Methods</a></li></ul></li><li class="tocline"><a class="tocxref" href="#mediastreamconstraints"><span class="secno">10.2 </span>MediaSteamConstraints</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#dictionary-mediastreamconstraints-members"><span class="secno">10.2.1 </span>Dictionary <span class="formerLink"><code>MediaStreamConstraints</code></span> Members</a></li></ul></li><li class="tocline"><a class="tocxref" href="#navigatorusermediasuccesscallback"><span class="secno">10.3 </span>NavigatorUserMediaSuccessCallback</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#callback-navigatorusermediasuccesscallback-parameters"><span class="secno">10.3.1 </span>Callback <span class="formerLink"><code>NavigatorUserMediaSuccessCallback</code></span> Parameters</a></li></ul></li><li class="tocline"><a class="tocxref" href="#navigatorusermediaerrorcallback"><span class="secno">10.4 </span>NavigatorUserMediaErrorCallback</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#callback-navigatorusermediaerrorcallback-parameters"><span class="secno">10.4.1 </span>Callback <span class="formerLink"><code>NavigatrUserMediaErrorCallback</code></span> Parameters</a></li></ul></li><li class="tocline"><a class="tocxref" href="#implementation-suggestions"><span class="secno">10.5 </span>Implementation Suggestions</a></li></ul></li><li class="tocline"><a class="tocxref" href="#constrainable-interface"><span class="secno">11. </span>Constrainable Interface</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#interface-definition-1"><span class="secno">11.1 </span>Interface Definition</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#attributes-6"><span class="secno">11.1.1 </span>Attributes</a></li><li class="tocline"><a class="tocxref" href="#methods-4"><span class="secno">11.1.2 </span>Methods</a></li><li class="tocline"><a class="tocxref" href="#applyconstraints-failure-callback"><span class="secno">11.1.3 </span>applyConstraints Failure Callback</a><ul class="toc"></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#registry"><span class="secno">11.2 </span>The Property Registry/a><ul class="toc"><li class="tocline"><a class="tocxref" href="#PropertyValueSet"><span class="secno">11.2.1 </span><span>PropertyValueSet</span>
-        </a></li><li class="tocline"><a class="tocxref" href="#PropertyValueDoubleRange"><span class="secno">11.2.2 </span>PropertyValueDoubleRange</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#dictionary-propertyvaluedoublerange-members"><span class="secno">11.2.2.1 </span>Dictionary <span class="formerLink"><code>PropertyValueDoubleRange</code></span> Members</a></li></ul></li><li class="tocline"><a class="tocxref" href="#PropertyValueLongRange"><span class="secno">11.2.3 </span>PropertyValueLongRange</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#dictionary-propertyvaluelongrange-members"><span class="secno">11.2.3.1 </span>Dictionary <span class="formerLink"><code>PropertyValueLongRange</code></span> Members</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#capabilities"><span class="secno">11.3 </span>Capabilities</a></li><li class="tocline"><a class="tocxref" href="#settings"><span class="secno">11.4 </span><span>Settings</span>
-      </a></li><li class="tocline"><a class="tocxref" href="#constraints"><span class="secno">11.5 </span><span>Constraints</span>
-      </a><ul class="toc"><li class="tocline"><a class="tocxref" href="#dictionary-constraints-members"><span class="secno">11.5.1 </span>Dictionary <span class="formerLink"><code>Constraints</code></span> Members</a></li><li class="tocline"><a class="tocxref" href="#constraintset"><span class="secno">11.5.2 </span>ConstraintSet</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#examples"><span class="secno">12. </span>Examples</a></li><li class="tocline"><a class="tocxref" href="#error-names"><span class="secno">13. </span>Error Names</a></li><li class="tocline"><a class="tocxref" href="#iana-registrations"><span class="secno">14. </span>IANA Registrations</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#track-property-registrations"><span class="secno">14.1 </span>Track Property Registrations</a></li></ul></li><li class="tocline"><a class="tocxref" href="#change-log"><span class="secno">15. </span>Change Log</a></li><li class="tocline"><a class="tocxref" href="#acknwledgements"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a class="tocxref" href="#references"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#normative-references"><span class="secno">B.1 </span>Normative references</a></li><li class="tocline"><a class="tocxref" href="#informative-references"><span class="secno">B.2 </span>Informative references</a></li></ul></li></ul></section>
+</section><section id="toc"><h2 id="h2_toc" role="heading" aria-level="1" class="introductory">Table of Contents</h2><ul id="respecContents" role="directory" class="toc"><li class="tocline"><a class="tocxref" href="#intro"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a class="tocxref" href="#conformance"><span class="secno">2. </span>Conformance</a></li><li class="tocline"><a class="tocxref" href="#terminology"><span class="secno">3. </span>Terminology</a></li><li class="tocline"><a class="tocxref" href="#stream-api"><span class="secno">4. </span>MediaStream API</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#introduction"><span class="secno">4.1 </span>Introduction</a></li><li class="tocline"><a class="tocxref" href="#mediastream"><span class="secno">4.2 </span>MediaStream</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#constructors"><span class="secno">4.2.1 </span>Constructors</a></li><li class="tocline"><a class="tocxref" href="#attributes"><pan class="secno">4.2.2 </span>Attributes</a></li><li class="tocline"><a class="tocxref" href="#methods"><span class="secno">4.2.3 </span>Methods</a></li></ul></li><li class="tocline"><a class="tocxref" href="#mediastreamtrack"><span class="secno">4.3 </span>MediaStreamTrack</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#life-cycle-and-media-flow"><span class="secno">4.3.1 </span>Life-cycle and Media Flow</a></li><li class="tocline"><a class="tocxref" href="#tracks-and-constraints"><span class="secno">4.3.2 </span>Tracks and Constraints</a></li><li class="tocline"><a class="tocxref" href="#media-stream-track-interface-definition"><span class="secno">4.3.3 </span>Interface Definition</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#attributes-1"><span class="secno">4.3.3.1 </span>Attributes</a></li><li class="tocline"><a class="tocxref" href="#methods-1"><span class="secno">4.3.3.2 </span>Methods</a></li></ul></li><li class="tocline"><a class="tocxref" href="#track-source-tyes"><span class="secno">4.3.4 </span>Track Source Types</a></li><li class="tocline"><a class="tocxref" href="#media-track-constraints"><span class="secno">4.3.5 </span>MediaTrackConstraints</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#dictionary-mediatrackconstraints-members"><span class="secno">4.3.5.1 </span>Dictionary <span class="formerLink"><code>MediaTrackConstraints</code></span> Members</a></li><li class="tocline"><a class="tocxref" href="#dictionary-mediatrackconstraintset-members"><span class="secno">4.3.5.2 </span>Dictionary <span class="formerLink"><code>MediaTrackConstraintSet</code></span> Members</a></li></ul></li><li class="tocline"><a class="tocxref" href="#isolated-media-streams"><span class="secno">4.3.6 </span>Isolated Media Streams</a></li></ul></li><li class="tocline"><a class="tocxref" href="#mediastreamtrackevent"><span class="secno">4.4 </span>MediaStreamTrackEvent</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#constructors-1"><span class="secno>4.4.1 </span>Constructors</a></li><li class="tocline"><a class="tocxref" href="#attributes-2"><span class="secno">4.4.2 </span>Attributes</a></li><li class="tocline"><a class="tocxref" href="#dictionary-mediastreamtrackeventinit-members"><span class="secno">4.4.3 </span>Dictionary <span class="formerLink"><code>MediaStreamTrackEventInit</code></span> Members</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#the-model-sources-sinks-constraints-and-settings"><span class="secno">5. </span>The model: sources, sinks, constraints, and settings</a></li><li class="tocline"><a class="tocxref" href="#mediastreams-as-media-elements"><span class="secno">6. </span>MediaStreams as Media Elements</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#direct-assignment-to-media-elements"><span class="secno">6.1 </span>Direct Assignment to Media Elements</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#attributes-3"><span class="secno">6.1.1 </span>Attributes</a></li></ul><li><li class="tocline"><a class="tocxref" href="#loading-and-playing-a-mediastream-in-a-media-element"><span class="secno">6.2 </span>Loading and Playing a MediaStream in a Media Element</a></li><li class="tocline"><a class="tocxref" href="#media-element-attributes-when-playing-a-mediastream"><span class="secno">6.3 </span>Media Element Attributes when Playing a MediaStream</a></li></ul></li><li class="tocline"><a class="tocxref" href="#error-handling"><span class="secno">7. </span>Error Handling</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#attributes-4"><span class="secno">7.1 </span>Attributes</a></li><li class="tocline"><a class="tocxref" href="#constructors-2"><span class="secno">7.2 </span>Constructors</a></li><li class="tocline"><a class="tocxref" href="#attributes-5"><span class="secno">7.3 </span>Attributes</a></li><li class="tocline"><a class="tocxref" href="#dictionary-mediastreamerroreventinit-members"><span class="secno">7.4 </span>Dictionary <span class="formerLink"><code>MeiaStreamErrorEventInit</code></span> Members</a></li></ul></li><li class="tocline"><a class="tocxref" href="#event-summary"><span class="secno">8. </span>Event summary</a></li><li class="tocline"><a class="tocxref" href="#enumerating-devices"><span class="secno">9. </span>Enumerating Local Media Devices</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#navigatorusermedia"><span class="secno">9.1 </span>NavigatorUserMedia</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#methods-2"><span class="secno">9.1.1 </span>Methods</a></li></ul></li><li class="tocline"><a class="tocxref" href="#device-info"><span class="secno">9.2 </span>Device Info</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#callback-mediadeviceinfocallback-parameters"><span class="secno">9.2.1 </span>Callback <span class="formerLink"><code>MediaDeviceInfoCallback</code></span> Parameters</a></li><li class="tocline"><a class="tocxref" href="#dictionary-mediadeviceinfo-members"><span class="secno">9.22 </span>Dictionary <span class="formerLink"><code>MediaDeviceInfo</code></span> Members</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#local-content"><span class="secno">10. </span>Obtaining local multimedia content</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#navigatorusermedia-interface-extensions"><span class="secno">10.1 </span>NavigatorUserMedia Interface Extensions</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#methods-3"><span class="secno">10.1.1 </span>Methods</a></li></ul></li><li class="tocline"><a class="tocxref" href="#mediastreamconstraints"><span class="secno">10.2 </span>MediaStreamConstraints</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#dictionary-mediastreamconstraints-members"><span class="secno">10.2.1 </span>Dictionary <span class="formerLink"><code>MediaStreamConstraints</code></span> Members</a></li></ul></li><li class="tocline"><a class="tocxref" href="#navigatorusermediasuccesscallback"><span class"secno">10.3 </span>NavigatorUserMediaSuccessCallback</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#callback-navigatorusermediasuccesscallback-parameters"><span class="secno">10.3.1 </span>Callback <span class="formerLink"><code>NavigatorUserMediaSuccessCallback</code></span> Parameters</a></li></ul></li><li class="tocline"><a class="tocxref" href="#navigatorusermediaerrorcallback"><span class="secno">10.4 </span>NavigatorUserMediaErrorCallback</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#callback-navigatorusermediaerrorcallback-parameters"><span class="secno">10.4.1 </span>Callback <span class="formerLink"><code>NavigatorUserMediaErrorCallback</code></span> Parameters</a></li></ul></li><li class="tocline"><a class="tocxref" href="#implementation-suggestions"><span class="secno">10.5 </span>Implementation Suggestions</a></li></ul></li><li class="tocline"><a class="tocxref" href="#constrainable-interface"><span class="secno">11. </span>Constrainable Pattern</a><ul class"toc"><li class="tocline"><a class="tocxref" href="#interface-definition"><span class="secno">11.1 </span>Interface Definition</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#attributes-6"><span class="secno">11.1.1 </span>Attributes</a></li><li class="tocline"><a class="tocxref" href="#methods-4"><span class="secno">11.1.2 </span>Methods</a></li><li class="tocline"><a class="tocxref" href="#applyconstraints-failure-callback"><span class="secno">11.1.3 </span>applyConstraints Failure Callback</a><ul class="toc"></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#registry"><span class="secno">11.2 </span>The Property Registry</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#dictionary-constraindoublerange-members"><span class="secno">11.2.1 </span>Dictionary <span class="formerLink"><code>ConstrainDoubleRange</code></span> Members</a></li><li class="tocline"><a class="tocxref" href="#dictionary-constrainlongrange-members"><span class="secno">11.2.2 </span>Dictioary <span class="formerLink"><code>ConstrainLongRange</code></span> Members</a></li></ul></li><li class="tocline"><a class="tocxref" href="#capabilities"><span class="secno">11.3 </span>Capabilities</a></li><li class="tocline"><a class="tocxref" href="#settings"><span class="secno">11.4 </span><span>Settings</span>
+      </a></li><li class="tocline"><a class="tocxref" href="#constraints"><span class="secno">11.5 </span><span>Constraints and ConstraintSet</span>
+      </a><ul class="toc"><li class="tocline"><a class="tocxref" href="#dictionary-constraints-members"><span class="secno">11.5.1 </span>Dictionary <span class="formerLink"><code>Constraints</code></span> Members</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#examples"><span class="secno">12. </span>Examples</a></li><li class="tocline"><a class="tocxref" href="#error-names"><span class="secno">13. </span>Error Names</a></li><li class="tocline"><a class="tocxref" href="#iana-registrations"><span class="secno">14. </span>IANA Registrations</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#track-property-registrations"><span class="secno">14.1 </span>Track Property Registrations</a></li></ul></li><li class="tocline"><a class="tocxref" href="#change-log"><span class="secno">15. </span>Change Log</a></li><li class="tocline"><a class="tocxref" href="#acknowledgements"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a class="tocxref" href="#reerences"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#normative-references"><span class="secno">B.1 </span>Normative references</a></li><li class="tocline"><a class="tocxref" href="#informative-references"><span class="secno">B.2 </span>Informative references</a></li></ul></li></ul></section>
 
 
   
 
 
-  <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" class="informative" id="intro">
+  <section rel="bibo:Chapter" resource="#intro" typeof="bibo:Chapter" class="informative" id="intro">
     <!--OddPage--><h2 id="h2_intro" role="heading" aria-level="1"><span class="secno">1. </span>Introduction</h2><p><em>This section is non-normative.</em></p>
 
 
@@ -608,7 +607,7 @@
   </section>
 
 
-  <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="conformance"><!--OddPage--><h2 id="h2_conformance" role="heading" aria-level="1"><span class="secno">2. </span>Conformance</h2>
+  <section rel="bibo:Chapter" resource="#conformance" typeof="bibo:Chapter" id="conformance"><!--OddPage--><h2 id="h2_conformance" role="heading" aria-level="1"><span class="secno">2. </span>Conformance</h2>
 <p>
   As well as sections marked as non-normative, all authoring guidelines, diagrams, examples,
   and notes in this specification are non-normative. Everything else in this specification is
@@ -734,7 +733,7 @@
 
         <p>Although settings are a property of the source, they are
         only exposed to the application through the tracks attached to
-        the source.  The <a class="idlType" href="#idl-def-Constrainable"><code>Constrainable</code></a> interface provides this
+        the source.  The Constrainable interface provides this
         exposure.</p>
 
 
@@ -779,7 +778,7 @@
         corresponding capability that describes whether it is
         supported by the source and if so, what the range of supported
         values are. As with settings, capabilities are exposed to the
-        application via the <a class="idlType" href="#idl-def-Constrainable"><code>Constrainable</code></a> interface.</p>
+        application via the Constrainable interface.</p>
 
 
         <p>The values of the supported capabilities must be normalized to the
@@ -812,7 +811,7 @@
 
 
         <p>Constraints are exposed on tracks via
-        the <a class="idlType" href="#idl-def-Constrainable"><code>Constrainable</code></a> interface, which includes an API for
+        the Constrainable interface, which includes an API for
         dynamically changing constraints.  Note
         that <a class="internalDFN" href="#dom-navigator-getusermedia">getUserMedia()</a> also permits an initial set of
         constraints to be applied when the track is first
@@ -820,7 +819,7 @@
 
 
         <p>It is possible for two tracks that share a unique source to
-        apply contradictory constraints. The <a class="idlType" href="#idl-def-Constrainable"><code>Constrainable</code></a>
+        apply contradictory constraints. The Constrainable
         interface supports the calling of an error handler when the
         conflicting constraint is requested.  After successful
         application of constraints on a track (and its associated
@@ -848,7 +847,7 @@
   </section>
 
 
-  <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="stream-api">
+  <section rel="bibo:Chapter" resource="#stream-api" typeof="bibo:Chapter" id="stream-api">
     <!--OddPage--><h2 id="h2_stream-api" role="heading" aria-level="1"><span class="secno">4. </span>MediaStream API</h2>
 
 
@@ -872,6 +871,15 @@
       not need to be synchronized.</p>
 
 
+      <div class="note"><div id="h_note_1" role="heading" aria-level="3" class="note-title"><span>Note</span></div><p class="">While the intent is to synchronize tracks, it could be
+      better in some circumstances to permit tracks to lose synchronization.In
+      particular, when tracks are remotely sourced and real-time [<cite><a href="#bib-WEBRTC10" class="bibref">WEBRTC10</a></cite>],
+      it can be better to allow loss of synchronization than to accumulate
+      delays or risk glitches and other artifacts.  Implementations are expected
+      to understand the implications of choices regarding synchronization of
+      playback and the effect that these have on user perception.</p></div>
+
+
       <p>Each track in a MediaStream object has a corresponding
       <code><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></code> object.</p>
 
@@ -990,13 +998,6 @@
 
 
                 <li>
-                  <p>If <var>track</var> has <a href="#track-ended">ended</a>,
-                  then abort these steps and continue with the next track (if
-                  any).</p>
-                </li>
-
-
-                <li>
                   <p>Add <var>track</var> to <var>stream</var>'s <a href="#track-set">track set</a>.</p>
                 </li>
               </ol>
@@ -1017,7 +1018,8 @@
 
         <li>
           <p>If <var>stream</var>'s <a href="#track-set">track set</a> is
-          empty, set <var>stream</var>'s <code><a href="#dom-mediastream-active">active</a></code> attribute to
+          empty or only contains ended tracks, set <var>stream</var>'s
+          <code><a href="#dom-mediastream-active">active</a></code> attribute to
           <code>false</code>, otherwise set it to <code>true</code>.</p>
         </li>
 
@@ -1053,7 +1055,7 @@
       <code>ImageCapture</code> [<cite><a href="#bib-mediastream-imagecap" class="bibref">mediastream-imagecap</a></cite>].</p>
 
 
-      <div class="note"><div id="h_note_1" role="heading" aria-level="3" class="note-title"><span>Note</span></div><p class=""><code><a class="idlType" href="#idl-def-MediaStream"><code>MediaStream</code></a></code> consumers must be able to
+      <div class="note"><div id="h_note_2" role="heading" aria-level="3" class="note-title"><span>Note</span></div><p class=""><code><a class="idlType" href="#idl-def-MediaStream"><code>MediaStream</code></a></code> consumers must be able to
       handle tracks being added and removed. This behavior is specified per
       consumer.</p></div>
 
@@ -1303,11 +1305,7 @@
         action is outside the control of the application. This could be as a
         result of the user hitting a hardware switch, or toggling a control in
         the operating system or browser chrome. A track can also be muted by
-        the user agent. For example, a track that is a member of a
-        <code><a class="idlType" href="#idl-def-MediaStream"><code>MediaStream</code></a></code>, received via a
-        <code><a class="internalDFN" href="#dfn-rtcpeerconnection">RTCPeerConnection</a></code> [<cite><a href="#bib-WEBRTC10" class="bibref">WEBRTC10</a></cite>], is muted if the
-        application on the other side disables the corresponding track in the
-        <code>MediaStream</code> being sent.</p>
+        the user agent.</p>
 
 
         <p>Applications are able to <dfn id="track-enabled">enable</dfn> or
@@ -1356,6 +1354,13 @@
             to <code>ended</code>.</p>
           </li>
 
+          <li>
+            <p>Detach <var>track's</var> source.</p>
+
+
+            <p>If no other <code><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></code> is using
+            the same source, the source will be <a href="#source-stopped">stopped</a>.</p>
+          </li>
 
           <li>
             <p>Fire a simple event named <code><a href="#event-mediastreamtrack-ended">ended</a></code> at the object.</p>
@@ -1378,7 +1383,7 @@
 
         <p>Whether <code><a class="idlType" href="#idl-def-Constraints"><code>Constraints</code></a></code> were provided at track
         initialization time or need to be established later at runtime, the
-        APIs defined in the <a class="idlType" href="#idl-def-Constrainable"><code>Constrainable</code></a> Interface allow the retrieval
+        APIs defined in the Constrainable Interface allow the retrieval
         and manipulation of the constraints currently established on a
         track.</p>
 
@@ -1388,7 +1393,7 @@
         constraints (no duplicates), and an optional ordered list of individual
         constraint objects (may contain duplicates). The internal stored
         constraint structure is exposed to the application by the
-        <code><a class="internalDFN" href="#dfn-constraints">constraints</a></code> attribute, and may be modified by the
+        <code>constraints</code> attribute, and may be modified by the
         <code><a class="internalDFN" href="#dfn-applyconstraints">applyConstraints()</a></code> method.</p>
 
 
@@ -1400,19 +1405,18 @@
         re-evaluate the constraints of each track affected by that source
         change.</p>
 
-        <p>If the <code><a class="idlType" href="#idl-def-MediaError"><code>MediaError</code></a></code> event named
+        <p>If the <code><a class="idlType" href="#idl-def-MediaStreamError"><code>MediaStreamError</code></a></code> event named
         'overconstrained' is thrown, the track <em title="MUST" class="rfc2119">MUST</em> be muted until
         either new satisfiable constraints are applied or the existing
         constraints become satisfiable.</p>
       </section>
 
 
-      <section id="interface-definition">
-        <h4 id="h4_interface-definition" role="heading" aria-level="3"><span class="secno">4.3.3 </span>Interface Definition</h4>
+      <section rel="bibo:Chapter" resource="#media-stream-track-interface-definition" typeof="bibo:Chapter" id="media-stream-track-interface-definition">
+        <h4 id="h4_media-stream-track-interface-definition" role="heading" aria-level="3"><span class="secno">4.3.3 </span>Interface Definition</h4>
+
 
 
-        <pre class="idl"><span class="idlImplements"><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a> implements <a class="idlType" href="#idl-def-Constrainable"><code>Constrainable</code></a>;</span></pre><div class="idlImplementsDesc">
-        </div>
 
 
         <pre class="idl"><span class="idlInterface" id="idl-def-MediaStreamTrack">interface <span class="idlInterfaceID">MediaStreamTrack</span> : <span class="idlSuperclass">EventTarget</span> {
@@ -1428,9 +1432,13 @@
 <span class="idlAttribute">    readonly    attribute <span class="idlAttrType"><a class="idlType" href="#idl-def-MediaStreamTrackState"><code>MediaStreamTrackState</code></a></span> <span class="idlAttrName"><a href="#widl-MediaStreamTrack-readyState">readyState</a></span>;</span>
 <span class="idlAttribute">                attribute <span class="idlAttrType">EventHandler</span>          <span class="idlAttrName"><a href="#widl-MediaStreamTrack-onstarted">onstarted</a></span>;</span>
 <span class="idlAttribute">                attribute <span class="idlAttrType">EventHandler</span>          <span class="idlAttrName"><a href="#widl-MediaStreamTrack-onended">onended</a></span>;</span>
-<span class="idlMethod">    <span class="idlMethType"><a class="internalDFN" href="#dfn-settings">Settings</a></span>         <span class="idlMethName"><a href="#widl-MediaStreamTrack-getNativeSettings-Settings">getNativeSettings</a></span> ();</span>
-<span class="idlMethod">    <span class="idlMethType"><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></span> <span class="idlMethName"><a href="#widl-MediaStreamTrack-clone-MediaStreamTrack">clone</a></span> ();</span>
-<span class="idlMethod">    <span class="idlMethType">void</span>             <span class="idlMethName"><a href="#widl-MediaStreamTrack-stop-void">stop</a></span> ();</span>
+<span class="idlMethod">    <span class="idlMethType"><a class="internalDFN" href="#dfn-settings">Settings</a></span>              <span class="idlMethName"><a href="#widl-MediaStreamTrack-getNativeSettings-Settings">getNativeSettings</a></span> ();</span>
+<span class="idlMethod">    <span class="idlMethType"><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></span>      <span class="idlMethName"><a href="#widl-MediaStreamTrack-clone-MediaStreamTrack">clone</a></span> ();</span>
+<span class="idlMethod">    <span class="idlMethType">void</span>                  <span class="idlMethName"><a href="#widl-MediaStreamTrack-stop-void">stop</a></span> ();</span>
+<span class="idlMethod">    <span class="idlMethType"><a class="internalDFN" href="#dfn-capabilities">Capabilities</a></span>          <span class="idlMethName"><a href="#widl-MediaStreamTrack-getCapabilities-Capabilities">getCapabilities</a></span> ();</span>
+<span class="idlMethod">    <span class="idlMethType"><a class="idlType" href="#idl-def-MediaTrackConstraints"><code>MediaTrackConstraints</code></a></span> <span class="idlMethName"><a href="#widl-MediaStreamTrack-getConstraints-MediaTrackConstraints">getConstraints</a></span> ();</span>
+<span class="idlMethod">    <span class="idlMethType"><a class="internalDFN" href="#dfn-settings">Settings</a></span>              <span class="idlMethName"><a href="#widl-MediaStreamTrack-getSettings-Settings">getSettings</a></span> ();</span>
+<span class="idlMethod">    <span class="idlMethType">void</span>                  <span class="idlMethName"><a href="#widl-MediaStreamTrack-applyConstraints-void-MediaTrackConstraints-constraints-VoidFunction-successCallback-ConstraintErrorCallback-errorCallback">applyConstraints</a></span> (<span class="idlParam"><span class="idlParamType"><a class="idlType" href="#idl-def-MediaTrackConstraints"><code>MediaTrackConstraints</code></a></span> <span class="idlParamName">constraints</span></span>, <span class="idlParam"><span class="idlParamType">VoidFunction</span> <span class="idlParamName">successCallback</span></span>, <span class="idlParam"><span class="idlParamType"><a class="idlType" href="#idl-def-ConstraintErrorCallback"><code>ConstraintErrorCallback</code></a></span> <span class="idlParamName">errorCallback</span></span>);</span>
 };</span></pre><section id="attributes-1"><h5 id="h5_attributes-1" role="heading" aria-level="4"><span class="secno">4.3.3.1 </span>Attributes</h5><dl class="attributes"><dt id="widl-MediaStreamTrack-enabled"><code>enabled</code> of type <span class="idlAttrType">boolean</span>,            </dt><dd>
             <p>The <dfn id="dom-mediastreamtrack-enabled"><code>MediaStreamTrack.enabled</code></dfn>
             attribute, on getting, <em title="MUST" class="rfc2119">MUST</em> return the last value to which it was
@@ -1440,7 +1448,7 @@
             disable it otherwise.</p>
 
 
-            <div class="note"><div id="h_note_2" role="heading" aria-level="5" class="note-title"><span>Note</span></div><p class="">Thus, after a <code><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></code>
+            <div class="note"><div id="h_note_3" role="heading" aria-level="5" class="note-title"><span>Note</span></div><p class="">Thus, after a <code><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></code>
             is disassociated from its track, its <code><a href="#dom-mediastreamtrack-enabled">enabled</a></code> attribute still
             changes value when set; it just doesn't do anything with that new
             value.</p></div>
@@ -1475,7 +1483,7 @@
             attribute <em title="MUST" class="rfc2119">MUST</em> instead return the empty string.</p>
 
 
-            <div class="note"><div id="h_note_3" role="heading" aria-level="5" class="note-title"><span>Note</span></div><p class="">Thus the <code><a href="#dom-mediastreamtrack-kind">kind</a></code> and <code title="dom-MediaStreamTrack-label"><a href="#dom-mediastreamtrack-label">label</a></code> attributes do not
+            <div class="note"><div id="h_note_4" role="heading" aria-level="5" class="note-title"><span>Note</span></div><p class="">Thus the <code><a href="#dom-mediastreamtrack-kind">kind</a></code> and <code title="dom-MediaStreamTrack-label"><a href="#dom-mediastreamtrack-label">label</a></code> attributes do not
             change value, even if the <code><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></code>
             object is disassociated from its corresponding track.</p></div>
           </dd><dt id="widl-MediaStreamTrack-muted"><code>muted</code> of type <span class="idlAttrType">boolean</span>, readonly   </dt><dd>
@@ -1492,7 +1500,7 @@
           interface.</dd><dt id="widl-MediaStreamTrack-_readonly"><code>readonly</code> of type <span class="idlAttrType">boolean</span>, readonly   </dt><dd>If the track (audio or video) is backed by a read-only source
           such as a file, or the track source is a local microphone or camera,
           but is shared so that constraints applied to the track cannot modify
-          the source's state, the <dfn id="dom-mediastreamtrack-readonly"><code>readonly</code></dfn> attribute
+          the source's settings, the <dfn id="dom-mediastreamtrack-readonly"><code>readonly</code></dfn> attribute
           <em title="MUST" class="rfc2119">MUST</em> return the value <code>true</code>. Otherwise, it must return
           the value <code>false</code>.</dd><dt id="widl-MediaStreamTrack-readyState"><code>readyState</code> of type <span class="idlAttrType"><a class="idlType" href="#idl-def-MediaStreamTrackState"><code>MediaStreamTrackState</code></a></span>, readonly   </dt><dd>
             <p>The <dfn id="dom-mediastreamtrack-readystate"><code>readyState</code></dfn>
@@ -1501,7 +1509,10 @@
           </dd><dt id="widl-MediaStreamTrack-remote"><code>remote</code> of type <span class="idlAttrType">boolean</span>, readonly   </dt><dd>If the track is sourced by an <code>RTCPeerConnection</code>, the
           <dfn id="dom-mediastreamtrack-remote"><code>remote</code></dfn>
           attribute <em title="MUST" class="rfc2119">MUST</em> return the value <code>true</code>. Otherwise, it must
-          return the value <code>false</code>.</dd></dl></section><section id="methods-1"><h5 id="h5_methods-1" role="heading" aria-level="4"><span class="secno">4.3.3.2 </span>Methods</h5><dl class="methods"><dt id="widl-MediaStreamTrack-clone-MediaStreamTrack"><code>clone</code></dt><dd>
+          return the value <code>false</code>.</dd></dl></section><section id="methods-1"><h5 id="h5_methods-1" role="heading" aria-level="4"><span class="secno">4.3.3.2 </span>Methods</h5><dl class="methods"><dt id="widl-MediaStreamTrack-applyConstraints-void-MediaTrackConstraints-constraints-VoidFunction-successCallback-ConstraintErrorCallback-errorCallback"><code>applyConstraints</code></dt><dd>
+         
+ See <a href="#constraintable-interface">Constrainable Interface</a>
+          	for the definition of this method.<table class="parameters"><tbody><tr><th>Parameter</th><th>Type</th><th>Nullable</th><th>Optional</th><th>Description</th></tr><tr><td class="prmName">constraints</td><td class="prmType"><code><a class="idlType" href="#idl-def-MediaTrackConstraints"><code>MediaTrackConstraints</code></a></code></td><td class="prmNullFalse"><span role="img" aria-label="False">✘</span></td><td class="prmOptFalse"><span role="img" aria-label="False">✘</span></td><td class="prmDesc">A new constraint structure to apply to this object.</td></tr><tr><td class="prmName">successCallback</td><td class="prmType"><code>VoidFunction</code></td><td class="prmNullFalse"><span role="img" aria-label="False">✘</span></td><td class="prmOptFalse"><span role="img" aria-label="False">✘</span></td><td class="prmDesc">Called if the required constraints can be satisfied.</td></tr><tr><td class="prmName">errorCallback</td><td class="prmType"><code><a class="idlType" href="#idl-def-ConstraintErrorallback"><code>ConstraintErrorCallback</code></a></code></td><td class="prmNullFalse"><span role="img" aria-label="False">✘</span></td><td class="prmOptFalse"><span role="img" aria-label="False">✘</span></td><td class="prmDesc">Called if the required constraints cannot be satisfied.</td></tr></tbody></table><div><em>Return type: </em><code>void</code></div></dd><dt id="widl-MediaStreamTrack-clone-MediaStreamTrack"><code>clone</code></dt><dd>
             <p>Clones the given <code><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></code>.</p>
 
 
@@ -1524,7 +1535,7 @@
 
               <li>
                 <p>Let <var>trackClone</var> inherit this track's underlying
-                source, <code><a href="#dom-mediastreamtrack-kind">kind</a></code>, <code><a href="#dom-mediastreamtrack-label">label</a></code> and
+                source, <code><a href="#dom-mediastreamtrack-kind">kind</a></code>, <code><a href="#dom-mediastreamtrack-label">label</a></code>, <code><a href="#dom-mediastreamtrack-readystate">readyState</a></code>, and
                 <code><a href="#dom-mediastreamtrack-enabled">enabled</a></code>
                 attributes, as well as its currently active constraints.</p>
               </li>
@@ -1534,7 +1545,12 @@
                 <p>Return <var>trackClone</var>.</p>
               </li>
             </ol>
-          <div><em>No parameters.</em></div><div><em>Return type: </em><code><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></code></div></dd><dt id="widl-MediaStreamTrack-getNativeSettings-Settings"><code>getNativeSettings</code></dt><dd>The <dfn id="dfn-getnativesettings">getNativeSettings()</dfn> method returns the
+          <div><em>No parameters.</em></div><div><em>Return type: </em><code><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></code></div></dd><dt id="widl-MediaStreamTrack-getCapabilities-Capabilities"><code>getCapabilities</code></dt><dd>
+          <p>See <a href="#constraintable-interface">Constrainable Interface</a>
+          	for the definition of this method.</p>
+        <div><em>No parameters.</em></div><div><em>Return type: </em><code><a class="internalDFN" href="#dfn-capabilities">Capabilities</a></code></div></dd><dt id="widl-MediaStreamTrack-getConstraints-MediaTrackConstraints"><code>getConstraints</code></dt><dd>See <a href="#constraintable-interface">Constrainable Interface</a>
+          	for the definition of this method.
+        <div><em>No parameters.</em></div><div><em>Return type: </em><code><a class="idlType" href="#idl-def-MediaTrackConstraints"><code>MediaTrackConstraints</code></a></code></div></dd><dt id="widl-MediaStreamTrack-getNativeSettings-Settings"><code>getNativeSettings</code></dt><dd>The <dfn id="dfn-getnativesettings">getNativeSettings()</dfn> method returns the
           native settings of all the properties of the object.  Note
           that the actual setting of a property <em title="must" class="rfc2119">must</em> be a single value.  Unlike the
           return value from the <code><a class="internalDFN" href="#dfn-getsettings">getSettings()</a></code>
@@ -1545,7 +1561,9 @@
           associated with this source, only to the extent necessary to
           reflect the native settings of the source device, and c)
           <em title="MUST" class="rfc2119">MUST</em> be the same for all tracks associated with this same
-          source.<div><em>No parameters.</em></div><div><em>Return type: </em><code><a class="internalDFN" href="#dfn-settings">Settings</a></code></div></dd><dt id="widl-MediaStreamTrack-stop-void"><code>stop</code></dt><dd>
+          source.<div><em>No parameters.</em></div><div><em>Return type: </em><code><a class="internalDFN" href="#dfn-settings">Settings</a></code></div></dd><dt id="widl-MediaStreamTrack-getSettings-Settings"><code>getSettings</code></dt><dd>See <a href="#constraintable-interface">Constrainable Interface</a>
+          	for the definition of this method.
+<div><em>No parameters.</em></div><div><em>Return type: </em><code><a class="internalDFN" href="#dfn-settings">Settings</a></code></div></dd><dt id="widl-MediaStreamTrack-stop-void"><code>stop</code></dt><dd>
             <p>When a <code><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></code> object's <dfn id="dom-mediastreamtrack-stop"><code>stop()</code></dfn> method is
             invoked, the user agent <em title="MUST" class="rfc2119">MUST</em> run following steps:</p>
 
@@ -1630,10 +1648,31 @@
           <code><a class="idlType" href="#idl-def-MediaStreamTrack"><code>MediaStreamTrack</code></a></code>s. The source is a local
           audio-producing microphone source.</td></tr></tbody></table>
       </section>
-
+<section rel="bibo:Chapter" resource="#media-track-constraints" typeof="bibo:Chapter" id="media-track-constraints">
+	<h4 id="h4_media-track-constraints" role="heading" aria-level="3"><span class="secno">4.3.5 </span>MediaTrackConstraints</h4>
+	   <pre class="idl"><span class="idlDictionary" id="idl-def-MediaTrackConstraints">dictionary <span class="idlDictionaryID">MediaTrackConstraints</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MediaTrackConstraintSet"><code>MediaTrackConstraintSet</code></a></span> {
+<span class="idlMember">    <span class="idlMemberType">sequence&lt;<a class="idlType" href="#idl-def-MediaTrackConstraintSet"><code>MediaTrackConstraintSet</code></a>&gt;</span> <span class="idlMemberName"><a href="#widl-MediaTrackConstraints-advanced">advanced</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType">sequence&lt;DOMString&gt;</span>               <span class="idlMemberName"><a href="#widl-MediaTrackConstraints-require">require</a></span>;</span>
+};</span></pre><section id="dictionary-mediatrackconstraints-members"><h5 id="h5_dictionary-mediatrackconstraints-members" role="heading" aria-level="4"><span class="secno">4.3.5.1 </span>Dictionary <a href="#idl-def-MediaTrackConstraints" class="idlType"><code>MediaTrackConstraints</code></a> Members</h5><dl class="dictionary-members"><dt id="widl-MediaTrackConstraints-advanced"><code>advanced</code> of type <span class="idlMemberType">sequence&lt;<a class="idlType" href="#idl-def-MediaTrackConstraintSet"><code>MediaTrackConstraintSet</code></a>&gt;</span></dt><dd>See <a href="#constraints">Constraints and ConstraintSet</a> for
+    the definition of this element.</dd><dt id="widl-MediaTrackConstraints-require"><code>require</code> of type <span class="idlMemberType">sequence&lt;DOMString&gt;</span></dt><dd>See <a href="#constraints">Constraints and ConstraintSet</a> for
+    the definition of this element.</dd></dl></section>
+        
+    <pre class="idl"><span class="idlDictionary" id="idl-def-MediaTrackConstraintSet">dictionary <span class="idlDictionaryID">MediaTrackConstraintSet</span> {
+<span class="idlMember">    <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainLong"><code>ConstrainLong</code></a></span>            <span class="idlMemberName"><a href="#widl-MediaTrackConstraintSet-width">width</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainLong"><code>ConstrainLong</code></a></span>            <span class="idlMemberName"><a href="#widl-MediaTrackConstraintSet-height">height</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainDouble"><code>ConstrainDouble</code></a></span>          <span class="idlMemberName"><a href="#widl-MediaTrackConstraintSet-aspectRatio">aspectRatio</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainDouble"><code>ConstrainDouble</code></a></span>          <span class="idlMemberName"><a href="#widl-MediaTrackConstraintSet-frameRate">frameRate</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType">ConstrainVideoFacingMode</span> <span class="idlMemberName"><a href="#widl-MediaTrackConstraintSet-facingMode">facingMode</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainDouble"><code>ConstrainDouble</code></a></span>          <span class="idlMemberName"><a href="#widl-MediaTrackConstraintSet-volume">volume</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainLong"><code>ConstrainLong</code></a></span>            <span class="idlMemberName"><a href="#widl-MediaTrackConstraintSet-sampleRate">sampleRate</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainLong"><code>ConstrainLong</code></a></span>            <span class="idlMemberName"><a href="#widl-MediaTrackConstraintSet-sampleSize">sampleSize</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType">boolean</span>                  <span class="idlMemberName"><a href="#widl-MediaTrackConstraintSet-echoCancelation">echoCancelation</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainDOMString"><code>ConstrainDOMString</code></a></span>       <span class="idlMemberName"><a href="#widl-MediaTrackConstraintSet-sourceId">sourceId</a></span>;</span>
+};</span></pre><section id="dictionary-mediatrackconstraintset-members"><h5 id="h5_dictionary-mediatrackconstraintset-members" role="heading" aria-level="4"><span class="secno">4.3.5.2 </span>Dictionary <a href="#idl-def-MediaTrackConstraintSet" class="idlType"><code>MediaTrackConstraintSet</code></a> Members</h5><dl class="dictionary-members"><dt id="widl-MediaTrackConstraintSet-aspectRatio"><code>aspectRatio</code> of type <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainDouble"><code>ConstrainDouble</code></a></span></dt><dd> </dd><dt id="widl-MediaTrackConstraintSet-echoCancelation"><code>echoCancelation</code> of type <span class="idlMemberType">boolean</span></dt><dd> </dd><dt id="widl-MediaTrackConstraintSet-facingMode"><code>facingMode</code> of type <span class="idlMemberType">ConstrainVideoFacingMode</span></dt><dd> </dd><dt id="widl-MediaTrackConstraintSet-frameRate"><code>frameRate</code> of type <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainDouble><code>ConstrainDouble</code></a></span></dt><dd> </dd><dt id="widl-MediaTrackConstraintSet-height"><code>height</code> of type <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainLong"><code>ConstrainLong</code></a></span></dt><dd> </dd><dt id="widl-MediaTrackConstraintSet-sampleRate"><code>sampleRate</code> of type <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainLong"><code>ConstrainLong</code></a></span></dt><dd> </dd><dt id="widl-MediaTrackConstraintSet-sampleSize"><code>sampleSize</code> of type <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainLong"><code>ConstrainLong</code></a></span></dt><dd> </dd><dt id="widl-MediaTrackConstraintSet-sourceId"><code>sourceId</code> of type <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainDOMString"><code>ConstrainDOMString</code></a></span></dt><dd> </dd><dt id="widl-MediaTrackConstraintSet-volume"><code>volume</code> of type <span class="idlMemberType"><a class="idlType" href="#id-def-ConstrainDouble"><code>ConstrainDouble</code></a></span></dt><dd> </dd><dt id="widl-MediaTrackConstraintSet-width"><code>width</code> of type <span class="idlMemberType"><a class="idlType" href="#idl-def-ConstrainLong"><code>ConstrainLong</code></a></span></dt><dd> </dd></dl></section>
+	</section>
 
       <section id="isolated-media-streams">
-        <h4 id="h4_isolated-media-streams" role="heading" aria-level="3"><span class="secno">4.3.5 </span>Isolated Media Streams</h4>
+        <h4 id="h4_isolated-media-streams" role="heading" aria-level="3"><span class="secno">4.3.6 </span>Isolated Media Streams</h4>
 
 
         <p>When the <code><dfn id="dfn-peeridentity">peerIdentity</dfn></code> option is supplied to
@@ -1719,8 +1758,8 @@
     </section>
   </section>
 
-  <section id="the-model-sources-sinks-constraints-and-states">
-    <!--OddPage--><h2 id="h2_the-model-sources-sinks-constraints-and-states" role="heading" aria-level="1"><span class="secno">5. </span>The model: sources, sinks, constraints, and states</h2>
+  <section id="the-model-sources-sinks-constraints-and-settings">
+    <!--OddPage--><h2 id="h2_the-model-sources-sinks-constraints-and-settings" role="heading" aria-level="1"><span class="secno">5. </span>The model: sources, sinks, constraints, and settings</h2>
 
 
     <p>Browsers provide a media pipeline from sources to sinks. In a browser,
@@ -1745,7 +1784,7 @@
     pipeline and have the source produce content more suitable for display.</p>
 
 
-    <div class="note"><div id="h_note_4" role="heading" aria-level="2" class="note-title"><span>Note</span></div><div class="">
+    <div class="note"><div id="h_note_5" role="heading" aria-level="2" class="note-title"><span>Note</span></div><div class="">
       <p><strong>Note:</strong> This sort of feedback loop is obviously just
       enabling an "optimization", but it's a non-trivial gain. This
       optimization can save battery, allow for less network congestion,
@@ -1776,7 +1815,7 @@
     acts simultaneously as both a sink <strong>and</strong> a source for
     over-the-network streams. As a sink, it has source transformational
     capabilities (e.g., lowering bit-rates, scaling-up or down resolutions,
-    adjusting frame-rates), and as a source it could have its own states
+    adjusting frame-rates), and as a source it could have its own settings
     changed by a track source (though in this specification sources with the
     <code><a class="internalDFN" href="#dom-mediastreamtrack-remote">remote</a></code> attribute set to true do not consider the
     current constraints applied to a track).</p>
@@ -1807,7 +1846,7 @@
     sink Z is not applying any scaling.</p>
 
 
-    <p>Using the <a class="idlType" href="#idl-def-Constrainable"><code>Constrainable</code></a> interface, one of the tracks
+    <p>Using the Constrainable interface, one of the tracks
     requests a higher resolution (1920 by 1200 pixels) from the home
     client's video source.</p>  <img alt="Changing media stream source
     effects: after the requested change" src="images/change_states_after.png">
@@ -1871,7 +1910,7 @@
     peer connections and other sinks.</p>
 
 
-    <p>It is possible that <a class="internalDFN" href="#dfn-constraints">constraints</a> can be applied to a
+    <p>It is possible that constraints can be applied to a
     track which a source is unable to satisfy, either because the

[1286 lines skipped]

Received on Thursday, 8 May 2014 02:05:56 UTC