[webrtc-svc] S modes and a single active simulcast layer (#73)

Orphis has just created a new issue for https://github.com/w3c/webrtc-svc:

== S modes and a single active simulcast layer ==
Should we allow S modes to work with simulcast layers if there are not more than 1 active layer?
At the moment, the spec will reject the configuration if there are more than 1 layer, no matter the state. We could allow S modes on the first layer only if the first layer is active, or none are active.

I think it could be useful to negotiate simulcast all the time for applications in case SVC isn't supported and we fallback to a codec that isn't able to accommodate the SVC configuration, in which case, we may want to configure simulcast.

For example:
```js
pc.addTransceiver(track, {
      direction: 'sendonly',
      sendEncodings: [
        {rid: 'q', scaleResolutionDownBy: 1.0, scalabilityMode: 'S3T3', active: true}
        {rid: 'h', active: false},
        {rid: 'f', active: false},
      ]    
});
// Later, we figure out VP8 was negotiated and scalabilityMode automatically downgraded,
// getParameters() could return something like:
[
        {rid: 'q', scaleResolutionDownBy: 1.0, scalabilityMode: 'L1T3', active: true}
        {rid: 'h', active: false},
        {rid: 'f', active: false},
]
// So we update our configuration with setParameters():
[
        {rid: 'q', scaleResolutionDownBy: 4.0, scalabilityMode: 'L1T3', active: true}
        {rid: 'h', scaleResolutionDownBy: 2.0, scalabilityMode: 'L1T3', active: true},
        {rid: 'f', scaleResolutionDownBy: 1.0, scalabilityMode: 'L1T3', active: true},
]    
```

This would prevent the need to renegotiate to add a second transceiver to do simulcast or to negotiate 2 transceivers upfront, 1 for SVC and 1 for simulcast fallback.

Please view or discuss this issue at https://github.com/w3c/webrtc-svc/issues/73 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 14 September 2022 15:43:59 UTC