Bugzilla – Bug 3384
Streams stored in favorites don't work
Last modified: 2008-09-15 14:38:25 UTC
Ever since I started following 6.3.x, I've noticed that MP3/PLS streams started from Favorites don't work as expected. With a favorites collection that looks like this: favorite_urls: - radioio://radioioJAZZ.mp3 - http://207.200.96.227:8000 - http://www.sky.fm/mp3/the80s.pls - http://www.sky.fm/mp3/smoothjazz.pls - http://www.kcrw.org/pls/kcrwworldnews.pls - http://www.sky.fm/mp3/hit70s.pls - radioio://radioioPOP.mp3 - http://www.sky.fm/mp3/tophits.pls - http://www.shoutcast.com/sbin/tunein-station.pls?id=7775&filename=playlist.pls - http://radio.macinmind.com/antioch.pls - '' Only the RadioIO ones in slot 1 and 7 work normally. If I hold down 4 to start playing stream 4, it loads the streams from the smoothjazz.pls file, but it does not start playing them. This is also the case for all but teh RadioIO favorites. It is almost as if the player doesn't know it needs to stream the music. This was tested with the 5/2/2006 nightly of 6.3.0, but I also saw this behavior on the 5/1/2006 nightly. Here's a log of me trying to start favorite 4. It is excessively verbose: 2006-05-03 00:53:47.8191 found button 4 for 768948b7 2006-05-03 00:53:47.8194 irCode not defined: 4.repeat 2006-05-03 00:53:47.8197 irCode = [] timer = [80587.271] timediff = [0.107999999992899] last = [numberScroll_4] 2006-05-03 00:53:47.8200 Returning array: ir (768948b7) (80587.271) () () () () () 2006-05-03 00:53:47.9247 Got Slimproto frame, op IR , length 10, IO::Socket::INET=GLOB(0x1f44c34) 2006-05-03 00:53:47.9254 Executing command 00:04:20:05:b8:28: ir (768948b7) (80587.378) () () () () () 2006-05-03 00:53:47.9258 768948b7 80587.378 1146635627.9258 2006-05-03 00:53:47.9261 found button 4 for 768948b7 2006-05-03 00:53:47.9264 irCode not defined: 4.repeat 2006-05-03 00:53:47.9267 irCode = [] timer = [80587.378] timediff = [0.107000000003609] last = [numberScroll_4] 2006-05-03 00:53:47.9270 Returning array: ir (768948b7) (80587.378) () () () () () 2006-05-03 00:53:48.0076 Idle loop speed: 16 iterations per second 2006-05-03 00:53:48.0326 Got Slimproto frame, op IR , length 10, IO::Socket::INET=GLOB(0x1f44c34) 2006-05-03 00:53:48.0333 Executing command 00:04:20:05:b8:28: ir (768948b7) (80587.486) () () () () () 2006-05-03 00:53:48.0337 768948b7 80587.486 1146635628.03369 2006-05-03 00:53:48.0340 found button 4 for 768948b7 2006-05-03 00:53:48.0343 found function playFavorite_4 for button 4.hold in mode common from map Default.map 2006-05-03 00:53:48.0346 irCode: playFavorite_4, 00:04:20:05:b8:28 2006-05-03 00:53:48.0348 Executing command 00:04:20:05:b8:28: button (playFavorite_4) (80587.486) (1) () () () () 2006-05-03 00:53:48.0352 irCode not defined: playFavorite_4 2006-05-03 00:53:48.0354 trying to execute button: playFavorite_4 2006-05-03 00:53:48.0357 executing button: playFavorite_4 2006-05-03 00:53:48.0363 Favorites Plugin: playing favorite number 4, SKY.fm Smooth Jazz 2006-05-03 00:53:48.0381 Executing command 00:04:20:05:b8:28: playlist (clear) () () () () () () 2006-05-03 00:53:48.0386 Adding song index 0 to song queue 2006-05-03 00:53:48.0388 Clearing out song queue first 2006-05-03 00:53:48.0390 Song queue is now 0 2006-05-03 00:53:48.0394 Playlist: Jumping to song index: 0 2006-05-03 00:53:48.0397 00:04:20:05:b8:28: Switching to mode stop from stop 2006-05-03 00:53:48.0402 Backtrace: frame 0: Slim::Player::Source::playmode (Slim/Control/Command.pm line 931) frame 1: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 2: Slim::Player::Client::execute (Plugins/Favorites/Plugin.pm line 246) frame 3: Plugins::Favorites::Plugin::playFavorite (Slim/Hardware/IR.pm line 662) frame 4: Slim::Hardware::IR::executeButton (Slim/Control/Command.pm line 253) frame 5: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 6: Slim::Player::Client::execute (Slim/Hardware/IR.pm line 675) frame 7: Slim::Hardware::IR::processCode (Slim/Hardware/IR.pm line 554) frame 8: Slim::Hardware::IR::holdCode (Slim/Hardware/IR.pm line 475) frame 9: Slim::Hardware::IR::processIR (Slim/Control/Command.pm line 253) frame 10: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 11: Slim::Player::Client::execute (Slim/Hardware/IR.pm line 88) frame 12: Slim::Hardware::IR::idle (./slimserver.pl line 673) frame 13: main::idle (./slimserver.pl line 632) frame 14: main::main (./slimserver.pl line 1265) 2006-05-03 00:53:48.0405 Already in playmode stop : ignoring mode change 2006-05-03 00:53:48.0410 Playlist: Jumping to song index: 0 2006-05-03 00:53:48.0437 Merging entry for clientplaylist://00:04:20:05:b8:28 2006-05-03 00:53:48.0443 Updating clientplaylist://00:04:20:05:b8:28 : TITLE to Now Playing - Squeezebox 2006-05-03 00:53:48.0446 Updating clientplaylist://00:04:20:05:b8:28 : CT to cpl 2006-05-03 00:53:48.0448 Updating clientplaylist://00:04:20:05:b8:28 : REMOTE to 0 2006-05-03 00:53:48.0450 Updating clientplaylist://00:04:20:05:b8:28 : TITLESEARCH to NOW PLAYING SQUEEZEBOX 2006-05-03 00:53:48.0451 Updating clientplaylist://00:04:20:05:b8:28 : TITLESORT to NOW PLAYING SQUEEZEBOX 2006-05-03 00:53:48.0606 forceCommit: syncing to the database. 2006-05-03 00:53:48.2786 Returning array: playlist (clear) () () () () () () 2006-05-03 00:53:48.2790 Executing command 00:04:20:05:b8:28: playlist (add) (http://www.sky.fm/mp3/smoothjazz.pls) () () () () () 2006-05-03 00:53:48.2800 cracked: http://www.sky.fm/mp3/smoothjazz.pls with [www.sky.fm],[80],[/mp3/smoothjazz.pls] 2006-05-03 00:53:48.2806 AsyncHTTP: Starting async DNS lookup for [www.sky.fm] 2006-05-03 00:53:48.2845 Playlist: Jumping to song index: 0 2006-05-03 00:53:48.2850 Returning array: playlist (add) (http://www.sky.fm/mp3/smoothjazz.pls) () () () () () 2006-05-03 00:53:48.2853 Executing command 00:04:20:05:b8:28: play () () () () () () () 2006-05-03 00:53:48.2856 00:04:20:05:b8:28: Switching to mode play from stop 2006-05-03 00:53:48.2861 Backtrace: frame 0: Slim::Player::Source::playmode (Slim/Control/Command.pm line 263) frame 1: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 2: Slim::Player::Client::execute (Plugins/Favorites/Plugin.pm line 248) frame 3: Plugins::Favorites::Plugin::playFavorite (Slim/Hardware/IR.pm line 662) frame 4: Slim::Hardware::IR::executeButton (Slim/Control/Command.pm line 253) frame 5: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 6: Slim::Player::Client::execute (Slim/Hardware/IR.pm line 675) frame 7: Slim::Hardware::IR::processCode (Slim/Hardware/IR.pm line 554) frame 8: Slim::Hardware::IR::holdCode (Slim/Hardware/IR.pm line 475) frame 9: Slim::Hardware::IR::processIR (Slim/Control/Command.pm line 253) frame 10: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 11: Slim::Player::Client::execute (Slim/Hardware/IR.pm line 88) frame 12: Slim::Hardware::IR::idle (./slimserver.pl line 673) frame 13: main::idle (./slimserver.pl line 632) frame 14: main::main (./slimserver.pl line 1265) 2006-05-03 00:53:48.2869 ERROR: Couldn't open song. 2006-05-03 00:53:48.2873 Got a track starting event 2006-05-03 00:53:48.2875 Song 0 has now started playing 2006-05-03 00:53:48.2879 Playlist: Jumping to song index: 0 2006-05-03 00:53:48.2882 Song queue is now 0 2006-05-03 00:53:48.2886 opening next song... 2006-05-03 00:53:48.2898 opening next song (old format: , new: ) current playmode: stop 2006-05-03 00:53:48.2901 Adding song index 0 to song queue 2006-05-03 00:53:48.2904 Song queue is now 0,0 2006-05-03 00:53:48.2912 00:04:20:05:b8:28: Switching to mode stop from stop 2006-05-03 00:53:48.2917 Backtrace: frame 0: Slim::Player::Source::playmode (Slim/Player/Source.pm line 872) frame 1: Slim::Player::Source::gotoNext (Slim/Player/Source.pm line 415) frame 2: Slim::Player::Source::playmode (Slim/Control/Command.pm line 263) frame 3: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 4: Slim::Player::Client::execute (Plugins/Favorites/Plugin.pm line 248) frame 5: Plugins::Favorites::Plugin::playFavorite (Slim/Hardware/IR.pm line 662) frame 6: Slim::Hardware::IR::executeButton (Slim/Control/Command.pm line 253) frame 7: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 8: Slim::Player::Client::execute (Slim/Hardware/IR.pm line 675) frame 9: Slim::Hardware::IR::processCode (Slim/Hardware/IR.pm line 554) frame 10: Slim::Hardware::IR::holdCode (Slim/Hardware/IR.pm line 475) frame 11: Slim::Hardware::IR::processIR (Slim/Control/Command.pm line 253) frame 12: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 13: Slim::Player::Client::execute (Slim/Hardware/IR.pm line 88) frame 14: Slim::Hardware::IR::idle (./slimserver.pl line 673) frame 15: main::idle (./slimserver.pl line 632) frame 16: main::main (./slimserver.pl line 1265) 2006-05-03 00:53:48.2921 Already in playmode stop : ignoring mode change 2006-05-03 00:53:48.2924 No pending chunks - we're dropping the streaming connection 2006-05-03 00:53:48.2947 ERROR: Couldn't gotoNext, stopping 2006-05-03 00:53:48.2951 00:04:20:05:b8:28 New play mode: stop 2006-05-03 00:53:48.2954 Stopping and clearing out old chunks for client 00:04:20:05:b8:28 2006-05-03 00:53:48.2959 *************stream called: q paused: format: url: 2006-05-03 00:53:48.2964 Backtrace: frame 0: Slim::Player::Squeezebox::stream (Slim/Player/Squeezebox.pm line 196) frame 1: Slim::Player::Squeezebox::stop (Slim/Player/Squeezebox2.pm line 639) frame 2: Slim::Player::Squeezebox2::stop (Slim/Player/Source.pm line 475) frame 3: Slim::Player::Source::playmode (Slim/Control/Command.pm line 263) frame 4: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 5: Slim::Player::Client::execute (Plugins/Favorites/Plugin.pm line 248) frame 6: Plugins::Favorites::Plugin::playFavorite (Slim/Hardware/IR.pm line 662) frame 7: Slim::Hardware::IR::executeButton (Slim/Control/Command.pm line 253) frame 8: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 9: Slim::Player::Client::execute (Slim/Hardware/IR.pm line 675) frame 10: Slim::Hardware::IR::processCode (Slim/Hardware/IR.pm line 554) frame 11: Slim::Hardware::IR::holdCode (Slim/Hardware/IR.pm line 475) frame 12: Slim::Hardware::IR::processIR (Slim/Control/Command.pm line 253) frame 13: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 14: Slim::Player::Client::execute (Slim/Hardware/IR.pm line 88) frame 15: Slim::Hardware::IR::idle (./slimserver.pl line 673) frame 16: main::idle (./slimserver.pl line 632) frame 17: main::main (./slimserver.pl line 1265)
see bug 3352. does this apply?
Yes. The symptoms are the same. However, the edits recommended don't seem to work in 6.3.x. Or I did them wrong.... It makes favorites not work at all from the remote. As in, hold down 4 and the playlist isn't even cleared/reloaded. 2006-05-03 06:45:52.0525 Backtrace: frame 0: Slim::Utils::Strings::string (Slim/Player/Squeezebox2.pm line 917) frame 1: Slim::Player::Squeezebox2::string (Slim/Buttons/Home.pm line 39) frame 2: Slim::Buttons::Home::__ANON__ (Slim/Buttons/Input/List.pm line 170) frame 3: Slim::Buttons::Input::List::getExtVal (Slim/Buttons/Input/List.pm line 144) frame 4: Slim::Buttons::Input::List::lines (Slim/Player/Player.pm line 690) frame 5: Slim::Player::Player::curLines (Slim/Player/Squeezebox2.pm line 426) frame 6: Slim::Player::Squeezebox2::pushDown (Slim/Buttons/Input/List.pm line 115) frame 7: Slim::Buttons::Input::List::changePos (Slim/Buttons/Input/List.pm line 27) frame 8: Slim::Buttons::Input::List::__ANON__ (Slim/Hardware/IR.pm line 662) frame 9: Slim::Hardware::IR::executeButton (Slim/Control/Command.pm line 253) frame 10: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 11: Slim::Player::Client::execute (Slim/Hardware/IR.pm line 675) frame 12: Slim::Hardware::IR::processCode (Slim/Hardware/IR.pm line 493) frame 13: Slim::Hardware::IR::processIR (Slim/Control/Command.pm line 253) frame 14: Slim::Control::Command::execute (Slim/Player/Client.pm line 1002) frame 15: Slim::Player::Client::execute (Slim/Hardware/IR.pm line 88) frame 16: Slim::Hardware::IR::idle (./slimserver.pl line 673) frame 17: main::idle (./slimserver.pl line 632) frame 18: main::main (./slimserver.pl line 1265) 2006-05-03 06:45:52.0527 Undefined string: FAVORITES requested language: EN failsafe language: EN
Actually, that looks like you might have had a typo, or the fix has a typo. Since FAVORITES string is missing, it would indicate that the favorites plugin hasn't loaded properly. Given a typo, that can happen. I'm mainly trying to see if you see the same results: failure via remote vs working from web. If so, then these two bugs are likely the same and will have the same solution. If you can start the server using slimserver.pl --d_plugins in the terminal, you'll see where any typos or plugin loading errors exist.
Yeah, well. It wasn't a typo. It was me stupidly just blindly copy/pasting from bug 3352 and not noticing the need to modify it to work with 6.3. Boy do I feel silly. Anyway, the fix provided in bug 3352 works, given a bit of editing: In mainModeFunctions:'play', change it like so: # $client->execute([ 'playlist', 'clear' ] ); # $client->execute([ 'playlist', 'add', $urls->[$listIndex]] ); # $client->execute([ 'play' ] ); $client->execute([ 'playlist', 'play', $urls->[$listIndex]] ); And in playFavorite, do this: # $client->execute(['playlist', 'clear']); # $client->execute(['playlist', 'add', $urls[$index]]); # $client->execute(['play']); $client->execute([ 'playlist', 'play', $urls[$index]] ); I'd give a formal diff, but I didn't think to save an original copy of Favorites/Plugin.pm. Anyway, as far as I can tell this change makes it work perfectly. Now both the web and remote work as expected.
I assume this isn't in the build yet, because the 5/4 build is still broken for me.
developer will post here if/when it goes into a build. Personally, I dont plan to just drop in the fix posted becuase there should not be any difference in the overall outcome from the two different sets of commands. playlist->add, play should be the same as playlist->play. Wouldn't want to just throw something in without proper testing and planning now, would we :)
*** Bug 3352 has been marked as a duplicate of this bug. ***
Actually, this is a much greater problem. Go to radioio, for example. Using web UI, click the + link to add the stream to the playlist (in my case, adding to an empty playlist). Then press play. This fails as well. It is not the favourites that is the problem, it is add->play. d_source seems to show that the server thinks it needs to convert from "m3u" to "mp3". Content type would seem to be the problem. ct comes up as 'unk' on a play and that seems to allow it to work. odd.
Fyi, the fix code listed in bug 3352 does essentially what the "play" button on the slimserver "favorites" web page does. Whatever the fix ends up to be, the code for the html page and squeezebox remote should do the same thing.
They were, but the commands are broken somewhere. The fix is a workaround until the underlying problem can be dealt with.
KDF: we're confused by this. what's the situation here? Is this resolved for 6.3?
it's fixed for favourites, but if anyone uses the cli or direct command on a playlist then it will fail. plugins etc, will fail. I think radioIO may still be broken...I haven't been around to test for a long time. I followed Dean's instructions in bug3399 to use the quick fix. I guess the intent was to rename this bug summary for the remaining issue...whatever exactly that truly is. it is some sort of ct problem.
Andy's recent changes to streaming have fixed the content type problem. I just tested using kdf's steps, and everything works. Marking this as fixed, please refer to bug 3399 for refactoring.
SlimServer Version: 6.3.0 - 8002 - Mac OS X 10.4.6 (8I127) - EN - utf8 I too verified this with KDF's steps.
This bug fix is now part of a released version, and so has been marked closed. If you are still experiencing this problem, please reopen the bug.