diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2010-09-20 06:13:02 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2010-09-20 06:13:02 +0000 |
commit | 5af236a408105e4a2e4e47f4271afab7c137c31b (patch) | |
tree | 7bb254ba645dda789fff7474116919e9d4b76939 /pjsip/src/pjsua-lib/pjsua_media.c | |
parent | 060d04b12449532413d95cbff97c966e7f768d08 (diff) |
Closed #1129:
- Added run-time configuration for activating/deactivating stream keep-alive (non-codec-VAD mechanism), also added this config to account settings.
- Fixed bug wrong session info pointer "si" in pjsua_media_channel_update() when call audio index is not zero.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3313 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_media.c')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_media.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c index 2eb08944..85a28ccf 100644 --- a/pjsip/src/pjsua-lib/pjsua_media.c +++ b/pjsip/src/pjsua-lib/pjsua_media.c @@ -1545,8 +1545,10 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id, /* Reset session info with only one media stream */ sess_info.stream_cnt = 1; - if (si != &sess_info.stream_info[0]) + if (si != &sess_info.stream_info[0]) { pj_memcpy(&sess_info.stream_info[0], si, sizeof(pjmedia_stream_info)); + si = &sess_info.stream_info[0]; + } /* Check if no media is active */ if (sess_info.stream_cnt == 0 || si->dir == PJMEDIA_DIR_NONE) @@ -1638,6 +1640,11 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id, si->rtp_seq = call->rtp_tx_seq; si->rtp_seq_ts_set = call->rtp_tx_seq_ts_set; +#if defined(PJMEDIA_STREAM_ENABLE_KA) && PJMEDIA_STREAM_ENABLE_KA!=0 + /* Enable/disable stream keep-alive and NAT hole punch. */ + si->use_ka = pjsua_var.acc[call->acc_id].cfg.use_stream_ka; +#endif + /* Create session based on session info. */ status = pjmedia_session_create( pjsua_var.med_endpt, &sess_info, &call->med_tp, |