summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_media.c
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_media.c')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_media.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c
index 4beb821c..791126a0 100644
--- a/pjsip/src/pjsua-lib/pjsua_media.c
+++ b/pjsip/src/pjsua-lib/pjsua_media.c
@@ -851,7 +851,15 @@ static pj_status_t create_ice_media_transport(
PJSUA_LOCK();
}
- if (async && call_med->tp_ready == PJ_EPENDING) {
+ if (!call_med->tp) {
+ /* Call has been disconnected, and media transports have been cleared
+ * (see ticket #1759).
+ */
+ PJ_LOG(4,(THIS_FILE, "Media transport initialization cancelled "
+ "because call has been disconnected"));
+ status = PJ_ECANCELLED;
+ goto on_error;
+ } else if (async && call_med->tp_ready == PJ_EPENDING) {
return PJ_EPENDING;
} else if (call_med->tp_ready != PJ_SUCCESS) {
pjsua_perror(THIS_FILE, "Error initializing ICE media transport",