From: Brian West Date: Tue, 21 Jul 2015 23:41:49 +0000 (-0500) Subject: FS-7869: [mod_conference] fix deadlock on shutdown after playing video file that... X-Git-Tag: v1.6.2~253 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2f17ea04ad2f356371f573e25527dda6b75ade8;p=thirdparty%2Ffreeswitch.git FS-7869: [mod_conference] fix deadlock on shutdown after playing video file that will not display video --- 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);