From 8024f7e84ddbeaae1cee3179174886b8083d629f Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 10 Mar 2021 20:06:59 +0100 Subject: [PATCH] output/wasapi: move the thread->Play() call right before the consumed_size check Fixes a bogus assertion failure (which can now be removed). --- src/output/plugins/wasapi/WasapiOutputPlugin.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/output/plugins/wasapi/WasapiOutputPlugin.cxx b/src/output/plugins/wasapi/WasapiOutputPlugin.cxx index a1c3d69ee..db61fff3f 100644 --- a/src/output/plugins/wasapi/WasapiOutputPlugin.cxx +++ b/src/output/plugins/wasapi/WasapiOutputPlugin.cxx @@ -633,8 +633,13 @@ WasapiOutput::Play(const void *chunk, size_t size) do { const size_t consumed_size = thread->spsc_buffer.push( static_cast(input.data), input.size); + + if (!is_started) { + is_started = true; + thread->Play(); + } + if (consumed_size == 0) { - assert(is_started); thread->Wait(); thread->CheckException(); if (!not_interrupted.test_and_set()) { @@ -643,11 +648,6 @@ WasapiOutput::Play(const void *chunk, size_t size) continue; } - if (!is_started) { - is_started = true; - thread->Play(); - } - thread->CheckException(); if (pcm_export) {