mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-02-07 14:18:25 +00:00
make sure rtp port are released even in case of call error
This commit is contained in:
parent
5e23b563f7
commit
272b40e149
7 changed files with 15 additions and 12 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 90c0ea293a934b3b23a3c6b70f8abe5db545a3d5
|
||||
Subproject commit 171a79e39e023e8689deef9e070dc8b80259673b
|
||||
2
oRTP
2
oRTP
|
|
@ -1 +1 @@
|
|||
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*/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue