[Bug 722186] New: Error playing HLS stream: Extra playlist.m3u8 request with byte range specified

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Jan 14 06:35:21 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=722186
  GStreamer | gst-plugins-good | 1.x

           Summary: Error playing HLS stream: Extra playlist.m3u8 request
                    with byte range specified
    Classification: Platform
           Product: GStreamer
           Version: 1.x
        OS/Version: Mac OS
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: zallesov at soundcloud.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


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.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list