Bugzilla – Bug 15757
escaped chars passed in playlist from mip->sb->server improperly unescaped
Last modified: 2010-02-22 19:14:52 UTC
looks like URI handling of escaped ';' chars doesn't work. The target URL was passed in from a MusicIP generated playlist. [10-02-22 00:43:19.6807] Slim::Player::Squeezebox::stream_s (582) stream_s called: format: mp3 url: file:///Volumes/localmedia/muse/music-from-steve-dsktop/Grant%20Geissman%20And%20Guy%20Maeda/Guitar%20On%20Broadway%3B%20Pianolight%20And%20....%20Vol%201%3B%20Best%20Of%20Broadway/01%20With%20One%20Look%20From%20_Sunset%20Blvd_.mp3 target is '/Volumes/localmedia/muse/music-from-steve-dsktop/Grant Geissman And Guy Maeda/Guitar On Broadway; Pianolight And .... Vol 1; Best Of Broadway/01 With One Look From _Sunset Blvd_.mp3', probably created at some point automatically by an importer. The SB3 ends up stuck in a state of "Problem: Can't open file for: file:///Volumes/localmedia/muse/music-from-steve-dsktop/Grant%20Geissman%20And%20Guy%20Maeda/Guitar%20On%20Broadway%3B%20Pianolight%20And%20....%20Vol%201%3B%20Best%20Of%20Broadway/01%20With%20One%20Look%20From%20_Sunset%20Blvd_.mp3" from which it does not recover. seems like this should call Slim::Utils::Misc::unescape() somewhere in the received path. I've managed to make this case work by hacking the following into Slim::Player::Squeezebox::stream_s: - my $url = $controller-streamUrl(); + my $url = Slim::Utils::Misc::unescape($controller->streamURL()); + $params->{'url'} = $url; but it should probably go somewhere more appropriate. It seems that the squeezebox not recovering from that state is a separate issue.