Bug 16052 - Some stations fail to play in 7.5, but play fine in 7.4 (bad stream headers)
: Some stations fail to play in 7.5, but play fine in 7.4 (bad stream headers)
Status: RESOLVED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Scanner
: 7.5.0
: Macintosh Debian Linux
: P3 normal (vote)
: 7.5.1
Assigned To: Alan Young
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-04-12 21:59 UTC by Michael Herger
Modified: 2010-04-13 00:10 UTC (History)
2 users (show)

See Also:
Category: Bug


Attachments
more complete server log (5.36 KB, text/plain)
2010-04-12 22:02 UTC, Michael Herger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Herger 2010-04-12 21:59:12 UTC
"Radio Sunshine" (Internet Radio/World/Find a City/Europe/Switzerland/Zürich/All Stations) wouldn't play any more. SBS is logging the following lines:

[10-04-13 06:55:20.1970] main::init (323) Starting Squeezebox Server (v7.5.1, rTRUNK, UNKNOWN) perl 5.010000
[10-04-13 06:55:21.5776] Slim::Plugin::MusicMagic::Plugin::initPlugin (265) Can't connect to port 10002 - MusicIP disabled.
[10-04-13 06:55:33.6284] Slim::Networking::IO::Select::__ANON__ (146) Error: Select task failed calling Slim::Networking::Async::HTTP::_http_read_body: Can't locate object method "tracks" via package "Slim::Schema::RemoteTrack" at /Users/mh/Documents/workspace/7.5/server/Slim/Schema/RemotePlaylist.pm line 50.
; fh=Slim::Networking::Async::Socket::HTTP=GLOB(0x10564f918)
[10-04-13 06:55:33.9069] Slim::Networking::IO::Select::__ANON__ (146) Error: Select task failed calling Slim::Networking::Async::HTTP::_http_read_body: Can't locate object method "tracks" via package "Slim::Schema::RemoteTrack" at /Users/mh/Documents/workspace/7.5/server/Slim/Schema/RemotePlaylist.pm line 50.
; fh=Slim::Networking::Async::Socket::HTTP=GLOB(0x1056784f0)
[10-04-13 06:55:34.9120] Slim::Networking::IO::Select::__ANON__ (146) Error: Select task failed calling Slim::Networking::Async::HTTP::_http_read_body: Can't locate object method "tracks" via package "Slim::Schema::RemoteTrack" at /Users/mh/Documents/workspace/7.5/server/Slim/Schema/RemotePlaylist.pm line 50.
; fh=Slim::Networking::Async::Socket::HTTP=GLOB(0x1056789b0)
Comment 1 Michael Herger 2010-04-12 22:02:59 UTC
Created attachment 6765 [details]
more complete server log
Comment 2 Alan Young 2010-04-12 23:09:00 UTC
I have also seen this. I think it is a combination of two separate issues.

1. Something that appears to be a playlist but actually just contains a chunk of raw text or HTML, is parsed as a playlist.

2. Because of 1, no tracks are found in the playlist and the Slim::Schema::RemoteTrack object is not promoted to a Slim::Schema::RemotePlaylist object, and consequently does not have a tracks() method.
Comment 3 Alan Young 2010-04-13 00:04:32 UTC
Yes, this is an example of a station sending wma content in a stream with a text/plain MIME-type. The code need to also guess that such streams are WMA and not default to M3U.

Also, there are a couple of places where the code could be better at protecting against such errors.

In this specific case, the bad stream is actually and advertisment on the front of the stream. We don't play it anyway because it uses a codec we do not support.
Comment 4 SVN Bot 2010-04-13 00:09:20 UTC
 == Auto-comment from SVN commit #30561 to the slim repo by ayoung ==
 == http://svn.slimdevices.com/slim?view=revision&revision=30561 ==

Fixed bug 16052: Some stations fail to play in 7.5, but play fine in 7.4 (bad stream headers) 
Guess that streams whose URL ends '.wma' and with MIME-type 'text/plain' are actually WMA.
Protect against a couple of cases of the consequences of making bad guesses.
Comment 5 Alan Young 2010-04-13 00:10:17 UTC
Update hours