FS-7513: fix segfault on conference hangup

This commit is contained in:
Brian West 2015-03-24 14:16:04 -05:00 committed by Michael Jerris
parent d34c85aeb7
commit 7fc019a979

View File

@ -6591,7 +6591,6 @@ static void conference_loop_output(conference_member_t *member)
if (member->video_muxing_write_thread) { if (member->video_muxing_write_thread) {
switch_queue_push(member->mux_out_queue, NULL); switch_queue_push(member->mux_out_queue, NULL);
switch_thread_join(&st, member->video_muxing_write_thread); switch_thread_join(&st, member->video_muxing_write_thread);
switch_frame_buffer_destroy(&member->fb);
} }
} }
@ -11754,6 +11753,10 @@ SWITCH_STANDARD_APP(conference_function)
switch_buffer_destroy(&member.audio_buffer); switch_buffer_destroy(&member.audio_buffer);
switch_buffer_destroy(&member.mux_buffer); switch_buffer_destroy(&member.mux_buffer);
if (member.fb) {
switch_frame_buffer_destroy(&member.fb);
}
if (conference) { if (conference) {
switch_mutex_lock(conference->mutex); switch_mutex_lock(conference->mutex);
if (switch_test_flag(conference, CFLAG_DYNAMIC) && conference->count == 0) { if (switch_test_flag(conference, CFLAG_DYNAMIC) && conference->count == 0) {