diff --git a/src/output/OutputThread.cxx b/src/output/OutputThread.cxx index 3e3cccb9f..2ac59f534 100644 --- a/src/output/OutputThread.cxx +++ b/src/output/OutputThread.cxx @@ -493,7 +493,7 @@ AudioOutput::Play() in_playback_loop = false; }; - while (chunk != nullptr) { + do { if (command != Command::NONE) return true; @@ -502,7 +502,7 @@ AudioOutput::Play() pipe.Consume(*chunk); chunk = pipe.Get(); - } + } while (chunk != nullptr); const ScopeUnlock unlock(mutex); player_control->LockSignal();