Commit 7b6314c3 authored by Ghislain MARY's avatar Ghislain MARY
Browse files

Set an ICE check list to the Failed state if the corresponding media stream...

Set an ICE check list to the Failed state if the corresponding media stream has been deactivated by the peer.
parent 011750b6
......@@ -46,6 +46,9 @@ void linphone_core_update_streams(LinphoneCore *lc, LinphoneCall *call, SalMedia
if (call->ice_session != NULL) {
linphone_core_deactivate_ice_for_deactivated_media_streams(call, call->resultdesc);
if (call->audiostream && call->audiostream->ticker){
/* we already started media: check if we really need to restart it*/
if (oldmd){
......@@ -813,6 +813,17 @@ void linphone_core_update_ice_from_remote_media_description(LinphoneCall *call,
void linphone_core_deactivate_ice_for_deactivated_media_streams(LinphoneCall *call, const SalMediaDescription *md)
int i;
for (i = 0; i < md->nstreams; i++) {
IceCheckList *cl = ice_session_check_list(call->ice_session, i);
if (cl && (md->streams[i].rtp_port == 0)) {
if (cl->state != ICL_Completed) ice_check_list_set_state(cl, ICL_Failed);
LinphoneCall * is_a_linphone_call(void *user_pointer){
LinphoneCall *call=(LinphoneCall*)user_pointer;
if (call==NULL) return NULL;
......@@ -224,6 +224,7 @@ void linphone_core_run_stun_tests(LinphoneCore *lc, LinphoneCall *call);
int linphone_core_gather_ice_candidates(LinphoneCore *lc, LinphoneCall *call);
void linphone_core_update_local_media_description_from_ice(SalMediaDescription *desc, IceSession *session);
void linphone_core_update_ice_from_remote_media_description(LinphoneCall *call, const SalMediaDescription *md);
void linphone_core_deactivate_ice_for_deactivated_media_streams(LinphoneCall *call, const SalMediaDescription *md);
void linphone_core_send_initial_subscribes(LinphoneCore *lc);
void linphone_core_write_friends_config(LinphoneCore* lc);
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