diff --git a/webrtc.html b/webrtc.html index a83c41ba2..388a7e99d 100644 --- a/webrtc.html +++ b/webrtc.html @@ -2330,24 +2330,24 @@

each of the simulcast layers, populating the {{RTCRtpCodingParameters/rid}} member according to the corresponding rid value, and - let sendEncodings be the list + let receiveEncodings be the list containing the created dictionaries. - Otherwise, let sendEncodings be an + Otherwise, let receiveEncodings be an empty list.

  • Let supportedEncodings be the maximum number of encodings that the implementation can support. If the length of - sendEncodings is greater than + receiveEncodings is greater than supportedEncodings, truncate - sendEncodings so that its length is + receiveEncodings so that its length is supportedEncodings.
  • -
  • If sendEncodings is non-empty, set +
  • If receiveEncodings is non-empty, set each encoding's {{RTCRtpEncodingParameters/scaleResolutionDownBy}} - to 2^(length of sendEncodings - + to 2^(length of receiveEncodings - encoding index - 1).
  • @@ -2364,12 +2364,40 @@

    If a suitable transceiver was found (transceiver is set) and - sendEncodings is non-empty, set - transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}} - to sendEncodings, and set - transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[LastReturnedParameters]]}} - to null. + receiveEncodings is non-empty, run + the following steps:

    +
      +
    1. +

      + If + transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}} + is non-empty, then for each encoding, + encoding, in + transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}, + copy all of encoding's members + and their values to the encoding with the + same {{RTCRtpCodingParameters/rid}} in + receiveEncodings, if there is one. +

      +

      + Set + transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}} + to receiveEncodings, and set + transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[LastReturnedParameters]]}} + to null. +

      + If this step produces a net change in an + existing non-empty + transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}, + then the process of applying + description fails. This + specification does not allow remotely + initiated RID renegotiation. +
      +

      +
    2. +

  • @@ -2384,7 +2412,7 @@

    [= Create an RTCRtpSender =], sender, from the [= media description =] using - sendEncodings. + receiveEncodings.