Commit 272b40e1 authored by jehan's avatar jehan
Browse files

make sure rtp port are released even in case of call error

parent 5e23b563
......@@ -9,7 +9,7 @@ GITREVISION=`cd $(top_srcdir) && git rev-parse HEAD`
## We can't only depend on the presence of the .git/ directory anymore,
## because of gits submodule handling.
## We now simply issue a git log on configure.ac and if the output is empty (error or file not tracked), then we are not in git.
GITLOG=$(shell git log -1 $(top_srcdir)/configure.ac)
GITLOG=$(shell git log -1 --pretty=format:%H $(top_srcdir)/configure.ac)
ECHO=/bin/echo
......
......@@ -935,7 +935,11 @@ const char *linphone_call_state_to_string(LinphoneCallState cs){
return "undefined state";
}
void linphone_call_set_state(LinphoneCall *call, LinphoneCallState cstate, const char *message){
void linphone_call_set_state(LinphoneCall *call, LinphoneCallState cstate, const char *message) {
linphone_call_set_state_base(call, cstate, message,FALSE);
}
void linphone_call_set_state_base(LinphoneCall *call, LinphoneCallState cstate, const char *message,bool_t silently){
LinphoneCore *lc=call->core;
if (call->state!=cstate){
......@@ -974,7 +978,7 @@ void linphone_call_set_state(LinphoneCall *call, LinphoneCallState cstate, const
call->media_start_time=time(NULL);
}
if (lc->vtable.call_state_changed)
if (lc->vtable.call_state_changed && !silently)
lc->vtable.call_state_changed(lc,call,cstate,message);
linphone_reporting_call_state_updated(call);
......@@ -1746,7 +1750,7 @@ void linphone_call_init_audio_stream(LinphoneCall *call){
Any other value than mic will default to output graph for compatibility */
location = lp_config_get_string(lc->config,"sound","eq_location","hp");
audiostream->eq_loc = (strcasecmp(location,"mic") == 0) ? MSEqualizerMic : MSEqualizerHP;
ms_error("Equalizer location: %s", location);
ms_message("Equalizer location: %s", location);
audio_stream_enable_gain_control(audiostream,TRUE);
if (linphone_core_echo_cancellation_enabled(lc)){
......
......@@ -3041,8 +3041,7 @@ void linphone_core_notify_incoming_call(LinphoneCore *lc, LinphoneCall *call){
if (md){
if (sal_media_description_empty(md) || linphone_core_incompatible_security(lc,md)){
sal_call_decline(call->op,SalReasonNotAcceptable,NULL);
linphone_call_stop_media_streams(call);
linphone_core_del_call(lc,call);
linphone_call_set_state_base(call, LinphoneCallError, NULL,TRUE);
linphone_call_unref(call);
return;
}
......
......@@ -382,7 +382,7 @@ void linphone_call_delete_upnp_session(LinphoneCall *call);
void linphone_call_stop_media_streams_for_ice_gathering(LinphoneCall *call);
void linphone_call_update_crypto_parameters(LinphoneCall *call, SalMediaDescription *old_md, SalMediaDescription *new_md);
void linphone_call_update_remote_session_id_and_ver(LinphoneCall *call);
void linphone_call_set_state_base(LinphoneCall *call, LinphoneCallState cstate, const char *message,bool_t silently);
const char * linphone_core_get_identity(LinphoneCore *lc);
......
mediastreamer2 @ 171a79e3
Subproject commit 90c0ea293a934b3b23a3c6b70f8abe5db545a3d5
Subproject commit 171a79e39e023e8689deef9e070dc8b80259673b
oRTP @ f514a265
Subproject commit 49fc68957126d1126be1eb0fcaaa6153480e93e4
Subproject commit f514a2655696da5e1c1718e90d3119c4c6be8cdc
......@@ -616,7 +616,7 @@ static void call_with_dns_time_out(void) {
linphone_core_set_sip_transports(marie->lc,&transport);
linphone_core_iterate(marie->lc);
sal_set_dns_timeout(marie->lc->sal,0);
linphone_core_invite(marie->lc,"\"t\x8et\x8e\" sip:toto@toto.com"); /*just to use non ascii values*/
linphone_core_invite(marie->lc,"\"t\x8et\x8e\" <sip:toto@toto.com>"); /*just to use non ascii values*/
for(i=0;i<10;i++){
ms_usleep(200000);
linphone_core_iterate(marie->lc);
......@@ -784,7 +784,7 @@ static bool_t check_ice(LinphoneCoreManager* caller, LinphoneCoreManager* callee
linphone_core_iterate(callee->lc);
}
ms_usleep(20000);
}while(liblinphone_tester_clock_elapsed(&ts,10000));
}while(!liblinphone_tester_clock_elapsed(&ts,10000));
if (video_enabled){
liblinphone_tester_clock_start(&ts);
......@@ -799,7 +799,7 @@ static bool_t check_ice(LinphoneCoreManager* caller, LinphoneCoreManager* callee
linphone_core_iterate(callee->lc);
}
ms_usleep(20000);
}while(liblinphone_tester_clock_elapsed(&ts,5000));
}while(!liblinphone_tester_clock_elapsed(&ts,5000));
}
/*make sure encryption mode are preserved*/
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment