Bugzilla – Bug 16068
Seek is wrong for virtual tracks from CUE sheet
Last modified: 2011-05-23 09:36:17 UTC
Seeking in a virtual CUE track always seeks from the start of the original file, it should instead be using the start of the virtual track.
This used to work. I think the problem has been introduced by the change to findFrameBoundaries sub findFrameBoundaries { my ($class, $fh, $offset, $time) = @_; Previously, these used to work by finding the frame boundary nearest the specified offset. This offset is calculated in Slim::Player::Protocols::File::_timeToOffset() to be approximately correct in the target track within the multi-track file. But a while ago they were changed to use the target time point instead of the offset. However the signature of findFrameBoundaries() does not include Song or Track and so it is not possible to determine the correct position from time alone, as this time is only from the start of the sub-track, not the file.
OK that makes sense. Seeking by offset was very inaccurate so that's why I changed all formats to use time-based seeking. I'll fix this today.
== Auto-comment from SVN commit #30615 to the slim repo by agrundman == == http://svn.slimdevices.com/slim?view=revision&revision=30615 == Fixed bug 16068, need to also adjust time value when seeking in a virtual cue sheet track
Fixed. Please reopen since unable to verify.