Changeset 3780
- Timestamp:
- Oct 3, 2011 8:22:48 AM (13 years ago)
- Location:
- pjproject/trunk/pjsip
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/include/pjsua-lib/pjsua_internal.h
r3777 r3780 157 157 pjmedia_sdp_session *rem_sdp;/**< Remote SDP. */ 158 158 pj_pool_t *pool_prov;/**< Provisional pool. */ 159 pj_bool_t med_ch_deinit;/**< Media channel de-init-ed? */ 159 160 union { 160 161 struct { -
pjproject/trunk/pjsip/src/pjsua-lib/pjsua_call.c
r3778 r3780 358 358 } 359 359 360 /* pjsua_media_channel_deinit() has been called. */ 361 if (call->async_call.med_ch_deinit) 362 goto on_error; 363 360 364 /* Create offer */ 361 365 status = pjsua_media_channel_create_sdp(call->index, dlg->pool, NULL, … … 709 713 goto on_return; 710 714 } 711 715 716 /* pjsua_media_channel_deinit() has been called. */ 717 if (call->async_call.med_ch_deinit) { 718 pjsua_media_channel_deinit(call->index); 719 call->med_ch_cb = NULL; 720 PJSUA_UNLOCK(); 721 return PJ_SUCCESS; 722 } 723 712 724 /* Get remote SDP offer (if any). */ 713 725 if (call->inv->neg) … … 1056 1068 pjsua_media_channel_deinit(call->index); 1057 1069 goto on_return; 1070 } 1071 1072 /* If account is locked to specific transport, then lock dialog 1073 * to this transport too. 1074 */ 1075 if (pjsua_var.acc[acc_id].cfg.transport_id != PJSUA_INVALID_ID) { 1076 pjsip_tpselector tp_sel; 1077 1078 pjsua_init_tpselector(pjsua_var.acc[acc_id].cfg.transport_id, &tp_sel); 1079 pjsip_dlg_set_transport(dlg, &tp_sel); 1058 1080 } 1059 1081 … … 1127 1149 if (pjmedia_sdp_neg_get_neg_remote(inv->neg, &remote_sdp)==PJ_SUCCESS) 1128 1150 update_remote_nat_type(call, remote_sdp); 1129 }1130 1131 /* If account is locked to specific transport, then lock dialog1132 * to this transport too.1133 */1134 if (pjsua_var.acc[acc_id].cfg.transport_id != PJSUA_INVALID_ID) {1135 pjsip_tpselector tp_sel;1136 1137 pjsua_init_tpselector(pjsua_var.acc[acc_id].cfg.transport_id, &tp_sel);1138 pjsip_dlg_set_transport(dlg, &tp_sel);1139 1151 } 1140 1152 -
pjproject/trunk/pjsip/src/pjsua-lib/pjsua_media.c
r3778 r3780 2114 2114 unsigned mi; 2115 2115 2116 PJSUA_LOCK(); 2116 2117 for (mi=0; mi<call->med_cnt; ++mi) { 2117 2118 pjsua_call_media *call_med = &call->media[mi]; 2118 2119 2119 if (call_med->tp_st == PJSUA_MED_TP_CREATING) 2120 return PJ_EBUSY; 2121 } 2120 if (call_med->tp_st == PJSUA_MED_TP_CREATING) { 2121 /* We will do the deinitialization after media transport 2122 * creation is completed. 2123 */ 2124 call->async_call.med_ch_deinit = PJ_TRUE; 2125 PJSUA_UNLOCK(); 2126 return PJ_SUCCESS; 2127 } 2128 } 2129 PJSUA_UNLOCK(); 2122 2130 2123 2131 PJ_LOG(4,(THIS_FILE, "Call %d: deinitializing media..", call_id));
Note: See TracChangeset
for help on using the changeset viewer.