diff --git a/index.html b/index.html index 8a54014..8d74f15 100644 --- a/index.html +++ b/index.html @@ -3373,11 +3373,13 @@

Parameters validation

  • For each value of i from 0 to the number of codecs:

      -
    1. -

      Let codec be withParameters.codecs[i].

      -
    2. +
    3. Let codec be withParameters.codecs[i].

    4. Let clockRate be codec.clockRate.

    5. +
    6. Let channels be codec.channels.

    7. Let name be codec.name.

    8. +
    9. Let maxTemporalLayers be codec.maxTemporalLayers.

    10. +
    11. Let maxSpatialLayers be codec.maxSpatialLayers.

    12. +
    13. Let maxSimulcastStreams be codec.maxSimulcastStreams.

    14. If name or clockrate is unset, throw a TypeError and abort all of these steps.

      @@ -3396,26 +3398,49 @@

      Parameters validation

      If a match is found for a value of j, check that:

      1. -

        If codec.channels is set, check that it is - less than or equal to +

        channels is set and is less than or equal to capabilities.codecs[j].channels. - If not, reject p with a newly created + If this condition is not satisfied, reject p with a newly created NotSupportedError and abort all of these steps.

      2. Each of the values of codec.rtcpFeedback[k].type is included in capabilities.codecs[j].rtcpFeedback.type where k goes from 0 to the number of feedback mechanisms. - If not, reject p with a newly created + If this condition is not satisfied, reject p with a newly created NotSupportedError and abort all of these steps.

      3. Each of the values of codec.parameters[k] is a valid value as indicated by capabilities.codecs[j].parameters where k goes from 0 to the number of codecs. - If not, reject p with a newly created + If this condition is not satisfied, reject p with a newly created NotSupportedError and abort all of these steps.

      4. +
      5. +

        If kind has a value of video and send + has been called, check that the number of simulcast streams for the + codec codec specified in withParameters.encodings[] + does not exceed maxSimulcastStreams. If this condition is not satisfied, + reject p with a newly created RangeError and abort + all of these steps.

        +
      6. +
      7. +

        If kind has a value of video and send + has been called, check that the number of temporal layers for the codec + codec specified in withParameters.encodings[] + does not exceed maxTemporalLayers. If this condition is not satisfied, + reject p with a newly created RangeError and abort + all of these steps.

        +
      8. +
      9. +

        If kind has a value of video and send + has been called, check that the number of spatial layers for the codec + codec specified in withParameters.encodings[] + does not exceed maxSpatialLayers. If this condition is not satisfied, + reject p with a newly created RangeError and abort + all of these steps.

        +
    15. @@ -5078,6 +5103,7 @@

      RTCRtpCodecCapability Dictionary

      sequence<RTCRtcpFeedback> rtcpFeedback; Dictionary parameters; Dictionary options; + unsigned short maxSimulcastStreams = 0; unsigned short maxTemporalLayers = 0; unsigned short maxSpatialLayers = 0; boolean svcMultiStreamSupport; @@ -5159,6 +5185,14 @@

      Dictionary RTCRtpCodecCapability Members

      Codec-specific parameters that may be optionally signalled and are available as additional supported information or settings about the codec.

      + +
      maxSimulcastStreams of type unsigned short, defaulting to + 0
      +
      +

      Maximum number of simulcast extension streams supported by this codec. + (e.g. a value of 1 indicates support for up to 2 simulcast streams). A value + of 0 indicates no support for simulcast.

      maxTemporalLayers of type unsigned short, defaulting to