From 70ea252505c5eff2cd3aba93c7145d29089cd466 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 18 Oct 2013 01:32:31 +0500 Subject: [PATCH] tweak --- src/switch_channel.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/switch_channel.c b/src/switch_channel.c index 76d3d49f97..4bc93573a6 100644 --- a/src/switch_channel.c +++ b/src/switch_channel.c @@ -1904,6 +1904,7 @@ SWITCH_DECLARE(void) switch_channel_clear_state_flag(switch_channel_t *channel, SWITCH_DECLARE(void) switch_channel_clear_flag(switch_channel_t *channel, switch_channel_flag_t flag) { int ACTIVE = 0; + int CLEAR = 0; switch_assert(channel != NULL); switch_assert(channel->flag_mutex); @@ -1912,6 +1913,11 @@ SWITCH_DECLARE(void) switch_channel_clear_flag(switch_channel_t *channel, switch if (flag == CF_LEG_HOLDING && channel->flags[flag] && channel->flags[CF_ANSWERED]) { ACTIVE = 1; } + + if (flag == CF_VIDEO_PASSIVE && channel->flags[flag]) { + CLEAR = 1; + } + channel->flags[flag] = 0; switch_mutex_unlock(channel->flag_mutex); @@ -1937,7 +1943,7 @@ SWITCH_DECLARE(void) switch_channel_clear_flag(switch_channel_t *channel, switch switch_channel_set_variable(channel, "recovered", NULL); } - if (flag == CF_VIDEO_PASSIVE) { + if (flag == CF_VIDEO_PASSIVE && CLEAR) { switch_core_session_wake_video_thread(channel->session); }