Commit a05f5052 authored by Timothy B. Terriberry's avatar Timothy B. Terriberry Committed by Martin Storsjö

sdp: Make opus declaration conform to the spec

Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
parent 55174668
......@@ -583,8 +583,18 @@ static char *sdp_write_media_attributes(char *buff, int size, AVCodecContext *c,
payload_type, c->sample_rate);
break;
case AV_CODEC_ID_OPUS:
av_strlcatf(buff, size, "a=rtpmap:%d opus/48000\r\n",
/* The opus RTP draft says that all opus streams MUST be declared
as stereo, to avoid negotiation failures. The actual number of
channels can change on a packet-by-packet basis. The number of
channels a receiver prefers to receive or a sender plans to send
can be declared via fmtp parameters (both default to mono), but
receivers MUST be able to receive and process stereo packets. */
av_strlcatf(buff, size, "a=rtpmap:%d opus/48000/2\r\n",
payload_type);
if (c->channels == 2) {
av_strlcatf(buff, size, "a=fmtp:%d sprop-stereo:1\r\n",
payload_type);
}
break;
default:
/* Nothing special to do here... */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment