Khvalovsky / gecko-mediaplayer

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

gecko-mediaplayer 0.9.8 won't compile with xulrunner-1.9.2 #59

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
gecko-mediaplayer 0.9.8 won't compile with xulrunner-1.9.2
Log attached

Original issue reported on code.google.com by maxim.br...@gmail.com on 12 Nov 2009 at 10:08

Attachments:

GoogleCodeExporter commented 8 years ago
Is xulrunner 1.9.2 released yet? I'm on Fedora 12 and the latest it is has is 
1.9.1.
Appears xulrunner has changed its headers again. Please open a bug with them, as
headers should not disappear in a point release.

Original comment by kdeko...@gmail.com on 12 Nov 2009 at 1:56

GoogleCodeExporter commented 8 years ago
You could try adding the attached jri.h to the build and see if that helps. But 
I
have a feeling that more files are needed.

Original comment by kdeko...@gmail.com on 12 Nov 2009 at 2:25

Attachments:

GoogleCodeExporter commented 8 years ago
Hm... May be something wrong in my environment.
I will check some things and report here.
I use icedtea-1.6.1 instead sun jre-1.6. May be something wrong here....
Thanks

Original comment by maxim.br...@gmail.com on 12 Nov 2009 at 2:49

GoogleCodeExporter commented 8 years ago
Java should not have anything to do with it. It is files within xulrunner

Original comment by kdeko...@gmail.com on 12 Nov 2009 at 3:26

GoogleCodeExporter commented 8 years ago
Can you try SVN of gecko-mediaplayer. I think I have fixed it, but don't have
xulrunner 1.9.2 to test with.

Original comment by kdeko...@gmail.com on 12 Nov 2009 at 3:36

GoogleCodeExporter commented 8 years ago
Still fail.

Original comment by maxim.br...@gmail.com on 13 Nov 2009 at 6:57

Attachments:

GoogleCodeExporter commented 8 years ago
Please post the output of ./configure the files it is failing on now are files 
it was
working on before. Also might try changing #include <npapi.h> to #include 
"npapi.h"
in plugin.h and see if that helps any. It should not, but that was something 
that was
changed.

Original comment by kdeko...@gmail.com on 13 Nov 2009 at 4:04

GoogleCodeExporter commented 8 years ago
I was looking at your output and where is the "yes" coming from in the path 
settings.

g++ -DHAVE_CONFIG_H -I. -I.. -fPIC 
-DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\"
-DPACKAGE_SRC_DIR=\""."\" -DPACKAGE_DATA_DIR=\""/usr/local/share"\" 
-Iyes/include
-Iyes/include/plugin -Iyes/include/nspr -Iyes/include/xpcom -Iyes/include/string
-Iyes/include/java -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  
-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include   -DORBIT2=1 -pthread -I/usr/include/gconf/2
-I/usr/include/orbit-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -DHAVE_GCONF
-DMOZILLA_STRICT_API -DXP_UNIX    -g -O2 -MT plugin_types_std.o -MD -MP -MF
.deps/plugin_types_std.Tpo -c -o plugin_types_std.o plugin_types_std.cpp

Mine looks like this...

g++ -DHAVE_CONFIG_H -I. -I.. -fPIC -DPACKAGE_LOCALE_DIR=\""/usr/share/locale"\"
-DPACKAGE_SRC_DIR=\""."\" -DPACKAGE_DATA_DIR=\""/usr/share"\" -fshort-wchar
-I/usr/include/xulrunner-sdk-1.9.1/stable -I/usr/include/nspr4  
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/usr/include/dbus-1.0
-I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 
-I/usr/lib64/glib-2.0/include 
 -DORBIT2=1 -pthread -I/usr/include/gconf/2 -I/usr/include/orbit-2.0
-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include   -DHAVE_GCONF -DMOZILLA_STRICT_API -DXP_UNIX    
-g -O2
-MT plugin_types_std.o -MD -MP -MF .deps/plugin_types_std.Tpo -c -o
plugin_types_std.o plugin_types_std.cpp

So I'm wondering if something is wrong with your xulrunner.pc file. It might be
possible that your ebuild is breaking something as well. I can't see your 
configure
output in the second log, but in the first log, there is definitely something 
missing
as there is no check for GECKO.

Original comment by kdeko...@gmail.com on 13 Nov 2009 at 4:12

