summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2013-01-25 06:31:05 +0000
committerLiong Sauw Ming <ming@teluu.com>2013-01-25 06:31:05 +0000
commitfcc3731ff2cc2503685b5b3a20baa016f8b2135e (patch)
tree459af9d157fcc74bddbc305a7951a0e19fd9fb88
parent89e43bc5c1f286d4466d606fb96618cb87c4bf90 (diff)
Re #1568: Fixed is_media_changed() detection when pjsua_media_cfg.no_vad is set to PJ_TRUE and fixed the string duplication of encoding name
Thanks to Hideo and Fredrik for the reports. git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@4334 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjmedia/src/pjmedia/session.c4
-rw-r--r--pjsip/src/pjsua-lib/pjsua_media.c7
2 files changed, 8 insertions, 3 deletions
diff --git a/pjmedia/src/pjmedia/session.c b/pjmedia/src/pjmedia/session.c
index ff195119..b96e8116 100644
--- a/pjmedia/src/pjmedia/session.c
+++ b/pjmedia/src/pjmedia/session.c
@@ -671,8 +671,10 @@ PJ_DEF(pj_status_t) pjmedia_session_create( pjmedia_endpt *endpt,
pj_memcpy(session->stream_info, si->stream_info,
si->stream_cnt * sizeof(pjmedia_stream_info));
- /* Clone codec param */
+ /* Clone codec param and format info */
for (i=0; i<(int)si->stream_cnt; ++i) {
+ pj_strdup(pool, &session->stream_info[i].fmt.encoding_name,
+ &si->stream_info[i].fmt.encoding_name);
if (session->stream_info[i].param) {
session->stream_info[i].param =
pjmedia_codec_param_clone(pool, si->stream_info[i].param);
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c
index a408f4c2..55e99d25 100644
--- a/pjsip/src/pjsua-lib/pjsua_media.c
+++ b/pjsip/src/pjsua-lib/pjsua_media.c
@@ -1641,9 +1641,12 @@ static pj_bool_t is_media_changed(const pjsua_call *call,
return PJ_TRUE;
}
- /* Compare codec param */
+ /* Compare codec param
+ * Disable checking of VAD setting since VAD setting can be overwritten
+ * by application setting in pjsua_media_cfg.
+ */
if (old_cp->setting.frm_per_pkt != new_cp->setting.frm_per_pkt ||
- old_cp->setting.vad != new_cp->setting.vad ||
+ /* old_cp->setting.vad != new_cp->setting.vad || */
old_cp->setting.cng != new_cp->setting.cng ||
old_cp->setting.plc != new_cp->setting.plc ||
old_cp->setting.penh != new_cp->setting.penh ||