From 5510e3c699a6f0e6318bbfe4f27b241f42e4c2dc Mon Sep 17 00:00:00 2001 From: Kinsey Moore Date: Fri, 6 Jun 2014 19:13:08 +0000 Subject: [PATCH] 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 --- res/res_pjsip_sdp_rtp.c | 2 -- 1 file changed, 2 deletions(-) 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)); } -- 2.47.2