After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 766367 - hlsdemux: 403 forbidden for bbc hls stream due to missing cookie handling
hlsdemux: 403 forbidden for bbc hls stream due to missing cookie handling
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: dont know
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-05-13 10:40 UTC by ion pantalon
Modified: 2018-11-03 16:13 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description ion pantalon 2016-05-13 10:40:20 UTC
Hi all,

I created the following pipeline to play some HLS streams from BBC:
gst-launch-1.0 uridecodebin uri=http://open.live.bbc.co.uk/mediaselector/5/redir/version/2.0/vpid/b077jfrp/mediaset/audio-syndication/proto/http ! fakesink

I get a (Forbidden (403)) error and from the tests done I think this happens because the gstsouphttpsrc sends the cookie event to gsthlsdemux but this dosent seems to know what to do with the cookie. 

Any advise on how to fix this error?
Comment 1 Marcin Kolny (IRC: loganek) 2016-05-15 21:55:47 UTC
Repathing to GStreamer team.
Comment 2 Tim-Philipp Müller 2016-05-16 07:55:08 UTC
Do any other players such as VLC or mplayer play the stream fine (without 403)?

Would geolocation place the machine you're trying to play this on in the UK?
Comment 3 ion pantalon 2016-05-16 15:44:37 UTC
The machine's geolocation is in the UK and I tried to play the stream with VLC but I get the same 403 error.
Comment 4 ion pantalon 2016-05-17 13:20:31 UTC
I have done some more tests using wget and the stream seems to be working fine if the cookie is handled properly:
wget --keep-session-cookies --save-cookies cookies.txt  "http://open.live.bbc.co.uk/mediaselector/5/redir/version/2.0/vpid/b077jfrp/mediaset/audio-syndication/proto/http"
--2016-05-17 12:58:24--  http://open.live.bbc.co.uk/mediaselector/5/redir/version/2.0/vpid/b077jfrp/mediaset/audio-syndication/proto/http
then:
wget --mirror --load-cookies cookies.txt 'http://cp401492-vh.akamaihd.net/i/prod_af_mp4_aaclc_128/iplayerstream/l2o/b077jfrp_b111b544-55ab-4845-a26a-bd1bf96e8e0d.mp4/index_0_a.m3u8'
--2016-05-17 13:00:19--  http://cp401492-vh.akamaihd.net/i/prod_af_mp4_aaclc_128/iplayerstream/l2o/b077jfrp_b111b544-55ab-4845-a26a-bd1bf96e8e0d.mp4/index_0_a.m3u8

so it looks like the problem is because of the cookie. soup is posting the http-headers event with the cookie but hlxdemux dosent understand the event.
Comment 5 Thiago Sousa Santos 2016-05-18 08:40:26 UTC
There is some ongoing work to have http elements share their context. Cookies, user-agent, referer url and extra headers. philn was finishing up some final details and we should get a first proposal for this.
Comment 6 Edward Hervey 2017-11-10 09:38:23 UTC
Context are now shared nowadays. Could you retry (not in the uk) ?
Comment 7 GStreamer system administrator 2018-11-03 16:13:00 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/11.