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 545864 - Totem removes get parameters from url before passing it to gstreamer
Totem removes get parameters from url before passing it to gstreamer
Status: RESOLVED FIXED
Product: totem-pl-parser
Classification: Core
Component: General
unspecified
Other Linux
: Normal normal
: ---
Assigned To: totem-pl-parser-maint
totem-pl-parser-maint
Depends on:
Blocks:
 
 
Reported: 2008-08-01 14:55 UTC by Hans de Goede
Modified: 2008-08-20 09:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Example playlist file. (490 bytes, text/plain)
2008-08-01 14:55 UTC, Hans de Goede
Details

Description Hans de Goede 2008-08-01 14:55:07 UTC
If you go to:
http://rtlgemist.nl/

And then click on one of the videos, a window with an embedded totem plugin opens, but no video is shown (this used to work).

If one then right clicks and selects copy, and then do open location in a stand alone totem, the following error is given:

"You do not have a decoder installed to handle this file. You might need to install the necessary plugins."

Which is not correct, as wgetting the url and then manual copying the http://.......wmv url from the ASX playlist the url delivers, results in gstmmssrc getting invoked to open the file, followed by the following error:
"Could not open location; you might not have permission to open the file."

Which is somewhat weird, maybe they are doing http referer checking now?

Anyways I believe that there also is something going wrong when parsing the ASX playlist, otherwise I would expect the playlist to also give the
"Could not open location; you might not have permission to open the file."

Error when opened in a standalone totem. I'll attach an example playlist file here.
Comment 1 Hans de Goede 2008-08-01 14:55:50 UTC
Created attachment 115688 [details]
Example playlist file.
Comment 2 Hans de Goede 2008-08-17 06:50:00 UTC
Okay, I've been doing some more research into this and the problem is not in the .ASX parsing.

The problem is that the latest totem (2.23.4) removes the get parameters from the URL before passing it on to gstreamer.

Using Fedora 9 with totem 2.23.2 (from Fedora 9 updates) opening the following url works fine:
mmsh://av.rtl.nl/web/components/actueel/editienl/2008/week33/vr18.Editie_NL_15-08-2008.MiMedia_WM_1500K_V9.wmv?MSWMExt=.asf

And using gstreamer debugging I can see the full URL gets passed to mmssrc

Using the same Fedora 9 (and thus 100% identical gstreamer) with totem updated to 2.23.4 (from rawhide) and having the rawhide evolution-data-server parallel installed to the F-9 one for deps, opening the same URL, only the following part gets passed to mmssrc:
mmsh://av.rtl.nl/web/components/actueel/editienl/2008/week33/vr18.Editie_NL_15-08-2008.MiMedia_WM_1500K_V9.wmv

Notice the missing: "?MSWMExt=.asf" at the end. This breaks playback of mmsh video streams.

Comment 3 Bastien Nocera 2008-08-18 10:15:08 UTC
$ ./test-parser "http://bugzilla.gnome.org/attachment.cgi?id=115688&action=view"

###################### parsing ################

added URI 'http://ad.uk.doubleclick.net/adx/rtlgemist.rtl.nl/rtlgemist;channel=service;progid=rtlgemist;sz=62x90;abr=ec;bw=1537;pos=streamspot;key=videoplayer;vm=service_gemist_home;tile=2;ord=1217602478780'
added URI 'mmsh://av.rtl.nl/web/components/service/rtlgemist/snacks/2008/week31/vr_snacks_hermanhelpt.avi.MiMedia_WM_1500K_V9_av_an_t4b4l4r4_712x400.wmv?MSWMExt=.asf'

Which version of totem-pl-parser are you using?

I'm actually getting errors on the doubleclick URL first, and the expected error on the MMS stream.
Comment 4 Hans de Goede 2008-08-20 07:09:23 UTC
As I tried to explain in commment #2, the asx parsing is fine. I can reproduce this bug without using an ASX file at all, if I direct open the second playlist entry from a playlist like the one attached on the cmdline on a stock F-9, like this:
totem mmsh://av.rtl.nl/web/components/actueel/editienl/2008/week33/vr18.Editie_NL_15-08-2008.MiMedia_WM_1500K_V9.wmv?MSWMExt=.asf

It works fine and if I first do:
export GST_DEBUG=mmssrc:5

I see the full URL as it is on the cmdline getting passed to mmssrc .

If I now update totem and only totem (totem-pl-parser) to the rawhide versions and to the same, so again I do:
export GST_DEBUG=mmssrc:5
totem mmsh://av.rtl.nl/web/components/actueel/editienl/2008/week33/vr18.Editie_NL_15-08-2008.MiMedia_WM_1500K_V9.wmv?MSWMExt=.asf

I only see the following part of the URL getting passed to mmssrc:
mmsh://av.rtl.nl/web/components/actueel/editienl/2008/week33/vr18.Editie_NL_15-08-2008.MiMedia_WM_1500K_V9.wmv

IOW the get parameter: "?MSWMExt=.asf" is no longer reaching mmssrc and without this parameter the mmsh server returns 404 instead of the stream.

As all I've done is updated totem and totem-pl-parser (I did this to narrow down the problem I first saw it on a rawhide system). I guess that totem is somewhere removing the get parameter from the URL, as my gstreamer has not changed.

To answer your question about the totem-pl-parser version, it is the version from rawhide, which is 2.23.something (I'm not behind the test machine in question atm).
Comment 5 Bastien Nocera 2008-08-20 09:42:22 UTC
This is a bug in gvfs, see bug 548598.

Worked around in Totem

2008-08-20  Bastien Nocera  <hadess@hadess.net>

	* src/backend/bacon-video-widget-gst-0.10.c
	(bacon_video_widget_open_with_subtitle):
	* src/backend/bacon-video-widget-xine.c
	(bacon_video_widget_open_with_subtitle):
	g_file_get_uri() might lose arguments for some MRLs,
	so don't use it, and just copy the MRL itself instead
	(Closes: #545864)