diff --git a/src/output/plugins/wasapi/WasapiOutputPlugin.cxx b/src/output/plugins/wasapi/WasapiOutputPlugin.cxx index 7a58ffe2e..7092deb92 100644 --- a/src/output/plugins/wasapi/WasapiOutputPlugin.cxx +++ b/src/output/plugins/wasapi/WasapiOutputPlugin.cxx @@ -354,16 +354,23 @@ try { event.Wait(); Status current_state = status.load(); - if (current_state == Status::FINISH) { + switch (current_state) { + case Status::FINISH: FormatDebug(wasapi_output_domain, "Working thread stopped"); return; - } - if (!started && current_state != Status::PLAY) - /* don't bother starting the IAudioClient if - we're paused */ - continue; + case Status::PAUSE: + if (!started) + /* don't bother starting the + IAudioClient if we're paused */ + continue; + + break; + + case Status::PLAY: + break; + } UINT32 write_in_frames = buffer_size_in_frames; if (!is_exclusive) {