- From: CVS User abergkvi <cvsmail@w3.org>
- Date: Tue, 17 Jun 2014 12:06:06 +0000
- To: public-dap-commits@w3.org
Update of /sources/public/2011/webrtc/editor/sources
In directory roscoe:/tmp/cvs-serv15378/sources
Modified Files:
webrtc.html webrtc.js
Log Message:
Added 20140617 archived version.
--- /sources/public/2011/webrtc/editor/sources/webrtc.html 2013/11/05 18:10:45 1.1
+++ /sources/public/2011/webrtc/editor/sources/webrtc.html 2014/06/17 12:06:06 1.2
@@ -1,26 +1,27 @@
<!DOCTYPE html>
-
-<html lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for HTML5 (experimental) for Mac OS X https://github.com/w3c/tidy-html5/tree/c63cc39">
-
- <title>WebRTC 1.0: Real-time Communication Between Browsers</title>
- <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
- <!--
+<!--
To publish this document, see instructions in README
-->
+<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+ <title>WebRTC 1.0: Real-time Communication Between Browsers</title>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<script class="remove" src="http://www.w3.org/Tools/respec/respec-w3c-common"
type="text/javascript">
-// keep this comment
+//<![CDATA[
+ // keep this comment
+ //]]>
</script>
<script class="remove" src="webrtc.js" type="text/javascript">
-// keep this comment
+//<![CDATA[
+ // keep this comment
+ //]]>
</script>
</head>
-<body> <section id="abstract">
+<body>
+ <section id="abstract">
<p>This document defines a set of ECMAScript APIs in WebIDL to allow media
to be sent to and received from another browser or device implementing the
appropriate set of real-time protocols. This specification is being
@@ -29,6 +30,7 @@
devices developed by the Media Capture Task Force.</p>
</section>
+
<section id="sotd">
<p>This document is neither complete nor stable, and as such is not yet
suitable for commercial implementation. However, early experimentation is
@@ -36,85 +38,119 @@
Web Real-Time Communications Working Group expects this specification to
evolve significantly based on:</p>
+
<ul>
<li>The outcome of ongoing exchanges in the companion RTCWEB group at
IETF to define the set of protocols that, together with this document,
will enable real-time communications in Web browsers.</li>
+
<li>Privacy issues that arise when exposing local capabilities and local
streams.</li>
+
<li>Technical discussions within the group.</li>
+
<li>Experience gained through early experimentations.</li>
+
<li>Feedback received from other groups and individuals.</li>
</ul>
</section>
+
<section class="informative" id="intro">
<h2>Introduction</h2>
+
<p>There are a number of facets to video-conferencing in HTML covered by
this specification:</p>
+
<ul>
<li>Connecting to remote peers using NAT-traversal technologies such as
ICE, STUN, and TURN.</li>
+
<li>Sending the locally-produced streams to remote peers and receiving
streams from remote peers.</li>
+
<li>Sending arbitrary data directly to remote peers.</li>
</ul>
+
<p>This document defines the APIs used for these features. This
specification is being developed in conjunction with a protocol
specification developed by the <a href=
"http://datatracker.ietf.org/wg/rtcweb/">IETF RTCWEB group</a> and an API
- specification to get access to local media devices developed by the
- <a href="http://www.w3.org/2011/04/webrtc/">Media Capture Task
- Force</a>.</p>
+ specification to get access to local media devices
+ [[!GETUSERMEDIA]]developed by the <a
+ href="http://www.w3.org/2011/04/webrtc/">Media Capture Task Force</a>. An
+ overview of the system can be found in [[RTCWEB-OVERVIEW]] and
+ [[RTCWEB-SECURITY]]. </p>
+
</section>
+
<section id="conformance">
<p>This specification defines conformance criteria that apply to a single
product: the <dfn>user agent</dfn> that implements the interfaces that it
contains.</p>
+
+ <p>Conformance requirements phrased as algorithms or specific steps may be
+ implemented in any manner, so long as the end result is equivalent. (In
+ particular, the algorithms defined in this specification are intended to be
+ easy to follow, and not intended to be performant.)</p>
+
+
<p>Implementations that use ECMAScript to implement the APIs defined in
this specification must implement them in a manner consistent with the
ECMAScript Bindings defined in the Web IDL specification [[!WEBIDL]], as
this specification uses that specification and terminology.</p>
</section>
+
<section>
<h2>Terminology</h2>
+
<p>The <code><a href=
"http://dev.w3.org/html5/spec/webappapis.html#eventhandler">EventHandler</a></code>
interface represents a callback used for event handlers as defined in
[[!HTML5]].</p>
+
<p>The concepts <dfn><a href=
"http://dev.w3.org/html5/spec/webappapis.html#queue-a-task">queue a
task</a></dfn> and <dfn><a href=
"http://dev.w3.org/html5/spec/webappapis.html#fire-a-simple-event">fires a
simple event</a></dfn> are defined in [[!HTML5]].</p>
- <p>The terms <dfn><a href=
+
+ <p>The terms <dfn>event</dfn>, <dfn><a href=
"http://dev.w3.org/html5/spec/webappapis.html#event-handlers">event
handlers</a></dfn> and <dfn><a href=
"http://dev.w3.org/html5/spec/webappapis.html#event-handler-event-type">event
handler event types</a></dfn> are defined in [[!HTML5]].</p>
+
+
+ <p>The terms <dfn>MediaStream</dfn>, <dfn>MediaStreamTrack</dfn>,
+ <dfn>Constraints</dfn>, and <dfn>Consumer</dfn> are defined in
+ [[!GETUSERMEDIA]].</p>
</section>
+
<section>
<h2>Peer-to-peer connections</h2>
+
<section>
<h3>Introduction</h3>
+
<p>An <code><a>RTCPeerConnection</a></code> allows two users to
communicate directly, browser to browser. Communications are coordinated
via a signaling channel which is provided by unspecified means, but
@@ -122,42 +158,72 @@
<code>XMLHttpRequest</code>.</p>
</section>
+
<section>
<h3>Configuration</h3>
+
<section>
<h4>RTCConfiguration Type</h4>
+
<dl class="idl" title="dictionary RTCConfiguration">
<dt>sequence<RTCIceServer> iceServers</dt>
+
+ <dd>
+ <p>An array containing URIs of servers available to be used
+ by ICE, such as STUN and TURN server.</p>
+ </dd>
+
+
+ <dt>RTCIceTransports iceTransports = "all"</dt>
+
+
+ <dd>
+ <p>Indicates which candidates the ICE engine is allowed to use.
+ </p>
+ </dd>
+
+
+ <dt>RTCIdentityOption requestIdentity = "ifconfigured"</dt>
+
+
<dd>
- <p>An array containing STUN and TURN servers available to be used
- by ICE.</p>
+ <p>See the <a href=
+ "#dom-rtcoaoptions-requestidentity">requestIdentity</a> member of
+ the <code><a>RTCOfferAnswerOptions</a></code> dictionary.</p>
</dd>
</dl>
</section>
+
<section>
<h4>RTCIceServer Type</h4>
+
<dl class="idl" title="dictionary RTCIceServer">
<dt>(DOMString or sequence<DOMString> urls</dt>
+
<dd>
- <p>STUN or TURN URI(s) as defined in [[!STUN-URI]] and
- [[!TURN-URI]].</p>
+ <p>STUN or TURN URI(s) as defined in [[!RFC7064]] and
+ [[!RFC7065]] or other URI types.</p>
</dd>
- <dt>DOMString? username = null</dt>
+
+ <dt>DOMString username</dt>
+
<dd>
<p>If this <code><a>RTCIceServer</a></code> object represents a
- TURN server, then this attribute specifies the username to use
- with that TURN server.</p>
+ TURN server, then this attribute specifies the username to use with
+ that TURN server.</p>
</dd>
- <dt>DOMString? credential</dt>
+
+ <dt>DOMString credential</dt>
+
<dd>
<p>If this <code><a>RTCIceServer</a></code> object represents a
@@ -166,101 +232,274 @@
</dd>
</dl>
+
<p>In network topologies with multiple layers of NATs, it is desirable
to have a STUN server between every layer of NATs in addition to the
TURN servers to minimize the peer to peer network latency.</p>
+
<p>An example array of RTCIceServer objects is:</p>
- <p><code>[ { urls: "stun:stun1.example.net } , {
- urls:"turn:turn.example.org", username: "user", credential:"myPassword"} ]</code></p>
+
+ <p><code>[ { "urls": "stun:stun1.example.net" }, { "urls":
+ "turn:turn.example.org", "username": "user", "credential": "myPassword"
+ } ]</code>
+ </p>
+ </section>
+
+ <section>
+ <h4>RTCIceTransports Enum</h4>
+
+
+ <dl class='idl' title='enum RTCIceTransports'>
+ <dt>none</dt>
+
+
+ <dd>The ICE engine MUST not send or receive any packets at this
+ point.</dd>
+
+
+ <dt>relay</dt>
+
+
+ <dd>The ICE engine MUST only use media relay candidates such as
+ candidates passing through a TURN server. This can be used to reduce
+ leakage of IP addresses in certain use cases.</dd>
+
+
+ <dt>all</dt>
+
+
+ <dd>The ICE engine may use any type of candidates when this value is
+ specified.</dd>
+ </dl>
+
+ </section>
+
+ <section>
+ <h4>Offer/Answer Options</h4>
+
+ <p>These dictionaries describe the options that can be used to
+ control the offer/answer creation process.</p>
+
+
+ <dl class="idl" title="dictionary RTCOfferAnswerOptions">
+ <dt>RTCIdentityOption requestIdentity = "ifconfigured"</dt>
+
+
+ <dd>
+ <p>The <dfn id=
+ "dom-rtcoaoptions-requestidentity"><code>requestIdentity</code></dfn>
+ option indicates whether an identity should be requested. The option
+ may be used with either of the <code>createOffer()</code> or
+ <code>createAnswer()</code> calls, but also with the <code>
+ <a>RTCPeerConnection</a></code> constructor. Note that since
+ DTLS-SRTP is used, fingerprints will be sent regardless of the
+ value of this option.</p>
+ </dd>
+ </dl>
+
+
+ <dl class="idl" title=
+ "dictionary RTCOfferOptions : RTCOfferAnswerOptions">
+
+ <dt>long offerToReceiveVideo</dt>
+
+
+ <dd>
+ <p>In some cases, an <code>RTCPeerConnection</code> may wish to
+ receive video but not send any video. The
+ <code>RTCPeerConnection</code> needs to know if it should signal to
+ the remote side whether it wishes to receive video or not. This
+ option allows an application to indicate its preferences for the
+ number of video streams to receive when creating an offer.</p>
+ </dd>
+
+
+ <dt>long offerToReceiveAudio</dt>
+
+
+ <dd>
+ <p>In some cases, an <code>RTCPeerConnection</code> may wish to
+ receive audio but not send any audio. The
+ <code>RTCPeerConnection</code> needs to know if it should signal to
+ the remote side whether it wishes to receive audio. This option
+ allows an application to indicate its preferences for the number of
+ audio streams to receive when creating an offer.</p>
+ </dd>
+
+
+ <dt>boolean voiceActivityDetection = true</dt>
+
+
+ <dd>
+ <p>Many codecs and system are capable of detecting "silence" and
+ changing their behavior in this case by doing things such as not
+ transmitting any media. In many cases, such as when
+ dealing with emergency calling or
+ sounds other than spoken voice, it is desirable
+ to be able to turn off this behavior. This option allows the
+ application to provide information about whether it wishes this type
+ of processing enabled or disabled.</p>
+ </dd>
+
+
+ <dt>boolean iceRestart = false</dt>
+
+
+ <dd>
+ <p>When the value of this dictionary member is true, the
+ generated description will have ICE credentials that are different
+ from the current credentials (as visible in the
+ <code><a>localDescription</a></code> attribute's SDP). Applying the
+ generated description will restart ICE.</p>
+
+
+ <p>When the value of this dictionary member is false, and the
+ <code><a>localDescription</a></code> attribute has valid ICE
+ credentials, the generated description will have the same ICE
+ credentials as the current value from the
+ <code><a>localDescription</a></code> attribute.</p>
+ </dd>
+ </dl>
+
+
+ <dl class='idl' title='enum RTCIdentityOption'>
+ <dt>yes</dt>
+
+
+ <dd>An identity MUST be requested.</dd>
+
+
[6733 lines skipped]
--- /sources/public/2011/webrtc/editor/sources/webrtc.js 2013/11/05 18:10:45 1.1
+++ /sources/public/2011/webrtc/editor/sources/webrtc.js 2014/06/17 12:06:06 1.2
@@ -11,10 +11,10 @@
// subtitle : "an excellent document",
// if you wish the publication date to be other than today, set this
- // publishDate: "2012-05-28",
+ // publishDate: "2014-01-27",
// new ability to override the copyright completely
- overrideCopyright: "<p class='copyright'>Initial Author of this Specification was Ian Hickson, Google Inc., with the following copyright statement:<br /> © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera Software ASA. You are granted a license to use, reproduce and create derivative works of this document.</p> <p class='copyright'>All subsequent changes since 26 July 2011 done by the W3C WebRTC Working Group are under the following <a href='http://www.w3.org/Consortium/Legal/ipr-notice#Copyright'>Copyright</a>:<br />© 2011-2012 <a href='http://www.w3.org/'><acronym title='World Wide Web Consortium'>W3C</acronym></a><sup>®</sup> (<a href='http://www.csail.mit.edu/'><acronym title='Massachusetts Institute of Technology'>MIT</acronym></a>, <a href='http://www.ercim.eu/'><acronym title='European Research Consortium for Informatics and Mathematics'>ERCIM</acronym></a>, <a href='http://www.keio.ac.jp/'>Keio</a>, <a href='http://ev.buaa.edu.cn/'>Beihang<\/a>), All Rights eserved. <a href='http://www.w3.org/Consortium/Legal/copyright-documents'>Document use</a> rules apply.</p> <p class='copyright'>For the entire publication on the W3C site the <a href='http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer'>liability</a> and <a href='http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks'>trademark</a> rules apply.</p>",
+ overrideCopyright: "<p class='copyright'>Initial Author of this Specification was Ian Hickson, Google Inc., with the following copyright statement:<br /> © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera Software ASA. You are granted a license to use, reproduce and create derivative works of this document.</p> <p class='copyright'>All subsequent changes since 26 July 2011 done by the W3C WebRTC Working Group are under the following <a href='http://www.w3.org/Consortium/Legal/ipr-notice#Copyright'>Copyright</a>:<br />© 2011-2014 <a href='http://www.w3.org/'><acronym title='World Wide Web Consortium'>W3C</acronym></a><sup>®</sup> (<a href='http://www.csail.mit.edu/'><acronym title='Massachusetts Institute of Technology'>MIT</acronym></a>, <a href='http://www.ercim.eu/'><acronym title='European Research Consortium for Informatics and Mathematics'>ERCIM</acronym></a>, <a href='http://www.keio.ac.jp/'>Keio</a>, <a href='http://ev.buaa.edu.cn/'>Beihang<\/a>), All Rights eserved. <a href='http://www.w3.org/Consortium/Legal/copyright-documents'>Document use</a> rules apply.</p> <p class='copyright'>For the entire publication on the W3C site the <a href='http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer'>liability</a> and <a href='http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks'>trademark</a> rules apply.</p>",
// if the specification's copyright date is a range of years, specify
@@ -22,7 +22,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/20130603/webrtc.html",
+ prevED: "http://dev.w3.org/2011/webrtc/editor/archives/20140410/webrtc.html",
// if there a publicly available Editor's Draft, this is the link
edDraftURI: "http://dev.w3.org/2011/webrtc/editor/webrtc.html",
Received on Tuesday, 17 June 2014 12:06:09 UTC