summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_media.c
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2011-10-03 02:04:36 +0000
committerLiong Sauw Ming <ming@teluu.com>2011-10-03 02:04:36 +0000
commitdd10c1af79c2a0d4d4720245b7f5d28a63a5292c (patch)
tree89efde612812bee65dd3541f5f6c9c364d1761f1 /pjsip/src/pjsua-lib/pjsua_media.c
parent21bee233619f1e2187345efd4eaed85e49facc5b (diff)
Closed #1266:
Handle incoming calls when media transport is created asynchronously. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3777 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_media.c')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_media.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c
index aee2f1f4..5a9530e9 100644
--- a/pjsip/src/pjsua-lib/pjsua_media.c
+++ b/pjsip/src/pjsua-lib/pjsua_media.c
@@ -1656,7 +1656,6 @@ pj_status_t pjsua_media_channel_init(pjsua_call_id call_id,
if (async) {
call->med_ch_cb = cb;
if (rem_sdp) {
- /* TODO: change rem_sdp to non-const parameter. */
call->async_call.rem_sdp =
pjmedia_sdp_session_clone(call->inv->pool_prov, rem_sdp);
}
@@ -2113,6 +2112,13 @@ pj_status_t pjsua_media_channel_deinit(pjsua_call_id call_id)
pjsua_call *call = &pjsua_var.calls[call_id];
unsigned mi;
+ for (mi=0; mi<call->med_cnt; ++mi) {
+ pjsua_call_media *call_med = &call->media[mi];
+
+ if (call_med->tp_st == PJSUA_MED_TP_CREATING)
+ return PJ_EBUSY;
+ }
+
PJ_LOG(4,(THIS_FILE, "Call %d: deinitializing media..", call_id));
pj_log_push_indent();