diff options
author | Benny Prijono <bennylp@teluu.com> | 2012-05-22 23:13:22 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2012-05-22 23:13:22 +0000 |
commit | 67a79c1015da7353843ea14405441b19b0dfc955 (patch) | |
tree | 4cc521ba403ac91a288eef54dbd6fe56b2a563f6 /pjsip/src/pjsua-lib | |
parent | aae22a60d14fd0956dee56deabd9ccec13d8d02e (diff) |
Fixed #1515: Sound device is not closed when the call fails to connect (thanks Régis Montoya for the report)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4145 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_aud.c | 10 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_aud.c b/pjsip/src/pjsua-lib/pjsua_aud.c index 7588266d..4b44cfd1 100644 --- a/pjsip/src/pjsua-lib/pjsua_aud.c +++ b/pjsip/src/pjsua-lib/pjsua_aud.c @@ -377,7 +377,7 @@ on_error: } /* Check if sound device is idle. */ -static void check_snd_dev_idle() +void pjsua_check_snd_dev_idle() { unsigned call_cnt; @@ -439,7 +439,7 @@ static void close_snd_timer_cb( pj_timer_heap_t *th, PJSUA_LOCK(); if (entry->id) { - PJ_LOG(4,(THIS_FILE,"Closing sound device after idle for %d seconds", + PJ_LOG(4,(THIS_FILE,"Closing sound device after idle for %d second(s)", pjsua_var.media_cfg.snd_auto_close_time)); entry->id = PJ_FALSE; @@ -532,7 +532,7 @@ void pjsua_aud_stop_stream(pjsua_call_media *call_med) call_med->strm.a.stream = NULL; } - check_snd_dev_idle(); + pjsua_check_snd_dev_idle(); } /* @@ -791,7 +791,7 @@ PJ_DEF(pj_status_t) pjsua_conf_remove_port(pjsua_conf_port_id id) pj_status_t status; status = pjmedia_conf_remove_port(pjsua_var.mconf, (unsigned)id); - check_snd_dev_idle(); + pjsua_check_snd_dev_idle(); return status; } @@ -957,7 +957,7 @@ PJ_DEF(pj_status_t) pjsua_conf_disconnect( pjsua_conf_port_id source, pj_log_push_indent(); status = pjmedia_conf_disconnect_port(pjsua_var.mconf, source, sink); - check_snd_dev_idle(); + pjsua_check_snd_dev_idle(); pj_log_pop_indent(); return status; diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index 948c54f7..460c269e 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -3128,6 +3128,8 @@ static void pjsua_call_on_state_changed(pjsip_inv_session *inv, /* Reset call */ reset_call(call->index); + pjsua_check_snd_dev_idle(); + PJSUA_UNLOCK(); } pj_log_pop_indent(); |