2015-01-13, 20:23
Hello,
I develop the Grooveshark music addon for XBMC. Since I've upgraded from Gotham to Helix the player no longer works. The addon uses the Grooveshark API which hasn't changed. If I revert to Gotham it plays okay. I did a packet trace of the player requests for Gotham and Helix and the packets sent are different.
Gotham:
1. Sends an HTTP GET to the stream.
2. Sends the same again and gets a 404 from Grooveshark.
3. Sends the same again and gets a 404 from Grooveshark.
4. Gets an OK from Grooveshark in response to request 1. and starts playing.
I think what is happening here is that the response with the stream takes a few seconds to return from Grooveshark and Gotham re-tries twice. The request contains a key and I think Grooveshark doesn't like multiple requests with the same key whilst it still has a response pending. Anyway, it's been working okay like that for years.
Helix:
1. Sends an HTTP HEAD to the stream.
2. Sends a GET request and gets a 404 from Grooveshark.
3. Sends the same again and gets a 404 from Grooveshark.
4. Gets an OK from Grooveshark in response to request 1. but it can't play because the response to the HEAD request contains no data.
This is all behavior inside the Gotham/Helix Player itself, not something I've coded in the addon. So why the difference and how can I disable the HEAD request? I've posted an extract of the debug log at http://pastebin.com/WhvaeYPA.
Regards,
Stephen.
I develop the Grooveshark music addon for XBMC. Since I've upgraded from Gotham to Helix the player no longer works. The addon uses the Grooveshark API which hasn't changed. If I revert to Gotham it plays okay. I did a packet trace of the player requests for Gotham and Helix and the packets sent are different.
Gotham:
1. Sends an HTTP GET to the stream.
2. Sends the same again and gets a 404 from Grooveshark.
3. Sends the same again and gets a 404 from Grooveshark.
4. Gets an OK from Grooveshark in response to request 1. and starts playing.
I think what is happening here is that the response with the stream takes a few seconds to return from Grooveshark and Gotham re-tries twice. The request contains a key and I think Grooveshark doesn't like multiple requests with the same key whilst it still has a response pending. Anyway, it's been working okay like that for years.
Helix:
1. Sends an HTTP HEAD to the stream.
2. Sends a GET request and gets a 404 from Grooveshark.
3. Sends the same again and gets a 404 from Grooveshark.
4. Gets an OK from Grooveshark in response to request 1. but it can't play because the response to the HEAD request contains no data.
This is all behavior inside the Gotham/Helix Player itself, not something I've coded in the addon. So why the difference and how can I disable the HEAD request? I've posted an extract of the debug log at http://pastebin.com/WhvaeYPA.
Regards,
Stephen.