From 5c284e9155a40bcccb5eb3e5118607475f997e99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Tue, 14 Mar 2017 11:33:16 +0100 Subject: [PATCH] Fixes unmuted microphone and camera when early-media is leaved and the remote RTP address changes --- coreapi/callbacks.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c index ffa76485c..1fbd7490e 100644 --- a/coreapi/callbacks.c +++ b/coreapi/callbacks.c @@ -154,18 +154,18 @@ void linphone_call_update_streams(LinphoneCall *call, SalMediaDescription *new_m } else if (call->playing_ringbacktone) { ms_message("Playing ringback tone, will restart the streams."); } else { - if (md_changed == SAL_MEDIA_DESCRIPTION_UNCHANGED) { - if (call->all_muted) { - ms_message("Early media finished, unmuting inputs..."); - /* We were in early media, now we want to enable real media */ - call->all_muted = FALSE; - if (call->audiostream) linphone_core_enable_mic(lc, linphone_core_mic_enabled(lc)); + if (call->all_muted && target_state == LinphoneCallStreamsRunning) { + ms_message("Early media finished, unmuting inputs..."); + /* We were in early media, now we want to enable real media */ + call->all_muted = FALSE; + if (call->audiostream) linphone_core_enable_mic(lc, linphone_core_mic_enabled(lc)); #ifdef VIDEO_ENABLED - if (call->videostream && call->camera_enabled) { - linphone_call_enable_camera(call, linphone_call_camera_enabled(call)); - } -#endif + if (call->videostream && call->camera_enabled) { + linphone_call_enable_camera(call, linphone_call_camera_enabled(call)); } +#endif + } + if (md_changed == SAL_MEDIA_DESCRIPTION_UNCHANGED) { /*FIXME ZRTP, might be restarted in any cases ? */ ms_message("No need to restart streams, SDP is unchanged."); goto end;