This new API extends WebRTC encoding parameters to allow developers to choose a specific negotiated codec to be used for encoding an RTP stream.
We want to be able to change codec with RTCRtpSender.setParameters() in order to do the following:
Current users of the WebRTC APIs can achieve the similar functionality with multiple calls that are not quite easy to use (renegotiate with a different codec order in the SDP, which is a heavy operation) and are not as efficient (changing the codec and then changing the scalability mode or other parameters may add an extra I-frame that is not needed).
This API also allows to have mixed-codec simulcast, which was not possible previously.
Interoperability risks are low. This is a new dictionary member and API surface, if it isn't used by current applications, it should not cause any impact on compatibility.
No ergonomic risks. This API is part of WebRTC and will be used with other encoding parameters. One of its goal is to improve the WebRTC ergonomics by removing the need to make several calls with possible side effects to change the active codec, which should improve performance as well.
WebRTC is not supported by DevTools at the moment. chrome://webrtc-internals will reflect in the RTP stream statistics which codec is currently used.
No milestones specified