summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2011-10-31 15:48:15 +0000
committerNanang Izzuddin <nanang@teluu.com>2011-10-31 15:48:15 +0000
commit3769278bc589f06c94487b5ee958532403a813cc (patch)
tree992e90672222648735e0fd77867dab7d75206fea
parent808789a9ba8c53855fb1d44328286e8231fc22c2 (diff)
Fix #1410:
- Fixed bug in ipp_codecs.c pack_amr() in setting up AMR-WB frame size, i.e: using AMR-NB frame size table instead of AMR-WB's. - Updated AMR-WB default setting to use two frames-per-packet. git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3879 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjmedia/src/pjmedia-codec/ipp_codecs.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/pjmedia/src/pjmedia-codec/ipp_codecs.c b/pjmedia/src/pjmedia-codec/ipp_codecs.c
index b8ad8c0f..dad79735 100644
--- a/pjmedia/src/pjmedia-codec/ipp_codecs.c
+++ b/pjmedia/src/pjmedia-codec/ipp_codecs.c
@@ -247,7 +247,7 @@ ipp_codec[] =
# if PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB
{1, "AMR-WB", PJMEDIA_RTP_PT_AMRWB, &USC_AMRWB_Fxns, 16000, 1, 320,
- 15850, 23850, 1, 1, 1,
+ 15850, 23850, 2, 1, 1,
&predecode_amr, &parse_amr, &pack_amr,
{1, {{{"octet-align", 11}, {"1", 1}}} }
},
@@ -509,8 +509,11 @@ static pj_status_t pack_amr(ipp_private_t *codec_data, void *pkt,
pj_uint8_t *r; /* Read cursor */
pj_uint8_t SID_FT;
pjmedia_codec_amr_pack_setting *setting;
+ const pj_uint8_t *framelen_tbl;
setting = &((amr_settings_t*)codec_data->codec_setting)->enc_setting;
+ framelen_tbl = setting->amr_nb? pjmedia_codec_amrnb_framelen:
+ pjmedia_codec_amrwb_framelen;
SID_FT = (pj_uint8_t)(setting->amr_nb? 8 : 9);
@@ -535,8 +538,7 @@ static pj_status_t pack_amr(ipp_private_t *codec_data, void *pkt,
frames[nframes].buf = r + 2;
frames[nframes].size = info->frame_type <= SID_FT ?
- pjmedia_codec_amrnb_framelen[info->frame_type] :
- 0;
+ framelen_tbl[info->frame_type] : 0;
r += frames[nframes].size + 2;