setCodecPreferences() configures the transceiver's codecs given a list of
RTCRtpCodecParameters objects specifying the new preferences for each codec. The specified set of codecs and configurations will be used for all future connections including this transceiver until this method is called again.
When preparing to open an
RTCPeerConnection, you can change the codec parameters from the user agent's default configuration by calling
setCodecParameters() before calling either
- An array of
RTCRtpCodecParametersobjects, in order of preference, each providing the parameters for one of the transceiver's supported codecs. If
codecsis empty, the codec configurations are all returned to the user agent's defaults.Note: Any codecs not included in
codecswill not be considered during the process of negotiating a connection. This lets you prevent the use of codecs you don't wish to use.
codecslist includes one or more codecs which are not supported by the transceiver.
Getting a list of supported codecs
You can only include in the
codecs list codecs which the transceiver actually supports. That means that either the associated
RTCRtpSender or the
RTCRtpReceiver needs to support every codec in the list. If any unsupported codecs are listed, the browser will throw an
InvalidAccessError exception when you call this method.
This code shows how to get the lists of supported codecs for both sender and receiver:
var availSendCodecs = transceiver.sender.getCapabilities("video").codecs; var availReceiveCodecs = transceiver.receiver.getCapabilities("video").codecs;
|WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCRtpTransceiver.setCodecPreferences()' in that specification.