hechtus / squeezebox-googlemusic

Squeezebox (Logitech Media Server) Plugin for Google Play Music
103 stars 24 forks source link

Streams failing to start (https related?) #43

Open rflemming opened 10 years ago

rflemming commented 10 years ago

I just did a clean install of LMS 7.7.3 and the squeezebox-googlemusic plugin. Browsing my library worked fine, but streams failed to play. After a bit of debugging, I think I narrowed it down to the fact that there is no ProtocolHandler registered for 'https'. I thought this seemed a bit odd, but sure enough if I edit Slim/Player/ProtocolHandlers.pm and add the below to %protocolHandlers it works:

https => qw(Slim::Player::Protocols::HTTP),

I'm not sure if streaming over https is a new thing for Google Music, or if something else odd is going on here, but I thought I'd report it nonetheless.

Robert

hechtus commented 10 years ago

Could you please check what the LMS logfile says. A snippet from the log would help.

rflemming commented 10 years ago

The symptom was a stream that appeared to be playing within UI, but no audio was present. The initial log error was:

[14-06-10 20:45:52.1431] Slim::Control::Request::execute (1889) Error: While trying to run function coderef [Slim::Control::Commands::playlistJumpCommand]: [Can't call method "isa" on an undefined value at /usr/share/perl5/Slim/Player/Squeezebox.pm line 746.

Getting somewhere useful from here took a bit of digging. I've always found that toggling the squeezebox logging settings don't always work as expected. Since the error was a result of:

$handler->isa('Slim::Player::Protocols::SqueezePlayDirect')

That lead me to try proxied streaming rather than direct streaming. That resulted in:

[14-06-10 21:06:14.2406] Slim::Player::Protocols::HTTP::canDirectStream (275) Not direct streaming because of mp3StreamingMethod pref
[14-06-10 21:06:14.2411] Plugins::GoogleMusic::ProtocolHandler::new (36) Remote streaming Google Music track: https://sj.googleusercontent.com/stream?id=593611d908932533&itag=25&source=skyjam_user_upload&begin=0&o=10846287132856329439&ip=0.0.0.0&ipbits=0&expire=1402459660&sparams=id,itag,source,o,ip,ipbits,expire&signature=2439E6CF3E511E49D142BBDB7C2A4795AC597D66.569C26C79B74CCBBE36AD81B9E684A4B7D19525C&key=sj3
[14-06-10 21:06:14.2421] Slim::Utils::Misc::crackURL (417) Cracked: https://sj.googleusercontent.com/stream?id=593611d908932533&itag=25&source=skyjam_user_upload&begin=0&o=10846287132856329439&ip=0.0.0.0&ipbits=0&expire=1402459660&sparams=id,itag,source,o,ip,ipbits,expire&signature=2439E6CF3E511E49D142BBDB7C2A4795AC597D66.569C26C79B74CCBBE36AD81B9E684A4B7D19525C&key=sj3 with [],[80],[/]
[14-06-10 21:06:14.2424] Slim::Utils::Misc::crackURL (418)    user: [d0b26c27-fb52-3ed6-ac9b-dab165270154]
[14-06-10 21:06:14.2428] Slim::Formats::RemoteStream::open (52) Error: Couldn't find server or port in url: [https://sj.googleusercontent.com/stream?id=593611d908932533&itag=25&source=skyjam_user_upload&begin=0&o=10846287132856329439&ip=0.0.0.0&ipbits=0&expire=1402459660&sparams=id,itag,source,o,ip,ipbits,expire&signature=2439E6CF3E511E49D142BBDB7C2A4795AC597D66.569C26C79B74CCBBE36AD81B9E684A4B7D19525C&key=sj3]
[14-06-10 21:06:14.2432] Slim::Player::Song::open (471) Warning: stream failed to open [googlemusic:track:d0b26c27-fb52-3ed6-ac9b-dab165270154].

The key bit is the output of Slim::Utils::Misc::crackURL. You'll notice the resulting host, port, and path in the log message is incorrect. The relevant code is here:

my $urlstring = join('|', Slim::Player::ProtocolHandlers->registeredHandlers);
$string =~ m|(?:$urlstring)://(?:([^\@:]+):?([^\@]*)\@)?([^:/]+):*(\d*)(\S*)|i;
my ($user, $pass, $host, $port, $path) = ($1, $2, $3, $4, $5);
$path ||= '/';
$port ||= 80;

My first guess was to make sure that Slim::Player::ProtocolHandlers->registeredHandlers contained https and it turns out that it did not:

source|db|sirius|lfm|classical|file|icy|upnp|loop|mediafly|randomplay|http|live365|spotify|deezer|googlemusicradio|wimp|googlemusic|spdr|mog|playlist|rhapd|slacker|pandora|teststream|linein|mms

So I added an https handler and pointed it to Slim::Player::Protocols::HTTP. After that proxied streaming worked:

[14-06-10 21:27:45.1058] Slim::Player::Protocols::HTTP::canDirectStream (275) Not direct streaming because of mp3StreamingMethod pref
[14-06-10 21:27:45.1063] Plugins::GoogleMusic::ProtocolHandler::new (36) Remote streaming Google Music track: https://sj.googleusercontent.com/stream?id=c01f63242234baad&itag=25&source=skyjam_user_upload&begin=0&o=10846287132856329439&ip=0.0.0.0&ipbits=0&expire=1402460951&sparams=id,itag,source,o,ip,ipbits,expire&signature=2177DF9B75986320E14393C08D8C2C746FA1E83E.219412AE7AAD5C098D1180ACB7DE78C151AB2C9D&key=sj3
[14-06-10 21:27:45.1079] Slim::Utils::Misc::crackURL (418) Cracked: https://sj.googleusercontent.com/stream?id=c01f63242234baad&itag=25&source=skyjam_user_upload&begin=0&o=10846287132856329439&ip=0.0.0.0&ipbits=0&expire=1402460951&sparams=id,itag,source,o,ip,ipbits,expire&signature=2177DF9B75986320E14393C08D8C2C746FA1E83E.219412AE7AAD5C098D1180ACB7DE78C151AB2C9D&key=sj3 with [sj.googleusercontent.com],[80],[/stream?id=c01f63242234baad&itag=25&source=skyjam_user_upload&begin=0&o=10846287132856329439&ip=0.0.0.0&ipbits=0&expire=1402460951&sparams=id,itag,source,o,ip,ipbits,expire&signature=2177DF9B75986320E14393C08D8C2C746FA1E83E.219412AE7AAD5C098D1180ACB7DE78C151AB2C9D&key=sj3]
[14-06-10 21:27:45.1081] Slim::Formats::RemoteStream::open (70) Opening connection to https://sj.googleusercontent.com/stream?id=c01f63242234baad&itag=25&source=skyjam_user_upload&begin=0&o=10846287132856329439&ip=0.0.0.0&ipbits=0&expire=1402460951&sparams=id,itag,source,o,ip,ipbits,expire&signature=2177DF9B75986320E14393C08D8C2C746FA1E83E.219412AE7AAD5C098D1180ACB7DE78C151AB2C9D&key=sj3: [sj.googleusercontent.com on port 80 with path /stream?id=c01f63242234baad&itag=25&source=skyjam_user_upload&begin=0&o=10846287132856329439&ip=0.0.0.0&ipbits=0&expire=1402460951&sparams=id,itag,source,o,ip,ipbits,expire&signature=2177DF9B75986320E14393C08D8C2C746FA1E83E.219412AE7AAD5C098D1180ACB7DE78C151AB2C9D&key=sj3 with timeout 15]
[14-06-10 21:27:45.1261] Slim::Utils::Misc::crackURL (418) Cracked: https://sj.googleusercontent.com/stream?id=c01f63242234baad&itag=25&source=skyjam_user_upload&begin=0&o=10846287132856329439&ip=0.0.0.0&ipbits=0&expire=1402460951&sparams=id,itag,source,o,ip,ipbits,expire&signature=2177DF9B75986320E14393C08D8C2C746FA1E83E.219412AE7AAD5C098D1180ACB7DE78C151AB2C9D&key=sj3 with [sj.googleusercontent.com],[80],[/stream?id=c01f63242234baad&itag=25&source=skyjam_user_upload&begin=0&o=10846287132856329439&ip=0.0.0.0&ipbits=0&expire=1402460951&sparams=id,itag,source,o,ip,ipbits,expire&signature=2177DF9B75986320E14393C08D8C2C746FA1E83E.219412AE7AAD5C098D1180ACB7DE78C151AB2C9D&key=sj3]
[14-06-10 21:27:45.1275] Slim::Formats::RemoteStream::request (141) Request: GET /stream?id=c01f63242234baad&itag=25&source=skyjam_user_upload&begin=0&o=10846287132856329439&ip=0.0.0.0&ipbits=0&expire=1402460951&sparams=id,itag,source,o,ip,ipbits,expire&signature=2177DF9B75986320E14393C08D8C2C746FA1E83E.219412AE7AAD5C098D1180ACB7DE78C151AB2C9D&key=sj3 HTTP/1.0
Cache-Control: no-cache
Connection: close
Accept: */*
Host: sj.googleusercontent.com
User-Agent: iTunes/4.7.1 (Linux; N; Debian; x86_64-linux; EN; utf8) SqueezeCenter, Squeezebox Server, Logitech Media Server/7.7.3/1375965195
Icy-Metadata: 1

[14-06-10 21:27:45.7108] Slim::Formats::RemoteStream::request (148) Response: HTTP/1.0 200 OK
[14-06-10 21:27:45.7120] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Content-Type: audio/mpeg
[14-06-10 21:27:45.7122] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Accept-Ranges: bytes
[14-06-10 21:27:45.7124] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: X-Estimated-Content-Length: 5229950
[14-06-10 21:27:45.7125] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Content-Length: 5229950
[14-06-10 21:27:45.7127] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Date: Wed, 11 Jun 2014 04:27:41 GMT
[14-06-10 21:27:45.7128] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Server: 1.0
[14-06-10 21:27:45.7130] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: X-XSS-Protection: 1; mode=block
[14-06-10 21:27:45.7132] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: X-Frame-Options: SAMEORIGIN
[14-06-10 21:27:45.7133] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Alternate-Protocol: 80:quic
[14-06-10 21:27:45.7140] Slim::Formats::RemoteStream::request (209) Opened stream!

With that working, I switched the player back to direct streaming.

[14-06-10 21:33:41.7515] Slim::Player::Squeezebox::stream_s (814) This player supports direct streaming for https://r16---sn-o097zne6.c.doc-0-0-sj.sj.googleusercontent.com/videoplayback?id=84fdb64838f4f9f1&itag=25&source=skyjam&begin=0&o=10846287132856329439&ratebypass=yes&ip=0.0.0.0&ipbits=0&expire=1402461307&sparams=id,itag,source,o,ratebypass,ip,ipbits,expire&signature=26DDF7E03201E9AAB030E4460CC0BCE04360E10B.6DFF6331833AA8371C2952F2B4958D2135F20F26&key=sj3&ms=au&mt=1402461172&mv=m&mws=yes as https://r16---sn-o097zne6.c.doc-0-0-sj.sj.googleusercontent.com/videoplayback?id=84fdb64838f4f9f1&itag=25&source=skyjam&begin=0&o=10846287132856329439&ratebypass=yes&ip=0.0.0.0&ipbits=0&expire=1402461307&sparams=id,itag,source,o,ratebypass,ip,ipbits,expire&signature=26DDF7E03201E9AAB030E4460CC0BCE04360E10B.6DFF6331833AA8371C2952F2B4958D2135F20F26&key=sj3&ms=au&mt=1402461172&mv=m&mws=yes, let's do it.
[14-06-10 21:33:41.7549] Slim::Utils::Misc::crackURL (418) Cracked: https://r16---sn-o097zne6.c.doc-0-0-sj.sj.googleusercontent.com/videoplayback?id=84fdb64838f4f9f1&itag=25&source=skyjam&begin=0&o=10846287132856329439&ratebypass=yes&ip=0.0.0.0&ipbits=0&expire=1402461307&sparams=id,itag,source,o,ratebypass,ip,ipbits,expire&signature=26DDF7E03201E9AAB030E4460CC0BCE04360E10B.6DFF6331833AA8371C2952F2B4958D2135F20F26&key=sj3&ms=au&mt=1402461172&mv=m&mws=yes with [r16---sn-o097zne6.c.doc-0-0-sj.sj.googleusercontent.com],[80],[/videoplayback?id=84fdb64838f4f9f1&itag=25&source=skyjam&begin=0&o=10846287132856329439&ratebypass=yes&ip=0.0.0.0&ipbits=0&expire=1402461307&sparams=id,itag,source,o,ratebypass,ip,ipbits,expire&signature=26DDF7E03201E9AAB030E4460CC0BCE04360E10B.6DFF6331833AA8371C2952F2B4958D2135F20F26&key=sj3&ms=au&mt=1402461172&mv=m&mws=yes]
[14-06-10 21:33:41.7738] Slim::Player::Squeezebox::stream_s (840) Made synchronous DNS request for r16---sn-o097zne6.c.doc-0-0-sj.sj.googleusercontent.com (0.02 ms)
[14-06-10 21:33:41.7773] Slim::Utils::Misc::crackURL (418) Cracked: https://r16---sn-o097zne6.c.doc-0-0-sj.sj.googleusercontent.com/videoplayback?id=84fdb64838f4f9f1&itag=25&source=skyjam&begin=0&o=10846287132856329439&ratebypass=yes&ip=0.0.0.0&ipbits=0&expire=1402461307&sparams=id,itag,source,o,ratebypass,ip,ipbits,expire&signature=26DDF7E03201E9AAB030E4460CC0BCE04360E10B.6DFF6331833AA8371C2952F2B4958D2135F20F26&key=sj3&ms=au&mt=1402461172&mv=m&mws=yes with [r16---sn-o097zne6.c.doc-0-0-sj.sj.googleusercontent.com],[80],[/videoplayback?id=84fdb64838f4f9f1&itag=25&source=skyjam&begin=0&o=10846287132856329439&ratebypass=yes&ip=0.0.0.0&ipbits=0&expire=1402461307&sparams=id,itag,source,o,ratebypass,ip,ipbits,expire&signature=26DDF7E03201E9AAB030E4460CC0BCE04360E10B.6DFF6331833AA8371C2952F2B4958D2135F20F26&key=sj3&ms=au&mt=1402461172&mv=m&mws=yes]
[14-06-10 21:33:41.7787] Slim::Player::Squeezebox::stream_s (861) setting up direct stream (2915178933:80) autostart: 3 format: m.
[14-06-10 21:33:41.7791] Slim::Player::Squeezebox::stream_s (862) request string: GET /videoplayback?id=84fdb64838f4f9f1&itag=25&source=skyjam&begin=0&o=10846287132856329439&ratebypass=yes&ip=0.0.0.0&ipbits=0&expire=1402461307&sparams=id,itag,source,o,ratebypass,ip,ipbits,expire&signature=26DDF7E03201E9AAB030E4460CC0BCE04360E10B.6DFF6331833AA8371C2952F2B4958D2135F20F26&key=sj3&ms=au&mt=1402461172&mv=m&mws=yes HTTP/1.0
Cache-Control: no-cache
Connection: close
Accept: */*
Host: r16---sn-o097zne6.c.doc-0-0-sj.sj.googleusercontent.com
User-Agent: iTunes/4.7.1 (Linux; N; Debian; x86_64-linux; EN; utf8) SqueezeCenter, Squeezebox Server, Logitech Media Server/7.7.3/1375965195
Icy-Metadata: 1

[14-06-10 21:33:41.7871] Plugins::GoogleMusic::Radio::commandCallback (268) [playlist play] slave source: 
[14-06-10 21:33:41.7920] Plugins::GoogleMusic::Radio::commandCallback (268) [playlist load_done] slave source: 
[14-06-10 21:33:41.8730] Slim::Player::Squeezebox2::directHeaders (464) Processing headers for direct streaming:
HTTP/1.1 200 OK
Last-Modified: Wed, 26 Mar 2014 22:57:13 GMT
Content-Type: audio/mpeg
Date: Wed, 11 Jun 2014 04:33:37 GMT
Expires: Wed, 11 Jun 2014 04:33:37 GMT
Cache-Control: private, max-age=0
Accept-Ranges: bytes
Content-Length: 11523133
Connection: close
Alternate-Protocol: 80:quic
X-Content-Type-Options: nosniff
Server: gvs 1.0

[14-06-10 21:33:41.8741] Slim::Player::Squeezebox2::directHeaders (538) Processing 11 headers
[14-06-10 21:33:41.8747] Slim::Player::Squeezebox2::directHeaders (544) Calling Plugins::GoogleMusic::ProtocolHandler ::parseDirectHeaders
[14-06-10 21:33:41.8753] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Last-Modified: Wed, 26 Mar 2014 22:57:13 GMT
[14-06-10 21:33:41.8759] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Content-Type: audio/mpeg
[14-06-10 21:33:41.8765] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Date: Wed, 11 Jun 2014 04:33:37 GMT
[14-06-10 21:33:41.8771] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Expires: Wed, 11 Jun 2014 04:33:37 GMT
[14-06-10 21:33:41.8777] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Cache-Control: private, max-age=0
[14-06-10 21:33:41.8782] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Accept-Ranges: bytes
[14-06-10 21:33:41.8787] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Content-Length: 11523133
[14-06-10 21:33:41.8791] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Connection: close
[14-06-10 21:33:41.8794] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Alternate-Protocol: 80:quic
[14-06-10 21:33:41.8797] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: X-Content-Type-Options: nosniff
[14-06-10 21:33:41.8801] Slim::Player::Protocols::HTTP::parseDirectHeaders (345) header-ds: Server: gvs 1.0
[14-06-10 21:33:41.8814] Slim::Player::Squeezebox2::directHeaders (606) Got a stream type: mp3 bitrate:  title: undef
[14-06-10 21:33:41.8819] Slim::Player::Squeezebox2::directHeaders (657) Beginning direct stream!

And there you have it. There might be another issue at hand here with an alternate solution, but this seems to have done the trick for me. I'd be curious to know if https streams are working for other people.

Robert

hechtus commented 10 years ago

I must admit that I have never seen this before. Even if I tried LMS 7.7.3 some time ago this could be a problem specific to this LMS version.

@mherger Do you have an idea what this is about?

mherger commented 10 years ago

Adding https to that list seems like a good idea. Yet I don't think the initial problem you've seen was related to this. Wouldn't it still work if you reverted your change again (in direct streaming mode)?

@rflemming - what kind of player were you using when this happens? Are you sure the web UI was properly "connected" to a player (the player's name was shown top right in the drop down box)? The initial error you've seen more likely is the result of an invalid player object being used. This can happen eg. when the web UI was left open, while the server was restarted. In this case it might be sending commands to the server which the latter can't properly handle as the player probably hasn't connected yet.

rflemming commented 10 years ago

@mherger I get the same result when using both a Boom and a Receiver. Reverting my change results in the same initial error. The error is not a result of a disconnected player because I can successfully stream from a different service and produce the same error immediately following:

[14-06-11 06:12:37.4426] Slim::Player::Protocols::MMS::getMMSStreamingParameters (253) chunked=1, audio=1, metadata=2
[14-06-11 06:12:37.4428] Slim::Player::Squeezebox::stream_s (814) This player supports direct streaming for mms://a1770.l2896511769.c28965.n.lm.akamaistream.net/D/1770/28965/v0001/reflector:11769?aifp=abcd&stream=undergroundgarage&bitrate=high&role=primary&c=1&t=1&auth=da.d.cccXbLaMbxaWb8bIcVaAaXb7bjdRco-btMfxa-eS-DEtwwDJx9S3Qzqqcdbm-q8t2s7s8m7&login=rmflemming&login_type=logitech_subscriber&partner=logitech as mms://a1770.l2896511769.c28965.n.lm.akamaistream.net/D/1770/28965/v0001/reflector:11769?aifp=abcd&stream=undergroundgarage&bitrate=high&role=primary&c=1&t=1&auth=da.d.cccXbLaMbxaWb8bIcVaAaXb7bjdRco-btMfxa-eS-DEtwwDJx9S3Qzqqcdbm-q8t2s7s8m7&login=rmflemming&login_type=logitech_subscriber&partner=logitech, let's do it.
[14-06-11 06:12:37.5148] Slim::Player::Squeezebox::stream_s (840) Made synchronous DNS request for a1770.l2896511769.c28965.n.lm.akamaistream.net (0.07 ms)
[14-06-11 06:12:37.5153] Slim::Player::Protocols::MMS::requestString (127) mms://a1770.l2896511769.c28965.n.lm.akamaistream.net/D/1770/28965/v0001/reflector:11769?aifp=abcd&stream=undergroundgarage&bitrate=high&role=primary&c=1&t=1&auth=da.d.cccXbLaMbxaWb8bIcVaAaXb7bjdRco-btMfxa-eS-DEtwwDJx9S3Qzqqcdbm-q8t2s7s8m7&login=rmflemming&login_type=logitech_subscriber&partner=logitech
[14-06-11 06:12:37.5168] Slim::Player::Protocols::MMS::requestString (203) GET /D/1770/28965/v0001/reflector:11769?aifp=abcd&stream=undergroundgarage&bitrate=high&role=primary&c=1&t=1&auth=da.d.cccXbLaMbxaWb8bIcVaAaXb7bjdRco-btMfxa-eS-DEtwwDJx9S3Qzqqcdbm-q8t2s7s8m7&login=rmflemming&login_type=logitech_subscriber&partner=logitech HTTP/1.0
Accept: */*
User-Agent: NSPlayer/8.0.0.3802
Host: a1770.l2896511769.c28965.n.lm.akamaistream.net
Pragma: xClientGUID={d353c6d6-ee0c-22a1-e050-2b9f719e2130}
Pragma: no-cache,rate=1.0000000,stream-offset=0:0,max-duration=0
Pragma: stream-time=0
Pragma: request-context=2
Pragma: LinkBW=2147483647, AccelBW=1048576, AccelDuration=21000
Pragma: Speed=5.000
Pragma: xPlayStrm=1
Pragma: stream-switch-count=2
Pragma: stream-switch-entry=ffff:1:0 ffff:2:0 

[14-06-11 06:12:37.5173] Slim::Player::Squeezebox::stream_s (861) setting up direct stream (2163300746:80) autostart: 3 format: w.
[14-06-11 06:12:37.5177] Slim::Player::Squeezebox::stream_s (862) request string: GET /D/1770/28965/v0001/reflector:11769?aifp=abcd&stream=undergroundgarage&bitrate=high&role=primary&c=1&t=1&auth=da.d.cccXbLaMbxaWb8bIcVaAaXb7bjdRco-btMfxa-eS-DEtwwDJx9S3Qzqqcdbm-q8t2s7s8m7&login=rmflemming&login_type=logitech_subscriber&partner=logitech HTTP/1.0
Accept: */*
User-Agent: NSPlayer/8.0.0.3802
Host: a1770.l2896511769.c28965.n.lm.akamaistream.net
Pragma: xClientGUID={d353c6d6-ee0c-22a1-e050-2b9f719e2130}
Pragma: no-cache,rate=1.0000000,stream-offset=0:0,max-duration=0
Pragma: stream-time=0
Pragma: request-context=2
Pragma: LinkBW=2147483647, AccelBW=1048576, AccelDuration=21000
Pragma: Speed=5.000
Pragma: xPlayStrm=1
Pragma: stream-switch-count=2
Pragma: stream-switch-entry=ffff:1:0 ffff:2:0 

[14-06-11 06:12:47.3976] Plugins::GoogleMusic::Radio::commandCallback (268) [playlist clear] slave source: JSONRPC
[14-06-11 06:13:04.5292] Slim::Control::Request::execute (1889) Error: While trying to run function coderef [Slim::Control::Commands::playlistJumpCommand]: [Can't call method "isa" on an undefined value at /usr/share/perl5/Slim/Player/Squeezebox.pm line 746.
]
[14-06-11 06:13:04.5360] Plugins::GoogleMusic::Radio::commandCallback (268) [playlist play] slave source: 
[14-06-11 06:13:04.5376] Plugins::GoogleMusic::Radio::commandCallback (268) [playlist load_done] slave source: 
[14-06-11 06:13:11.1725] Plugins::GoogleMusic::Radio::commandCallback (268) [playlist clear] slave source: JSONRPC

This even happens if I simply add a Google Music track to an already playing playlist and skip to the next track. I'm happy to keep debugging this, but I'm not sure what other built-in debugging I can toggle to help. The same error appears to happen under 7.8.0 as well.

Robert

mherger commented 10 years ago

@rflemming - I added https to that list. Could you please give the latest 7.7.4 (or 7.8.1 or 7.9.0) another try?

rflemming commented 10 years ago

@mherger Installed 7.8.1 nightly and everything is good.

Robert

hechtus commented 10 years ago

Thank you all for working on this. Even if I don't know why this happened it's great that it's working know. Thanks again for fixing!

hechtus commented 10 years ago

I'm also getting the same error as @rflemming reported. It seems that this was a small Google API change on how stream URLs are returned. In the past API changes are dripping with some delay to different countries. So, I will also try a nightly LMS build soon to fix this.

hechtus commented 10 years ago

Just tried out the latest nightly build of LMS. I can confirm that this issue has been fixed.

alexbd819 commented 9 years ago

Hey thanks you folks! That helped me A LOT! Not sure to understand the bug completly since I'm not a programmer, but following @rflemming advice on the first post solved my issue (wich was the same, playback in GUI but no audio and the same error log)

My setup: Raspberry PI B+ Hifiberry DAC+ Raspbian (with kernel 3.12.28+) LMS 7.7.2 Squeezelite

+Android app for control

d1verjim commented 9 years ago

@rflemming I think I love you just a little bit. Thanks very much for that, it's solved this for me too. :-)

asprunt commented 9 years ago

Fix works for me on Raspberry Pi B+

Logitech Media Server Version: 7.7.2 - r33893 @ Wed Mar 14 05:46:46 PDT 2012 OS: Debian - EN - utf8 Platform: armv7l-linux Perl Version: 5.14.2 - arm-linux-gnueabihf-thread-multi-64int Database Version: DBD::SQLite 1.34_01 (sqlite 3.7.7.1)

Thanks very much!

dustinsterk commented 9 years ago

Thank you for this....fixed LMS 7.8.0 (latest vortexbox build)

chuby57 commented 9 years ago

Thank you fix worked on Logitech Media Server Version: 7.8.0 - 1395409907 @ Thu Mar 27 13:20:53 PDT 2014 on Raspberry Pi

deradam commented 9 years ago

Thanks, this saved my party!