aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_all.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-11-09 22:16:26 +0100
committerMax Kellermann <max@duempel.org>2009-11-09 22:16:26 +0100
commit3359f8785ef9b595b3ad943fdd2227f98ce56990 (patch)
tree248b51245d424b4700fffffb2eb8efd89f1ed6a0 /src/output_all.c
parent96b974bc452e6b33ada281c5ccb4df7b9492e1da (diff)
downloadmpd-3359f8785ef9b595b3ad943fdd2227f98ce56990.tar.gz
mpd-3359f8785ef9b595b3ad943fdd2227f98ce56990.tar.xz
mpd-3359f8785ef9b595b3ad943fdd2227f98ce56990.zip
output_thread: added command DRAIN
This command manually drains the hardware buffer. This is useful when the player thread want to make sure that everything has been played.
Diffstat (limited to '')
-rw-r--r--src/output_all.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/output_all.c b/src/output_all.c
index 5b7cc4908..29590abf0 100644
--- a/src/output_all.c
+++ b/src/output_all.c
@@ -496,6 +496,15 @@ audio_output_all_pause(void)
}
void
+audio_output_all_drain(void)
+{
+ for (unsigned i = 0; i < num_audio_outputs; ++i)
+ audio_output_drain_async(&audio_outputs[i]);
+
+ audio_output_wait_all();
+}
+
+void
audio_output_all_cancel(void)
{
unsigned int i;