kdekorte / gecko-mediaplayer

Automatically exported from code.google.com/p/gecko-mediaplayer
GNU General Public License v2.0
0 stars 0 forks source link

gecko-mediplayer doesn't work on Opera and Chromium since version 0.9.9 #88

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Start Opera/Chromium
2. Go to http://www.pbs.org/wgbh/nova/elegant/program.html
3. Click on any of the QT videos link

What is the expected output? What do you see instead?
I expect ot see the video but only get a blank space

What version of the product are you using? On what operating system?
I tried both 0.9.9 and 0.9.9.1 on Linux i686

Please provide any additional information below.

These are messages from Chromium in .xsession-errors:

symbol lookup error: /usr/lib/mozilla/plugins/gecko-mediaplayer-qt.so: 
undefined symbol: NS_GetServiceManager

And these are from Opera when running "opera --debugplugin":

operapluginwrapper: [plugin failed ] dlopen(RTLD_NOW | RTLD_GLOBAL) failed 
on /usr/lib/mozilla/plugins/gecko-
mediaplayer.so                                     
operapluginwrapper: [plugin failed ] With error /usr/lib/mozilla/plugins/
gecko-mediaplayer.so: undefined symbol: 
NS_GetServiceManager                           
operapluginwrapper: [plugin failed ] Retrying with dlopen(RTLD_LAZY | 
RTLD_GLOBAL)                                                                    

operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/gecko-
mediaplayer.so                                                                  

operapluginwrapper: [plugin probing] MIMEDescription             : 
present      
operapluginwrapper: [plugin probing] NPPVpluginNameString        : 
present      
operapluginwrapper: [plugin probing] NPPVpluginDescriptionString : 
present      
operapluginwrapper: [plugin probing] dlclose returned : 
0                       
operapluginwrapper: [plugin probing] Return value : 0 File : /usr/lib/
mozilla/plugins/gecko-
mediaplayer.so                                                      
opera: plugin detection successful: /usr/lib/mozilla/plugins/gecko-
mediaplayer.so                                                                  

operapluginwrapper: [plugin failed ] dlopen(RTLD_NOW | RTLD_GLOBAL) failed 
on /usr/lib/mozilla/plugins/gecko-mediaplayer-
qt.so                                  
operapluginwrapper: [plugin failed ] With error /usr/lib/mozilla/plugins/
gecko-mediaplayer-qt.so: undefined symbol: 
NS_GetServiceManager                        
operapluginwrapper: [plugin failed ] Retrying with dlopen(RTLD_LAZY | 
RTLD_GLOBAL)                                                                    

operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/gecko-
mediaplayer-
qt.so                                                                           
operapluginwrapper: [plugin probing] MIMEDescription             : 
present      
operapluginwrapper: [plugin probing] NPPVpluginNameString        : 
present      
operapluginwrapper: [plugin probing] NPPVpluginDescriptionString : 
present      
operapluginwrapper: [plugin probing] dlclose returned : 
0                       
operapluginwrapper: [plugin probing] Return value : 0 File : /usr/lib/
mozilla/plugins/gecko-mediaplayer-
qt.so                                                   
opera: plugin detection successful: /usr/lib/mozilla/plugins/gecko-
mediaplayer-
qt.so                                                                           

operapluginwrapper: [plugin failed ] dlopen(RTLD_NOW | RTLD_GLOBAL) failed 
on /usr/lib/mozilla/plugins/gecko-mediaplayer-
wmp.so                                 
operapluginwrapper: [plugin failed ] With error /usr/lib/mozilla/plugins/
gecko-mediaplayer-wmp.so: undefined symbol: 
NS_GetServiceManager                       
operapluginwrapper: [plugin failed ] Retrying with dlopen(RTLD_LAZY | 
RTLD_GLOBAL)                                                                    

operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/gecko-
mediaplayer-
wmp.so                                                                          
operapluginwrapper: [plugin probing] MIMEDescription             : 
present      
operapluginwrapper: [plugin probing] NPPVpluginNameString        : 
present      
operapluginwrapper: [plugin probing] NPPVpluginDescriptionString : 
present      
operapluginwrapper: [plugin probing] dlclose returned : 
0                       
operapluginwrapper: [plugin probing] Return value : 0 File : /usr/lib/
mozilla/plugins/gecko-mediaplayer-
wmp.so                                                  
opera: plugin detection successful: /usr/lib/mozilla/plugins/gecko-
mediaplayer-
wmp.so                                                                          

operapluginwrapper: [plugin failed ] dlopen(RTLD_NOW | RTLD_GLOBAL) failed 
on /usr/lib/mozilla/plugins/gecko-mediaplayer-
rm.so                                  
operapluginwrapper: [plugin failed ] With error /usr/lib/mozilla/plugins/
gecko-mediaplayer-rm.so: undefined symbol: 
NS_GetServiceManager                        
operapluginwrapper: [plugin failed ] Retrying with dlopen(RTLD_LAZY | 
RTLD_GLOBAL)                                                                    

operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/gecko-
mediaplayer-
rm.so                                                                           
operapluginwrapper: [plugin probing] MIMEDescription             : not 
present  
operapluginwrapper: [plugin probing] NPPVpluginNameString        : 
present      
operapluginwrapper: [plugin probing] NPPVpluginDescriptionString : 
present      
operapluginwrapper: [plugin probing] dlclose returned : 
0                       
operapluginwrapper: [plugin probing] Return value : 0 File : /usr/lib/
mozilla/plugins/gecko-mediaplayer-
rm.so                                                   
opera: plugin detection successful: /usr/lib/mozilla/plugins/gecko-
mediaplayer-
rm.so                                                                           

operapluginwrapper: [plugin failed ] dlopen(RTLD_NOW | RTLD_GLOBAL) failed 
on /usr/lib/mozilla/plugins/gecko-mediaplayer-
dvx.so                                 
operapluginwrapper: [plugin failed ] With error /usr/lib/mozilla/plugins/
gecko-mediaplayer-dvx.so: undefined symbol: 
NS_GetServiceManager                       
operapluginwrapper: [plugin failed ] Retrying with dlopen(RTLD_LAZY | 
RTLD_GLOBAL)                                                                    

operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/gecko-
mediaplayer-
dvx.so                                                                          
operapluginwrapper: [plugin probing] MIMEDescription             : 
present      
operapluginwrapper: [plugin probing] NPPVpluginNameString        : 
present      
operapluginwrapper: [plugin probing] NPPVpluginDescriptionString : 
present      
operapluginwrapper: [plugin probing] dlclose returned : 
0                       
operapluginwrapper: [plugin probing] Return value : 0 File : /usr/lib/
mozilla/plugins/gecko-mediaplayer-
dvx.so                                                  
opera: plugin detection successful: /usr/lib/mozilla/plugins/gecko-
mediaplayer-
dvx.so                                                                          

Original issue reported on code.google.com by tiod...@gmail.com on 24 Feb 2010 at 4:04

GoogleCodeExporter commented 9 years ago
Firefox changed the way the service manager is now retrieved. Opera and 
Chromium will
need to be updated to match this new requirement. Blame firefox for changing 
this.

Original comment by kdeko...@gmail.com on 24 Feb 2010 at 4:48

GoogleCodeExporter commented 9 years ago
OK. But the old version works on the three of them. Wouldn't it be better to 
continue
using the old method until all browsers adopt the new one? Or perhaps support 
both
for a limited period of time?

Original comment by tiod...@gmail.com on 24 Feb 2010 at 2:38

GoogleCodeExporter commented 9 years ago
It is a compile symbol that is the problem... I am trying to fix it. 

Original comment by kdeko...@gmail.com on 24 Feb 2010 at 2:45

GoogleCodeExporter commented 9 years ago
Can you try this patch, it should work in both now...

