diff --git a/webrtc.html b/webrtc.html index 4e5312dc6..9b1c5811e 100644 --- a/webrtc.html +++ b/webrtc.html @@ -5235,7 +5235,7 @@

Methods

true, throw an InvalidStateError.

-
  • Validate sendEncodings by running the following steps: +
  • Validate sendEncodings by running the following steps:
    1. Verify that each rid @@ -7363,11 +7363,12 @@

      Simulcast functionality

      The addTransceiver method establishes the "simulcast envelope" which includes the maximum number of simulcast streams that can be sent, as well as the ordering of the encodings. While characteristics of individual simulcast streams can be modified using the setParameters - method, the "simulcast envelope" cannot be changed. One of the implications of this model is that + method, the simulcast envelope (the maximum number of simulcast encodings and the order of + the encodings) cannot be changed. One of the implications of this model is that the addTrack method cannot provide simulcast functionality since it does not take sendEncodings as an argument, and therefore cannot configure - an RTCRtpTransceiver with a "simulcast envelope".

      -

      While setParameters cannot modify "simulcast envelope", it is still possible to control the + an RTCRtpTransceiver to send simulcast.

      +

      While setParameters cannot modify the simulcast envelope, it is still possible to control the number of streams that are sent and the characteristics of those streams. Using setParameters, simulcast streams can be made inactive by setting the active attribute to false, or can be reactivated by setting the active @@ -7395,37 +7396,22 @@

      Simulcast functionality

      Encoding Parameter Examples

      -

      Below are examples of simulcast usage scenarios implemented with encoding parameters.

      +

      Examples of simulcast scenarios implemented with encoding parameters:

      -   // Example of 3-layer spatial simulcast
      -var encodings = [{
      -  // Simulcast layer at full scale
      -  rid: "f",
      -  scaleResolutionDownBy: 1.0
      -}, {
      -  // Simulcast layer at one half scale
      -  rid: "h",
      -  scaleResolutionDownBy: 2.0
      -}, {
      -  // Simulcast layer at one quarter scale
      -  rid: "q",
      -  scaleResolutionDownBy: 4.0
      -}];
      -
      +   
       // Example of 3-layer spatial simulcast with all but the lowest resolution layer disabled
      -var encodings = [{
      -  rid: "f",
      -  scaleResolutionDownBy: 1.0,
      -  active: false
      -}, {
      -  rid: "h",
      -  scaleResolutionDownBy: 2.0,
      -  active: false
      -}, {
      -  rid: "q",
      -  scaleResolutionDownBy: 4.0,
      -  active: true
      -}];
      +var encodings = [
      +  {rid: 'f', active: false},
      +  {rid: 'h', active: false, scaleResolutionDownBy: 2.0},
      +  {rid: 'q', active: true, scaleResolutionDownBy: 4.0}
      +];
      +
      +// Example of 3-layer framerate simulcast with the middle layer disabled
      +var encodings = [
      +  {rid: 'f', active: true, maxFramerate: 60},
      +  {rid: 'h', active: false, maxFramerate: 30},
      +  {rid: 'q', active: true, maxFramerate: 15}
      +];