summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2013-03-07 08:25:35 +0000
committerLiong Sauw Ming <ming@teluu.com>2013-03-07 08:25:35 +0000
commit288e4a429c5527f9b8da75dace98ae80a683b469 (patch)
tree9ee1faa213e299b043e7a209e3d0bed52b9643ae
parentf05a6da58b92a6c9fac1681d91c9b2548994b394 (diff)
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
-rw-r--r--pjsip/src/pjsua-lib/pjsua_media.c22
1 files 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]) {