FS-7869: [mod_conference] fix deadlock on shutdown after playing video file that will not display video

This commit is contained in:
Brian West 2015-07-21 18:41:49 -05:00
parent 5c34ef4e54
commit e2f17ea04a
2 changed files with 8 additions and 2 deletions

View File

@ -270,7 +270,7 @@
<param name="muted-sound" value="conference/conf-muted.wav"/>
<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
<param name="alone-sound" value="conference/conf-alone.wav"/>
<!--<param name="moh-sound" value="local_stream://video"/> -->
<param name="moh-sound" value="local_stream://video"/>
<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
<param name="kicked-sound" value="conference/conf-kicked.wav"/>

View File

@ -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);