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.
This commit is contained in:
Max Kellermann 2018-11-06 23:52:26 +01:00
parent 2833625266
commit 451b142e3a
1 changed files with 9 additions and 9 deletions

View File

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