From: Kinsey Moore Date: Fri, 6 Jun 2014 19:13:08 +0000 (+0000) Subject: PJSIP: Remove premature write of raw formats X-Git-Tag: 13.0.0-beta1~234 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5510e3c699a6f0e6318bbfe4f27b241f42e4c2dc;p=thirdparty%2Fasterisk.git PJSIP: Remove premature write of raw formats Currently, there are situations that can occur when using chan_pjsip and certain dialplan applications (notably ChanSpy()) that can cause the channel to get no audio with scrolling warnings about format mismatches. This is caused by a failure to update translation paths on a mid-call native format update since the raw formats have already been updated by res_pjsip_sdp_rtp.c in set_caps(). Removing the premature raw format updates allows the translation paths to be setup correctly and the raw read and write formats with them. AFS-63 #close ........ Merged revisions 415342 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@415343 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_pjsip_sdp_rtp.c b/res/res_pjsip_sdp_rtp.c index 43f0832acf..59fa647d9c 100644 --- a/res/res_pjsip_sdp_rtp.c +++ b/res/res_pjsip_sdp_rtp.c @@ -251,8 +251,6 @@ static int set_caps(struct ast_sip_session *session, struct ast_sip_session_medi /* Apply the new formats to the channel, potentially changing read/write formats while doing so */ ast_format_cap_copy(ast_channel_nativeformats(session->channel), caps); - ast_format_copy(ast_channel_rawwriteformat(session->channel), &fmt); - ast_format_copy(ast_channel_rawreadformat(session->channel), &fmt); ast_set_read_format(session->channel, ast_channel_readformat(session->channel)); ast_set_write_format(session->channel, ast_channel_writeformat(session->channel)); }