GoogleCodeExporter commented 8 years ago
Seems "yes" is default for --with-xulrunner-sdk

# Check whether --with-xulrunner-sdk was given.
if test "${with_xulrunner_sdk+set}" = set; then
  withval=$with_xulrunner_sdk;
        XULRUNNER_SDK_PREFIX=$with_xulrunner_sdk
        GECKO_CFLAGS="-I$XULRUNNER_SDK_PREFIX/include
-I$XULRUNNER_SDK_PREFIX/include/plugin -I$XULRUNNER_SDK_PREFIX/include/nspr
-I$XULRUNNER_SDK_PREFIX/include/xpcom -I$XULRUNNER_SDK_PREFIX/include/string
-I$XULRUNNER_SDK_PREFIX/include/java"
        GECKO_LIBS="-L$XULRUNNER_SDK_PREFIX/lib -lxpcomglue_s -lxul -lxpcom -lplds4
-lplc4 -lnspr4 -lpthread -ldl"

Without --with-xulrunner-sdk it found libxul and:

make[3]: Entering directory `/home/maxim/src/gecko-mediaplayer-read-only/src'
g++ -DHAVE_CONFIG_H -I. -I.. -fPIC 
-DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\"
-DPACKAGE_SRC_DIR=\""."\" -DPACKAGE_DATA_DIR=\""/usr/local/share"\" 
-fshort-wchar
-I/usr/include/xulrunner-1.9.2 -I/usr/include/nspr   -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include   -I/usr/include/dbus-1.0 
-I/usr/lib64/dbus-1.0/include
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -DORBIT2=1 -pthread
-I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/dbus-1.0
-I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 
-I/usr/lib64/glib-2.0/include 
 -DHAVE_GCONF -DMOZILLA_STRICT_API -DXP_UNIX    -g -O2 -MT plugin_types_std.o -MD -MP
-MF .deps/plugin_types_std.Tpo -c -o plugin_types_std.o plugin_types_std.cpp
mv -f .deps/plugin_types_std.Tpo .deps/plugin_types_std.Po
g++ -DHAVE_CONFIG_H -I. -I.. -fPIC 
-DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\"
-DPACKAGE_SRC_DIR=\""."\" -DPACKAGE_DATA_DIR=\""/usr/local/share"\" 
-fshort-wchar
-I/usr/include/xulrunner-1.9.2 -I/usr/include/nspr   -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include   -I/usr/include/dbus-1.0 
-I/usr/lib64/dbus-1.0/include
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -DORBIT2=1 -pthread
-I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/dbus-1.0
-I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 
-I/usr/lib64/glib-2.0/include 
 -DHAVE_GCONF -DMOZILLA_STRICT_API -DXP_UNIX    -g -O2 -MT plugin.o -MD -MP -MF
.deps/plugin.Tpo -c -o plugin.o plugin.cpp
plugin.cpp: In member function 'virtual bool 
ScriptablePluginObject::Invoke(void*,
const NPVariant*, uint32_t, NPVariant*)':
plugin.cpp:1633: error: 'const struct NPString' has no member named 
'utf8characters'
plugin.cpp:1701: error: 'const struct NPString' has no member named 
'utf8characters'
plugin.cpp:1706: error: 'const struct NPString' has no member named 
'utf8characters'
plugin.cpp:1711: error: 'const struct NPString' has no member named 
'utf8characters'
plugin.cpp:1716: error: 'const struct NPString' has no member named 
'utf8characters'
plugin.cpp:1721: error: 'const struct NPString' has no member named 
'utf8characters'
plugin.cpp:1726: error: 'const struct NPString' has no member named 
'utf8characters'
plugin.cpp:1731: error: 'const struct NPString' has no member named 
'utf8characters'
plugin.cpp: In member function 'virtual bool
ScriptablePluginObject::SetProperty(void*, const NPVariant*)':
plugin.cpp:1822: error: 'const struct NPString' has no member named 
'utf8characters'
make[3]: *** [plugin.o] Ошибка 1
make[3]: Leaving directory `/home/maxim/src/gecko-mediaplayer-read-only/src'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Leaving directory `/home/maxim/src/gecko-mediaplayer-read-only/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/home/maxim/src/gecko-mediaplayer-read-only'
make: *** [all] Ошибка 2

Attached both configure logs

