Bugzilla – Bug 11099
Now playing remote stream shows duration bar initially
Last modified: 2009-10-05 14:31:56 UTC
When playing a radio station after playing a track with a known duration, now playing initially shows the duration of the previous track. This is because Slim::Player::StreamingController::_Stop removes all but the last song from the songqueue and so when a remote stream is played, the display code calls Slim::Player::Source::playingSongDuration and gets the duration of the old song for the first display update when the remote url is played. Why do we need to leave a song in the song queue when we call _Stop. If this is necessary what can we do to avoid the StreamingController methods returning data on it rather than the newly played url? Bug initially spotted by Kevin but I've only just got round to looking at it..
Alan - I think this is more showing the duration display, it will show the previous track in the now playing display when you first press play or fwd etc. We need a way for now playing to get the new track not the old one - any suggestions?
[I have not looked at the code yet ...] My guess is that this occurs in the window between starting to stream a new song and before the song has actually started. I can see two possible fixes, maybe both are valid: 1. Have playingSong() check the status of first song in the queue and, if (STOPPED or FAILED) and another song in queue, then return the next song. 2. Have the code that puts a new song on the queue remove any pre-existing STOPPED or FAILED songs first. Any comments?
It is related to remote streams so it may happen during the scan phase. At this point the previous track is marked as stopped, but there is no new track to stream in the songqueue? There is scope to do something which is aimed at the user interface here and so should show the track which is being attempted to be played rather than the previous one.
tested - in this case (queing up an album from Napster and pressing next track), there is never more than one song in the song queue. The issue is that this track is often the previous track when you want to play a new remote stream (as it is being scanned?) So we need an alternative method to get the now playing track as it is not yet in the songqueue.
I think that change 25406 for bug 10841 will probably fix this too. Please can you verify.
Looking good to me. Kevin?
Marking fixed.
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server! * SqueezeCenter: 28672 * Squeezebox 2 and 3: 130 * Transporter: 80 * Receiver: 65 * Boom: 50 * Controller: 7790 * Radio: 7790 Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.