GNOME Bugzilla – Bug 592665
Apple.com blocking of gstreamer
Last modified: 2009-09-06 19:18:29 UTC
Created attachment 141387 [details] [review] Patch Not really a bug in gstreamer but it can be fixed in it. apple.com/trailers section as of Aug 21st, 2009 will redirect any http request from the video back to apple.com/trailers. It is just checking the http user agent and will only server the video if it identifies as QuickTime. This is annoying but easy to work around. I have attached a patch that should work around the problem.
*** Bug 592542 has been marked as a duplicate of this bug. ***
Maybe there should be some kind of more generic framework for user-agent hacks, someone was on #gstreamer with a similar problem with a www.lightening4u.com url.
(In reply to comment #2) > Maybe there should be some kind of more generic framework for user-agent hacks, > someone was on #gstreamer with a similar problem with a www.lightening4u.com > url. What exactly do you have in mind? Some kind of central place where we have a list of URI (parts) and corresponding user agents?
Something like that, in a central place, so we don't have to maintain site->useragent lists for all the various http-capable sources separately. Things that come to mind: a) one or two helper functions in pbutils in -base that http elements can then use b) add some sort of GstBaseHttpSource base class instead (might conflict with other base classes though) c) add some kind of string array property that apps can set PS: *sigh*
Shouldn't it depend on the type of plugin that you emulate? So when doing Quicktime stuff, pretend to be quicktime; when pretending to be Winows Media Player, send a WMP user agent. Not sure how to best implement that though - I guess the easiest thing would be to tell the totem browser plugin to set the user agent depending on how it was started? (Won't cut it for totem proper though...)
Standalone totem could just look at the filetype maybe ? If its a .mov, say quicktime, if asf/wmv says WMP, etc..
Bug #375867 takes care of the browser plugin case. Not sure if we really need to do anything besides that in GStreamer.
I guess this can be closed then, some hacky url<->user agent database in GStreamer doesn't sound good to me ;)