From bf058f978a51333e3881ad8c046ccc00bff8ef6c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 7 Jan 2009 23:55:13 +0100 Subject: output: join the output thread after sending the KILL command Be sure that the output thread has quite before we start destructing the output object. --- src/output_control.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/output_control.c') diff --git a/src/output_control.c b/src/output_control.c index 7f2d8ba8d..503001470 100644 --- a/src/output_control.c +++ b/src/output_control.c @@ -134,8 +134,12 @@ void audio_output_close(struct audio_output *audioOutput) void audio_output_finish(struct audio_output *audioOutput) { audio_output_close(audioOutput); - if (audioOutput->thread != NULL) + + if (audioOutput->thread != NULL) { ao_command(audioOutput, AO_COMMAND_KILL); + g_thread_join(audioOutput->thread); + } + if (audioOutput->plugin->finish) audioOutput->plugin->finish(audioOutput->data); if (audioOutput->convBuffer) -- cgit v1.2.3