Original comment by maxim.br...@gmail.com on 13 Nov 2009 at 6:08

Attachments:

GoogleCodeExporter commented 8 years ago
Well "yes" is the wrong value for --with-xulrunner-sdk, that argument takes a 
PATH so
it should be something like --with-xulrunner-sdk=/path/to/files. I have 
clarified
this in the configure --help in SVN.

in npruntime.h NPString is defined like this

typedef struct _NPString {
    const NPUTF8 *utf8characters;
    uint32_t utf8length;
} NPString;

Can you please see how NPString is defined in your npruntime.h

Original comment by kdeko...@gmail.com on 13 Nov 2009 at 7:07

GoogleCodeExporter commented 8 years ago
/usr/include/xulrunner-1.9.2/npruntime.h

Original comment by maxim.br...@gmail.com on 13 Nov 2009 at 8:42

Attachments:

GoogleCodeExporter commented 8 years ago
yeah your version has this...

typedef struct _NPString {
    const NPUTF8 *UTF8Characters;
    uint32_t UTF8Length;
} NPString;

So you'll need to change all the instances of "utf8characters" to 
"UTF8Characters" in
the plugin.cpp code

To me this is a serious problem with the new xulrunner. Since the API should 
not be
changing like that.

Original comment by kdeko...@gmail.com on 13 Nov 2009 at 9:27

GoogleCodeExporter commented 8 years ago
Despite compiling after changing to "UTF8Characters", the player no longer 
connects
to any url's properly. For example, in firefox 3.5.5 apple trailers works, but 
once
you change to firefox 3.6(beta5pre) it will say "connecting" forever and never
actually connects.

I think the url is lost somewhere when the api changes were made in firefox 3.6 
i am
not sure?

Original comment by jazzr...@gmail.com on 6 Dec 2009 at 6:50

GoogleCodeExporter commented 8 years ago
I think I understand why it's broken in firefox 3.6.  It seems that the 
javascript in
3.6 sends a notification that something has changed with
http://www.apple.com/trailers which causes mediaplayer to think that there is 
data to
be read from that URL, and since this is just html, mplayer freezes.

I've attached log files from 3.6 and 3.5 that show the problem.  Search for "New
Stream Requested"

Original comment by joequ...@gmail.com on 17 Jan 2010 at 2:49

GoogleCodeExporter commented 8 years ago
Here are some log files.  

The important part is in 3.6 you see

Window resized
New Stream Requested
Entering destroy stream reason = 1 for http://www.apple.com/trailers/
Exiting destroy stream reason = 1 for http://www.apple.com/trailers/
URL Notify 
http://movies.apple.com/movies/independent/theredbaron/redbaron-tlr1_h320.mov
,1 = 0
http://www.apple.com/trailers/
/home/joe/.cache/gnome-mplayer/plugin/gecko-mediaplayerftmjco
/control/59190

Whereas in 3.5 you see
Window resized
New Stream Requested
New Stream Requested
Entering destroy stream reason = 1 for
http://movies.apple.com/movies/independent/theredbaron/redbaron-tlr1_r640s.mov?w
idth=640&height=272
Exiting destroy stream reason = 1 for
http://movies.apple.com/movies/independent/theredbaron/redbaron-tlr1_r640s.mov?w
idth=640&height=272
Entering list_parse_qt localsize = 2049157
Item 
src =
http://movies.apple.com/movies/independent/theredbaron/redbaron-tlr1_r640s.mov?w
idth=640&height=272
local = /home/joe/.cache/gnome-mplayer/plugin/gecko-mediaplayerfqaebb

Original comment by joequ...@gmail.com on 17 Jan 2010 at 2:52

Attachments:

GoogleCodeExporter commented 8 years ago
I have reworked latest trunk to be forward compatible along with backward 
compatible.
Hope this helps any questions or comment please email me directly at anarchy at
gentoo dot org.

Original comment by geekypen...@gmail.com on 22 Jan 2010 at 2:12

Attachments:

GoogleCodeExporter commented 8 years ago
SVN updated with patch similar to patch from geekypenguin

Original comment by kdeko...@gmail.com on 22 Jan 2010 at 2:43

GoogleCodeExporter commented 8 years ago
can you do a new release since the changes for xulrunner 1.9.2 are made in 
november too?

Original comment by biru.ionut on 22 Jan 2010 at 3:23