GNOME Bugzilla – Bug 722186
Error playing HLS stream: Extra playlist.m3u8 request with byte range specified
Last modified: 2014-01-14 15:04:59 UTC
Hello. I use Gstreamer 1.2.1 for Android to play HLS stream. But this bug affects gst-plugins-good in general. more precisely souphttpsrc element. Reproduced it on desktop as well. My pipeline looks like this, souphttpsrc ! hlsdemux ! mpegaudioparse ! mad ! audioconvert ! audioresample ! autoaudiosink or just playbin My code is Android Tutorial5 with just another url. But you can reproduce it on comandline with gst-launch Problem is stream starts playing only once in 3-5 tries. The rest fail with error: gstsouphttpsrc.c:888:gst_soup_http_src_got_headers_cb:<mysource> error: Server does not support seeking. gst_soup_http_src_got_headers_cb:<mysource> error: Server does not accept Range HTTP header, URL: https://ec-media-hls.soundcloud.com/playlist/swx3WdvxAQ9W.128.mp3/playlist.m3u8 Server really does not support ranges. As it should not to serve m3u8 5 kilobytes playlists. Those times playing failed I see two playlist.m3u8 request on server. First one is how it should be, but the extra second one has Range: bytes=1001- where 1000 is the total length of playlist received with previous request. Server ignore it and return whole playlist again without any content ranges in response. Once playback stars there is only one playlist request. All hls segments are requested without ranges. Workaround. I've tried putting some static HLS content on server that support range requests - it works fine. To reproduce try gst-launch-1.0 playbin uri=https://ec-media-hls.soundcloud.com/playlist/swx3WdvxAQ9W.128.mp3/playlist.m3u8 P.S. This bugzilla system has bug as well. It just hangs on submit.
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of bug 722185 ***