summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-07-14 11:31:40 +0000
committerBenny Prijono <bennylp@teluu.com>2008-07-14 11:31:40 +0000
commit18d3ace509e8eef2e3ae5d3203ca94072eba20d6 (patch)
tree0f19aa355c5a642435c6969289f51222ebb8c834 /pjsip
parentbe967a283579c6260f98bedbe01fc784aa56e10f (diff)
Related to ticket #566: Crash when shutting down PJSUA-LIB and outgoing call in in progress and there is no answer from remote
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2135 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_media.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c
index 00ffcc43..8b74d5ac 100644
--- a/pjsip/src/pjsua-lib/pjsua_media.c
+++ b/pjsip/src/pjsua-lib/pjsua_media.c
@@ -528,6 +528,9 @@ pj_status_t pjsua_media_subsys_destroy(void)
/* Close media transports */
for (i=0; i<pjsua_var.ua_cfg.max_calls; ++i) {
+ if (pjsua_var.calls[i].med_tp_st != PJSUA_MED_TP_IDLE) {
+ pjsua_media_channel_deinit(i);
+ }
if (pjsua_var.calls[i].med_tp) {
(*pjsua_var.calls[i].med_tp->op->destroy)(pjsua_var.calls[i].med_tp);
pjsua_var.calls[i].med_tp = NULL;
@@ -1165,7 +1168,7 @@ pj_status_t pjsua_media_channel_deinit(pjsua_call_id call_id)
call->med_tp_st = PJSUA_MED_TP_IDLE;
}
- if (call->med_orig && call->med_tp != call->med_orig) {
+ if (call->med_orig && call->med_tp && call->med_tp != call->med_orig) {
pjmedia_transport_close(call->med_tp);
call->med_tp = call->med_orig;
}