Bug 3384 - Streams stored in favorites don't work
: Streams stored in favorites don't work
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Streaming To SlimServer
: 6.3.0
: Macintosh MacOS X 10.4
: P2 normal (vote)
: ---
Assigned To: Dan Sully
:
Depends on:
Blocks: 3399
  Show dependency treegraph
 
Reported: 2006-05-02 23:14 UTC by Sean Kelly
Modified: 2008-09-15 14:38 UTC (History)
4 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sean Kelly 2006-05-02 23:14:30 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)
Comment 1 KDF 2006-05-02 23:35:28 UTC
see bug 3352.  does this apply?
Comment 2 Sean Kelly 2006-05-03 04:56:11 UTC
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
Comment 3 KDF 2006-05-03 12:45:13 UTC
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.
Comment 4 Sean Kelly 2006-05-03 15:43:19 UTC
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.
Comment 5 Marc Auslander 2006-05-04 07:14:08 UTC
I assume this isn't in the build yet, because the 5/4 build is still broken for me.
Comment 6 KDF 2006-05-04 09:24:49 UTC
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 :)
Comment 7 KDF 2006-05-05 10:21:46 UTC
*** Bug 3352 has been marked as a duplicate of this bug. ***
Comment 8 KDF 2006-05-05 10:42:02 UTC
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.
Comment 9 Joe Bryan 2006-05-08 11:17:12 UTC
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.
Comment 10 KDF 2006-05-08 11:22:36 UTC
They were, but the commands are broken somewhere. The fix is a workaround until the underlying problem can be dealt with.
Comment 11 Blackketter Dean 2006-06-06 17:30:09 UTC
KDF: we're confused by this.  what's the situation here?  Is this resolved for 6.3?
Comment 12 KDF 2006-06-06 17:35:35 UTC
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. 
Comment 13 Dan Sully 2006-06-08 13:40:30 UTC
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.
Comment 14 Ross Levine 2006-06-19 15:27:50 UTC
SlimServer Version: 6.3.0 - 8002 - Mac OS X 10.4.6 (8I127) - EN - utf8

I too verified this with KDF's steps. 
Comment 15 Chris Owens 2006-06-27 14:21:48 UTC
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.