Skip to content

Commit

Permalink
Merge branch 'main' into rejectstopping
Browse files Browse the repository at this point in the history
  • Loading branch information
jan-ivar committed Apr 3, 2023
2 parents 75dabce + c3e196e commit d7b7183
Show file tree
Hide file tree
Showing 5 changed files with 136 additions and 81 deletions.
12 changes: 11 additions & 1 deletion amendments.json
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@
"mti-stats-table": [
{
"description": "Align MTI stats with implementations",
"pr": [2744, 2748],
"pr": [2744, 2748, 2832],
"type": "correction",
"status": "candidate",
"id": 10
Expand Down Expand Up @@ -448,6 +448,16 @@
"id": 30
}
],
"setcodecparameters-algorithm": [
{
"description": "Fix ambiguities in the setCodecPreferences() algorithm",
"pr": 2847,
"type": "correction",
"status": "candidate",
"difftype": "append",
"id": 31
}
],
"replacetrack-reject": [
{
"description": "Reject setParameters(), replaceTrack(), & insertDTMF() after stop()",
Expand Down
3 changes: 2 additions & 1 deletion base-rec.html
Original file line number Diff line number Diff line change
Expand Up @@ -11100,7 +11100,7 @@ <h4 id="methods-8">
When <a data-link-type="idl" data-lt="setCodecPreferences()" href="#dom-rtcrtptransceiver-setcodecpreferences" class="internalDFN" id="ref-for-dom-rtcrtptransceiver-setcodecpreferences-6"><code><code>setCodecPreferences</code></code></a><code>()</code> in invoked, the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-11">user
agent</a> <em class="rfc2119">MUST</em> run the following steps:
</p>
<ol>
<ol id="setcodecparameters-algorithm">
<li class="no-test-needed">
<p>
Let <var>transceiver</var> be the <a data-link-type="idl" href="#dom-rtcrtptransceiver" class="internalDFN" id="ref-for-dom-rtcrtptransceiver-66"><code><code>RTCRtpTransceiver</code></code></a>
Expand Down Expand Up @@ -11171,6 +11171,7 @@ <h4 id="methods-8">
</p>
</li>
</ol>
<div id="setcodecparameters-algorithm"></div>
<div class="note" role="note" id="issue-container-generatedID-47"><div role="heading" class="note-title marker" id="h-note-47" aria-level="5"><span>Note</span></div><p class="">
If set, the offerer's codec preferences will decide the order
of the codecs in the offer. If the answerer does not have any
Expand Down
54 changes: 29 additions & 25 deletions respec-w3c-common.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion tools/check-rec-amendment.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module.exports = async ({github, context, core}) => {
return;
}
const amendments = require(process.env.GITHUB_WORKSPACE + '/amendments.json');
if (!Object.values(amendments).find(list => list.find(a => a.pr === context.issue.number))) {
if (!Object.values(amendments).find(list => list.find(a => Array.isArray(a.pr) ? a.pr.includes(context.issue.number) : a.pr === context.issue.number ))) {
core.setFailed(`Pull request ${context.issue.number} not labeled as editorial and not referenced in amendments.json`);
}

Expand Down
146 changes: 93 additions & 53 deletions webrtc.html
Original file line number Diff line number Diff line change
Expand Up @@ -824,7 +824,7 @@ <h4>
"new",
"gathering",
"complete"
};</pre>
};</pre>
<div id="rtcicegatheringstate-description">
<table data-link-for="RTCIceGatheringState" data-dfn-for=
"RTCIceGatheringState" class="simple">
Expand Down Expand Up @@ -871,8 +871,8 @@ <h4>
</table>
<p>
The set of transports considered is the one
presently referenced by the PeerConnection's
[= set of transceivers =] and the PeerConnection's
presently referenced by the {{RTCPeerConnection}}'s
[= set of transceivers =] and the {{RTCPeerConnection}}'s
{{RTCPeerConnection/[[SctpTransport]]}}
internal slot if not <code>null</code>.
</p>
Expand All @@ -891,7 +891,7 @@ <h4>
"new",
"connecting",
"connected"
};</pre>
};</pre>
<div id="rtcpeerconnectionstate-description">
<table data-link-for="RTCPeerConnectionState" data-dfn-for=
"RTCPeerConnectionState" class="simple">
Expand All @@ -908,18 +908,18 @@ <h4>
<dfn data-idl="">closed</dfn>
</td>
<td>
The {{RTCPeerConnection}} object's {{RTCPeerConnection/[[IsClosed]]}}
slot is <code>true</code>.
{{RTCPeerConnection/[[IceConnectionState]]}} is
{{RTCIceConnectionState/"closed"}}.
</td>
</tr>
<tr>
<td data-tests="protocol/dtls-fingerprint-validation.html">
<dfn data-idl="">failed</dfn>
</td>
<td>
The previous state doesn't apply and any
{{RTCIceTransport}}s are in the
{{RTCIceTransportState/"failed"}} state or any
The previous state doesn't apply, and either
{{RTCPeerConnection/[[IceConnectionState]]}} is
{{RTCIceConnectionState/"failed"}} or any
{{RTCDtlsTransport}}s are in the
{{RTCDtlsTransportState/"failed"}} state.
</td>
Expand All @@ -929,9 +929,9 @@ <h4>
<dfn data-idl="">disconnected</dfn>
</td>
<td>
None of the previous states apply and any
{{RTCIceTransport}}s are in the
{{RTCIceTransportState/"disconnected"}} state.
None of the previous states apply, and
{{RTCPeerConnection/[[IceConnectionState]]}} is
{{RTCIceConnectionState/"disconnected"}}.
</td>
</tr>
<tr>
Expand All @@ -940,10 +940,9 @@ <h4>
<dfn data-idl="">new</dfn>
</td>
<td>
None of the previous states apply and all
{{RTCIceTransport}}s are in the
{{RTCIceTransportState/"new"}} or
{{RTCIceTransportState/"closed"}} state, and all
None of the previous states apply, and either
{{RTCPeerConnection/[[IceConnectionState]]}} is
{{RTCIceConnectionState/"new"}}, and all
{{RTCDtlsTransport}}s are in the
{{RTCDtlsTransportState/"new"}} or
{{RTCDtlsTransportState/"closed"}} state, or there are no
Expand All @@ -953,38 +952,40 @@ <h4>
<tr>
<td data-tests=
"RTCPeerConnection-connectionState.https.html">
<dfn data-idl="">connecting</dfn>
<dfn data-idl="">connected</dfn>
</td>
<td>
None of the previous states apply and any
{{RTCIceTransport}} is in the {{RTCIceTransportState/"new"}}
or {{RTCIceTransportState/"checking"}} state or any
{{RTCDtlsTransport}} is in the {{RTCDtlsTransportState/"new"}}
or {{RTCDtlsTransportState/"connecting"}} state.
None of the previous states apply,
{{RTCPeerConnection/[[IceConnectionState]]}} is
{{RTCIceConnectionState/"connected"}}, and all
{{RTCDtlsTransport}}s are in the
{{RTCDtlsTransportState/"connected"}} or
{{RTCDtlsTransportState/"closed"}} state.
</td>
</tr>
<tr>
<td data-tests=
"RTCPeerConnection-connectionState.https.html">
<dfn data-idl="">connected</dfn>
<dfn data-idl="">connecting</dfn>
</td>
<td>
None of the previous states apply and all
{{RTCIceTransport}}s are in the
{{RTCIceTransportState/"connected"}},
{{RTCIceTransportState/"completed"}} or
{{RTCIceTransportState/"closed"}} state, and all
{{RTCDtlsTransport}}s are in the
{{RTCDtlsTransportState/"connected"}} or
{{RTCDtlsTransportState/"closed"}} state.
None of the previous states apply.
</td>
</tr>
</tbody>
</table>
<p class="note">
In the {{RTCPeerConnectionState/"connecting"}} state, one or more
{{RTCIceTransport}}s are in the {{RTCIceTransportState/"new"}}
or {{RTCIceTransportState/"checking"}} state, or one or more
{{RTCDtlsTransport}}s are in the {{RTCDtlsTransportState/"new"}}
or {{RTCDtlsTransportState/"connecting"}} state.
</p>
<p>
<p>
The set of transports considered is the one
presently referenced by the PeerConnection's
[= set of transceivers =] and the PeerConnection's
presently referenced by the {{RTCPeerConnection}}'s
[= set of transceivers =] and the {{RTCPeerConnection}}'s
{{RTCPeerConnection/[[SctpTransport]]}}
internal slot if not <code>null</code>.
</p>
Expand All @@ -1004,7 +1005,7 @@ <h4>
"checking",
"completed",
"connected"
};</pre>
};</pre>
<div id="rtciceconnectionstate-description">
<table data-link-for="RTCIceConnectionState" data-dfn-for=
"RTCIceConnectionState" class="simple">
Expand Down Expand Up @@ -1101,8 +1102,8 @@ <h4>
</table>
<p>
The set of transports considered is the one
presently referenced by the PeerConnection's
[= set of transceivers =] and the PeerConnection's
presently referenced by the {{RTCPeerConnection}}'s
[= set of transceivers =] and the {{RTCPeerConnection}}'s
{{RTCPeerConnection/[[SctpTransport]]}}
internal slot if not <code>null</code>.
</p>
Expand Down Expand Up @@ -2284,7 +2285,7 @@ <h4>
<li>
<p>
If <var>description</var> is missing any of
the previously negototiated layers, then
the previously negotiated layers, then
remove the dictionaries that correspond to
the missing layers from
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}.
Expand Down Expand Up @@ -7550,7 +7551,7 @@ <h2>
to act differently.
</p>
<p>
An {{RTCPeerConnection}} object contains a <dfn id="transceivers-set"
An {{RTCPeerConnection}} object contains a <dfn class="export" id="transceivers-set"
data-lt="set of transceivers">set of {{RTCRtpTransceiver}}s</dfn>,
representing the paired senders and receivers with some shared state.
<span data-tests="RTCPeerConnection-getTransceivers.html">This set is
Expand Down Expand Up @@ -8404,7 +8405,7 @@ <h2>
</dt>
<dd>
<p>
When the remote PeerConnection's track event fires
When the remote {{RTCPeerConnection}}'s track event fires
corresponding to the {{RTCRtpReceiver}} being added, these
are the streams that will be put in the event.
</p>
Expand Down Expand Up @@ -8783,7 +8784,7 @@ <h3>
</li>
<li class="no-test-needed">
<p>
Let <var>sender</var> have a <dfn data-dfn-for="RTCRtpSender">[[\SendEncodings]]</dfn>
Let <var>sender</var> have a <dfn class="export" data-dfn-for="RTCRtpSender">[[\SendEncodings]]</dfn>
internal slot, representing a list of
{{RTCRtpEncodingParameters}} dictionaries.
</p>
Expand Down Expand Up @@ -8813,7 +8814,7 @@ <h3>
</li>
<li>
<p>
Let <var>sender</var> have a <dfn data-dfn-for="RTCRtpSender">[[\SendCodecs]]</dfn> internal
Let <var>sender</var> have a <dfn class="export" data-dfn-for="RTCRtpSender">[[\SendCodecs]]</dfn> internal
slot, representing a list of {{RTCRtpCodecParameters}}
dictionaries, and initialized to an empty list.
</p>
Expand Down Expand Up @@ -10590,7 +10591,7 @@ <h3>
</li>
<li data-tests="RTCPeerConnection-addTransceiver.https.html">
<p>
Let <var>transceiver</var> have a <dfn data-dfn-for="RTCRtpTransceiver">[[\Sender]]</dfn> internal
Let <var>transceiver</var> have a <dfn class="export" data-dfn-for="RTCRtpTransceiver">[[\Sender]]</dfn> internal
slot, initialized to <var>sender</var>.
</p>
</li>
Expand Down Expand Up @@ -10643,7 +10644,7 @@ <h3>
</li>
<li>
<p>
Let <var>transceiver</var> have a <dfn data-dfn-for="RTCRtpTransceiver">[[\PreferredCodecs]]</dfn>
Let <var>transceiver</var> have a <dfn class="export" data-dfn-for="RTCRtpTransceiver">[[\PreferredCodecs]]</dfn>
internal slot, initialized to an empty list.
</p>
</li>
Expand Down Expand Up @@ -11108,18 +11109,13 @@ <h2>
be removed from the mapping of payload types in the SDP.
</p>
<p>
The <var>codecs</var> sequence passed into
{{setCodecPreferences}} can only contain codecs that are
returned by
{{setCodecPreferences}} will reject attempts to set <var>codecs</var>
[= codec match | not matching =] codecs found in
{{RTCRtpSender}}.{{RTCRtpSender/getCapabilities}}(<var>kind</var>)
or
{{RTCRtpReceiver}}.{{RTCRtpReceiver/getCapabilities}}(<var>kind</var>),
where <var>kind</var> is the kind of the
{{RTCRtpTransceiver}} on which the method is called.
Additionally, the {{RTCRtpCodecCapability}} dictionary
members cannot be modified. If <var>codecs</var> does not
fulfill these requirements, the user agent MUST [=
exception/throw =] an {{InvalidModificationError}}.
</p>
<p class="note">
Due to a recommendation in [[!SDP]], calls to
Expand Down Expand Up @@ -11195,9 +11191,10 @@ <h2>
For each <var>codec</var> in <var>codecs</var>,
</p>
<ol>
<li>If <var>codec</var> is not in
<var>codecCapabilities</var>, throw
{{InvalidModificationError}}.
<li>
<p>If <var>codec</var> does [= codec match | not match any codec =]
in <var>codecCapabilities</var>, throw {{InvalidModificationError}}.
</p>
</li>
</ol>
</li>
Expand All @@ -11208,6 +11205,48 @@ <h2>
</p>
</li>
</ol>
<div id="setcodecparameters-algorithm">
<p> The <dfn class="export">codec match</dfn> algorithm given two {{RTCRtpCodec}}
<var>first</var> and <var>second</var> is as follows:
</p>
<ol class=algorithm>
<li>
<p>
If <var>first</var>.{{RTCRtpCodec/mimeType}} is different from
<var>second</var>.{{RTCRtpCodec/mimeType}}, return <code>false</code>.
</p>
</li>
<li>
<p>
If <var>first</var>.{{RTCRtpCodec/clockRate}} is different from
<var>second</var>.{{RTCRtpCodec/clockRate}}, return <code>false</code>.
</p>
</li>
<li>
<p>
If either (but not both) of <var>first</var>.{{RTCRtpCodec/channels}}
and <var>second</var>.{{RTCRtpCodec/channels}} are [= map/exist | missing =],
or if they both [= map/exist =] and <var>first</var>.{{RTCRtpCodec/channels}}
is different from <var>second</var>.{{RTCRtpCodec/channels}}, return
<code>false</code>.
</p>
</li>
<li>
<p>
If either (but not both) of <var>first</var>.{{RTCRtpCodec/sdpFmtpLine}}
and <var>second</var>.{{RTCRtpCodec/sdpFmtpLine}} are [= map/exist | missing =],
or if they both [=map/exist=] and <var>first</var>.{{RTCRtpCodec/sdpFmtpLine}}
is different from <var>second</var>.{{RTCRtpCodec/sdpFmtpLine}}, return
<code>false</code>.
</p>
</li>
<li>
<p>
Return <code>true</code>.
</p>
</li>
</ol>
</div>
<p class="note">
If set, the offerer's codec preferences will decide the order
of the codecs in the offer. If the answerer does not have any
Expand Down Expand Up @@ -15818,6 +15857,7 @@ <h3>
{{RTCIceCandidatePairStats/bytesSent}},
{{RTCIceCandidatePairStats/bytesReceived}},
{{RTCIceCandidatePairStats/totalRoundTripTime}},
{{RTCIceCandidatePairStats/responsesReceived}},
{{RTCIceCandidatePairStats/currentRoundTripTime}}
</td>
</tr>
Expand Down

0 comments on commit d7b7183

Please sign in to comment.