From e2f17ea04ad2f356371f573e25527dda6b75ade8 Mon Sep 17 00:00:00 2001 From: Brian West Date: Tue, 21 Jul 2015 18:41:49 -0500 Subject: [PATCH] FS-7869: [mod_conference] fix deadlock on shutdown after playing video file that will not display video --- conf/testing/autoload_configs/conference.conf.xml | 2 +- src/mod/applications/mod_conference/conference_video.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/conf/testing/autoload_configs/conference.conf.xml b/conf/testing/autoload_configs/conference.conf.xml index 6891466f71..212237c461 100644 --- a/conf/testing/autoload_configs/conference.conf.xml +++ b/conf/testing/autoload_configs/conference.conf.xml @@ -270,7 +270,7 @@ - + diff --git a/src/mod/applications/mod_conference/conference_video.c b/src/mod/applications/mod_conference/conference_video.c index 956c2df3fd..8b0a6b69ea 100644 --- a/src/mod/applications/mod_conference/conference_video.c +++ b/src/mod/applications/mod_conference/conference_video.c @@ -1525,6 +1525,13 @@ void conference_video_fnode_check(conference_file_node_t *fnode) { canvas->conference->playing_video_file = 1; } else { conference_video_canvas_set_fnode_layer(canvas, fnode, -1); + + if (fnode->layer_id == -1) { + switch_frame_t file_frame = { 0 }; + + switch_core_file_read_video(&fnode->fh, &file_frame, SVR_FLUSH); + switch_img_free(&file_frame.img); + } } } } @@ -2231,7 +2238,6 @@ void *SWITCH_THREAD_FUNC conference_video_muxing_thread_run(switch_thread_t *thr switch_mutex_unlock(conference->member_mutex); } else { - if (conference->async_fnode && conference->async_fnode->canvas_id == canvas->canvas_id) { if (conference->async_fnode->layer_id > -1) { conference_video_patch_fnode(canvas, conference->async_fnode); -- 2.47.2