GNOME Bugzilla – Bug 555417
totem-browser-plugin unable to parse .asx file
Last modified: 2008-10-08 16:45:50 UTC
Please describe the problem: Entering http://www.yle.fi/elavaarkisto/?s=s&g=1&ag=4&t=410&a=6126 Trying to open the media file behind it. popup window appears with "external" totem player, The content doesn't play Steps to reproduce: 1. visit http://www.yle.fi/elavaarkisto/?s=s&g=1&ag=4&t=410&a=6126 2. Under picture is icon "realplay" look-a-like (javascript:;) click it 3. external window popups, movie not played Actual results: plugin load, and doesn't play the file Expected results: Browser plugin plays the file Does this happen every time? Yes Other information: https://bugs.launchpad.net/ubuntu/+source/totem/+bug/279044 All the now available info is found there.
Every gstreamer plugin is installed (good,bad,ugly) This particular site worked on gnome 2.22 And it's version on Ubuntu Hardy Heron(8.04)
It complains for me: "Windows Media Player:n versiota ei pystytä varmistamaan: Ei".
If I interpret the site's JS correctly, this test fails: if(document.getElementById('mediaPlayer') && document.getElementById('mediaPlayer').versionInfo != '') { if(parseInt(document.getElementById('mediaPlayer').versionInfo) >= 9) { statusOK(4,textMediaPlayer); } else { statusFail(4,textMediaPlayer); } }else{ statusFail(4,textMediaPlayer); } Curiously, it doesn't seem to access versionInfo property, only playState... The code that accesses playState does so via document.mediaPlayer, not document.getElementById('mediaPlayer')... and the embed element is defined this way: <embed name="mediaPlayer" src="player.jsp_fichiers/288629.asx" controls="ImageWindow" autostart="true" stretchtofit="1" windowlessvideo="0" width="512" height="286"> ---- BTW: The site is broken also since it checks for Firefox/ in the UA. (Usually I'd have said to point the site owners to http://www.geckoisgecko.org/ but that domain now seems to be have been taken over by one of these stupid domain grabber click portals... :( )
(In reply to comment #2) > It complains for me: "Windows Media Player:n versiota ei pystytä varmistamaan: > Ei". > That means. Version of WMP cannot be authenticated. I have the similar error, when I go to settings on that popup window. Trying to find people with Hardy Heron (ubuntu 8.04) that works, on this particular site. Like said on the original report on LaunchPad, Finnish equivalent to BBC. They've already stated that transition to more compatible format will be made, but who knows about the timeline...?
Created attachment 120156 [details] Succesful use of Hardy+totem-gstreamer
Created attachment 120157 [details] unsuccesful test Intrepid+totem
The reason why it doesn't actually ask for the version info is a bit weird. It's still possible to skip the checks, and get to the video, where we have this problem: totem_embedded_set_uri uri 288629.asx?s=1000 base http://www.yle.fi/player/player.jsp?actionpage=3&id=288629&locale= => resolved http://www.yle.fi/player/288629.asx%3Fs=1000 The resolved URI has "%3F" instead of "?".
Committed a work-around for that. 2008-10-08 Bastien Nocera <hadess@hadess.net> * browser-plugin/totem-plugin-viewer.c (relative_uri_remove_query), (resolve_uri): g_file_resolve_relative_path() doesn't handle queries (or fragments, but we don't care about them), so work around that fact. Fixes resolution of filenames when they have a '?' in their name (Helps: #555417) But it still doesn't work, as it tries to open a playlist directly through OpenURI. ** Message: NP_Initialize ** Message: NP_Initialize succeeded ** Message: totemPlugin [0x7f4fe0edd1e0] ** Message: Init mimetype 'application/asx' mode 1 ** Message: GetScriptableNPObject [0x7f4fe0edd1e0] ** Message: totemGMPPlayer [0x7f4fdd812140] ** Message: Base URI is 'http://www.yle.fi/player/player.jsp?actionpage=3&id=288629&locale=' ** Message: Real mimetype for 'application/asx' is 'audio/x-ms-asx' argv[0] name mediaPlayer argv[1] src 288629.asx?s=1000 argv[2] controls ImageWindow argv[3] autostart true argv[4] stretchtofit 1 argv[5] windowlessvideo 0 argv[6] width 512 argv[7] height 430 ** Message: mSrcURI: 288629.asx?s=1000 ** Message: mCache: 0 ** Message: mControllerHidden: 0 ** Message: mShowStatusbar: 0 ** Message: mHidden: 0 ** Message: mAudioOnly: 0 ** Message: mAutoPlay: 1, mRepeat: 0 ** Message: Launching: ./totem-plugin-viewer --plugin-type gmp --user-agent Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.9.0.2) Gecko/20080528 Fedora/2.22.2-4.fc9 Epiphany/2.22 Firefox/3.0 --mimetype audio/x-ms-asx ** Message: Viewer spawned, PID 2353 ** Message: Initial window set, XID 5600cb2 size 512x430 ** Message: No viewer proxy yet, deferring SetWindow ** Message: GetScriptableNPObject [0x7f4fe0edd1e0] ** Message: NewStream mimetype 'video/x-ms-asf' URL 'http://www.yle.fi/player/288629.asx?s=1000' ** Message: Not expecting a new stream; aborting stream ** Message: Viewer DBus interface name is 'org.gnome.totem.PluginViewer_2353' ** Message: NameOwnerChanged old-owner '' new-owner ':1.313' ** Message: Viewer now connected to the bus ** Message: ViewerSetup ** Message: Calling SetWindow Viewer: SetWindow XID 90180786 size 512:430 ** Message: NOTE: site gets property totemGMPPlayer::playState TotemEmbedded-Message: Viewer state: STOPPED ** Message: SetWindow reply ** Message: ViewerReady TotemEmbedded-Message: totem_embedded_open_uri: uri 288629.asx?s=1000 base_uri: http://www.yle.fi/player/player.jsp?actionpage=3&id=288629&locale= Emptying current_uri totem_embedded_set_uri uri 288629.asx?s=1000 base http://www.yle.fi/player/player.jsp?actionpage=3&id=288629&locale= => resolved http://www.yle.fi/player/288629.asx?s=1000 TotemEmbedded-Message: totem_embedded_open_internal 'http://www.yle.fi/player/288629.asx?s=1000' is-browser-stream 0 start-play 1 TotemEmbedded-Message: BEFORE _open TotemEmbedded-Message: AFTER _open (ret: 1) TotemEmbedded-Message: Viewer state: PLAYING ** Message: OpenURI reply ** Message: Command 'Play' ** Message: Error: You do not have a decoder installed to handle this file. You might need to install the necessary plugins. gstplaybasebin.c(2302): prepare_output (): /play TotemEmbedded-Message: Viewer state: STOPPED TotemEmbedded-Message: totem_embedded_set_error: 'You do not have a decoder installed to handle this file. You might need to install the necessary plugins.' TotemEmbedded-Message: totem_embedded_set_error_logo called by browser plugin
The problem was that the requestURI isn't a resolved URI, so we check whether RequestURI has a scheme, then fallback to checking that of the base if it doesn't. 2008-10-08 Bastien Nocera <hadess@hadess.net> * browser-plugin/totemPlugin.cpp: * browser-plugin/totemPlugin.h: As the requestURI isn't an absolute URI anymore, it might not have a scheme, in which case, check that of the baseURI, fixes viewer being called with a playlist, instead of a media URI when the src is relative (Closes: #555417) The only reason it still doesn't work though is because we try to poke at the temporary files set up by the web server. Fixing bug 395827 should fix this.