aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_init.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-09-24 07:20:26 +0200
committerMax Kellermann <max@duempel.org>2008-09-24 07:20:26 +0200
commitd32f49a90ba69525884ee6fe4f2055792aa10430 (patch)
tree2efa2310c8ccc8d49f5f3b856c8d15162dd5b251 /src/output_init.c
parent8f4ebf0caf8514fb7838eb27b848e5a4cccaae12 (diff)
downloadmpd-d32f49a90ba69525884ee6fe4f2055792aa10430.tar.gz
mpd-d32f49a90ba69525884ee6fe4f2055792aa10430.tar.xz
mpd-d32f49a90ba69525884ee6fe4f2055792aa10430.zip
output: one thread per audio output
To keep I/O nastiness and latencies away from the core, move the audio output code to a separate thread, one per output. The thread is created on demand, and currently runs until mpd exits.
Diffstat (limited to 'src/output_init.c')
-rw-r--r--src/output_init.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/output_init.c b/src/output_init.c
index f6d3799c4..f57f39336 100644
--- a/src/output_init.c
+++ b/src/output_init.c
@@ -98,6 +98,10 @@ int audio_output_init(struct audio_output *ao, ConfigParam * param)
} else
audio_format_clear(&ao->reqAudioFormat);
+ ao->thread = 0;
+ notify_init(&ao->notify);
+ ao->command = AO_COMMAND_NONE;
+
if (plugin->init(ao, param) != 0)
return 0;