Commit c9260215 authored by Max Kellermann's avatar Max Kellermann

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.
parent 543776d9
......@@ -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
......
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment