diff options
Diffstat (limited to 'src/player')
-rw-r--r-- | src/player/Thread.cxx | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/player/Thread.cxx b/src/player/Thread.cxx index 9358dc1f5..40d73a5f1 100644 --- a/src/player/Thread.cxx +++ b/src/player/Thread.cxx @@ -369,6 +369,8 @@ Player::WaitForDecoder() delete song; song = pc.next_song; + pc.next_song = nullptr; + elapsed_time = SongTime::zero(); /* set the "starting" flag, which will be cleared by @@ -376,13 +378,10 @@ Player::WaitForDecoder() decoder_starting = true; /* update PlayerControl's song information */ - pc.total_time = pc.next_song->GetDuration(); + pc.total_time = song->GetDuration(); pc.bit_rate = 0; pc.audio_format.Clear(); - /* clear the queued song */ - pc.next_song = nullptr; - pc.Unlock(); /* call syncPlaylistWithQueue() in the main thread */ |