

To me it sounds like no spec change is needed in order to achieve receiving stereo. However if "stereo" is missing we default to "stereo=0" so in practise everybody asks for mono at the moment."stereo=1" only talks about receiving preferences, not sending preferences.(Similar to how order of codecs is just a preference.) Even if we announced "stereo=0" we are gently asking to get mono, but the other endpoint is free to send us stereo anyway. All opus endpoints must be prepared to receive stereo.So the SDP mungling that is allowed by current implementation is just a hack due to the lack of APIs and in no way is backed up by any standard. If no value is specified, the default is 0. Usedtx: specifies if the decoder prefers the use of DTX. This parameter is only a preference, and the receiver MUSTīe able to process packets that include FEC information, even if If no value is specified, useinbandfec is assumed toīe 0. Providing 0 when FEC cannot be used on the receiving side is Useinbandfec: specifies that the decoder has the capability to takeĪdvantage of the Opus in-band FEC. Maximum average bitrate can still change, e.g., to adapt to No value is specified, the default is 0 (vbr).


Specifies constant bitrate, and 0 specifies variable bitrate. In case the app wanted to use a mono source and upscale it to stereo or an stereo source and downscale to mono, I think that the best way would to do it via WebAudio before passing it to webrtc.Ĭbr: specifies if the decoder prefers the use of a constant bitrate This should be done automatically by the endpoint by checking the number of channels on the audio track to decide whether stereo or mono should be used. The question is if we need an API to make the sender encode an stereo signal. So the sdp mangling we currently need is a hack and all endpoints should signal stereo=1 in the SDP. Sending stereo signals to a receiver that signaled a preferenceįor mono signals may result in higher than necessary network Receiver MUST be able to receive and decode stereo signals, but Independent of the stereo parameter, every Stereo signals are preferred, and 0 specifies that only mono Possible values are 1 and 0, where 1 specifies that Stereo: specifies whether the decoder prefers receiving stereo or
