diff --git a/src/mod/applications/mod_conference/conference_video.c b/src/mod/applications/mod_conference/conference_video.c index 87a0d24b93..5c638c5b89 100644 --- a/src/mod/applications/mod_conference/conference_video.c +++ b/src/mod/applications/mod_conference/conference_video.c @@ -2407,7 +2407,7 @@ void *SWITCH_THREAD_FUNC conference_video_muxing_thread_run(switch_thread_t *thr } //VIDFLOOR - if (canvas->layout_floor_id > -1 && imember->id == conference->video_floor_holder && + if (conference->canvas_count == 1 && canvas->layout_floor_id > -1 && imember->id == conference->video_floor_holder && imember->video_layer_id != canvas->layout_floor_id) { conference_video_attach_video_layer(imember, canvas, canvas->layout_floor_id); } @@ -3464,6 +3464,10 @@ void conference_video_set_floor_holder(conference_obj_t *conference, conference_ conference_utils_clear_flag(conference, CFLAG_VID_FLOOR_LOCK); } + if (conference->canvas_count > 1) { + return; + } + if (member && member->video_reservation_id) { /* no video floor when a reservation id is set */ return;