diff --git a/NEWS b/NEWS index 56ce212c9..d47a02aff 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ ver 0.21.14 (not yet released) - sidplay: strip text from "Date" tag * player - fix crash after song change + - fix seek position after restarting the decoder ver 0.21.13 (2019/08/06) * input diff --git a/src/decoder/Thread.cxx b/src/decoder/Thread.cxx index 9021af57a..45129a206 100644 --- a/src/decoder/Thread.cxx +++ b/src/decoder/Thread.cxx @@ -455,6 +455,11 @@ static void decoder_run_song(DecoderControl &dc, const DetachedSong &song, const char *uri, Path path_fs) { + if (dc.command == DecoderCommand::SEEK) + /* if the SEEK command arrived too late, start the + decoder at the seek position */ + dc.start_time = dc.seek_time; + DecoderBridge bridge(dc, dc.start_time.IsPositive(), /* pass the song tag only if it's authoritative, i.e. if it's a local