Skip to content

Commit

Permalink
Define what an "associated" transceiver is.
Browse files Browse the repository at this point in the history
Fixes #1393.

This references/restates the definition in JSEP, and expands on it a
bit in more human-readable language. I also looked through every
instance of the word "associated" and linked to this definition where
applicable.
  • Loading branch information
taylor-b committed Aug 9, 2017
1 parent 226d9af commit 33f9e41
Showing 1 changed file with 16 additions and 15 deletions.
31 changes: 16 additions & 15 deletions webrtc.html
Expand Up @@ -1501,7 +1501,7 @@ <h4>Set the RTCSessionSessionDescription</h4>
<li>
<p>If <var>description</var> is set as a local description,
then run the following steps for each media description
in <var>description</var> that is not yet associated with
in <var>description</var> that is not yet <a>associated</a> with
an <code><a>RTCRtpTransceiver</a></code> object:</p>
<ol>
<li>
Expand Down Expand Up @@ -3750,7 +3750,7 @@ <h4>Clearing Negotiation-Needed</h4>
<code><a>RTCDataChannel</a></code>s that currently exist on the
<code><a>RTCPeerConnection</a></code>. Specifically, this means that all
non-<a data-for="RTCRtpTransceiver">stopped</a> transceivers have an
associated section in the local description with matching properties,
<a>associated</a> section in the local description with matching properties,
and, if any data channels have been created, a data section exists in
the local description.</p>
<p>Note that the exact procedures for <a data-lt="update the
Expand Down Expand Up @@ -3834,20 +3834,18 @@ <h4>Updating the Negotiation-Needed flag</h4>
<ul>
<li>
<p>If <var>t</var> isn't <a data-for="RTCRtpTransceiver">
stopped</a> and isn't yet associated with an m= section
according to <span data-jsep="rtptransceivers">[[!JSEP]]</span>,
stopped</a> and isn't yet <a>associated</a> with an m= section,
return <code>true</code>.</p>
</li>
<li>
<p>If <var>t</var> isn't <a data-for="RTCRtpTransceiver">
stopped</a> and is associated with an m= section
according to <span data-jsep="rtptransceivers">[[!JSEP]]</span>,
stopped</a> and is <a>associated</a> with an m= section
then perform the following checks:</p>
<ul>
<li>
<p>If <var>t</var>'s <a>[[\Direction]]</a> slot is
<code>"sendrecv"</code> or <code>"sendonly"</code>,
and the associated m= section in
and the <a>associated</a> m= section in
<var>connection</var>'s <code><a data-for=
"RTCPeerConnection">currentLocalDescription</a></code>
doesn't contain an "a=msid" line, return <code>true</code>.
Expand All @@ -3856,15 +3854,15 @@ <h4>Updating the Negotiation-Needed flag</h4>
<li>
<p>If <var>connection</var>'s <code><a data-for=
"RTCPeerConnection">currentLocalDescription</a></code> is of
type <code>"offer"</code>, and the direction of the associated m=
type <code>"offer"</code>, and the direction of the <a>associated</a> m=
section in neither the offer nor answer matches
<var>t</var>'s <a>[[\Direction]]</a>
slot, return <code>true</code>.</p>
</li>
<li>
<p>If <var>connection</var>'s <code><a data-for=
"RTCPeerConnection">currentLocalDescription</a></code> is of
type <code>"answer"</code>, and the direction of the associated m=
type <code>"answer"</code>, and the direction of the <a>associated</a> m=
section in the answer does not match <var>t</var>'s
<a>[[\Direction]]</a> slot intersected with
the offered direction (as described in <span data-jsep=
Expand All @@ -3875,8 +3873,7 @@ <h4>Updating the Negotiation-Needed flag</h4>
</li>
<li>
<p>If <var>t</var> is <a data-for="RTCRtpTransceiver">
stopped</a> and is associated with an m= section according to
<span data-jsep="rtptransceivers">[[!JSEP]]</span>, but the
stopped</a> and is <a>associated</a> with an m= section, but the
associated m= section is not yet rejected in
<var>connection</var>'s <code><a data-for=
"RTCPeerConnection">currentLocalDescription</a></code> or
Expand Down Expand Up @@ -6066,9 +6063,8 @@ <h2>Methods</h2>
<code>TypeError</code>.</p>
</li>
<li>
<p>If <var>transceiver</var> is not yet associated with a
<a>media description</a> <span data-jsep=
"rtptransceivers">[[!JSEP]]</span>, then set
<p>If <var>transceiver</var> is not yet <a>associated</a> with a
<a>media description</a>, then set
<var>sender</var>'s <code><a data-for=
"RTCRtpSender">track</a></code> attribute to
<var>withTrack</var>, and return a promise resolved with
Expand Down Expand Up @@ -7182,7 +7178,12 @@ <h3><dfn>RTCRtpTransceiver</dfn> Interface</h3>
<p>The <a><code>RTCRtpTransceiver</code></a> interface represents a
combination of an <a><code>RTCRtpSender</code></a> and an
<a><code>RTCRtpReceiver</code></a> that share a common
<code>mid</code>.</p>
<code>mid</code>. As defined in <span data-jsep="rtptransceivers">[[!JSEP]]</span>,
an <a><code>RTCRtpTransceiver</code></a> is said to be <dfn>associated</dfn> with
a <a>media description</a> if its <code><a data-link-for=RTCRtpTransceiver>mid</a></code>
property is non-null; otherwise it is said to be disassociated. Conceptually, an
<a>associated</a> transceiver is one that's represented in the last applied session
description.</p>
<p>The <dfn>transceiver kind</dfn> of an
<code><a>RTCRtpTransceiver</a></code> is defined by the kind of the
associated <code><a>RTCRtpReceiver</a></code>'s
Expand Down

0 comments on commit 33f9e41

Please sign in to comment.