mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-03 11:50:29 +00:00
FS-7869: [mod_conference] fix deadlock on shutdown after playing video file that will not display video
This commit is contained in:
parent
5c34ef4e54
commit
e2f17ea04a
@ -270,7 +270,7 @@
|
|||||||
<param name="muted-sound" value="conference/conf-muted.wav"/>
|
<param name="muted-sound" value="conference/conf-muted.wav"/>
|
||||||
<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
|
<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
|
||||||
<param name="alone-sound" value="conference/conf-alone.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="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="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
|
||||||
<param name="kicked-sound" value="conference/conf-kicked.wav"/>
|
<param name="kicked-sound" value="conference/conf-kicked.wav"/>
|
||||||
|
@ -1525,6 +1525,13 @@ void conference_video_fnode_check(conference_file_node_t *fnode) {
|
|||||||
canvas->conference->playing_video_file = 1;
|
canvas->conference->playing_video_file = 1;
|
||||||
} else {
|
} else {
|
||||||
conference_video_canvas_set_fnode_layer(canvas, fnode, -1);
|
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);
|
switch_mutex_unlock(conference->member_mutex);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|
||||||
if (conference->async_fnode && conference->async_fnode->canvas_id == canvas->canvas_id) {
|
if (conference->async_fnode && conference->async_fnode->canvas_id == canvas->canvas_id) {
|
||||||
if (conference->async_fnode->layer_id > -1) {
|
if (conference->async_fnode->layer_id > -1) {
|
||||||
conference_video_patch_fnode(canvas, conference->async_fnode);
|
conference_video_patch_fnode(canvas, conference->async_fnode);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user