Skip to content

Commit

Permalink
Merge branch 'main' into rollbackencodings
Browse files Browse the repository at this point in the history
  • Loading branch information
jan-ivar committed Dec 13, 2022
2 parents db9cce3 + eba2dc3 commit 1c8cf41
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 87 deletions.
38 changes: 27 additions & 11 deletions amendments.json
Expand Up @@ -142,20 +142,12 @@
],
"remote-rid-reneg": [
{
"description": "Narrow rejection of simulcast to remotely initiated offers",
"pr": 2757,
"description": "Don't fail sRD(offer) over rid mismatch, just answer with unicast.",
"pr": 2794,
"difftype": "modify",
"type": "correction",
"status": "candidate",
"id": 13
},
{
"description": "Allow remote offer rid pruning of encodings through the client answer.",
"pr": 2758,
"difftype": "modify",
"type": "correction",
"status": "candidate",
"id": 22
"id": 23
}
],
"direction-set": [
Expand Down Expand Up @@ -270,6 +262,13 @@
"type": "correction",
"status": "candidate",
"id": 20
},
{
"description": "Remove maxFramerate like scaleResolutionDownBy for audio",
"pr": 2799,
"type": "correction",
"status": "candidate",
"id": 24
}
],
"setparameters-algo": [
Expand All @@ -293,6 +292,13 @@
"type": "addition",
"status": "candidate",
"id": 19
},
{
"description": "Remove maxFramerate like scaleResolutionDownBy for audio",
"pr": 2799,
"type": "correction",
"status": "candidate",
"id": 24
}
],
"create-sender-algo": [
Expand Down Expand Up @@ -340,6 +346,16 @@
"id": 22
}
],
"answer-missing-encodings": [
{
"description": "Don't fail sRD(offer) over rid mismatch, just answer with unicast.",
"pr": 2794,
"difftype": "modify",
"type": "correction",
"status": "candidate",
"id": 23
}
],
"set-last-stable-offer-properties": [
{
"description": "Rollback restores ridless encoding trounced by sRD(simulcastOffer).",
Expand Down
3 changes: 2 additions & 1 deletion amendments.md
@@ -1,4 +1,5 @@
* Identify the `id` of the element that wraps the amended content (or alternatively, add a container and/or an `id` to base-rec.html and the relevant block in the editors draft); an element with an `id` used to an existing amendment cannot contain another such container - when such a situation arises, use the top-most container `id`
* to mark up a container as removed in the new version, keep the element in the editors draft with the container `id` set, and add the class `diff-rm` to make sure it doesn't show up
* Add an array under that `id` as top level key in `amendments.json`, or complete the existing array if that `id` is already used
* Add an an object to that array with keys:
* `description`: an HTML description of what the change is,
Expand All @@ -10,7 +11,7 @@

Limitations:
* does not allow to handle different type of changes ("modification" vs "append") in a single section - treating all of them as modification should suffice in such a situation
* does not allow to handle different type of amendment ("correction" vs "addition") or different status of amendment ("candidate" vs "proposed") in a single section - the only alternative is to find a lower granularity section should that be needed
* does not allow to handle different status of amendment ("candidate" vs "proposed") in a single section - the only alternative is to find a lower granularity section should that be needed

# Upon publication of a new Recommendation that integrates amendments
* remove said amendments from amendments.json
Expand Down
6 changes: 3 additions & 3 deletions base-rec.html
Expand Up @@ -2421,8 +2421,8 @@ <h5 id="x4-4-1-5-set-the-session-description"><bdi class="secno">4.4.1.5 </bdi>
it were in stable state.
</p>
</li>
<li class="needs-tests">
<p id="remote-rid-reneg">
<li class="needs-tests" id="remote-rid-reneg">
<p>
If applying <var>description</var> leads to modifying a
transceiver <var>transceiver</var>, and
<var>transceiver</var>.<a href="#dfn-sender" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-sender-1">[[Sender]]</a>.<a href="#dfn-sendencodings" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-sendencodings-1">[[SendEncodings]]</a>
Expand Down Expand Up @@ -3061,7 +3061,7 @@ <h5 id="x4-4-1-5-set-the-session-description"><bdi class="secno">4.4.1.5 </bdi>
</p>
<ol>
<li class="needs-tests">
<p>
<p id="answer-missing-encodings">
If <var>description</var> indicates that
simulcast is not supported or desired,
then remove all dictionaries in
Expand Down
65 changes: 36 additions & 29 deletions respec-w3c-common.js

Large diffs are not rendered by default.

65 changes: 22 additions & 43 deletions webrtc.html
Expand Up @@ -1755,38 +1755,10 @@ <h4>
it were in stable state.
</p>
</li>
<li>
<p id="remote-rid-reneg">
If <var>remote</var> is <code>true</code>, and
<var>description</var> is of type
{{RTCSdpType/"offer"}}, then for each
[= media description =] requesting to receive simulcast
that already has an existing {{RTCRtpTransceiver}} object,
<var>transceiver</var>, associated with it, as described in
<span data-jsep="applying-a-remote-desc">[[!RFC8829]]</span>,
if none of the encodings in
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}
[=map/contain=] a {{RTCRtpCodingParameters/rid}} member
whose value matches any of the rids in the simulcast
attribute, then [= description fails | fail =] the
process of applying <var>description</var>.
<div class="note">
A change in rids values is tolerated in remote offers to
receive simulcast as long as at least one rid matches a
rid in the encodings that were previously negotiated, or
the offer is to no longer receive simulcast.
Mismatched or out-of-order rids result in layer removal,
and layer expansion is prevented in user agent answers.
This specification does not allow remotely initiated RID
renegotiation.
</div>
</p>
</li>
<li id="remote-rid-reneg" class="diff-rm"><!-- kept for candidate amendment management --></li>
<li>
<p>
If the <dfn data-lt="description fails"
id="fail-description">process to apply
<var>description</var> fails</dfn> for
If the process to apply <var>description</var> fails for
any reason, then the user agent MUST queue a task that
runs the following steps:
</p>
Expand Down Expand Up @@ -2475,9 +2447,11 @@ <h4>
</p>
<ol>
<li>
<p>
<p id="answer-missing-encodings">
If <var>description</var> indicates that
simulcast is not supported or desired,
simulcast is not supported or desired, or
<var>description</var> is missing all of
the previously negotiated layers,
then remove all dictionaries in
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}
except the first one and abort these sub
Expand All @@ -2487,7 +2461,7 @@ <h4>
<li>
<p id="answer-rejects-encodings">
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 @@ -8163,8 +8137,10 @@ <h2>
<li data-tests="RTCRtpParameters-encodings.html">
<p>
If <var>kind</var> is `"audio"`, remove the
{{RTCRtpEncodingParameters/scaleResolutionDownBy}}
member from all encodings that [=map/contain=] one.
{{RTCRtpEncodingParameters/scaleResolutionDownBy}} and
{{RTCRtpEncodingParameters/maxFramerate}}
members from all encodings that [=map/contain=] any of
them.
</p>
</li>
<li data-tests="RTCRtpParameters-encodings.html">
Expand Down Expand Up @@ -8935,9 +8911,10 @@ <h2>
<li data-tests="RTCRtpParameters-encodings.html">
<p>
If <a>transceiver kind</a> is `"audio"`, remove the
{{RTCRtpEncodingParameters/scaleResolutionDownBy}}
member from all <var>encodings</var> that
[=map/contain=] one.
{{RTCRtpEncodingParameters/scaleResolutionDownBy}} and
{{RTCRtpEncodingParameters/maxFramerate}}
members from all <var>encodings</var> that
[=map/contain=] any of them.
</p>
</li>
<li data-tests="RTCRtpParameters-encodings.html">
Expand Down Expand Up @@ -9652,7 +9629,10 @@ <h2>
"idlMemberType">double</span>
</dt>
<dd>
<p>When present, indicates the maximum frame rate that can be used to
<p>
This member can only be present if the sender's <code class=
"gum">kind</code> is <code>"video"</code>.
When present, indicates the maximum frame rate that can be used to
send this encoding, in frames per second. The <a>user agent</a> is free
to allocate bandwidth between the encodings, as long as the
{{maxFramerate}} value is not exceeded.</p>
Expand Down Expand Up @@ -16421,15 +16401,14 @@ <h3>
channel.onopen = () =&gt; input.disabled = false;
channel.onmessage = ({data}) =&gt; showChatMessage(data);

input.onkeypress = ({keyCode}) =&gt; {
// only send when user presses enter
if (keyCode != 13) return;
input.onkeydown = ({key}) =&gt; {
if (key != 'Enter') return;
channel.send(input.value);
}
}

signaling.onmessage = async ({data: {description, candidate}}) =&gt; {
if (!pc) start(false);
if (!pc) start();

try {
if (description) {
Expand Down

0 comments on commit 1c8cf41

Please sign in to comment.