From e35fc0d263885c036433e9006c3c03e05c3f6b3c Mon Sep 17 00:00:00 2001 From: Jan-Ivar Bruaroey Date: Wed, 26 Oct 2022 18:52:49 -0400 Subject: [PATCH 1/4] Don't fail sRD(offer) over rid mismatch, just answer with unicast. --- amendments.json | 12 +++++++++++- base-rec.html | 2 +- webrtc.html | 35 +++++------------------------------ 3 files changed, 17 insertions(+), 32 deletions(-) diff --git a/amendments.json b/amendments.json index 790861e69..ffeb5fad9 100644 --- a/amendments.json +++ b/amendments.json @@ -316,5 +316,15 @@ "status": "candidate", "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 + } + ], } diff --git a/base-rec.html b/base-rec.html index 804d8527e..76bbbf034 100644 --- a/base-rec.html +++ b/base-rec.html @@ -3061,7 +3061,7 @@
4.4.1.5

  1. -

    +

    If description indicates that simulcast is not supported or desired, then remove all dictionaries in diff --git a/webrtc.html b/webrtc.html index 4c2fd7417..33ebd4504 100644 --- a/webrtc.html +++ b/webrtc.html @@ -1755,33 +1755,6 @@

    it were in stable state.

  2. -
  3. -

    - If remote is true, and - description is of type - {{RTCSdpType/"offer"}}, then for each - [= media description =] requesting to receive simulcast - that already has an existing {{RTCRtpTransceiver}} object, - transceiver, associated with it, as described in - [[!RFC8829]], - if none of the encodings in - transceiver.{{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 description. -

    - 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. -
    -

    -
  4. If the

    1. -

      +

      If description indicates that - simulcast is not supported or desired, + simulcast is not supported or desired, or + description is missing all of + the previously negotiated layers, then remove all dictionaries in transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}} except the first one and abort these sub @@ -2477,7 +2452,7 @@

    2. If description is missing any of - the previously negototiated layers, then + the previously negotiated layers, then remove the dictionaries that correspond to the missing layers from transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}. From 5c895b6d39c3772f5a564ea1d4d84d3fc9ea5f09 Mon Sep 17 00:00:00 2001 From: Jan-Ivar Bruaroey Date: Wed, 26 Oct 2022 19:15:49 -0400 Subject: [PATCH 2/4] Fix amendments to reflect removal of prose. --- amendments.json | 12 ++++++++++-- base-rec.html | 2 +- webrtc.html | 6 ++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/amendments.json b/amendments.json index ffeb5fad9..f754e93d9 100644 --- a/amendments.json +++ b/amendments.json @@ -140,7 +140,7 @@ "id": 12 } ], - "remote-rid-reneg": [ + "process-to-apply-description": [ { "description": "Narrow rejection of simulcast to remotely initiated offers", "pr": 2757, @@ -156,6 +156,14 @@ "type": "correction", "status": "candidate", "id": 22 + }, + { + "description": "Don't fail sRD(offer) over rid mismatch, just answer with unicast.", + "pr": 2794, + "difftype": "modify", + "type": "correction", + "status": "candidate", + "id": 23 } ], "direction-set": [ @@ -326,5 +334,5 @@ "status": "candidate", "id": 23 } - ], + ] } diff --git a/base-rec.html b/base-rec.html index 76bbbf034..1f4baed21 100644 --- a/base-rec.html +++ b/base-rec.html @@ -2404,7 +2404,7 @@

      4.4.1.5 description as described in [RFC8829] (section 5.5. and section 5.6.), with these additional restrictions:

      -
        +
        1. Use jsepSetOfTransceivers as the source of diff --git a/webrtc.html b/webrtc.html index 33ebd4504..5960786f4 100644 --- a/webrtc.html +++ b/webrtc.html @@ -1722,7 +1722,7 @@

          "processing-a-local-desc processing-a-remote-desc">[[!RFC8829]], with these additional restrictions:

          -
            +
            1. Use jsepSetOfTransceivers as the source of @@ -1757,9 +1757,7 @@

            2. - If the process to apply - description fails for + If the process to apply description fails for any reason, then the user agent MUST queue a task that runs the following steps:

              From f9a37caf4fd1988ce827188b2e255d63d76ef27d Mon Sep 17 00:00:00 2001 From: Jan-Ivar Bruaroey Date: Mon, 31 Oct 2022 14:40:19 -0400 Subject: [PATCH 3/4] Removed paragraph collapses amendment 2757 and part of 2758 --- amendments.json | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/amendments.json b/amendments.json index f754e93d9..c2b424b39 100644 --- a/amendments.json +++ b/amendments.json @@ -141,22 +141,6 @@ } ], "process-to-apply-description": [ - { - "description": "Narrow rejection of simulcast to remotely initiated offers", - "pr": 2757, - "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 - }, { "description": "Don't fail sRD(offer) over rid mismatch, just answer with unicast.", "pr": 2794, From a9399f5825f98c631d32e2b61b5131a08421bcab Mon Sep 17 00:00:00 2001 From: Dominique Hazael-Massieux Date: Tue, 8 Nov 2022 17:42:30 +0100 Subject: [PATCH 4/4] Fix description of amendments --- amendments.json | 2 +- base-rec.html | 6 +++--- webrtc.html | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/amendments.json b/amendments.json index c2b424b39..12ba4a3c0 100644 --- a/amendments.json +++ b/amendments.json @@ -140,7 +140,7 @@ "id": 12 } ], - "process-to-apply-description": [ + "remote-rid-reneg": [ { "description": "Don't fail sRD(offer) over rid mismatch, just answer with unicast.", "pr": 2794, diff --git a/base-rec.html b/base-rec.html index 1f4baed21..8b1dceafb 100644 --- a/base-rec.html +++ b/base-rec.html @@ -2404,7 +2404,7 @@
              4.4.1.5 description as described in [RFC8829] (section 5.5. and section 5.6.), with these additional restrictions:

              -
                +
                1. Use jsepSetOfTransceivers as the source of @@ -2421,8 +2421,8 @@

                  4.4.1.5 it were in stable state.

                2. -
                3. -

                  +

                4. +

                  If applying description leads to modifying a transceiver transceiver, and transceiver.[[Sender]].[[SendEncodings]] diff --git a/webrtc.html b/webrtc.html index 5960786f4..935591037 100644 --- a/webrtc.html +++ b/webrtc.html @@ -1722,7 +1722,7 @@

                  "processing-a-local-desc processing-a-remote-desc">[[!RFC8829]], with these additional restrictions:

                  -
                    +
                    1. Use jsepSetOfTransceivers as the source of @@ -1755,6 +1755,7 @@

                      it were in stable state.

                    2. +
                    3. If the process to apply description fails for