diff options
author | Max Kellermann <max@musicpd.org> | 2019-06-28 08:27:48 +0200 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2019-06-28 09:10:16 +0200 |
commit | c926021599c77b3011beec856cad535a5bedb1af (patch) | |
tree | 2afa286d255d04f44c0974fbe7f239e8eedb752e | |
parent | 543776d9c94763a6870511ed569df2fd7eda1577 (diff) |
output/alsa: always redo DrainInternal() after writing
Draining isn't finished just because the period_buffer has run empty.
It is only finished after snd_pcm_drain() has succeeded.
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/output/plugins/AlsaOutputPlugin.cxx | 2 |
2 files changed, 2 insertions, 1 deletions
@@ -5,6 +5,7 @@ ver 0.21.11 (not yet released) - wildmidi: log error if library initialization fails * output - alsa: fix busy loop while draining + - alsa: fix missing drain call - alsa, osx: fix distortions with DSD_U32 and DoP on 32 bit CPUs * protocol - fix "list" with multiple "group" levels diff --git a/src/output/plugins/AlsaOutputPlugin.cxx b/src/output/plugins/AlsaOutputPlugin.cxx index eefb7f467..16832a1bc 100644 --- a/src/output/plugins/AlsaOutputPlugin.cxx +++ b/src/output/plugins/AlsaOutputPlugin.cxx @@ -766,7 +766,7 @@ AlsaOutput::DrainInternal() /* need to call CopyRingToPeriodBuffer() and WriteFromPeriodBuffer() again in the next iteration, so don't finish the drain just yet */ - return period_buffer.IsEmpty(); + return false; } if (!written) |