From e80d1296178dc9f1fdef9eb7d6f78eba818332d9 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 25 Jun 2015 15:10:43 -0500 Subject: [PATCH] FS-7679 #resolve #comment should work now --- src/switch_core_media.c | 11 ++++------- src/switch_ivr_bridge.c | 3 +++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/switch_core_media.c b/src/switch_core_media.c index e1d820a1c6..9f2550a646 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -4915,11 +4915,9 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi if (!smh->video_write_fh && !smh->video_read_fh && switch_core_session_media_flow(session, SWITCH_MEDIA_TYPE_VIDEO) == SWITCH_MEDIA_FLOW_SENDONLY) { do_sleep = 1; - } else { - xloops = 0; } - - if (!switch_channel_test_flag(channel, CF_VIDEO_DECODED_READ) && (xloops > 20 || switch_channel_test_flag(channel, CF_VIDEO_PASSIVE))) { + + if (!switch_channel_test_flag(channel, CF_VIDEO_DECODED_READ) && (++xloops > 20 || switch_channel_test_flag(channel, CF_VIDEO_PASSIVE))) { switch_channel_set_flag(channel, CF_VIDEO_READY); } @@ -5015,11 +5013,10 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi send_blank = 1; } - if ((send_blank || switch_channel_test_flag(channel, CF_VIDEO_BLANK)) && - !session->video_read_callback && !switch_channel_test_flag(session->channel, CF_BRIDGED)) { + if ((send_blank || switch_channel_test_flag(channel, CF_VIDEO_BLANK)) && !session->video_read_callback) { fr.img = blank_img; switch_yield(10000); - switch_core_session_write_video_frame(session, &fr, SWITCH_IO_FLAG_NONE, SWITCH_IO_FLAG_FORCE); + switch_core_session_write_video_frame(session, &fr, SWITCH_IO_FLAG_FORCE, 0); } else if (read_frame && (switch_channel_test_flag(channel, CF_VIDEO_ECHO))) { switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); } diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index 988a93081f..5d9bf0be43 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -477,11 +477,14 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) vid_launch++; vh.session_a = session_a; vh.session_b = session_b; + switch_channel_clear_flag(chan_a, CF_VIDEO_BLANK); + switch_channel_clear_flag(chan_b, CF_VIDEO_BLANK); launch_video(&vh); } else { if (switch_channel_test_flag(chan_a, CF_VIDEO)) { switch_channel_set_flag(chan_a, CF_VIDEO_BLANK); } + if (switch_channel_test_flag(chan_b, CF_VIDEO)) { switch_channel_set_flag(chan_b, CF_VIDEO_BLANK); }