decoder_api: emulate SEEK command for initial seek to CUE track

When playing a CUE track, the player thread waited for the decoder to
become ready, and then sent a SEEK command to the beginning of the CUE
track.  If that is near the start of the song file, and the track is
short enough, the decoder could have finished decoding already at that
point, and seeking fails.

This commit makes this initial seek more robust: instead of letting
the player thread deal with the difficult timings, let the decoder API
emulate a SEEK command, and return it to the decoder plugin, as soon
as the plugin finishes its initialization.
This commit is contained in:
Max Kellermann
2011-09-21 23:17:34 +02:00
parent fb19210cfd
commit 525a791987
5 changed files with 74 additions and 16 deletions

1
NEWS
View File

@@ -9,6 +9,7 @@ ver 0.16.5 (2010/??/??)
* decoder:
- ffmpeg: higher precision timestamps
- ffmpeg: don't require key frame for seeking
- fix CUE track seeking
* WIN32: close sockets properly