Closed murillo128 closed 3 years ago
Thanks for raising this issue, Sergio. We had previously examined whether it was possible to provide simulcast information within the bitstream in the multiple SSRC case, and concluded that this did not make sense. However, this information needs to be present somewhere, or else an SFU will find itself wondering whether it is not receiving packets on a stream because of loss, or because the endpoint stopped sending on that stream.
While this is an important problem to solve, it isn't clear that the best solution is to add it to the DD extension.
Currently the DD is codec agnostic, but does not cover the use case for simulcast when sent over multiple SSRCs.
The main requirement for supporting it would be to be able to have the similar mechanism as the active layers mask but for simulcast streams. This will allow fast switching to a different simulcast stream when the current forwarded one is deactivated.
This is a long lasting request for webrtc developers so I think it would be a great opportunity to cover it and increase the adoption of the DD: https://bugs.chromium.org/p/webrtc/issues/detail?id=5207#c46
If we don't do it, the risk is that an alternative solution is proposed for that use case that potentially lowers the DD usage.
We would need to transmit in each separate simulcast streams the following info:
The change could look like this: