From 288e4a429c5527f9b8da75dace98ae80a683b469 Mon Sep 17 00:00:00 2001 From: Liong Sauw Ming Date: Thu, 7 Mar 2013 08:25:35 +0000 Subject: Fixed #1635: Fixed the backport of ticket #1568 (smarter media update) to version 1.x git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@4428 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsua-lib/pjsua_media.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c index 2624b7b7..b0bc0396 100644 --- a/pjsip/src/pjsua-lib/pjsua_media.c +++ b/pjsip/src/pjsua-lib/pjsua_media.c @@ -1856,6 +1856,17 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id, if (status != PJ_SUCCESS) return status; + /* Get audio index from the negotiated SDP */ + audio_idx = find_audio_index(local_sdp, PJ_TRUE); + + /* Update audio index from the negotiated SDP */ + call->audio_idx = audio_idx; + + /* Find which session is audio */ + PJ_ASSERT_RETURN(call->audio_idx != -1, PJ_EBUG); + PJ_ASSERT_RETURN(call->audio_idx < (int)sess_info.stream_cnt, PJ_EBUG); + si = &sess_info.stream_info[call->audio_idx]; + /* Override ptime, if this option is specified. */ if (pjsua_var.media_cfg.ptime != 0) { si->param->setting.frm_per_pkt = (pj_uint8_t) @@ -1869,9 +1880,6 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id, si->param->setting.vad = 0; } - /* Get audio index from the negotiated SDP */ - audio_idx = find_audio_index(local_sdp, PJ_TRUE); - /* Get previous media status */ prev_media_st = call->media_st; @@ -1893,14 +1901,6 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id, sess_info.stream_info[i].rtcp_sdes_bye_disabled = PJ_TRUE; } - /* Update audio index from the negotiated SDP */ - call->audio_idx = audio_idx; - - /* Find which session is audio */ - PJ_ASSERT_RETURN(call->audio_idx != -1, PJ_EBUG); - PJ_ASSERT_RETURN(call->audio_idx < (int)sess_info.stream_cnt, PJ_EBUG); - si = &sess_info.stream_info[call->audio_idx]; - /* Reset session info with only one media stream */ sess_info.stream_cnt = 1; if (si != &sess_info.stream_info[0]) { -- cgit v1.2.3