Bugzilla – Bug 6943
duration value in playerstatus is wrong when next track is streaming
Last modified: 2009-09-08 09:21:19 UTC
To reproduce: Play Pandora. At 10 seconds left in the track, the next one will begin streaming. Duration value sent in playerstatus is the value for the next track, so causes progress bars to display the wrong remaining time.
Since Pandora re-uses the same track object for all tracks, and playerstatus is always reading from the database, I think the only way to fix this is to add a 'secs' value to getMetadataFor.
Andy: is this new?
No it would have been broken this way forever, I guess nobody noticed the progress bar was wrong in the last 10 seconds of a song.
Fixed in change 17220.
This bug is being closed since it was resolved for a version which is now released! Please download the new version of SqueezeCenter (formerly SlimServer) at http://www.slimdevices.com/su_downloads.html If you are still seeing this bug, please re-open it and we will consider it for a future release.
I've checked in a code cleanup which touches the fix Andy added for this bug (change 25960). Please test with the latest builds to make sure I didn't break anything. Pandora won't let me play today. Andy - I removed the addResult() call adding duration in _songInfo(), as it added the duration in all queries calling _songInfo(), even if duration wasn't needed. Plus I think it was redundant in the case where duration was queried, as you set $remoteMeta{duration} too, which then would be used to return the duration. (plus I didn't like the addResult call, as it's the only one actually changing the request object)