From 451b142e3a0a953f2198c8549481032f1acbff12 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 6 Nov 2018 23:52:26 +0100 Subject: [PATCH] player/Thread: finish decoder startup before checking the buffer This fixes a valgrind warning because `buffer_before_play` initialization needs to know the audio format from the decoder. --- src/player/Thread.cxx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/player/Thread.cxx b/src/player/Thread.cxx index 656aa80e4..b6b107c3b 100644 --- a/src/player/Thread.cxx +++ b/src/player/Thread.cxx @@ -970,6 +970,15 @@ Player::Run() noexcept pc.CommandFinished(); while (ProcessCommand()) { + if (decoder_starting) { + /* wait until the decoder is initialized completely */ + + if (!CheckDecoderStartup()) + break; + + continue; + } + if (buffering) { /* buffering at the start of the song - wait until the buffer is large enough, to @@ -987,15 +996,6 @@ Player::Run() noexcept } } - if (decoder_starting) { - /* wait until the decoder is initialized completely */ - - if (!CheckDecoderStartup()) - break; - - continue; - } - if (dc.IsIdle() && queued && dc.pipe == pipe) { /* the decoder has finished the current song; make it decode the next song */