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 555417 - totem-browser-plugin unable to parse .asx file
totem-browser-plugin unable to parse .asx file
Status: RESOLVED FIXED
Product: totem
Classification: Core
Component: Browser plugin (obsolete)
2.24.x
Other All
: Normal normal
: ---
Assigned To: totem-browser-maint
totem-browser-maint
Depends on: 555536
Blocks:
 
 
Reported: 2008-10-07 16:03 UTC by Tuomas Aavikko
Modified: 2008-10-08 16:45 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24


Attachments
Succesful use of Hardy+totem-gstreamer (4.09 KB, text/plain)
2008-10-07 19:58 UTC, Tuomas Aavikko
Details
unsuccesful test Intrepid+totem (432 bytes, text/plain)
2008-10-07 20:00 UTC, Tuomas Aavikko
Details

Description Tuomas Aavikko 2008-10-07 16:03:19 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.
Comment 1 Tuomas Aavikko 2008-10-07 16:15:46 UTC
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)
Comment 2 Bastien Nocera 2008-10-07 16:34:11 UTC
It complains for me: "Windows Media Player:n versiota ei pystytä varmistamaan: Ei".
Comment 3 Christian Persch 2008-10-07 17:26:46 UTC
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... :( )
Comment 4 Tuomas Aavikko 2008-10-07 18:10:08 UTC
(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...?
Comment 5 Tuomas Aavikko 2008-10-07 19:58:45 UTC
Created attachment 120156 [details]
Succesful use of Hardy+totem-gstreamer
Comment 6 Tuomas Aavikko 2008-10-07 20:00:39 UTC
Created attachment 120157 [details]
unsuccesful test Intrepid+totem
Comment 7 Bastien Nocera 2008-10-08 12:09:46 UTC
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 "?".
Comment 8 Bastien Nocera 2008-10-08 16:35:38 UTC
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
Comment 9 Bastien Nocera 2008-10-08 16:45:50 UTC
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.