Re: Issue 497: RID as read-only in setParameters()?

On 2/11/16 12:01 PM, Bernard Aboba wrote:
>
> Issue link: https://github.com/w3c/webrtc-pc/issues/497 
> <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()
>

So currently in Firefox Nightly, users can do this:

|var sender = pc.addTrack(stream.getVideoTracks()[0], stream); 
sender.setParameters({ encodings: [{ rid: "A", maxBitrate: 300000 }, { 
rid: "B", maxBitrate: 100000 }] }); pc.createOffer().then(d => 
pc1.setLocalDescription(d)); |


Works without having to use |addTranceiver|. Did we decide this should 
not work?


This is perhaps a separate question from whether RIDs should be be 
modifiable after O/A.

.: Jan-Ivar :.

> 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().
>

Received on Thursday, 11 February 2016 19:27:09 UTC