From 8e37e9b4d46772ba1cdcb7400ff24eef44c9453d Mon Sep 17 00:00:00 2001
From: Anthony Minessale <anthm@freeswitch.org>
Date: Thu, 28 May 2015 21:05:56 -0500
Subject: [PATCH] FS-7513 flush video on video mute/unmute

---
 .../mod_conference/mod_conference.c             | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c
index ee8b95100b..532e827c3c 100644
--- a/src/mod/applications/mod_conference/mod_conference.c
+++ b/src/mod/applications/mod_conference/mod_conference.c
@@ -2062,6 +2062,8 @@ static void *SWITCH_THREAD_FUNC conference_video_muxing_thread_run(switch_thread
 				int flushed = flush_video_queue(imember->video_queue);
 
 				if (flushed && imember->auto_avatar) {
+					switch_channel_video_sync(imember->channel);
+
 					switch_img_free(&imember->avatar_png_img);
 					imember->avatar_patched = 0;
 					reset_video_bitrate_counters(imember);
@@ -2072,7 +2074,6 @@ static void *SWITCH_THREAD_FUNC conference_video_muxing_thread_run(switch_thread
 					}
 					
 					imember->blanks = 0;
-					//switch_channel_video_sync(imember->channel);
 				} else {
 					
 				}
@@ -8414,11 +8415,11 @@ static switch_status_t conf_api_sub_vmute(conference_member_t *member, switch_st
 	switch_clear_flag_locked(member, MFLAG_CAN_BE_SEEN);
 	reset_video_bitrate_counters(member);
 	
-	//if (member->channel) {
-		//switch_channel_set_flag(member->channel, CF_VIDEO_PAUSE_READ);
-		//switch_core_session_request_video_refresh(member->session);
-		//switch_channel_video_sync(member->channel);
-	//}
+	if (member->channel) {
+		switch_channel_set_flag(member->channel, CF_VIDEO_PAUSE_READ);
+		switch_core_session_request_video_refresh(member->session);
+		switch_channel_video_sync(member->channel);
+	}
 
 	if (!(data) || !strstr((char *) data, "quiet")) {
 		switch_set_flag(member, MFLAG_INDICATE_MUTE);
@@ -8474,8 +8475,8 @@ static switch_status_t conf_api_sub_unvmute(conference_member_t *member, switch_
 	reset_video_bitrate_counters(member);
 
 	if (member->channel) {
-		//switch_channel_clear_flag(member->channel, CF_VIDEO_PAUSE_READ);
-		//switch_channel_video_sync(member->channel);
+		switch_channel_clear_flag(member->channel, CF_VIDEO_PAUSE_READ);
+		switch_channel_video_sync(member->channel);
 	}
 
 	if (!(data) || !strstr((char *) data, "quiet")) {