aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_control.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/output_control.c')
-rw-r--r--src/output_control.c6
1 files changed, 5 insertions, 1 deletions
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)