]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11149: Playing video files assigned a res_id not correctly updated on layout change
authorChad Phillips <chad@apartmentlines.com>
Tue, 8 May 2018 21:25:51 +0000 (14:25 -0700)
committerChad Phillips <chad@apartmentlines.com>
Wed, 25 Jul 2018 15:18:01 +0000 (10:18 -0500)
Regular conference members that are assigned a reservation ID in a layout
are automatically placed in that same reservation ID upon change of a layout.

However, playing files that are assigned a reservation ID are not properly
assigned to the same reservation ID upon layout change.

This patch makes the behavior consistent between the two types.

src/mod/applications/mod_conference/conference_video.c

index 859b135515e3a37957c7a046f05942d95cd84b61..0688b15521c10bf33e02f3b0eac94de99ff276b6 100644 (file)
@@ -1662,6 +1662,13 @@ void conference_video_init_canvas_layers(conference_obj_t *conference, mcu_canva
                conference_video_set_canvas_bgimg(canvas, conference->video_canvas_bgimg);
        }
 
+       switch_mutex_lock(conference->file_mutex);
+       if (conference->fnode && (conference->fnode->canvas_id == canvas->canvas_id || conference->fnode->canvas_id == -1)) {
+               conference_video_canvas_del_fnode_layer(conference, conference->fnode);
+               conference_video_fnode_check(conference->fnode, canvas->canvas_id);
+       }
+       switch_mutex_unlock(conference->file_mutex);
+
        switch_mutex_unlock(canvas->write_mutex);
        switch_mutex_unlock(canvas->mutex);