[html5] r6162 - [giow] (0) Remove pointless events from the PeerConnection object. Add an event [...]
whatwg at whatwg.org
whatwg at whatwg.org
Tue May 31 15:37:17 PDT 2011
Author: ianh
Date: 2011-05-31 15:37:16 -0700 (Tue, 31 May 2011)
New Revision: 6162
Modified:
complete.html
index
source
Log:
[giow] (0) Remove pointless events from the PeerConnection object. Add an event summary. Fix fallout from recent changes.
Modified: complete.html
===================================================================
--- complete.html 2011-05-31 22:12:44 UTC (rev 6161)
+++ complete.html 2011-05-31 22:37:16 UTC (rev 6162)
@@ -64626,6 +64626,8 @@
<p><a href="http://www.whatwg.org/demos/offline/clock/clock2.html">View this example online</a>.</p>
-->
+
+
<h5 id=appcacheevents><span class=secno>6.6.1.1 </span>Event summary</h5>
<p><i>This section is non-normative.</i></p>
@@ -74409,7 +74411,7 @@
set to <code title=dom-stream-LIVE><a href=#dom-stream-live>LIVE</a></code> (1).</p>
<p>When a <code><a href=#stream>Stream</a></code> object ends for any reason other than
- the <code title=dom-stream-stop><a href=#dom-stream-stop>stop()</a></code> method being invoke
+ the <code title=dom-stream-stop><a href=#dom-stream-stop>stop()</a></code> method being invoked
(e.g. because the user rescinds the permission for the page to use
the local camera, or because the data comes from a finite file and
the file's end has been reached and the user has not requested that
@@ -74426,7 +74428,7 @@
<li><p>Set the object's <code title=dom-stream-readyState><a href=#dom-stream-readystate>readyState</a></code> attribute to <code title=dom-stream-ENDED><a href=#dom-stream-ended>ENDED</a></code> (2).</li>
- <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-stream-ended>ended</code> at the object.</li>
+ <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-stream-ended><a href=#event-stream-ended>ended</a></code> at the object.</li>
</ol><p>If the end of the stream was reached due to a user request, the
<a href=#task-source>task source</a> for this <a href=#concept-task title=concept-task>task</a> is the <a href=#user-interaction-task-source>user interaction task
@@ -74474,7 +74476,7 @@
<li><p>Set the object's <code title=dom-stream-readyState><a href=#dom-stream-readystate>readyState</a></code> attribute to <code title=dom-stream-ENDED><a href=#dom-stream-ended>ENDED</a></code> (2).</li>
- <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-stream-ended>ended</code> at the object.</li>
+ <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-stream-ended><a href=#event-stream-ended>ended</a></code> at the object.</li>
</ol><p>The <a href=#task-source>task source</a> for the <a href=#concept-task title=concept-task>tasks</a> queued for the <code title=dom-stream-stop><a href=#dom-stream-stop>stop()</a></code> method is the <a href=#dom-manipulation-task-source>DOM
manipulation task source</a>.</p>
@@ -74523,7 +74525,7 @@
all objects implementing the <code><a href=#stream>Stream</a></code> interface:</p>
<table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
- <tbody><tr><td><dfn id=handler-stream-onended title=handler-stream-onended><code>onended</code></dfn> <td> <code title=event-stream-ended>ended</code>
+ <tbody><tr><td><dfn id=handler-stream-onended title=handler-stream-onended><code>onended</code></dfn> <td> <code title=event-stream-ended><a href=#event-stream-ended>ended</a></code>
</table></div>
<div class=example>
@@ -74726,14 +74728,14 @@
video.src = URL.getObjectURL(stream);
video.onerror = function () {
stream.stop();
- noStream();
- }
+ };
+ stream.onended = noStream;
video.onloadedmetadata = function () {
canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
document.getElementById('splash').hidden = true;
document.getElementById('app').hidden = false;
- }
+ };
}
function noStream() {
document.getElementById('errorMessage').textContent = 'No camera available.';
@@ -74770,9 +74772,9 @@
// <span class=XXX>connection quality information</span>
attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onconnecting title=handler-PeerConnection-onconnecting>onconnecting</a>;
- attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onopen title=handler-PeerConnection-onopen>onopen</a>;
- attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onerror title=handler-PeerConnection-onerror>onerror</a>;
- attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onclose title=handler-PeerConnection-onclose>onclose</a>;
+ attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onopen title=handler-PeerConnection-onopen>onopen</a>;<!--
+ attribute <span>Function</span> <span title="handler-PeerConnection-onerror">onerror</span>;
+ attribute <span>Function</span> <span title="handler-PeerConnection-onclose">onclose</span>;-->
attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onmessage title=handler-PeerConnection-onmessage>onmessage</a>;
attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onaddstream title=handler-PeerConnection-onaddstream>onaddstream</a>;
attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onremovestream title=handler-PeerConnection-onremovestream>onremovestream</a>;
@@ -74882,7 +74884,7 @@
every message will be received.</p>
<p>When a message sent in this manner from the other peer is
- received, a <code title=event-stream-message>message</code>
+ received, a <code title=event-stream-message><a href=#event-stream-message>message</a></code>
event is dispatched at the <code><a href=#peerconnection>PeerConnection</a></code> object.</p>
<p>The maximum length of <var title="">text</var> is 504 bytes
@@ -74900,7 +74902,7 @@
peer.</p>
<p>When the other peer starts sending a stream in this manner, an
- <code title=event-stream-addstream>addstream</code>
+ <code title=event-stream-addstream><a href=#event-stream-addstream>addstream</a></code>
event is dispatched at the <code><a href=#peerconnection>PeerConnection</a></code> object.</p>
</dd>
@@ -74912,7 +74914,7 @@
<p>Steps sending the given stream to the remote peer.</p>
<p>When the other peer stops sending a stream in this manner, a
- <code title=event-stream-removestream>removestream</code>
+ <code title=event-stream-removestream><a href=#event-stream-removestream>removestream</a></code>
event is dispatched at the <code><a href=#peerconnection>PeerConnection</a></code> object.</p>
</dd>
@@ -74934,7 +74936,7 @@
<p>Returns a live array containing the streams that the user agent
is currently receiving from the remote peer.</p>
- <p>This array is updated when <code title=event-stream-addstream>addstream</code> and <code title=event-stream-removestream>removestream</code>
+ <p>This array is updated when <code title=event-stream-addstream><a href=#event-stream-addstream>addstream</a></code> and <code title=event-stream-removestream><a href=#event-stream-removestream>removestream</a></code>
events are fired.</p>
</dd>
@@ -75113,7 +75115,7 @@
<code title=dom-PeerConnection-NEW><a href=#dom-peerconnection-new>NEW</a></code> (0), then
<a href=#queue-a-task>queue a task</a> that sets it to <code title=dom-PeerConnection-NEGOTIATING><a href=#dom-peerconnection-negotiating>NEGOTIATING</a></code> (1) and
then <a href=#fire-a-simple-event title="fire a simple event">fires a simple event</a>
- named <code title=event-stream-connecting>connecting</code> at the
+ named <code title=event-stream-connecting><a href=#event-stream-connecting>connecting</a></code> at the
<code><a href=#peerconnection>PeerConnection</a></code> object.</p>
</ol><p>When a <a href=#peerconnection-ice-agent><code>PeerConnection</code> ICE Agent</a> is
@@ -75182,7 +75184,7 @@
<li><p><a href=#queue-a-task>Queue a task</a> to add the newly created
<code><a href=#stream>Stream</a></code> object to the end of <var title="">connection</var>'s <code title=dom-PeerConnection-remoteStreams><a href=#dom-peerconnection-remotestreams>remoteStreams</a></code>
- array, then <a href=#fire-a-stream-event>fire a stream event</a> named <code title=event-stream-addstream>addstream</code> with the newly
+ array, then <a href=#fire-a-stream-event>fire a stream event</a> named <code title=event-stream-addstream><a href=#event-stream-addstream>addstream</a></code> with the newly
created <code><a href=#stream>Stream</a></code> object at the <var title="">connection</var> object.</li>
</ol><p>When a <a href=#peerconnection-ice-agent><code>PeerConnection</code> ICE Agent</a> finds
@@ -75199,7 +75201,7 @@
there isn't one, then abort these steps.</li>
<li><p><a href=#queue-a-task>Queue a task</a> to remove <var title="">stream</var> from <var title="">connection</var>'s <code title=dom-PeerConnection-remoteStreams><a href=#dom-peerconnection-remotestreams>remoteStreams</a></code>
- array, then <a href=#fire-a-stream-event>fire a stream event</a> named <code title=event-stream-removestream>removestream</code> with <var title="">stream</var> at the <var title="">connection</var>
+ array, then <a href=#fire-a-stream-event>fire a stream event</a> named <code title=event-stream-removestream><a href=#event-stream-removestream>removestream</a></code> with <var title="">stream</var> at the <var title="">connection</var>
object.</li>
</ol><p>When the <dfn id=dom-peerconnection-signalingmessage title=dom-PeerConnection-signalingMessage><code title="">signalingMessage()</code></dfn> method is invoked, the
@@ -75265,15 +75267,15 @@
<li><p><a href=#queue-a-task>Queue a task</a> that sets <var title="">connection</var>'s <a href=#peerconnection-readiness-state><code>PeerConnection</code>
readiness state</a> to <code title=dom-PeerConnection-NEGOTIATING><a href=#dom-peerconnection-negotiating>NEGOTIATING</a></code> (1) and
then <a href=#fire-a-simple-event title="fire a simple event">fires a simple event</a>
- named <code title=event-stream-connecting>connecting</code> at the
+ named <code title=event-stream-connecting><a href=#event-stream-connecting>connecting</a></code> at the
<code><a href=#peerconnection>PeerConnection</a></code> object.</p>
</ol><p>When a <a href=#peerconnection-ice-agent><code>PeerConnection</code> ICE Agent</a>
- completes ICE processing with any active media streams, the user
- agent must <a href=#queue-a-task>queue a task</a> that sets the
+ completes ICE processing (even if there are no active streams), the
+ user agent must <a href=#queue-a-task>queue a task</a> that sets the
<code><a href=#peerconnection>PeerConnection</a></code> object's
- <a href=#peerconnection-readiness-state><code>PeerConnection</code> readiness state</a> to <code title=dom-PeerConnection-ACTIVE><a href=#dom-peerconnection-active>ACTIVE</a></code> (2) and then <a href=#fire-a-simple-event title="fire a simple event">fires a simple event</a> named <code title=event-stream-open>open</code> at the <code><a href=#peerconnection>PeerConnection</a></code>
- object.</p>
+ <a href=#peerconnection-readiness-state><code>PeerConnection</code> readiness state</a> to <code title=dom-PeerConnection-ACTIVE><a href=#dom-peerconnection-active>ACTIVE</a></code> (2) and then <a href=#fire-a-simple-event title="fire a simple event">fires a simple event</a> named <code title=event-stream-open><a href=#event-stream-open>open</a></code> at the
+ <code><a href=#peerconnection>PeerConnection</a></code> object.</p>
<p>When a <a href=#peerconnection-ice-agent><code>PeerConnection</code> ICE Agent</a>
restarts ICE processing for any reason (e.g. because a peer is
@@ -75281,7 +75283,7 @@
task</a> that sets the <code><a href=#peerconnection>PeerConnection</a></code> object's
<a href=#peerconnection-readiness-state><code>PeerConnection</code> readiness state</a> to <code title=dom-PeerConnection-NEGOTIATING><a href=#dom-peerconnection-negotiating>NEGOTIATING</a></code> (1) and
then <a href=#fire-a-simple-event title="fire a simple event">fires a simple event</a>
- named <code title=event-stream-connecting>connecting</code> at the
+ named <code title=event-stream-connecting><a href=#event-stream-connecting>connecting</a></code> at the
<code><a href=#peerconnection>PeerConnection</a></code> object.</p>
<p>The <dfn id=dom-peerconnection-readystate title=dom-PeerConnection-readyState><code title="">readyState</code></dfn> attribute must return the numeric
@@ -75398,11 +75400,11 @@
<li><p>Set the object's <a href=#peerconnection-readiness-state><code>PeerConnection</code> readiness
state</a> to <code title=dom-PeerConnection-CLOSED><a href=#dom-peerconnection-closed>CLOSED</a></code> (3).</li>
-
- <li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple
- event</a> named <code title=event-stream-close>close</code> at the
- <code><a href=#peerconnection>PeerConnection</a></code> object.</li>
-
+<!--
+ <li><p><span>Queue a task</span> to <span>fire a simple
+ event</span> named <code title="event-stream-close">close</code> at the
+ <code>PeerConnection</code> object.</p></li>
+-->
</ol><p class=note>The <code title=dom-PeerConnection-localStreams><a href=#dom-peerconnection-localstreams>localStreams</a></code> and
<code title=dom-PeerConnection-remoteStreams><a href=#dom-peerconnection-remotestreams>remoteStreams</a></code>
objects remain in the state they were in when the object was
@@ -75415,13 +75417,13 @@
interface:</p>
<table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
- <tbody><tr><td><dfn id=handler-peerconnection-onconnecting title=handler-PeerConnection-onconnecting><code>onconnecting</code></dfn> <td> <code title=event-stream-connecting>connecting</code>
- <tr><td><dfn id=handler-peerconnection-onopen title=handler-PeerConnection-onopen><code>onopen</code></dfn> <td> <code title=event-stream-open>open</code>
- <tr><td><dfn id=handler-peerconnection-onerror title=handler-PeerConnection-onerror><code>onerror</code></dfn> <td> <code title=event-stream-error>error</code>
- <tr><td><dfn id=handler-peerconnection-onclose title=handler-PeerConnection-onclose><code>onclose</code></dfn> <td> <code title=event-stream-close>close</code>
- <tr><td><dfn id=handler-peerconnection-onmessage title=handler-PeerConnection-onmessage><code>onmessage</code></dfn> <td> <code title=event-stream-message>message</code>
- <tr><td><dfn id=handler-peerconnection-onaddstream title=handler-PeerConnection-onaddstream><code>onaddstream</code></dfn> <td> <code title=event-stream-addstream>addstream</code>
- <tr><td><dfn id=handler-peerconnection-onremovestream title=handler-PeerConnection-onremovestream><code>onremovestream</code></dfn> <td> <code title=event-stream-removestream>removestream</code>
+ <tbody><tr><td><dfn id=handler-peerconnection-onconnecting title=handler-PeerConnection-onconnecting><code>onconnecting</code></dfn> <td> <code title=event-stream-connecting><a href=#event-stream-connecting>connecting</a></code>
+ <tr><td><dfn id=handler-peerconnection-onopen title=handler-PeerConnection-onopen><code>onopen</code></dfn> <td> <code title=event-stream-open><a href=#event-stream-open>open</a></code>
+<!-- <tr><td><dfn title="handler-PeerConnection-onerror"><code>onerror</code></dfn> <td> <code title="event-stream-error">error</code>-->
+<!-- <tr><td><dfn title="handler-PeerConnection-onclose"><code>onclose</code></dfn> <td> <code title="event-stream-close">close</code>-->
+ <tr><td><dfn id=handler-peerconnection-onmessage title=handler-PeerConnection-onmessage><code>onmessage</code></dfn> <td> <code title=event-stream-message><a href=#event-stream-message>message</a></code>
+ <tr><td><dfn id=handler-peerconnection-onaddstream title=handler-PeerConnection-onaddstream><code>onaddstream</code></dfn> <td> <code title=event-stream-addstream><a href=#event-stream-addstream>addstream</a></code>
+ <tr><td><dfn id=handler-peerconnection-onremovestream title=handler-PeerConnection-onremovestream><code>onremovestream</code></dfn> <td> <code title=event-stream-removestream><a href=#event-stream-removestream>removestream</a></code>
</table><hr><p>The <a href=#task-source>task source</a> for the <a href=#concept-task title=concept-task>tasks</a> listed in this section is the
<a href=#networking-task-source>networking task source</a>.</p>
@@ -75735,8 +75737,8 @@
<h3 id=event-definitions-0><span class=secno>9.7 </span>Event definitions</h3>
- <p>The <code title=event-stream-addstream>addstream</code> and
- <code title=event-stream-removestream>removestream</code> events
+ <p>The <code title=event-stream-addstream><a href=#event-stream-addstream>addstream</a></code> and
+ <code title=event-stream-removestream><a href=#event-stream-removestream>removestream</a></code> events
use the <code><a href=#streamevent>StreamEvent</a></code> interface:</p>
<pre class=idl>interface <dfn id=streamevent>StreamEvent</dfn> : <a href=#event>Event</a> {
@@ -75763,10 +75765,58 @@
<h3 id=event-summary><span class=secno>9.8 </span>Event Summary</h3>
- <p class=XXX>...will add event summary for streams here...</p>
+ <p><i>This section is non-normative.</i></p>
-</div>
+ <p>The following event fires on <code><a href=#stream>Stream</a></code> objects:</p>
+ <table><thead><tr><th>Event name
+ <th>Interface
+ <th>Dispatched when...
+
+ <tbody><tr><td><dfn id=event-stream-ended title=event-stream-ended><code>ended</code></dfn>
+ <td><code><a href=#event>Event</a></code>
+ <td>The <code><a href=#stream>Stream</a></code> object will no longer stream any data, either because the user revoked the permissions, or because the source device has been ejected, or because the remote peer stopped sending data, or because the <code title=dom-stream-stop><a href=#dom-stream-stop>stop()</a></code> method was invoked.
+
+ </table><p>The following events fire on <code><a href=#peerconnection>PeerConnection</a></code> objects:</p>
+
+ <table><thead><tr><th>Event name
+ <th>Interface
+ <th>Dispatched when...
+
+ <tbody><tr><td><dfn id=event-stream-connecting title=event-stream-connecting><code>connecting</code></dfn>
+ <td><code><a href=#event>Event</a></code>
+ <td>The ICE Agent has begun negotiating with the peer. This can happen multiple times during the lifetime of the <code><a href=#peerconnection>PeerConnection</a></code> object.
+
+ <tr><td><dfn id=event-stream-open title=event-stream-open><code>open</code></dfn>
+ <td><code><a href=#event>Event</a></code>
+ <td>The ICE Agent has finished negotiating with the peer.
+
+<!--
+ <tr>
+ <td><dfn title="event-stream-error"><code>error</code></dfn>
+ <td><code>Event</code>
+ <td>
+
+ <tr>
+ <td><dfn title="event-stream-close"><code>close</code></dfn>
+ <td><code>Event</code>
+ <td>The <code title="dom-PeerConnection-close">close()</code> method was called.
+-->
+
+ <tr><td><dfn id=event-stream-message title=event-stream-message><code>message</code></dfn>
+ <td><code><a href=#messageevent>MessageEvent</a></code>
+ <td>A <a href=#data-udp-media-stream>data UDP media stream</a> message was received.
+
+ <tr><td><dfn id=event-stream-addstream title=event-stream-addstream><code>addstream</code></dfn>
+ <td><code><a href=#streamevent>StreamEvent</a></code>
+ <td>A new stream has been added to the <code title=dom-PeerConnection-remoteStreams><a href=#dom-peerconnection-remotestreams>remoteStreams</a></code> array.
+
+ <tr><td><dfn id=event-stream-removestream title=event-stream-removestream><code>removestream</code></dfn>
+ <td><code><a href=#streamevent>StreamEvent</a></code>
+ <td>A stream has been removed from the <code title=dom-PeerConnection-remoteStreams><a href=#dom-peerconnection-remotestreams>remoteStreams</a></code> array.
+
+ </table></div>
+
<!--PEERCONNECTION-->
Modified: index
===================================================================
--- index 2011-05-31 22:12:44 UTC (rev 6161)
+++ index 2011-05-31 22:37:16 UTC (rev 6162)
@@ -64618,6 +64618,8 @@
<p><a href="http://www.whatwg.org/demos/offline/clock/clock2.html">View this example online</a>.</p>
-->
+
+
<h5 id=appcacheevents><span class=secno>6.6.1.1 </span>Event summary</h5>
<p><i>This section is non-normative.</i></p>
@@ -74424,7 +74426,7 @@
set to <code title=dom-stream-LIVE><a href=#dom-stream-live>LIVE</a></code> (1).</p>
<p>When a <code><a href=#stream>Stream</a></code> object ends for any reason other than
- the <code title=dom-stream-stop><a href=#dom-stream-stop>stop()</a></code> method being invoke
+ the <code title=dom-stream-stop><a href=#dom-stream-stop>stop()</a></code> method being invoked
(e.g. because the user rescinds the permission for the page to use
the local camera, or because the data comes from a finite file and
the file's end has been reached and the user has not requested that
@@ -74441,7 +74443,7 @@
<li><p>Set the object's <code title=dom-stream-readyState><a href=#dom-stream-readystate>readyState</a></code> attribute to <code title=dom-stream-ENDED><a href=#dom-stream-ended>ENDED</a></code> (2).</li>
- <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-stream-ended>ended</code> at the object.</li>
+ <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-stream-ended><a href=#event-stream-ended>ended</a></code> at the object.</li>
</ol><p>If the end of the stream was reached due to a user request, the
<a href=#task-source>task source</a> for this <a href=#concept-task title=concept-task>task</a> is the <a href=#user-interaction-task-source>user interaction task
@@ -74489,7 +74491,7 @@
<li><p>Set the object's <code title=dom-stream-readyState><a href=#dom-stream-readystate>readyState</a></code> attribute to <code title=dom-stream-ENDED><a href=#dom-stream-ended>ENDED</a></code> (2).</li>
- <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-stream-ended>ended</code> at the object.</li>
+ <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-stream-ended><a href=#event-stream-ended>ended</a></code> at the object.</li>
</ol><p>The <a href=#task-source>task source</a> for the <a href=#concept-task title=concept-task>tasks</a> queued for the <code title=dom-stream-stop><a href=#dom-stream-stop>stop()</a></code> method is the <a href=#dom-manipulation-task-source>DOM
manipulation task source</a>.</p>
@@ -74538,7 +74540,7 @@
all objects implementing the <code><a href=#stream>Stream</a></code> interface:</p>
<table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
- <tbody><tr><td><dfn id=handler-stream-onended title=handler-stream-onended><code>onended</code></dfn> <td> <code title=event-stream-ended>ended</code>
+ <tbody><tr><td><dfn id=handler-stream-onended title=handler-stream-onended><code>onended</code></dfn> <td> <code title=event-stream-ended><a href=#event-stream-ended>ended</a></code>
</table></div>
<div class=example>
@@ -74741,14 +74743,14 @@
video.src = URL.getObjectURL(stream);
video.onerror = function () {
stream.stop();
- noStream();
- }
+ };
+ stream.onended = noStream;
video.onloadedmetadata = function () {
canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
document.getElementById('splash').hidden = true;
document.getElementById('app').hidden = false;
- }
+ };
}
function noStream() {
document.getElementById('errorMessage').textContent = 'No camera available.';
@@ -74785,9 +74787,9 @@
// <span class=XXX>connection quality information</span>
attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onconnecting title=handler-PeerConnection-onconnecting>onconnecting</a>;
- attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onopen title=handler-PeerConnection-onopen>onopen</a>;
- attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onerror title=handler-PeerConnection-onerror>onerror</a>;
- attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onclose title=handler-PeerConnection-onclose>onclose</a>;
+ attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onopen title=handler-PeerConnection-onopen>onopen</a>;<!--
+ attribute <span>Function</span> <span title="handler-PeerConnection-onerror">onerror</span>;
+ attribute <span>Function</span> <span title="handler-PeerConnection-onclose">onclose</span>;-->
attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onmessage title=handler-PeerConnection-onmessage>onmessage</a>;
attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onaddstream title=handler-PeerConnection-onaddstream>onaddstream</a>;
attribute <a href=#function>Function</a> <a href=#handler-peerconnection-onremovestream title=handler-PeerConnection-onremovestream>onremovestream</a>;
@@ -74897,7 +74899,7 @@
every message will be received.</p>
<p>When a message sent in this manner from the other peer is
- received, a <code title=event-stream-message>message</code>
+ received, a <code title=event-stream-message><a href=#event-stream-message>message</a></code>
event is dispatched at the <code><a href=#peerconnection>PeerConnection</a></code> object.</p>
<p>The maximum length of <var title="">text</var> is 504 bytes
@@ -74915,7 +74917,7 @@
peer.</p>
<p>When the other peer starts sending a stream in this manner, an
- <code title=event-stream-addstream>addstream</code>
+ <code title=event-stream-addstream><a href=#event-stream-addstream>addstream</a></code>
event is dispatched at the <code><a href=#peerconnection>PeerConnection</a></code> object.</p>
</dd>
@@ -74927,7 +74929,7 @@
<p>Steps sending the given stream to the remote peer.</p>
<p>When the other peer stops sending a stream in this manner, a
- <code title=event-stream-removestream>removestream</code>
+ <code title=event-stream-removestream><a href=#event-stream-removestream>removestream</a></code>
event is dispatched at the <code><a href=#peerconnection>PeerConnection</a></code> object.</p>
</dd>
@@ -74949,7 +74951,7 @@
<p>Returns a live array containing the streams that the user agent
is currently receiving from the remote peer.</p>
- <p>This array is updated when <code title=event-stream-addstream>addstream</code> and <code title=event-stream-removestream>removestream</code>
+ <p>This array is updated when <code title=event-stream-addstream><a href=#event-stream-addstream>addstream</a></code> and <code title=event-stream-removestream><a href=#event-stream-removestream>removestream</a></code>
events are fired.</p>
</dd>
@@ -75128,7 +75130,7 @@
<code title=dom-PeerConnection-NEW><a href=#dom-peerconnection-new>NEW</a></code> (0), then
<a href=#queue-a-task>queue a task</a> that sets it to <code title=dom-PeerConnection-NEGOTIATING><a href=#dom-peerconnection-negotiating>NEGOTIATING</a></code> (1) and
then <a href=#fire-a-simple-event title="fire a simple event">fires a simple event</a>
- named <code title=event-stream-connecting>connecting</code> at the
+ named <code title=event-stream-connecting><a href=#event-stream-connecting>connecting</a></code> at the
<code><a href=#peerconnection>PeerConnection</a></code> object.</p>
</ol><p>When a <a href=#peerconnection-ice-agent><code>PeerConnection</code> ICE Agent</a> is
@@ -75197,7 +75199,7 @@
<li><p><a href=#queue-a-task>Queue a task</a> to add the newly created
<code><a href=#stream>Stream</a></code> object to the end of <var title="">connection</var>'s <code title=dom-PeerConnection-remoteStreams><a href=#dom-peerconnection-remotestreams>remoteStreams</a></code>
- array, then <a href=#fire-a-stream-event>fire a stream event</a> named <code title=event-stream-addstream>addstream</code> with the newly
+ array, then <a href=#fire-a-stream-event>fire a stream event</a> named <code title=event-stream-addstream><a href=#event-stream-addstream>addstream</a></code> with the newly
created <code><a href=#stream>Stream</a></code> object at the <var title="">connection</var> object.</li>
</ol><p>When a <a href=#peerconnection-ice-agent><code>PeerConnection</code> ICE Agent</a> finds
@@ -75214,7 +75216,7 @@
there isn't one, then abort these steps.</li>
<li><p><a href=#queue-a-task>Queue a task</a> to remove <var title="">stream</var> from <var title="">connection</var>'s <code title=dom-PeerConnection-remoteStreams><a href=#dom-peerconnection-remotestreams>remoteStreams</a></code>
- array, then <a href=#fire-a-stream-event>fire a stream event</a> named <code title=event-stream-removestream>removestream</code> with <var title="">stream</var> at the <var title="">connection</var>
+ array, then <a href=#fire-a-stream-event>fire a stream event</a> named <code title=event-stream-removestream><a href=#event-stream-removestream>removestream</a></code> with <var title="">stream</var> at the <var title="">connection</var>
object.</li>
</ol><p>When the <dfn id=dom-peerconnection-signalingmessage title=dom-PeerConnection-signalingMessage><code title="">signalingMessage()</code></dfn> method is invoked, the
@@ -75280,15 +75282,15 @@
<li><p><a href=#queue-a-task>Queue a task</a> that sets <var title="">connection</var>'s <a href=#peerconnection-readiness-state><code>PeerConnection</code>
readiness state</a> to <code title=dom-PeerConnection-NEGOTIATING><a href=#dom-peerconnection-negotiating>NEGOTIATING</a></code> (1) and
then <a href=#fire-a-simple-event title="fire a simple event">fires a simple event</a>
- named <code title=event-stream-connecting>connecting</code> at the
+ named <code title=event-stream-connecting><a href=#event-stream-connecting>connecting</a></code> at the
<code><a href=#peerconnection>PeerConnection</a></code> object.</p>
</ol><p>When a <a href=#peerconnection-ice-agent><code>PeerConnection</code> ICE Agent</a>
- completes ICE processing with any active media streams, the user
- agent must <a href=#queue-a-task>queue a task</a> that sets the
+ completes ICE processing (even if there are no active streams), the
+ user agent must <a href=#queue-a-task>queue a task</a> that sets the
<code><a href=#peerconnection>PeerConnection</a></code> object's
- <a href=#peerconnection-readiness-state><code>PeerConnection</code> readiness state</a> to <code title=dom-PeerConnection-ACTIVE><a href=#dom-peerconnection-active>ACTIVE</a></code> (2) and then <a href=#fire-a-simple-event title="fire a simple event">fires a simple event</a> named <code title=event-stream-open>open</code> at the <code><a href=#peerconnection>PeerConnection</a></code>
- object.</p>
+ <a href=#peerconnection-readiness-state><code>PeerConnection</code> readiness state</a> to <code title=dom-PeerConnection-ACTIVE><a href=#dom-peerconnection-active>ACTIVE</a></code> (2) and then <a href=#fire-a-simple-event title="fire a simple event">fires a simple event</a> named <code title=event-stream-open><a href=#event-stream-open>open</a></code> at the
+ <code><a href=#peerconnection>PeerConnection</a></code> object.</p>
<p>When a <a href=#peerconnection-ice-agent><code>PeerConnection</code> ICE Agent</a>
restarts ICE processing for any reason (e.g. because a peer is
@@ -75296,7 +75298,7 @@
task</a> that sets the <code><a href=#peerconnection>PeerConnection</a></code> object's
<a href=#peerconnection-readiness-state><code>PeerConnection</code> readiness state</a> to <code title=dom-PeerConnection-NEGOTIATING><a href=#dom-peerconnection-negotiating>NEGOTIATING</a></code> (1) and
then <a href=#fire-a-simple-event title="fire a simple event">fires a simple event</a>
- named <code title=event-stream-connecting>connecting</code> at the
+ named <code title=event-stream-connecting><a href=#event-stream-connecting>connecting</a></code> at the
<code><a href=#peerconnection>PeerConnection</a></code> object.</p>
<p>The <dfn id=dom-peerconnection-readystate title=dom-PeerConnection-readyState><code title="">readyState</code></dfn> attribute must return the numeric
@@ -75413,11 +75415,11 @@
<li><p>Set the object's <a href=#peerconnection-readiness-state><code>PeerConnection</code> readiness
state</a> to <code title=dom-PeerConnection-CLOSED><a href=#dom-peerconnection-closed>CLOSED</a></code> (3).</li>
-
- <li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple
- event</a> named <code title=event-stream-close>close</code> at the
- <code><a href=#peerconnection>PeerConnection</a></code> object.</li>
-
+<!--
+ <li><p><span>Queue a task</span> to <span>fire a simple
+ event</span> named <code title="event-stream-close">close</code> at the
+ <code>PeerConnection</code> object.</p></li>
+-->
</ol><p class=note>The <code title=dom-PeerConnection-localStreams><a href=#dom-peerconnection-localstreams>localStreams</a></code> and
<code title=dom-PeerConnection-remoteStreams><a href=#dom-peerconnection-remotestreams>remoteStreams</a></code>
objects remain in the state they were in when the object was
@@ -75430,13 +75432,13 @@
interface:</p>
<table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
- <tbody><tr><td><dfn id=handler-peerconnection-onconnecting title=handler-PeerConnection-onconnecting><code>onconnecting</code></dfn> <td> <code title=event-stream-connecting>connecting</code>
- <tr><td><dfn id=handler-peerconnection-onopen title=handler-PeerConnection-onopen><code>onopen</code></dfn> <td> <code title=event-stream-open>open</code>
- <tr><td><dfn id=handler-peerconnection-onerror title=handler-PeerConnection-onerror><code>onerror</code></dfn> <td> <code title=event-stream-error>error</code>
- <tr><td><dfn id=handler-peerconnection-onclose title=handler-PeerConnection-onclose><code>onclose</code></dfn> <td> <code title=event-stream-close>close</code>
- <tr><td><dfn id=handler-peerconnection-onmessage title=handler-PeerConnection-onmessage><code>onmessage</code></dfn> <td> <code title=event-stream-message>message</code>
- <tr><td><dfn id=handler-peerconnection-onaddstream title=handler-PeerConnection-onaddstream><code>onaddstream</code></dfn> <td> <code title=event-stream-addstream>addstream</code>
- <tr><td><dfn id=handler-peerconnection-onremovestream title=handler-PeerConnection-onremovestream><code>onremovestream</code></dfn> <td> <code title=event-stream-removestream>removestream</code>
+ <tbody><tr><td><dfn id=handler-peerconnection-onconnecting title=handler-PeerConnection-onconnecting><code>onconnecting</code></dfn> <td> <code title=event-stream-connecting><a href=#event-stream-connecting>connecting</a></code>
+ <tr><td><dfn id=handler-peerconnection-onopen title=handler-PeerConnection-onopen><code>onopen</code></dfn> <td> <code title=event-stream-open><a href=#event-stream-open>open</a></code>
+<!-- <tr><td><dfn title="handler-PeerConnection-onerror"><code>onerror</code></dfn> <td> <code title="event-stream-error">error</code>-->
+<!-- <tr><td><dfn title="handler-PeerConnection-onclose"><code>onclose</code></dfn> <td> <code title="event-stream-close">close</code>-->
+ <tr><td><dfn id=handler-peerconnection-onmessage title=handler-PeerConnection-onmessage><code>onmessage</code></dfn> <td> <code title=event-stream-message><a href=#event-stream-message>message</a></code>
+ <tr><td><dfn id=handler-peerconnection-onaddstream title=handler-PeerConnection-onaddstream><code>onaddstream</code></dfn> <td> <code title=event-stream-addstream><a href=#event-stream-addstream>addstream</a></code>
+ <tr><td><dfn id=handler-peerconnection-onremovestream title=handler-PeerConnection-onremovestream><code>onremovestream</code></dfn> <td> <code title=event-stream-removestream><a href=#event-stream-removestream>removestream</a></code>
</table><hr><p>The <a href=#task-source>task source</a> for the <a href=#concept-task title=concept-task>tasks</a> listed in this section is the
<a href=#networking-task-source>networking task source</a>.</p>
@@ -75750,8 +75752,8 @@
<h3 id=event-definitions-0><span class=secno>9.7 </span>Event definitions</h3>
- <p>The <code title=event-stream-addstream>addstream</code> and
- <code title=event-stream-removestream>removestream</code> events
+ <p>The <code title=event-stream-addstream><a href=#event-stream-addstream>addstream</a></code> and
+ <code title=event-stream-removestream><a href=#event-stream-removestream>removestream</a></code> events
use the <code><a href=#streamevent>StreamEvent</a></code> interface:</p>
<pre class=idl>interface <dfn id=streamevent>StreamEvent</dfn> : <a href=#event>Event</a> {
@@ -75778,10 +75780,58 @@
<h3 id=event-summary><span class=secno>9.8 </span>Event Summary</h3>
- <p class=XXX>...will add event summary for streams here...</p>
+ <p><i>This section is non-normative.</i></p>
-</div>
+ <p>The following event fires on <code><a href=#stream>Stream</a></code> objects:</p>
+ <table><thead><tr><th>Event name
+ <th>Interface
+ <th>Dispatched when...
+
+ <tbody><tr><td><dfn id=event-stream-ended title=event-stream-ended><code>ended</code></dfn>
+ <td><code><a href=#event>Event</a></code>
+ <td>The <code><a href=#stream>Stream</a></code> object will no longer stream any data, either because the user revoked the permissions, or because the source device has been ejected, or because the remote peer stopped sending data, or because the <code title=dom-stream-stop><a href=#dom-stream-stop>stop()</a></code> method was invoked.
+
+ </table><p>The following events fire on <code><a href=#peerconnection>PeerConnection</a></code> objects:</p>
+
+ <table><thead><tr><th>Event name
+ <th>Interface
+ <th>Dispatched when...
+
+ <tbody><tr><td><dfn id=event-stream-connecting title=event-stream-connecting><code>connecting</code></dfn>
+ <td><code><a href=#event>Event</a></code>
+ <td>The ICE Agent has begun negotiating with the peer. This can happen multiple times during the lifetime of the <code><a href=#peerconnection>PeerConnection</a></code> object.
+
+ <tr><td><dfn id=event-stream-open title=event-stream-open><code>open</code></dfn>
+ <td><code><a href=#event>Event</a></code>
+ <td>The ICE Agent has finished negotiating with the peer.
+
+<!--
+ <tr>
+ <td><dfn title="event-stream-error"><code>error</code></dfn>
+ <td><code>Event</code>
+ <td>
+
+ <tr>
+ <td><dfn title="event-stream-close"><code>close</code></dfn>
+ <td><code>Event</code>
+ <td>The <code title="dom-PeerConnection-close">close()</code> method was called.
+-->
+
+ <tr><td><dfn id=event-stream-message title=event-stream-message><code>message</code></dfn>
+ <td><code><a href=#messageevent>MessageEvent</a></code>
+ <td>A <a href=#data-udp-media-stream>data UDP media stream</a> message was received.
+
+ <tr><td><dfn id=event-stream-addstream title=event-stream-addstream><code>addstream</code></dfn>
+ <td><code><a href=#streamevent>StreamEvent</a></code>
+ <td>A new stream has been added to the <code title=dom-PeerConnection-remoteStreams><a href=#dom-peerconnection-remotestreams>remoteStreams</a></code> array.
+
+ <tr><td><dfn id=event-stream-removestream title=event-stream-removestream><code>removestream</code></dfn>
+ <td><code><a href=#streamevent>StreamEvent</a></code>
+ <td>A stream has been removed from the <code title=dom-PeerConnection-remoteStreams><a href=#dom-peerconnection-remotestreams>remoteStreams</a></code> array.
+
+ </table></div>
+
<!--PEERCONNECTION-->
<!--POSTMSG-->
Modified: source
===================================================================
--- source 2011-05-31 22:12:44 UTC (rev 6161)
+++ source 2011-05-31 22:37:16 UTC (rev 6162)
@@ -37498,6 +37498,8 @@
<td>Either the <code title="dom-MediaController-volume">volume</code> attribute or the <code title="dom-MediaController-muted">muted</code> attribute has just been updated.
</table>
+
+
<div class="impl">
<h5>Security and privacy considerations</h5>
@@ -73629,6 +73631,8 @@
<p><a href="http://www.whatwg.org/demos/offline/clock/clock2.html">View this example online</a>.</p>
-->
+
+
<h5 id="appcacheevents">Event summary</h5>
<!--END dev-html--><p><i>This section is non-normative.</i></p><!--START dev-html-->
@@ -85089,7 +85093,7 @@
set to <code title="dom-stream-LIVE">LIVE</code> (1).</p>
<p>When a <code>Stream</code> object ends for any reason other than
- the <code title="dom-stream-stop">stop()</code> method being invoke
+ the <code title="dom-stream-stop">stop()</code> method being invoked
(e.g. because the user rescinds the permission for the page to use
the local camera, or because the data comes from a finite file and
the file's end has been reached and the user has not requested that
@@ -85465,14 +85469,14 @@
video.src = URL.getObjectURL(stream);
video.onerror = function () {
stream.stop();
- noStream();
- }
+ };
+ stream.onended = noStream;
video.onloadedmetadata = function () {
canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
document.getElementById('splash').hidden = true;
document.getElementById('app').hidden = false;
- }
+ };
}
function noStream() {
document.getElementById('errorMessage').textContent = 'No camera available.';
@@ -85509,9 +85513,9 @@
// <span class="XXX">connection quality information</span>
attribute <span>Function</span> <span title="handler-PeerConnection-onconnecting">onconnecting</span>;
- attribute <span>Function</span> <span title="handler-PeerConnection-onopen">onopen</span>;
+ attribute <span>Function</span> <span title="handler-PeerConnection-onopen">onopen</span>;<!--
attribute <span>Function</span> <span title="handler-PeerConnection-onerror">onerror</span>;
- attribute <span>Function</span> <span title="handler-PeerConnection-onclose">onclose</span>;
+ attribute <span>Function</span> <span title="handler-PeerConnection-onclose">onclose</span>;-->
attribute <span>Function</span> <span title="handler-PeerConnection-onmessage">onmessage</span>;
attribute <span>Function</span> <span title="handler-PeerConnection-onaddstream">onaddstream</span>;
attribute <span>Function</span> <span title="handler-PeerConnection-onremovestream">onremovestream</span>;
@@ -86098,14 +86102,14 @@
</ol>
<p>When a <span><code>PeerConnection</code> ICE Agent</span>
- completes ICE processing with any active media streams, the user
- agent must <span>queue a task</span> that sets the
+ completes ICE processing (even if there are no active streams), the
+ user agent must <span>queue a task</span> that sets the
<code>PeerConnection</code> object's
<span><code>PeerConnection</code> readiness state</span> to <code
title="dom-PeerConnection-ACTIVE">ACTIVE</code> (2) and then <span
title="fire a simple event">fires a simple event</span> named <code
- title="event-stream-open">open</code> at the <code>PeerConnection</code>
- object.</p>
+ title="event-stream-open">open</code> at the
+ <code>PeerConnection</code> object.</p>
<p>When a <span><code>PeerConnection</code> ICE Agent</span>
restarts ICE processing for any reason (e.g. because a peer is
@@ -86263,11 +86267,11 @@
<li><p>Set the object's <span><code>PeerConnection</code> readiness
state</span> to <code
title="dom-PeerConnection-CLOSED">CLOSED</code> (3).</p></li>
-
+<!--
<li><p><span>Queue a task</span> to <span>fire a simple
event</span> named <code title="event-stream-close">close</code> at the
<code>PeerConnection</code> object.</p></li>
-
+-->
</ol>
<p class="note">The <code
@@ -86290,8 +86294,8 @@
<tbody>
<tr><td><dfn title="handler-PeerConnection-onconnecting"><code>onconnecting</code></dfn> <td> <code title="event-stream-connecting">connecting</code>
<tr><td><dfn title="handler-PeerConnection-onopen"><code>onopen</code></dfn> <td> <code title="event-stream-open">open</code>
- <tr><td><dfn title="handler-PeerConnection-onerror"><code>onerror</code></dfn> <td> <code title="event-stream-error">error</code>
- <tr><td><dfn title="handler-PeerConnection-onclose"><code>onclose</code></dfn> <td> <code title="event-stream-close">close</code>
+<!-- <tr><td><dfn title="handler-PeerConnection-onerror"><code>onerror</code></dfn> <td> <code title="event-stream-error">error</code>-->
+<!-- <tr><td><dfn title="handler-PeerConnection-onclose"><code>onclose</code></dfn> <td> <code title="event-stream-close">close</code>-->
<tr><td><dfn title="handler-PeerConnection-onmessage"><code>onmessage</code></dfn> <td> <code title="event-stream-message">message</code>
<tr><td><dfn title="handler-PeerConnection-onaddstream"><code>onaddstream</code></dfn> <td> <code title="event-stream-addstream">addstream</code>
<tr><td><dfn title="handler-PeerConnection-onremovestream"><code>onremovestream</code></dfn> <td> <code title="event-stream-removestream">removestream</code>
@@ -86679,8 +86683,76 @@
<h3>Event Summary</h3>
- <p class="XXX">...will add event summary for streams here...</p>
+ <!--END dev-html--><p><i>This section is non-normative.</i></p><!--START dev-html-->
+ <p>The following event fires on <code>Stream</code> objects:</p>
+
+ <table>
+ <thead>
+ <tr>
+ <th>Event name
+ <th>Interface
+ <th>Dispatched when...
+
+ <tbody>
+ <tr>
+ <td><dfn title="event-stream-ended"><code>ended</code></dfn>
+ <td><code>Event</code>
+ <td>The <code>Stream</code> object will no longer stream any data, either because the user revoked the permissions, or because the source device has been ejected, or because the remote peer stopped sending data, or because the <code title="dom-stream-stop">stop()</code> method was invoked.
+
+ </table>
+
+
+ <p>The following events fire on <code>PeerConnection</code> objects:</p>
+
+ <table>
+ <thead>
+ <tr>
+ <th>Event name
+ <th>Interface
+ <th>Dispatched when...
+
+ <tbody>
+
+ <tr>
+ <td><dfn title="event-stream-connecting"><code>connecting</code></dfn>
+ <td><code>Event</code>
+ <td>The ICE Agent has begun negotiating with the peer. This can happen multiple times during the lifetime of the <code>PeerConnection</code> object.
+
+ <tr>
+ <td><dfn title="event-stream-open"><code>open</code></dfn>
+ <td><code>Event</code>
+ <td>The ICE Agent has finished negotiating with the peer.
+
+<!--
+ <tr>
+ <td><dfn title="event-stream-error"><code>error</code></dfn>
+ <td><code>Event</code>
+ <td>
+
+ <tr>
+ <td><dfn title="event-stream-close"><code>close</code></dfn>
+ <td><code>Event</code>
+ <td>The <code title="dom-PeerConnection-close">close()</code> method was called.
+-->
+
+ <tr>
+ <td><dfn title="event-stream-message"><code>message</code></dfn>
+ <td><code>MessageEvent</code>
+ <td>A <span>data UDP media stream</span> message was received.
+
+ <tr>
+ <td><dfn title="event-stream-addstream"><code>addstream</code></dfn>
+ <td><code>StreamEvent</code>
+ <td>A new stream has been added to the <code title="dom-PeerConnection-remoteStreams">remoteStreams</code> array.
+
+ <tr>
+ <td><dfn title="event-stream-removestream"><code>removestream</code></dfn>
+ <td><code>StreamEvent</code>
+ <td>A stream has been removed from the <code title="dom-PeerConnection-remoteStreams">remoteStreams</code> array.
+
+ </table>
+
</div>
<!--END rtc--><!--START w3c-html--><!--PEERCONNECTION-->
More information about the Commit-Watchers
mailing list