summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2010-05-26 13:50:42 +0000
committerNanang Izzuddin <nanang@teluu.com>2010-05-26 13:50:42 +0000
commit3c7c4c9c7567a0fbc21340dac01ea81b129e97f4 (patch)
tree304bc644e343b2b78c4424b51736b0be1fd16289 /pjmedia
parentf3b5fc0559c53fe43d203288ef07fdc28707e86f (diff)
Misc (re #1068): AMR codec in IPP codecs should apply Change Mode Request (from AMR payload) only when it is different from current encoding mode.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3184 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia-codec/ipp_codecs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/pjmedia/src/pjmedia-codec/ipp_codecs.c b/pjmedia/src/pjmedia-codec/ipp_codecs.c
index 66e9abe4..0702f521 100644
--- a/pjmedia/src/pjmedia-codec/ipp_codecs.c
+++ b/pjmedia/src/pjmedia-codec/ipp_codecs.c
@@ -562,7 +562,9 @@ static pj_status_t parse_amr(ipp_private_t *codec_data, void *pkt,
return status;
/* Check Change Mode Request. */
- if ((setting->amr_nb && cmr <= 7) || (!setting->amr_nb && cmr <= 8)) {
+ if (((setting->amr_nb && cmr <= 7) || (!setting->amr_nb && cmr <= 8)) &&
+ s->enc_mode != cmr)
+ {
struct ipp_codec *ippc = &ipp_codec[codec_data->codec_idx];
s->enc_mode = cmr;