diff --git a/amendments.json b/amendments.json index 21af09c14..5bf87432b 100644 --- a/amendments.json +++ b/amendments.json @@ -365,5 +365,25 @@ "status": "candidate", "id": 25 } + ], + "apply-local-description": [ + { + "description": "Prune createAnswer()'s encodings and SendEncodings in sLD(answer).", + "pr": 2801, + "difftype": "modify", + "type": "correction", + "status": "candidate", + "id": 26 + } + ], + "create-answer-restrictions": [ + { + "description": "Prune createAnswer()'s encodings and SendEncodings in sLD(answer).", + "pr": 2801, + "difftype": "modify", + "type": "correction", + "status": "candidate", + "id": 26 + } ] } diff --git a/base-rec.html b/base-rec.html index ab61b361e..c34fb8170 100644 --- a/base-rec.html +++ b/base-rec.html @@ -2773,7 +2773,7 @@
4.4.1.5 run the following steps for each media description in description:

-
    +
    1. If the media description was not yet associated with an RTCRtpTransceiver @@ -4512,7 +4512,7 @@

      generate an SDP answer, sdpString, as described in [RFC8829] (section 5.3.).

      -
        +
        1. The codec preferences of an m= section's diff --git a/webrtc.html b/webrtc.html index 301ff8230..42a054bf9 100644 --- a/webrtc.html +++ b/webrtc.html @@ -2134,7 +2134,7 @@

          run the following steps for each [= media description =] in description:

          -
            +
            1. If the [= media description =] was not yet [= @@ -2259,6 +2259,35 @@

              following steps:

                +
              1. +

                + If transceiver. + {{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}} + .length is greater than 1, then + run the following steps: +

                +
                  +
                1. +

                  + If description is missing + all of the previously negotiated layers, + then remove all dictionaries in + transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}} + except the first one, and skip the next + step. +

                  +
                2. +
                3. +

                  + If description is missing any of + the previously negototiated layers, then + remove the dictionaries that correspond to + the missing layers from + transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}. +

                  +
                4. +
                +
              2. Set @@ -3977,7 +4006,7 @@

                described in [[!RFC8829]].

                -
                  +
                  1. The codec preferences of an m= section's @@ -4023,17 +4052,33 @@

                  2. - If the length of the {{RTCRtpSender/[[SendEncodings]]}} slot - of the {{RTCRtpSender}} is larger than 1, then for - each encoding given in {{RTCRtpSender/[[SendEncodings]]}} of - the {{RTCRtpSender}}, add an a=rid send line to the corresponding - media section, and add an a=simulcast:send line giving the RIDs - in the same order as given in the - {{RTCRtpSendParameters/encodings}} field. No RID - restrictions are set. + If this is an answer to an offer to receive + simulcast, then for each media section requesting + to receive simulcast, exclude from the media section + in the answer any RID not found in the corresponding + transceiver's + {{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}. + If there are any identically named RIDs in the + a=simulcast attribute, remove all + duplicates except the first one. No RID restrictions are set.

                    +
                    +

                    + When a + {{RTCPeerConnection/setRemoteDescription(offer)}} + establishes a transceiver's [=simulcast envelope=], + the transceiver's + {{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}} + is updated in + {{RTCSignalingState/"have-remote-offer"}}. However, + once a simulcast envelope has been established for + the transceiver, subsequent pruning of the + transceiver's + {{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}} + happen when this answer is set with + {{RTCPeerConnection/setLocalDescription}}. +

                    +