mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
res_pjsip_sdp_rtp: Enable Opus to be negotiated via SIP/SDP.
In SIP/SDP, Opus has two channels always (see RFC 7587 section 7). The actual amount of channels is negotiated in-band. Therefore now, the Opus codec and its attribute rtpmap are registered with two channels. ASTERISK-24779 #close Reported by: PowerPBX Tested by: Alexander Traud patches: asterisk-24779.patch submitted by Sean Bright (license #5060) Change-Id: Ic7ac13cafa1d3450b4fa4987350924b42cbb657b
This commit is contained in:
@@ -387,8 +387,11 @@ static pjmedia_sdp_attr* generate_rtpmap_attr(struct ast_sip_session *session, p
|
||||
rtpmap.pt = media->desc.fmt[media->desc.fmt_count - 1];
|
||||
rtpmap.clock_rate = ast_rtp_lookup_sample_rate2(asterisk_format, format, code);
|
||||
pj_strdup2(pool, &rtpmap.enc_name, ast_rtp_lookup_mime_subtype2(asterisk_format, format, code, options));
|
||||
rtpmap.param.slen = 0;
|
||||
rtpmap.param.ptr = NULL;
|
||||
if (!pj_stricmp2(&rtpmap.enc_name, "opus")) {
|
||||
pj_cstr(&rtpmap.param, "2");
|
||||
} else {
|
||||
pj_cstr(&rtpmap.param, NULL);
|
||||
}
|
||||
|
||||
pjmedia_sdp_rtpmap_to_attr(pool, &rtpmap, &attr);
|
||||
|
||||
|
Reference in New Issue
Block a user