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 */