[asterisk-commits] kpfleming: trunk r47337 - in /trunk: ./
channels/chan_sip.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Wed Nov 8 11:28:53 MST 2006
Author: kpfleming
Date: Wed Nov 8 12:28:53 2006
New Revision: 47337
URL: http://svn.digium.com/view/asterisk?rev=47337&view=rev
Log:
Merged revisions 47333 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r47333 | kpfleming | 2006-11-08 12:07:16 -0600 (Wed, 08 Nov 2006) | 2 lines
add simple fix for SDP to report proper sample rate for G.722 media sessions
........
Modified:
trunk/ (props changed)
trunk/channels/chan_sip.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?rev=47337&r1=47336&r2=47337&view=diff
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Wed Nov 8 12:28:53 2006
@@ -6108,6 +6108,8 @@
}
+#define SDP_SAMPLE_RATE(x) (x == AST_FORMAT_G722) ? 16000 : 8000
+
/*! \brief Add Session Description Protocol message */
static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p)
{
@@ -6232,31 +6234,33 @@
Note that p->prefcodec can include video codecs, so mask them out
*/
if (capability & p->prefcodec) {
- add_codec_to_sdp(p, p->prefcodec & AST_FORMAT_AUDIO_MASK, 8000,
+ int codec = p->prefcodec & AST_FORMAT_AUDIO_MASK;
+
+ add_codec_to_sdp(p, codec, SDP_SAMPLE_RATE(codec),
&m_audio_next, &m_audio_left,
&a_audio_next, &a_audio_left,
debug, &min_audio_packet_size);
- alreadysent |= p->prefcodec & AST_FORMAT_AUDIO_MASK;
+ alreadysent |= codec;
}
/* Start by sending our preferred audio codecs */
for (x = 0; x < 32; x++) {
- int pref_codec;
-
- if (!(pref_codec = ast_codec_pref_index(&p->prefs, x)))
+ int codec;
+
+ if (!(codec = ast_codec_pref_index(&p->prefs, x)))
break;
- if (!(capability & pref_codec))
+ if (!(capability & codec))
continue;
- if (alreadysent & pref_codec)
+ if (alreadysent & codec)
continue;
- add_codec_to_sdp(p, pref_codec, 8000,
+ add_codec_to_sdp(p, codec, SDP_SAMPLE_RATE(codec),
&m_audio_next, &m_audio_left,
&a_audio_next, &a_audio_left,
debug, &min_audio_packet_size);
- alreadysent |= pref_codec;
+ alreadysent |= codec;
}
/* Now send any other common audio and video codecs, and non-codec formats: */
@@ -6268,7 +6272,7 @@
continue;
if (x <= AST_FORMAT_MAX_AUDIO)
- add_codec_to_sdp(p, x, 8000,
+ add_codec_to_sdp(p, x, SDP_SAMPLE_RATE(x),
&m_audio_next, &m_audio_left,
&a_audio_next, &a_audio_left,
debug, &min_audio_packet_size);
More information about the asterisk-commits
mailing list