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
This commit is contained in:
Kinsey Moore 2014-06-06 19:13:08 +00:00
parent 077c4187d9
commit 5510e3c699
1 changed files with 0 additions and 2 deletions

View File

@ -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));
}