diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2010-12-01 08:20:28 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2010-12-01 08:20:28 +0000 |
commit | a8e98c468d836b37bd202d356626a22a0a8863ea (patch) | |
tree | a5ad1c58c6847ebe5a8a5a90d8dc604ef555d598 /pjsip/src | |
parent | 186a61a84e87b3e0c1d4944a3b79ad94a999b744 (diff) |
Fix #1165:
- Fixed pjsua_media_channel_create_sdp() to re-calculate audio index of the remote offer, instead of using existing audio index calculated by pjsua_media_channel_init(), as for subsequent SDP offer/answer, pjsua_media_channel_init() may not be called.
- Fixed SRTP transport to be able to switch SRTP status from active to inactive/by-passed and vice versa.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3376 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_media.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c index 28920079..8ede0f8c 100644 --- a/pjsip/src/pjsua-lib/pjsua_media.c +++ b/pjsip/src/pjsua-lib/pjsua_media.c @@ -1247,7 +1247,7 @@ pj_status_t pjsua_media_channel_init(pjsua_call_id call_id, pj_bool_t srtp_active; #if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) - srtp_active = acc->cfg.use_srtp && srtp != NULL; + srtp_active = acc->cfg.use_srtp; #else srtp_active = PJ_FALSE; #endif @@ -1301,6 +1301,18 @@ pj_status_t pjsua_media_channel_create_sdp(pjsua_call_id call_id, return PJ_EBUSY; } + if (rem_sdp && rem_sdp->media_count != 0) { + pj_bool_t srtp_active; + +#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) + srtp_active = pjsua_var.acc[call->acc_id].cfg.use_srtp; +#else + srtp_active = PJ_FALSE; +#endif + + call->audio_idx = find_audio_index(rem_sdp, srtp_active); + } + /* Media index must have been determined before */ pj_assert(call->audio_idx != -1); |