[Icecast-dev] 206 response for Chrome Mobile
andrew at akrs.me
Wed Dec 9 17:39:31 PST 2015
I'm using Icecast to stream some audio that I embed in an <audio> tag
on a webpage. This is working great for desktop browsers and on iOS,
but it doesn't work on Android.
It looks like Chrome mobile sends the header "Range: bytes=0-1" and
then doesn't try to load any more data when Icecast responds with a 0
byte "HTTP/1.0 200 OK" response. From my reading of the HTTP spec, it
looks like there's two options here: either ignore the range header
entirely, or return a 206 response along with headers indicating the
kinds of range responses we can deal with. Here, it doesn't look like
Icecast does either.
GET /mount.mp3 HTTP/1.1
User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5X Build/MDB08L)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.76 Mobile
Accept-Encoding: gzip, deflate, sdch
HTTP/1.0 200 OK
Server: Icecast 2.4.2
Date: Thu, 10 Dec 2015 01:23:11 GMT
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Is there a quick patch to disable range support, or a place you can
point me to in the code that might be causing this behavior?
More information about the Icecast-dev