w3c / webrtc-pc

WebRTC 1.0 API
https://w3c.github.io/webrtc-pc/
Other
437 stars 115 forks source link

Support for RRID and FEC/RTX RIDs? #1496

Closed aboba closed 7 years ago

aboba commented 7 years ago

As noted in the message below, it is suggested that FEC/RTX streams can have their own RIDs and that the RRID is needed in order to support robustness (RTX/FEC) in simulcast:

See: https://www.ietf.org/mail-archive/web/mmusic/current/msg18035.html

Does it make sense to expose the RRID somewhere, such as in RTCRtpRtxParameters and RTCRtpFecParameters ? What about FEC/RTX RIDs?

stefhak commented 7 years ago

@aboba what would be the use of the exposed RRID?

aboba commented 7 years ago

If present, the RRID links RTX/FEC protection/retransmission streams to the corresponding simulcast streams. But since it is not surfaced, it isn't clear from the object model whether the RRID has been negotiated or not. If the SSRC field in RTCRtpRtxParameters and RTCRtpFecParameters is removed and it is not clear if the RRID is negotiated, then there might not be an obvious way to associate an encoding with its corresponding FEC and RTX streams, other than guessing that the RTX and FEC streams would include an RRID equal to encodings[].rid.

pthatcherg commented 7 years ago

If there were an .rrid on the rtx or fec parameters, it would have to be equal to the encoding .rid, would it not? So doesn't that mean it's really a bool of .usesRrid? And if so, why is that useful for the app to know?

stefhak commented 7 years ago

In response to https://github.com/w3c/webrtc-pc/issues/1496#issuecomment-317640021: I understand that the UA must be able to associate what encoding FEC and RTX streams belong to in order to be able to use the FEC/RTX data to recover from packet losses. But it's still not clear to me why it would be helpful for the app to have this info.

aboba commented 7 years ago

Discussion of RTX/FEC RIDs on the MMUSIC mailing list: https://www.ietf.org/mail-archive/web/mmusic/current/msg18062.html