Skip to content

Commit

Permalink
Consolidated stopping and stopped definitions to satisfy respec.
Browse files Browse the repository at this point in the history
  • Loading branch information
jan-ivar committed Jul 1, 2019
1 parent 0154f9b commit 1f6decd
Showing 1 changed file with 43 additions and 47 deletions.
90 changes: 43 additions & 47 deletions webrtc.html
Original file line number Diff line number Diff line change
Expand Up @@ -2545,9 +2545,9 @@ <h2>Methods</h2>
<p data-tests="RTCRtpTransceiver-stop.html">Creating the SDP
MUST follow the appropriate process for generating an offer
described in [[!JSEP]], except the user agent MUST treat a
<a href="#dfn-stopping-0">stopping</a> transceiver as
<a href="#dfn-stopped-0">stopped</a> for the purposes of JSEP in
this case.</p>
<a data-link-for="RTCRtpTransceiver">stopping</a> transceiver as
<a data-link-for="RTCRtpTransceiver">stopped</a> for the
purposes of JSEP in this case.</p>
<p data-tests="sdp-offer.html">
As an offer, the generated SDP will contain the full set of
codec/RTP/RTCP capabilities supported or preferred by the session (as
Expand Down Expand Up @@ -7565,23 +7565,41 @@ <h2>Attributes</h2>
<dt data-tests="RTCPeerConnection-transceivers.https.html,RTCRtpTransceiver.https.html"><dfn data-idl><code>stopping</code></dfn> of type <span class=
"idlAttrType">boolean</span>, readonly</dt>
<dd>
<p>When <code>true</code>, indicates that the <code>stop()</code>
method has been called on this transceiver, that its sender will
no longer send, and that its receiver will no longer receive.
A <a href="#dfn-stopping-0">stopping</a> transceiver that is not
<a href="#dfn-stopped-0">stopped</a> always needs negotiation.
On getting, this attribute MUST return the value of the
<p>When <code>true</code>, indicates that this transceiver has
irreversibly entered its stopping procedure, e.g. from a call to
<code>stop()</code>. The transceiver's sender will no longer send,
and its receiver will no longer receive. A <a>stopping</a>
transceiver that is not <a>stopped</a> needs negotiation.</p>
<p>A transceiver that is <a>stopping</a> will cause future
calls to <code>createOffer</code> to
generate a zero port in the <a>media description</a> for the
corresponding transceiver, as defined in <span data-jsep="stop">
[[!JSEP]]</span> (The user agent MUST treat a <a>stopping</a>
transceiver as <a>stopped</a> for the purposes of JSEP only in this case). However, to avoid problems with [[!BUNDLE]], a
transceiver that is <a>stopping</a>, but not <a>stopped</a>, will
not affect <code>createAnswer</code>.</p>
<p>The transceiver will remain in the <a>stopping</a> state,
unless it becomes <a>stopped</a> either by a call to
<code>reject()</code> or by <code>setRemoteDescription</code>
processing a rejected m-line in a remote offer or answer.</p>
<p>On getting, this attribute MUST return the value of the
<a>[[\Stopping]]</a> slot.</p>
</dd>
<dt data-tests="RTCPeerConnection-transceivers.https.html,RTCRtpTransceiver.https.html"><dfn data-idl><code>stopped</code></dfn> of type <span class=
"idlAttrType">boolean</span>, readonly</dt>
<dd>
<p>When <code>true</code>, indicates that this transceiver has
been irreversibly <a href="#dfn-stopped-0">stopped</a> by either
<code>reject()</code> or a rejected m-line in a remote offer or
answer. The transceiver's sender will no longer send, and its
receiver will no longer receive. On getting, this attribute MUST
return the value of the <a>[[\Stopped]]</a> slot.</p>
been irreversibly <a>stopped</a> by either <code>reject()</code>
or by <code>setRemoteDescription</code> processing a rejected
m-line in a remote offer or answer. The transceiver's sender will
no longer send, and its receiver will no longer receive.</p>
<p>A <a>stopped</a> transceiver will cause future calls to
<code>createOffer</code> or <code>createAnswer</code> to generate
a zero port in the <a>media description</a> for the corresponding
transceiver, as defined in
<span data-jsep="stop">[[!JSEP]]</span>.</p>
<p>On getting, this attribute MUST return the value of the
<a>[[\Stopped]]</a> slot.</p>
</dd>
<dt data-tests="RTCPeerConnection-transceivers.https.html,RTCRtpTransceiver.https.html"><dfn data-idl><code>direction</code></dfn> of type <span class=
"idlAttrType"><a>RTCRtpTransceiverDirection</a></span></dt>
Expand Down Expand Up @@ -7663,38 +7681,21 @@ <h2>Methods</h2>
<dt data-tests="RTCRtpTransceiver-stop.html"><code>stop</code></dt>
<dd>
<p>Irreversibly marks the transceiver as
<a href="#dfn-stopping-0">stopping</a>, unless it is already
<a href="#dfn-stopped-0">stopped</a>. This will immediately cause
<a>stopping</a>, unless it is already
<a>stopped</a>. This will immediately cause
the transceiver's sender to no longer send, and its receiver to no
longer receive. Calling <code>stop()</code> also <a data-lt=
"update the negotiation-needed flag">updates the
negotiation-needed flag</a> for the
<code>RTCRtpTransceiver</code>'s associated
<code><a>RTCPeerConnection</a></code>.</p>
<p>A transceiver that is <dfn>stopping</dfn> will cause future
calls to <code>createOffer</code> to
generate a zero port in the <a>media description</a> for the
corresponding transceiver, as defined in <span data-jsep="stop">
[[!JSEP]]</span> (The user agent MUST treat a
<a href="#dfn-stopping-0">stopping</a> transceiver as
<a href="#dfn-stopped-0">stopped</a> for the purposes of JSEP
only in this case). However, to avoid problems with [[!BUNDLE]], a
transceiver that is <a href="#dfn-stopping-0">stopping</a>, but
not <a href="#dfn-stopped-0">stopped</a>, will not affect
<code>createAnswer</code>.</p>
<p>The transceiver will remain in the <a href="#dfn-stopping-0">
stopping</a> state, unless it becomes <a href="#dfn-stopped-0">
stopped</a> either by a call to <code>reject()</code> or by
<code>setRemoteDescription</code> processing a rejected m-line in
an incoming offer or answer.</p>
<p class="note">A transceiver that is <a href="#dfn-stopping-0">
stopping</a> but not <a href="#dfn-stopped-0">stopped</a> will
always need negotiation. In practice, this means that calling
<code>stop()</code> on a transceiver will cause the transceiver to
become <a href="#dfn-stopped-0">stopped</a> eventually, provided
<p class="note">A transceiver that is <a>stopping</a> but not
<a>stopped</a> will always need negotiation. In practice, this
means that calling <code>stop()</code> on a transceiver will cause
the transceiver to become <a>stopped</a> eventually, provided
negotiation is allowed to complete on both ends.</p>
<p>When the <dfn data-idl><code>stop</code></dfn> method is invoked,
the user agent MUST run the following steps:</p>
<p>When the <dfn data-idl><code>stop</code></dfn> method is
invoked, the user agent MUST run the following steps:</p>
<ol>
<li>
<p>Let <var>transceiver</var> be the
Expand Down Expand Up @@ -7764,14 +7765,9 @@ <h2>Methods</h2>
<p>Only callable in the <code>have-remote-offer</code>
<a>signaling state</a> of the transceiver's associated
<code><a>RTCPeerConnection</a></code>. Irreversibly stops the
transceiver, marking it as <a href="#dfn-stopped-0">stopped</a>
immediately. The sender of this transceiver will no longer send,
and the receiver will no longer receive.</p>
<p>A <dfn>stopped</dfn> transceiver will cause
future calls to <code>createOffer</code> or
<code>createAnswer</code> to generate a zero port in the
<a>media description</a> for the corresponding transceiver, as
defined in <span data-jsep="stop">[[!JSEP]]</span>.</p>
transceiver, marking it as <a>stopped</a> immediately. The sender
of this transceiver will no longer send, and the receiver will no
longer receive.</p>
<p class="note">This method may only be called between applying
a remote offer and creating an answer, to reject m-lines.
But if the transceiver is associated with the "offerer tagged"
Expand Down

0 comments on commit 1f6decd

Please sign in to comment.