Index: src/plugin.cpp
===================================================================
--- src/plugin.cpp  (revision 376)
+++ src/plugin.cpp  (working copy)
@@ -45,7 +45,7 @@
 #include <nsIPrefBranch.h>
 #include <nsIPrefService.h>
 #include <nsIServiceManager.h>
-#include <nsXPCOM.h>
+#include <dlfcn.h>

 nsIPrefBranch *prefBranch = NULL;
 nsIPrefService *prefService = NULL;
@@ -184,9 +184,14 @@
     nsIServiceManager *sm = NULL;
     nsIServiceManager *ServiceManager = NULL;
     PRBool v;
+    void (*get_sm)(nsIServiceManager**);

-    //NPN_GetValue(NULL, NPNVserviceManager, &sm);
-    NS_GetServiceManager(&sm);
+    get_sm = (void 
(*)(nsIServiceManager**))dlsym(RTLD_DEFAULT,"NS_GetServiceManager");
+    if (get_sm) {
+        (*get_sm)(&sm);
+    } else {
+        NPN_GetValue(NULL, NPNVserviceManager, &sm);
+    }

     if (sm) {
         sm->QueryInterface(NS_GET_IID(nsIServiceManager), (void **) (&ServiceManager));

Original comment by kdeko...@gmail.com on 24 Feb 2010 at 3:20

GoogleCodeExporter commented 9 years ago
Wow, that was fast!

Yes, sure. I am currently at work, bit tonight I'll give it a go (10 hours from 
now,
sorry).

Thank you very much for your hard work.

Original comment by tiod...@gmail.com on 24 Feb 2010 at 4:09

GoogleCodeExporter commented 9 years ago
The code is in SVN, and there is another patch, so I recommend using SVN.

Original comment by kdeko...@gmail.com on 24 Feb 2010 at 4:11

GoogleCodeExporter commented 9 years ago
Unfortunately, it is still not working.

Here are the messages I get from Chromium:

symbol lookup error: /usr/lib/mozilla/plugins/gecko-mediaplayer-qt.so: 
undefined 
symbol: NS_GetServiceManager
NPP_New called
Using player backend of '(null)'
DBUS connection created
Listening to path /control/63595

And from opera:

operapluginwrapper: [plugin failed ] dlopen(RTLD_NOW | RTLD_GLOBAL) failed on 
/usr/
lib/mozilla/plugins/gecko-mediaplayer.so                                     
operapluginwrapper: [plugin failed ] With error /usr/lib/mozilla/plugins/gecko-
mediaplayer.so: undefined symbol: NS_GetServiceManager                          

operapluginwrapper: [plugin failed ] Retrying with dlopen(RTLD_LAZY | 
RTLD_GLOBAL)                                                                    

operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/gecko-
mediaplayer.so                                                                  

operapluginwrapper: [plugin probing] MIMEDescription             : present      
operapluginwrapper: [plugin probing] NPPVpluginNameString        : present      
operapluginwrapper: [plugin probing] NPPVpluginDescriptionString : present      
operapluginwrapper: [plugin probing] dlclose returned : 0                       
operapluginwrapper: [plugin probing] Return value : 0 File : /usr/lib/mozilla/
plugins/gecko-mediaplayer.so                                                    

opera: plugin detection successful: /usr/lib/mozilla/plugins/gecko-
mediaplayer.so                                                                  

operapluginwrapper: [plugin failed ] dlopen(RTLD_NOW | RTLD_GLOBAL) failed on 
/usr/
lib/mozilla/plugins/gecko-mediaplayer-dvx.so                                 
operapluginwrapper: [plugin failed ] With error /usr/lib/mozilla/plugins/gecko-
mediaplayer-dvx.so: undefined symbol: NS_GetServiceManager                      

operapluginwrapper: [plugin failed ] Retrying with dlopen(RTLD_LAZY | 
RTLD_GLOBAL)                                                                    

operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/gecko-mediaplayer-
dvx.so                                                                          
operapluginwrapper: [plugin probing] MIMEDescription             : present      
operapluginwrapper: [plugin probing] NPPVpluginNameString        : present      
operapluginwrapper: [plugin probing] NPPVpluginDescriptionString : present      
operapluginwrapper: [plugin probing] dlclose returned : 0                       
operapluginwrapper: [plugin probing] Return value : 0 File : /usr/lib/mozilla/
plugins/gecko-mediaplayer-dvx.so                                                

opera: plugin detection successful: /usr/lib/mozilla/plugins/gecko-mediaplayer-
dvx.so                                                                          

operapluginwrapper: [plugin failed ] dlopen(RTLD_NOW | RTLD_GLOBAL) failed on 
/usr/
lib/mozilla/plugins/gecko-mediaplayer-wmp.so                                 
operapluginwrapper: [plugin failed ] With error /usr/lib/mozilla/plugins/gecko-
mediaplayer-wmp.so: undefined symbol: NS_GetServiceManager                      

operapluginwrapper: [plugin failed ] Retrying with dlopen(RTLD_LAZY | 
RTLD_GLOBAL)                                                                    

operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/gecko-mediaplayer-
wmp.so                                                                          
operapluginwrapper: [plugin probing] MIMEDescription             : present      
operapluginwrapper: [plugin probing] NPPVpluginNameString        : present      
operapluginwrapper: [plugin probing] NPPVpluginDescriptionString : present      
operapluginwrapper: [plugin probing] dlclose returned : 0                       
operapluginwrapper: [plugin probing] Return value : 0 File : /usr/lib/mozilla/
plugins/gecko-mediaplayer-wmp.so                                                

opera: plugin detection successful: /usr/lib/mozilla/plugins/gecko-mediaplayer-
wmp.so                                                                          

operapluginwrapper: [plugin failed ] dlopen(RTLD_NOW | RTLD_GLOBAL) failed on 
/usr/
lib/mozilla/plugins/gecko-mediaplayer-rm.so                                  
operapluginwrapper: [plugin failed ] With error /usr/lib/mozilla/plugins/gecko-
mediaplayer-rm.so: undefined symbol: NS_GetServiceManager                       

operapluginwrapper: [plugin failed ] Retrying with dlopen(RTLD_LAZY | 
RTLD_GLOBAL)                                                                    

operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/gecko-mediaplayer-
rm.so                                                                           
operapluginwrapper: [plugin probing] MIMEDescription             : not present  
operapluginwrapper: [plugin probing] NPPVpluginNameString        : present      
operapluginwrapper: [plugin probing] NPPVpluginDescriptionString : present      
operapluginwrapper: [plugin probing] dlclose returned : 0                       
operapluginwrapper: [plugin probing] Return value : 0 File : /usr/lib/mozilla/
plugins/gecko-mediaplayer-rm.so                                                 

opera: plugin detection successful: /usr/lib/mozilla/plugins/gecko-mediaplayer-
rm.so                                                                           

operapluginwrapper: [plugin failed ] dlopen(RTLD_NOW | RTLD_GLOBAL) failed on 
/usr/
lib/mozilla/plugins/gecko-mediaplayer-qt.so                                  
operapluginwrapper: [plugin failed ] With error /usr/lib/mozilla/plugins/gecko-
mediaplayer-qt.so: undefined symbol: NS_GetServiceManager                       

operapluginwrapper: [plugin failed ] Retrying with dlopen(RTLD_LAZY | 
RTLD_GLOBAL)                                                                    

operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/gecko-mediaplayer-
qt.so                                                                           
operapluginwrapper: [plugin probing] MIMEDescription             : present      
operapluginwrapper: [plugin probing] NPPVpluginNameString        : present      
operapluginwrapper: [plugin probing] NPPVpluginDescriptionString : present      
operapluginwrapper: [plugin probing] dlclose returned : 0                       
operapluginwrapper: [plugin probing] Return value : 0 File : /usr/lib/mozilla/
plugins/gecko-mediaplayer-qt.so                                                 

