diff options
author | Liong Sauw Ming <ming@teluu.com> | 2011-10-03 02:04:36 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2011-10-03 02:04:36 +0000 |
commit | dd10c1af79c2a0d4d4720245b7f5d28a63a5292c (patch) | |
tree | 89efde612812bee65dd3541f5f6c9c364d1761f1 /pjsip/src/pjsua-lib/pjsua_media.c | |
parent | 21bee233619f1e2187345efd4eaed85e49facc5b (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.c | 8 |
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(); |