From 7d6e60e251f830a1dc972972a6e398f0742aa52a Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 24 Aug 2017 11:11:59 -0500 Subject: [PATCH] FS-10270 add additional patch --- .../applications/mod_conference/conference_video.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/mod/applications/mod_conference/conference_video.c b/src/mod/applications/mod_conference/conference_video.c index fa6d18ea59..2485ef73ae 100644 --- a/src/mod/applications/mod_conference/conference_video.c +++ b/src/mod/applications/mod_conference/conference_video.c @@ -1089,13 +1089,12 @@ void conference_video_layer_set_logo(conference_member_t *member, mcu_layer_t *l { switch_mutex_lock(layer->canvas->mutex); - switch_img_free(&layer->logo_img); + switch_mutex_lock(member->flag_mutex); + if (member->video_logo) { - switch_mutex_lock(member->flag_mutex); switch_img_copy(member->video_logo, &layer->logo_img); - switch_mutex_unlock(member->flag_mutex); if (layer->logo_img) { layer->logo_pos = member->logo_pos; @@ -1103,6 +1102,8 @@ void conference_video_layer_set_logo(conference_member_t *member, mcu_layer_t *l } } + switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(layer->canvas->mutex); } @@ -1118,9 +1119,10 @@ void conference_member_set_logo(conference_member_t *member, const char *path) switch_mutex_lock(member->flag_mutex); switch_img_free(&member->video_logo); - switch_mutex_unlock(member->flag_mutex); + if (!path || !strcasecmp(path, "clear")) { + switch_mutex_unlock(member->flag_mutex); return; } @@ -1185,6 +1187,8 @@ void conference_member_set_logo(conference_member_t *member, const char *path) switch_safe_free(dup); + switch_mutex_unlock(member->flag_mutex); + return; }