]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-7800 disable video floor changes on multi canvas
authorAnthony Minessale <anthm@freeswitch.org>
Wed, 23 Mar 2016 13:45:30 +0000 (08:45 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Wed, 23 Mar 2016 13:45:30 +0000 (08:45 -0500)
src/mod/applications/mod_conference/conference_video.c

index 87a0d24b93bf25ac3fcf5b843bd3cf9393c440c3..5c638c5b895a8bc720cd4709b03e50ad0f2a89b5 100644 (file)
@@ -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;