opera: plugin detection successful: /usr/lib/mozilla/plugins/gecko-mediaplayer-
qt.so                                                                           

NPP_New called
Using player backend of '(null)'
DBUS connection created
Listening to path /control/45776
opera: Plug-in 5213 is not responding. It will be closed.
opera: Define environment variable OPERA_KEEP_BLOCKED_PLUGIN to keep blocked 
plug-
ins.

Original comment by tiod...@gmail.com on 25 Feb 2010 at 3:37

GoogleCodeExporter commented 9 years ago
Forget what I have written before: it IS working now!

Sorry, I made a mistake and installed an old package. The plugin it is working 
on ht 
three browsers now.

Thank you very much!

Original comment by tiod...@gmail.com on 25 Feb 2010 at 3:50

GoogleCodeExporter commented 9 years ago

Original comment by kdeko...@gmail.com on 25 Feb 2010 at 4:13

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
What have you did, that it's working again for you? I'm using gecko-mediaplayer 
0.9.9.2-1 on Debian Sid and it doesn't work.(Opera)

I'm trying to use this plugin with "Youtube without flash" script. This is what 
opera --debugplugin shows when I go to youtube.com/* page.

--------------------------------------------------------------------------------
----

0x9e43c80: ToplevelWindow::parseRemoteCommand: 
openURL(http://www.youtube.com/watch?
v=Z0S5JJAS1Yk&feature=player_embedded,new-page) target: 0x9e43c80
NPP_New called
Using player backend of ''
DBUS connection created
Listening to path /control/13135
ARG: id = no-flash-player
ARG: type = application/x-mplayer2
ARG: src = http://www.youtube.com/get_video?
video_id=Z0S5JJAS1Yk&t=vjVQa1PpcFMW6jfAqyIs9nh9obryh6HIucIszGZGoVs=&fmt=35&begin
=0
ARG: scale = tofit
ARG: width = 10
ARG: height = 10
ARG: autoplay = true
ARG: plugin_lib = /usr/lib/mozilla/plugins/gecko-mediaplayer-wmp.so
Window resized
Calling GetURLNotify with item = 0x8d97088 src = 
http://www.youtube.com/get_video?
video_id=Z0S5JJAS1Yk&t=vjVQa1PpcFMW6jfAqyIs9nh9obryh6HIucIszGZGoVs=&fmt=35&begin
=0
New Stream Requested - http://v3.lscache6.c.youtube.com/videoplayback?
ip=0.0.0.0&begin=0&fexp=906901&algorithm=throttle-
factor&itag=35&ipbits=0&burst=40&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgo
rithm
%2Cburst%2Cfactor%2Coc
%3AU0dWRlJTV19FSkNNNl9KTUFH&sver=3&expire=1271289600&key=yt1&signature=846064DBE
EBBF9EF927BA0E8E5DB59164FE33419.54EBB65756FC08A51550DB80FA2C6AA8825098A0&factor=
1.25&id=6744b9249012d589
item is NULL for http://v3.lscache6.c.youtube.com/videoplayback?
ip=0.0.0.0&begin=0&fexp=906901&algorithm=throttle-
factor&itag=35&ipbits=0&burst=40&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgo
rithm
%2Cburst%2Cfactor%2Coc
%3AU0dWRlJTV19FSkNNNl9KTUFH&sver=3&expire=1271289600&key=yt1&signature=846064DBE
EBBF9EF927BA0E8E5DB59164FE33419.54EBB65756FC08A51550DB80FA2C6AA8825098A0&factor=
1.25&id=6744b9249012d589
New Stream Requested - http://v3.lscache6.c.youtube.com/videoplayback?
ip=0.0.0.0&begin=0&fexp=906901&algorithm=throttle-
factor&itag=35&ipbits=0&burst=40&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgo
rithm
%2Cburst%2Cfactor%2Coc
%3AU0dWRlJTV19FSkNNNl9KTUFH&sver=3&expire=1271289600&key=yt1&signature=846064DBE
EBBF9EF927BA0E8E5DB59164FE33419.54EBB65756FC08A51550DB80FA2C6AA8825098A0&factor=
1.25&id=6744b9249012d589
item is null
stream url http://v3.lscache6.c.youtube.com/videoplayback?
ip=0.0.0.0&begin=0&fexp=906901&algorithm=throttle-
factor&itag=35&ipbits=0&burst=40&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgo
rithm
%2Cburst%2Cfactor%2Coc
%3AU0dWRlJTV19FSkNNNl9KTUFH&sver=3&expire=1271289600&key=yt1&signature=846064DBE
EBBF9EF927BA0E8E5DB59164FE33419.54EBB65756FC08A51550DB80FA2C6AA8825098A0&factor=
1.25&id=6744b9249012d589
Entering destroy stream reason = 2 for http://v3.lscache6.c.youtube.com/
videoplayback?ip=0.0.0.0&begin=0&fexp=906901&algorithm=throttle-
factor&itag=35&ipbits=0&burst=40&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgo
rithm
%2Cburst%2Cfactor%2Coc
%3AU0dWRlJTV19FSkNNNl9KTUFH&sver=3&expire=1271289600&key=yt1&signature=846064DBE
EBBF9EF927BA0E8E5DB59164FE33419.54EBB65756FC08A51550DB80FA2C6AA8825098A0&factor=
1.25&id=6744b9249012d589
Exiting destroy stream reason = 2 for 
http://v3.lscache6.c.youtube.com/videoplayback?
ip=0.0.0.0&begin=0&fexp=906901&algorithm=throttle-
factor&itag=35&ipbits=0&burst=40&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgo
rithm
%2Cburst%2Cfactor%2Coc
%3AU0dWRlJTV19FSkNNNl9KTUFH&sver=3&expire=1271289600&key=yt1&signature=846064DBE
EBBF9EF927BA0E8E5DB59164FE33419.54EBB65756FC08A51550DB80FA2C6AA8825098A0&factor=
1.25&id=6744b9249012d589
URL Notify url = 'http://v3.lscache6.c.youtube.com/videoplayback?
ip=0.0.0.0&begin=0&fexp=906901&algorithm=throttle-
factor&itag=35&ipbits=0&burst=40&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgo
rithm
%2Cburst%2Cfactor%2Coc
%3AU0dWRlJTV19FSkNNNl9KTUFH&sver=3&expire=1271289600&key=yt1&signature=846064DBE
EBBF9EF927BA0E8E5DB59164FE33419.54EBB65756FC08A51550DB80FA2C6AA8825098A0&factor=
1.25&id=6744b9249012d589'
reason = 2
http://v3.lscache6.c.youtube.com/videoplayback?
ip=0.0.0.0&begin=0&fexp=906901&algorithm=throttle-
factor&itag=35&ipbits=0&burst=40&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgo
rithm
%2Cburst%2Cfactor%2Coc
%3AU0dWRlJTV19FSkNNNl9KTUFH&sver=3&expire=1271289600&key=yt1&signature=846064DBE
EBBF9EF927BA0E8E5DB59164FE33419.54EBB65756FC08A51550DB80FA2C6AA8825098A0&factor=
1.25&id=6744b9249012d589
/home/kierek/.cache/gnome-mplayer/plugin/gecko-mediaplayereyxumi
/control/13135
URL Notify result is User Break

--------------------------------------------------------------------------------
----

This is how it looks, when I'm trying to watch a Youtube movie. Clicking 
Play/Stop 
doesn't change anything.

http://img227.imageshack.us/img227/7933/zrzutekranuqo.png

Sorry for my crappy English.

Original comment by kiere...@gmail.com on 14 Apr 2010 at 5:20