Re: [webrtc-pc] setCodecPreferences vs unidirectional codecs (#2888)

Harald:
> setCodecPreferences() is setting the list of PTs at the end of the m= line, which indicates which codecs you prefer to receive.

The spec says [this](https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-setcodecpreferences):
> setCodecPreferences will reject attempts to set codecs not matching codecs found in RTCRtpSender.getCapabilities(kind) or 
> RTCRtpReceiver.getCapabilities(kind), where kind is the kind of the RTCRtpTransceiver on which the method is called.

and a little below
> If the intersection between codecs and RTCRtpSender.getCapabilities(kind).codecs

which led me to believe that the input also comes from the sender capabilities.

JSEP makes it [quite clear](https://www.rfc-editor.org/rfc/rfc8829.html#section-4.2.6) what the original intent was:
> Note that setCodecPreferences does not directly affect which codec the implementation decides to send. 
> It only affects which codecs the implementation indicates that it prefers to receive

but webrtc-pc does not? The solution seems to be to align with JSEP.

-- 
GitHub Notification of comment by fippo
Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/2888#issuecomment-1821469896 using your GitHub account


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

Received on Tuesday, 21 November 2023 18:48:06 UTC