Bug 16068 - Seek is wrong for virtual tracks from CUE sheet
: Seek is wrong for virtual tracks from CUE sheet
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Playlists
: 7.5.0
: PC Other
: P5 normal (vote)
: 7.6.0
Assigned To: Bradley D. Wall
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-04-14 19:28 UTC by Andy Grundman
Modified: 2011-05-23 09:36 UTC (History)
3 users (show)

See Also:
Category: Bug


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Grundman 2010-04-14 19:28:18 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.
Comment 1 Alan Young 2010-04-14 22:36:46 UTC
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.
Comment 2 Andy Grundman 2010-04-15 04:42:30 UTC
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.
Comment 3 SVN Bot 2010-04-15 06:18:01 UTC
 == 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
Comment 4 Mickey Gee 2011-05-23 09:36:17 UTC
Fixed. Please reopen since unable to verify.