Issue link: https://github.com/w3c/webrtc-pc/issues/497
The question has arisen as to whether setParameters() can change the RID value.
The specification allows the RID to be set in in addTransceiver() (via init.sendEncodings), prior to calling createOffer()
This results in the setting of the RID value in the SDP produced by createOffer(). An O/A exchange may then occur.
However, after the O/A exchange has completed, is it then possible to change the value of the RID in a call to setParameters() without another O/A exchange?
The effect of such an setParameters() call would include placement of the modified RID value in an SDES header extension to RTP, as well as placement in an SDES RTCP packet, as described here:
https://tools.ietf.org/html/draft-roach-avtext-rid
Assuming that the RTCP SDES packet is not lost, the remote peer will be informed that RTP packets including a new RID value can be expected to arrive (or may have arrived!).
However, without an O/A exchange, won't the remote peer be lacking important information needed to process RTP packets containing the new RID (such as the constraints associated with the new RID value)?
If this is correct, then an SDP O/A exchange is needed, and the RID should be considered "read only" for setParameters().