[SCM] VLC media player packaging branch, experimental, updated. debian/1.0.6-1-32-gae1a772
xtophe-guest at users.alioth.debian.org
xtophe-guest at users.alioth.debian.org
Thu Jun 17 00:18:32 UTC 2010
The following commit has been merged in the experimental branch:
commit 8e87d65ba70516352e8bd5ff0277b645e1e6a5f7
Author: Christophe Mutricy <xtophe at videolan.org>
Date: Mon Jun 14 23:57:49 2010 +0200
Patch to allow compilation with xul 1.9.1
No thanks to Mozilla developers for not providing any way to have plugins buildable against both 1.9.1 and 1.9.2
diff --git a/debian/patches/502_xulrunner_191.diff b/debian/patches/502_xulrunner_191.diff
new file mode 100644
index 0000000..67b2501
--- /dev/null
+++ b/debian/patches/502_xulrunner_191.diff
@@ -0,0 +1,1273 @@
+diff --git a/config.h.in b/config.h.in
+index a786b54..cadf91e 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -501,6 +501,9 @@
+ /* Define to 1 if you have the <npapi.h> header file. */
+ #undef HAVE_NPAPI_H
+
++/* Define to 1 if you have the <npfunctions.h> header file. */
++#undef HAVE_NPFUNCTIONS_H
++
+ /* Define to 1 if you have the <npruntime.h> header file. */
+ #undef HAVE_NPRUNTIME_H
+
+diff --git a/configure b/configure
+index 1fc0a29..730e753 100755
+--- a/configure
++++ b/configure
+@@ -46990,33 +46990,39 @@ $as_echo "$as_me: Checking for Mozilla" >&6;}
+ found=1
+ else
+ if test -n "$PKG_CONFIG"; then
+- for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
++ for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
+ if test -n "$i"
+ then
+ echo "Trying to find $i package" >&5
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $i >= 1.9.2" >&5
+-$as_echo_n "checking for $i >= 1.9.2... " >&6; }
+- if $PKG_CONFIG --exists --print-errors "$i >= 1.9.2" 2>&5
++ if $PKG_CONFIG --exists --print-errors "$i" 2>&5
+ then
+ echo "Using $i pkg-config package." >&5
+ echo "Using $i package." >&6
+ found=1
+ MOZILLA_CFLAGS=$(eval $PKG_CONFIG --cflags "$i" )
+ MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" )
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+-$as_echo "yes" >&6; }
+ break
+ fi
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+ fi
+- done
++ done
+ fi
+ fi
+ if test $found = 1; then :
+
+ CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
+ MOZILLA_REQUIRED_HEADERS=1
++ for ac_header in npfunctions.h
++do :
++ ac_fn_cxx_check_header_mongrel "$LINENO" "npfunctions.h" "ac_cv_header_npfunctions_h" "$ac_includes_default"
++if test "x$ac_cv_header_npfunctions_h" = x""yes; then :
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_NPFUNCTIONS_H 1
++_ACEOF
++
++fi
++
++done
++
+ for ac_header in npapi.h
+ do :
+ ac_fn_cxx_check_header_mongrel "$LINENO" "npapi.h" "ac_cv_header_npapi_h" "$ac_includes_default"
+@@ -47050,7 +47056,7 @@ fi
+ done
+
+ if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
+- as_fn_error "Please install the Firefox development tools; plugin/npapi.h and/or plugin/npruntime.h were not found." "$LINENO" 5
++ as_fn_error "Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found." "$LINENO" 5
+ fi
+ MOZILLA_REQUIRED_HEADERS=
+ mozilla=:
+@@ -47058,11 +47064,12 @@ done
+
+
+
+- eval "CPPFLAGS_mozilla="'"$'"{CPPFLAGS_mozilla} -DXP_UNIX"'"'
++
++ eval "CPPFLAGS_mozilla="'"$'"{CPPFLAGS_mozilla} -DXP_UNIX -DOJI"'"'
+ am_modules_with_cppflags="${am_modules_with_cppflags} mozilla"
+
+
+- if test "${SYS}" != "darwin"; then :
++ if test "${SYS}" != "darwin"; then :
+
+
+ pkg_failed=no
+@@ -47122,13 +47129,13 @@ fi
+ echo "$XPM_PKG_ERRORS" >&5
+
+
+- as_fn_error "Please install the libXpm and libXt development files." "$LINENO" 5
++ as_fn_error "Please install the libXpm and libXt development files." "$LINENO" 5
+
+ elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+
+- as_fn_error "Please install the libXpm and libXt development files." "$LINENO" 5
++ as_fn_error "Please install the libXpm and libXt development files." "$LINENO" 5
+
+ else
+ XPM_CFLAGS=$pkg_cv_XPM_CFLAGS
+@@ -47144,11 +47151,6 @@ $as_echo "yes" >&6; }
+
+
+ fi
+- if test "${have_xcb_keysyms}" != "yes"; then :
+-
+- as_fn_error "Please install xcb-keysyms from xcb-utils." "$LINENO" 5
+-
+-fi
+
+ fi
+
+@@ -47224,7 +47226,7 @@ fi
+ done
+ test -n "$MOZILLA_CONFIG" || MOZILLA_CONFIG="no"
+
+- test "${MOZILLA_CONFIG}" = "no" && as_fn_error "Please install the Mozilla development tools (version 1.9.2 or higher) or use --disable-mozilla." "$LINENO" 5
++ test "${MOZILLA_CONFIG}" = "no" && as_fn_error "Please install the Mozilla development tools. mozilla-config was not found." "$LINENO" 5
+
+
+ fi
+@@ -47482,8 +47484,22 @@ fi
+ fi
+
+ real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
+- CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk}/include"
++ CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
+ MOZILLA_REQUIRED_HEADERS=1
++ for ac_header in mozilla-config.h
++do :
++ ac_fn_cxx_check_header_mongrel "$LINENO" "mozilla-config.h" "ac_cv_header_mozilla_config_h" "$ac_includes_default"
++if test "x$ac_cv_header_mozilla_config_h" = x""yes; then :
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_MOZILLA_CONFIG_H 1
++_ACEOF
++
++else
++ MOZILLA_REQUIRED_HEADERS=0
++fi
++
++done
++
+ for ac_header in npapi.h
+ do :
+ ac_fn_cxx_check_header_mongrel "$LINENO" "npapi.h" "ac_cv_header_npapi_h" "$ac_includes_default"
+@@ -47525,10 +47541,29 @@ done
+ PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
+
+
+- eval "CPPFLAGS_mozilla="'"$'"{CPPFLAGS_mozilla} -DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk}/include"'"'
++ eval "CPPFLAGS_mozilla="'"$'"{CPPFLAGS_mozilla} -DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include"'"'
+ am_modules_with_cppflags="${am_modules_with_cppflags} mozilla"
+
+
++ if ${need_xpcom_libs}; then
++
++
++ eval "LIBS_mozilla="'"'"-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue "'$'"{LIBS_mozilla}"'"'
++ am_modules_with_libs="${am_modules_with_libs} mozilla"
++
++
++ if test "${SYS}" = "mingw32"; then
++ if test -d "${real_mozilla_sdk}/embedstring/bin"
++ then
++
++
++ eval "LIBS_mozilla="'"'"-lembedstring "'$'"{LIBS_mozilla}"'"'
++ am_modules_with_libs="${am_modules_with_libs} mozilla"
++
++
++ fi
++ fi
++ fi
+ MOZILLA_SDK_PATH="${real_mozilla_sdk}"
+
+ if test -n "${CYGPATH}"; then
+diff --git a/configure.ac b/configure.ac
+index 139afd8..9f4918c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4550,29 +4550,27 @@ then
+ found=1
+ else
+ if test -n "$PKG_CONFIG"; then
+- for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
++ for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
+ if test -n "$i"
+ then
+ echo "Trying to find $i package" >&AS_MESSAGE_LOG_FD
+- AC_MSG_CHECKING([for $i >= 1.9.2])
+- if $PKG_CONFIG --exists --print-errors "$i >= 1.9.2" 2>&AS_MESSAGE_LOG_FD
++ if $PKG_CONFIG --exists --print-errors "$i" 2>&AS_MESSAGE_LOG_FD
+ then
+ echo "Using $i pkg-config package." >&AS_MESSAGE_LOG_FD
+ echo "Using $i package." >&AS_MESSAGE_FD
+ found=1
+ MOZILLA_CFLAGS=$(eval $PKG_CONFIG --cflags "$i" )
+ MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" )
+- AC_MSG_RESULT([yes])
+ break
+ fi
+- AC_MSG_RESULT([no])
+ fi
+- done
++ done
+ fi
+ fi
+ AS_IF( [test $found = 1],[
+ CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
+ MOZILLA_REQUIRED_HEADERS=1
++ AC_CHECK_HEADERS([npfunctions.h])
+ AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
+ AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
+ [#if HAVE_NPAPI_H
+@@ -4580,24 +4578,22 @@ then
+ #endif
+ ])
+ if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
+- AC_MSG_ERROR([Please install the Firefox development tools; plugin/npapi.h and/or plugin/npruntime.h were not found.])
++ AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
+ fi
+ MOZILLA_REQUIRED_HEADERS=
+ mozilla=:
+ AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
+- VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX])
+- AS_IF([ test "${SYS}" != "darwin"],[
+- PKG_CHECK_MODULES(XPM, [xpm xt],[
+- VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
+- ],[
+- AC_MSG_ERROR([Please install the libXpm and libXt development files.])
+- ])
+- AS_IF([test "${have_xcb_keysyms}" != "yes"], [
+- AC_MSG_ERROR([Please install xcb-keysyms from xcb-utils.])
+- ])
++
++ VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
++ AS_IF([ test "${SYS}" != "darwin"],[
++ PKG_CHECK_MODULES(XPM, [xpm xt],[
++ VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
++ ],[
++ AC_MSG_ERROR([Please install the libXpm and libXt development files.])
++ ])
+ ])
+ ])
+- VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
++ VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
+ VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
+ VLC_ADD_PLUGIN([mozilla])
+ PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
+@@ -4606,9 +4602,9 @@ then
+ ],
+ [
+ AC_PATH_PROGS(MOZILLA_CONFIG,
+- [mozilla-config seamonkey-config xulrunner-config],
++ [mozilla-config seamonkey-config xulrunner-config],
+ [no])
+- test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools (version 1.9.2 or higher) or use --disable-mozilla.])
++ test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
+ ]
+ )
+ dnl pkg-config failed but we might have found a mozilla-config
+@@ -4664,8 +4660,9 @@ then
+ fi
+
+ real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
+- CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk}/include"
++ CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
+ MOZILLA_REQUIRED_HEADERS=1
++ AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
+ AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
+ AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
+ [#if HAVE_NPAPI_H
+@@ -4679,7 +4676,17 @@ then
+ MOZILLA_REQUIRED_HEADERS=
+ mozilla=:
+ PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
+- VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk}/include])
++ VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
++ if ${need_xpcom_libs}; then
++ VLC_ADD_LIBS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
++ if test "${SYS}" = "mingw32"; then
++ dnl latest gecko sdk does not have embedstring
++ if test -d "${real_mozilla_sdk}/embedstring/bin"
++ then
++ VLC_ADD_LIBS([mozilla],[-lembedstring])
++ fi
++ fi
++ fi
+ MOZILLA_SDK_PATH="${real_mozilla_sdk}"
+
+ if test -n "${CYGPATH}"; then
+diff --git a/projects/mozilla/Makefile.am b/projects/mozilla/Makefile.am
+index 230b720..9d1b7e6 100644
+--- a/projects/mozilla/Makefile.am
++++ b/projects/mozilla/Makefile.am
+@@ -67,7 +67,8 @@ CPPFLAGS_mozilla_EXTRA = -I. -I$(top_builddir) -I$(srcdir)/../include -c \
+ -F/System/Library/Frameworks/CoreFoundation.framework $(moz_CFLAGS) \
+ -I/Developer/Headers/FlatCarbon -fno-common -fpascal-strings \
+ -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -DXP_MACOSX=1 \
+- -DNO_X11=1 -DUSE_SYSTEM_CONSOLE=1 -pipe -fmessage-length=0
++ -DNO_X11=1 -DUSE_SYSTEM_CONSOLE=1 -pipe -fmessage-length=0 \
++ -include mozilla-config.h
+ LDFLAGS_mozilla_EXTRA = -no-undefined -bundle -Wl,-read_only_relocs -Wl,suppress \
+ -Wl,-headerpad_max_install_names -shrext $(LIBEXT) -Wl,-framework,Carbon -Wl,-framework,System
+
+diff --git a/projects/mozilla/Makefile.in b/projects/mozilla/Makefile.in
+index a5b7cc0..89d1ee1 100644
+--- a/projects/mozilla/Makefile.in
++++ b/projects/mozilla/Makefile.in
+@@ -740,7 +740,8 @@ DIST_sources = $(SOURCES_mozilla_common) \
+ @BUILD_MOZILLA_TRUE@@HAVE_DARWIN_TRUE@@HAVE_WIN32_FALSE@ -F/System/Library/Frameworks/CoreFoundation.framework $(moz_CFLAGS) \
+ @BUILD_MOZILLA_TRUE@@HAVE_DARWIN_TRUE@@HAVE_WIN32_FALSE@ -I/Developer/Headers/FlatCarbon -fno-common -fpascal-strings \
+ @BUILD_MOZILLA_TRUE@@HAVE_DARWIN_TRUE@@HAVE_WIN32_FALSE@ -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -DXP_MACOSX=1 \
+- at BUILD_MOZILLA_TRUE@@HAVE_DARWIN_TRUE@@HAVE_WIN32_FALSE@ -DNO_X11=1 -DUSE_SYSTEM_CONSOLE=1 -pipe -fmessage-length=0
++ at BUILD_MOZILLA_TRUE@@HAVE_DARWIN_TRUE@@HAVE_WIN32_FALSE@ -DNO_X11=1 -DUSE_SYSTEM_CONSOLE=1 -pipe -fmessage-length=0 \
++ at BUILD_MOZILLA_TRUE@@HAVE_DARWIN_TRUE@@HAVE_WIN32_FALSE@ -include mozilla-config.h
+
+ @BUILD_MOZILLA_TRUE@@HAVE_WIN32_TRUE at CPPFLAGS_mozilla_EXTRA = -DXP_WIN -DXP_WIN32
+ @BUILD_MOZILLA_TRUE@@HAVE_DARWIN_TRUE@@HAVE_WIN32_FALSE at LDFLAGS_mozilla_EXTRA = -no-undefined -bundle -Wl,-read_only_relocs -Wl,suppress \
+diff --git a/projects/mozilla/control/npolibvlc.cpp b/projects/mozilla/control/npolibvlc.cpp
+index 2e6440e..6fb6132 100644
+--- a/projects/mozilla/control/npolibvlc.cpp
++++ b/projects/mozilla/control/npolibvlc.cpp
+@@ -28,6 +28,11 @@
+ #include <string.h>
+ #include <stdlib.h>
+
++/* Mozilla stuff */
++#ifdef HAVE_MOZILLA_CONFIG_H
++# include <mozilla-config.h>
++#endif
++
+ #include "vlcplugin.h"
+ #include "npolibvlc.h"
+
+@@ -52,7 +57,7 @@ NPVariant copyNPVariant(const NPVariant& original)
+ NPVariant res;
+
+ if (NPVARIANT_IS_STRING(original))
+- STRINGZ_TO_NPVARIANT(strdup(NPVARIANT_TO_STRING(original).UTF8Characters), res);
++ STRINGZ_TO_NPVARIANT(strdup(NPVARIANT_TO_STRING(original).utf8characters), res);
+ else if (NPVARIANT_IS_INT32(original))
+ INT32_TO_NPVARIANT(NPVARIANT_TO_INT32(original), res);
+ else if (NPVARIANT_IS_DOUBLE(original))
+@@ -962,7 +967,7 @@ LibvlcPlaylistNPObject::invoke(int index, const NPVariant *args,
+ void LibvlcPlaylistNPObject::parseOptions(const NPString &nps,
+ int *i_options, char*** ppsz_options)
+ {
+- if( nps.UTF8Length )
++ if( nps.utf8length )
+ {
+ char *s = stringValue(nps);
+ char *val = s;
+@@ -974,7 +979,7 @@ void LibvlcPlaylistNPObject::parseOptions(const NPString &nps,
+ {
+ int nOptions = 0;
+
+- char *end = val + nps.UTF8Length;
++ char *end = val + nps.utf8length;
+ while( val < end )
+ {
+ // skip leading blanks
+@@ -1634,7 +1639,7 @@ LibvlcMarqueeNPObject::setProperty(int index, const NPVariant &value)
+
+ case ID_marquee_position:
+ if( !NPVARIANT_IS_STRING(value) ||
+- !position_byname( NPVARIANT_TO_STRING(value).UTF8Characters, i ) )
++ !position_byname( NPVARIANT_TO_STRING(value).utf8characters, i ) )
+ return INVOKERESULT_INVALID_VALUE;
+
+ libvlc_video_set_marquee_int(p_md, libvlc_marquee_Position, i);
+@@ -1780,7 +1785,7 @@ LibvlcLogoNPObject::setProperty(int index, const NPVariant &value)
+
+ case ID_logo_position:
+ if( !NPVARIANT_IS_STRING(value) ||
+- !position_byname( NPVARIANT_TO_STRING(value).UTF8Characters, i ) )
++ !position_byname( NPVARIANT_TO_STRING(value).utf8characters, i ) )
+ return INVOKERESULT_INVALID_VALUE;
+
+ libvlc_video_set_logo_int(p_md, libvlc_logo_position, i);
+@@ -1838,7 +1843,7 @@ LibvlcLogoNPObject::invoke(int index, const NPVariant *args,
+ {
+ if( !NPVARIANT_IS_STRING(args[i]) )
+ return INVOKERESULT_INVALID_VALUE;
+- len+=NPVARIANT_TO_STRING(args[i]).UTF8Length+1;
++ len+=NPVARIANT_TO_STRING(args[i]).utf8length+1;
+ }
+
+ buf = (char *)malloc( len+1 );
+@@ -1848,8 +1853,8 @@ LibvlcLogoNPObject::invoke(int index, const NPVariant *args,
+ for( h=buf,i=0;i<argCount;++i )
+ {
+ if(i) *h++=';';
+- len=NPVARIANT_TO_STRING(args[i]).UTF8Length;
+- memcpy(h,NPVARIANT_TO_STRING(args[i]).UTF8Characters,len);
++ len=NPVARIANT_TO_STRING(args[i]).utf8length;
++ memcpy(h,NPVARIANT_TO_STRING(args[i]).utf8characters,len);
+ h+=len;
+ }
+ *h='\0';
+diff --git a/projects/mozilla/control/nporuntime.cpp b/projects/mozilla/control/nporuntime.cpp
+index 396bbb9..b237fbd 100644
+--- a/projects/mozilla/control/nporuntime.cpp
++++ b/projects/mozilla/control/nporuntime.cpp
+@@ -27,16 +27,21 @@
+ #include <string.h>
+ #include <stdlib.h>
+
++/* Mozilla stuff */
++#ifdef HAVE_MOZILLA_CONFIG_H
++# include <mozilla-config.h>
++#endif
++
+ #include "nporuntime.h"
+ #include "vlcplugin.h"
+
+ char* RuntimeNPObject::stringValue(const NPString &s)
+ {
+- NPUTF8 *val = static_cast<NPUTF8*>(malloc((s.UTF8Length+1) * sizeof(*val)));
++ NPUTF8 *val = static_cast<NPUTF8*>(malloc((s.utf8length+1) * sizeof(*val)));
+ if( val )
+ {
+- strncpy(val, s.UTF8Characters, s.UTF8Length);
+- val[s.UTF8Length] = '\0';
++ strncpy(val, s.utf8characters, s.utf8length);
++ val[s.utf8length] = '\0';
+ }
+ return val;
+ }
+diff --git a/projects/mozilla/support/npmac.cpp b/projects/mozilla/support/npmac.cpp
+index b8e2d0e..fc5b4be 100644
+--- a/projects/mozilla/support/npmac.cpp
++++ b/projects/mozilla/support/npmac.cpp
+@@ -76,13 +76,10 @@
+ #undef XP_UNIX
+ #endif
+
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+-#include "npupp.h"
+-// e.g. CALL_NPN(CallNPN_GetURLNotify, x, y, z) -> CallNPN_GetURLNotify(x, y, z);
+-#define CALL_NPN(__CallNPNFunc__, ...) (__CallNPNFunc__(__VA_ARGS__))
+-#else
++#ifdef HAVE_NPFUNCTIONS_H
+ #include "npfunctions.h"
+-#define CALL_NPN(unused, FN, ...) ((*FN)(__VA_ARGS__))
++#else
++#include "npupp.h"
+ #endif
+
+ #include "../vlcshell.h"
+@@ -218,7 +215,7 @@ static void* SetupTVtoFPGlue(TTVtoFPGlue* functionGlue, void* tvp)
+ return functionGlue;
+ }
+
+-#define HOST_TO_PLUGIN_GLUE(name, fp) ((UniversalProcPtr)(SetupTVtoFPGlue(&gNetscapeFuncsGlueTable.name, (void*)fp)))
++#define HOST_TO_PLUGIN_GLUE(name, fp) (SetupTVtoFPGlue(&gNetscapeFuncsGlueTable.name, (void*)fp))
+
+ #else
+
+@@ -265,7 +262,7 @@ NPError NPN_GetURLNotify(NPP instance, const char* url, const char* window, void
+
+ if( navMinorVers >= NPVERS_HAS_NOTIFICATION )
+ {
+- err = CALL_NPN(CallNPN_GetURLNotifyProc, gNetscapeFuncs.geturlnotify, instance, url, window, notifyData);
++ err = CallNPN_GetURLNotifyProc(gNetscapeFuncs.geturlnotify, instance, url, window, notifyData);
+ }
+ else
+ {
+@@ -276,7 +273,7 @@ NPError NPN_GetURLNotify(NPP instance, const char* url, const char* window, void
+
+ NPError NPN_GetURL(NPP instance, const char* url, const char* window)
+ {
+- return CALL_NPN(CallNPN_GetURLProc, gNetscapeFuncs.geturl, instance, url, window);
++ return CallNPN_GetURLProc(gNetscapeFuncs.geturl, instance, url, window);
+ }
+
+ NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData)
+@@ -286,7 +283,7 @@ NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uin
+
+ if( navMinorVers >= NPVERS_HAS_NOTIFICATION )
+ {
+- err = CALL_NPN(CallNPN_PostURLNotifyProc, gNetscapeFuncs.posturlnotify, instance, url,
++ err = CallNPN_PostURLNotifyProc(gNetscapeFuncs.posturlnotify, instance, url,
+ window, len, buf, file, notifyData);
+ }
+ else
+@@ -298,12 +295,12 @@ NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uin
+
+ NPError NPN_PostURL(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file)
+ {
+- return CALL_NPN(CallNPN_PostURLProc, gNetscapeFuncs.posturl, instance, url, window, len, buf, file);
++ return CallNPN_PostURLProc(gNetscapeFuncs.posturl, instance, url, window, len, buf, file);
+ }
+
+ NPError NPN_RequestRead(NPStream* stream, NPByteRange* rangeList)
+ {
+- return CALL_NPN(CallNPN_RequestReadProc, gNetscapeFuncs.requestread, stream, rangeList);
++ return CallNPN_RequestReadProc(gNetscapeFuncs.requestread, stream, rangeList);
+ }
+
+ NPError NPN_NewStream(NPP instance, NPMIMEType type, const char* window, NPStream** stream)
+@@ -313,7 +310,7 @@ NPError NPN_NewStream(NPP instance, NPMIMEType type, const char* window, NPStrea
+
+ if( navMinorVers >= NPVERS_HAS_STREAMOUTPUT )
+ {
+- err = CALL_NPN(CallNPN_NewStreamProc, gNetscapeFuncs.newstream, instance, type, window, stream);
++ err = CallNPN_NewStreamProc(gNetscapeFuncs.newstream, instance, type, window, stream);
+ }
+ else
+ {
+@@ -329,7 +326,7 @@ int32_t NPN_Write(NPP instance, NPStream* stream, int32_t len, void* buffer)
+
+ if( navMinorVers >= NPVERS_HAS_STREAMOUTPUT )
+ {
+- err = CALL_NPN(CallNPN_WriteProc, gNetscapeFuncs.write, instance, stream, len, buffer);
++ err = CallNPN_WriteProc(gNetscapeFuncs.write, instance, stream, len, buffer);
+ }
+ else
+ {
+@@ -345,7 +342,7 @@ NPError NPN_DestroyStream(NPP instance, NPStream* stream, NPError reason)
+
+ if( navMinorVers >= NPVERS_HAS_STREAMOUTPUT )
+ {
+- err = CALL_NPN(CallNPN_DestroyStreamProc, gNetscapeFuncs.destroystream, instance, stream, reason);
++ err = CallNPN_DestroyStreamProc(gNetscapeFuncs.destroystream, instance, stream, reason);
+ }
+ else
+ {
+@@ -356,32 +353,32 @@ NPError NPN_DestroyStream(NPP instance, NPStream* stream, NPError reason)
+
+ void NPN_Status(NPP instance, const char* message)
+ {
+- CALL_NPN(CallNPN_StatusProc, gNetscapeFuncs.status, instance, message);
++ CallNPN_StatusProc(gNetscapeFuncs.status, instance, message);
+ }
+
+ const char* NPN_UserAgent(NPP instance)
+ {
+- return CALL_NPN(CallNPN_UserAgentProc, gNetscapeFuncs.uagent, instance);
++ return CallNPN_UserAgentProc(gNetscapeFuncs.uagent, instance);
+ }
+
+ void* NPN_MemAlloc(uint32_t size)
+ {
+- return CALL_NPN(CallNPN_MemAllocProc, gNetscapeFuncs.memalloc, size);
++ return CallNPN_MemAllocProc(gNetscapeFuncs.memalloc, size);
+ }
+
+ void NPN_MemFree(void* ptr)
+ {
+- CALL_NPN(CallNPN_MemFreeProc, gNetscapeFuncs.memfree, ptr);
++ CallNPN_MemFreeProc(gNetscapeFuncs.memfree, ptr);
+ }
+
+ uint32_t NPN_MemFlush(uint32_t size)
+ {
+- return CALL_NPN(CallNPN_MemFlushProc, gNetscapeFuncs.memflush, size);
++ return CallNPN_MemFlushProc(gNetscapeFuncs.memflush, size);
+ }
+
+ void NPN_ReloadPlugins(NPBool reloadPages)
+ {
+- CALL_NPN(CallNPN_ReloadPluginsProc, gNetscapeFuncs.reloadplugins, reloadPages);
++ CallNPN_ReloadPluginsProc(gNetscapeFuncs.reloadplugins, reloadPages);
+ }
+
+ #ifdef OJI
+@@ -398,27 +395,27 @@ jobject NPN_GetJavaPeer(NPP instance)
+
+ NPError NPN_GetValue(NPP instance, NPNVariable variable, void *value)
+ {
+- return CALL_NPN(CallNPN_GetValueProc, gNetscapeFuncs.getvalue, instance, variable, value);
++ return CallNPN_GetValueProc( gNetscapeFuncs.getvalue, instance, variable, value);
+ }
+
+ NPError NPN_SetValue(NPP instance, NPPVariable variable, void *value)
+ {
+- return CALL_NPN(CallNPN_SetValueProc, gNetscapeFuncs.setvalue, instance, variable, value);
++ return CallNPN_SetValueProc( gNetscapeFuncs.setvalue, instance, variable, value);
+ }
+
+ void NPN_InvalidateRect(NPP instance, NPRect *rect)
+ {
+- CALL_NPN(CallNPN_InvalidateRectProc, gNetscapeFuncs.invalidaterect, instance, rect);
++ CallNPN_InvalidateRectProc( gNetscapeFuncs.invalidaterect, instance, rect);
+ }
+
+ void NPN_InvalidateRegion(NPP instance, NPRegion region)
+ {
+- CALL_NPN(CallNPN_InvalidateRegionProc, gNetscapeFuncs.invalidateregion, instance, region);
++ CallNPN_InvalidateRegionProc( gNetscapeFuncs.invalidateregion, instance, region);
+ }
+
+ void NPN_ForceRedraw(NPP instance)
+ {
+- CALL_NPN(CallNPN_ForceRedrawProc, gNetscapeFuncs.forceredraw, instance);
++ CallNPN_ForceRedrawProc( gNetscapeFuncs.forceredraw, instance);
+ }
+
+ NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name)
+@@ -426,7 +423,7 @@ NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_GetStringIdentifierProc, gNetscapeFuncs.getstringidentifier, name);
++ return CallNPN_GetStringIdentifierProc( gNetscapeFuncs.getstringidentifier, name);
+ }
+ return NULL;
+ }
+@@ -436,7 +433,7 @@ void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount, NPIdentif
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- CALL_NPN(CallNPN_GetStringIdentifiersProc, gNetscapeFuncs.getstringidentifiers, names, nameCount, identifiers);
++ CallNPN_GetStringIdentifiersProc( gNetscapeFuncs.getstringidentifiers, names, nameCount, identifiers);
+ }
+ }
+
+@@ -445,7 +442,7 @@ NPIdentifier NPN_GetIntIdentifier(int32_t intid)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_GetIntIdentifierProc, gNetscapeFuncs.getintidentifier, intid);
++ return CallNPN_GetIntIdentifierProc( gNetscapeFuncs.getintidentifier, intid);
+ }
+ return NULL;
+ }
+@@ -455,7 +452,7 @@ bool NPN_IdentifierIsString(NPIdentifier identifier)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_IdentifierIsStringProc, gNetscapeFuncs.identifierisstring, identifier);
++ return CallNPN_IdentifierIsStringProc( gNetscapeFuncs.identifierisstring, identifier);
+ }
+ return false;
+ }
+@@ -465,7 +462,7 @@ NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_UTF8FromIdentifierProc, gNetscapeFuncs.utf8fromidentifier, identifier);
++ return CallNPN_UTF8FromIdentifierProc( gNetscapeFuncs.utf8fromidentifier, identifier);
+ }
+ return NULL;
+ }
+@@ -475,7 +472,7 @@ int32_t NPN_IntFromIdentifier(NPIdentifier identifier)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_IntFromIdentifierProc, gNetscapeFuncs.intfromidentifier, identifier);
++ return CallNPN_IntFromIdentifierProc( gNetscapeFuncs.intfromidentifier, identifier);
+ }
+ return 0;
+ }
+@@ -485,7 +482,7 @@ NPObject *NPN_CreateObject(NPP instance, NPClass *aClass)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_CreateObjectProc, gNetscapeFuncs.createobject, instance, aClass);
++ return CallNPN_CreateObjectProc( gNetscapeFuncs.createobject, instance, aClass);
+ }
+ return NULL;
+ }
+@@ -495,7 +492,7 @@ NPObject *NPN_RetainObject(NPObject *npobj)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_RetainObjectProc, gNetscapeFuncs.retainobject, npobj);
++ return CallNPN_RetainObjectProc( gNetscapeFuncs.retainobject, npobj);
+ }
+ return NULL;
+ }
+@@ -505,7 +502,7 @@ void NPN_ReleaseObject(NPObject *npobj)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- CALL_NPN(CallNPN_ReleaseObjectProc, gNetscapeFuncs.releaseobject, npobj);
++ CallNPN_ReleaseObjectProc( gNetscapeFuncs.releaseobject, npobj);
+ }
+ }
+
+@@ -514,7 +511,7 @@ bool NPN_Invoke(NPP instance, NPObject *npobj, NPIdentifier methodName, const NP
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_InvokeProc, gNetscapeFuncs.invoke, instance, npobj, methodName, args, argCount, result);
++ return CallNPN_InvokeProc( gNetscapeFuncs.invoke, instance, npobj, methodName, args, argCount, result);
+ }
+ return false;
+ }
+@@ -524,7 +521,7 @@ bool NPN_InvokeDefault(NPP instance, NPObject *npobj, const NPVariant *args, uin
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_InvokeDefaultProc, gNetscapeFuncs.invokeDefault, instance, npobj, args, argCount, result);
++ return CallNPN_InvokeDefaultProc( gNetscapeFuncs.invokeDefault, instance, npobj, args, argCount, result);
+ }
+ return false;
+ }
+@@ -534,7 +531,7 @@ bool NPN_Evaluate(NPP instance, NPObject *npobj, NPString *script, NPVariant *re
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_EvaluateProc, gNetscapeFuncs.evaluate, instance, npobj, script, result);
++ return CallNPN_EvaluateProc( gNetscapeFuncs.evaluate, instance, npobj, script, result);
+ }
+ return false;
+ }
+@@ -544,7 +541,7 @@ bool NPN_GetProperty(NPP instance, NPObject *npobj, NPIdentifier propertyName, N
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_GetPropertyProc, gNetscapeFuncs.getproperty, instance, npobj, propertyName, result);
++ return CallNPN_GetPropertyProc( gNetscapeFuncs.getproperty, instance, npobj, propertyName, result);
+ }
+ return false;
+ }
+@@ -554,7 +551,7 @@ bool NPN_SetProperty(NPP instance, NPObject *npobj, NPIdentifier propertyName, c
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_SetPropertyProc, gNetscapeFuncs.setproperty, instance, npobj, propertyName, value);
++ return CallNPN_SetPropertyProc( gNetscapeFuncs.setproperty, instance, npobj, propertyName, value);
+ }
+ return false;
+ }
+@@ -564,7 +561,7 @@ bool NPN_RemoveProperty(NPP instance, NPObject *npobj, NPIdentifier propertyName
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_RemovePropertyProc, gNetscapeFuncs.removeproperty, instance, npobj, propertyName);
++ return CallNPN_RemovePropertyProc( gNetscapeFuncs.removeproperty, instance, npobj, propertyName);
+ }
+ return false;
+ }
+@@ -574,7 +571,7 @@ bool NPN_HasProperty(NPP instance, NPObject *npobj, NPIdentifier propertyName)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_HasPropertyProc, gNetscapeFuncs.hasproperty, instance, npobj, propertyName);
++ return CallNPN_HasPropertyProc( gNetscapeFuncs.hasproperty, instance, npobj, propertyName);
+ }
+ return false;
+ }
+@@ -584,7 +581,7 @@ bool NPN_HasMethod(NPP instance, NPObject *npobj, NPIdentifier methodName)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- return CALL_NPN(CallNPN_HasMethodProc, gNetscapeFuncs.hasmethod, instance, npobj, methodName);
++ return CallNPN_HasMethodProc( gNetscapeFuncs.hasmethod, instance, npobj, methodName);
+ }
+ return false;
+ }
+@@ -594,7 +591,7 @@ void NPN_ReleaseVariantValue(NPVariant *variant)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- CALL_NPN(CallNPN_ReleaseVariantValueProc, gNetscapeFuncs.releasevariantvalue, variant);
++ CallNPN_ReleaseVariantValueProc( gNetscapeFuncs.releasevariantvalue, variant);
+ }
+ }
+
+@@ -603,7 +600,7 @@ void NPN_SetException(NPObject *npobj, const NPUTF8 *message)
+ int navMinorVers = gNetscapeFuncs.version & 0xFF;
+ if( navMinorVers >= 14 )
+ {
+- CALL_NPN(CallNPN_SetExceptionProc, gNetscapeFuncs.setexception, npobj, message);
++ CallNPN_SetExceptionProc( gNetscapeFuncs.setexception, npobj, message);
+ }
+ }
+
+@@ -634,9 +631,7 @@ void Private_StreamAsFile(NPP instance, NPStream* stream, const char* fna
+ void Private_Print(NPP instance, NPPrint* platformPrint);
+ int16_t Private_HandleEvent(NPP instance, void* event);
+ void Private_URLNotify(NPP instance, const char* url, NPReason reason, void* notifyData);
+-#ifdef OJI
+ jobject Private_GetJavaClass(void);
+-#endif // OJI
+
+
+ NPError Private_Initialize(void)
+@@ -896,22 +891,14 @@ void SetUpQD(void)
+ #endif
+ }
+
++
+ #ifdef __GNUC__
+ // gcc requires that main have an 'int' return type
+-typedef int main_return_t;
+-#else
+-typedef NPError mainReturnType;
+-#endif
+-
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+-typedef NPP_ShutdownUPP unloadupp_t;
++int main(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs, NPP_ShutdownUPP* unloadUpp);
+ #else
+-typedef NPP_ShutdownProcPtr unloadupp_t;
++NPError main(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs, NPP_ShutdownUPP* unloadUpp);
+ #endif
+
+-
+-main_return_t main(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs, unloadupp_t* unloadUpp);
+-
+ #if !TARGET_API_MAC_CARBON
+ #pragma export on
+
+@@ -924,7 +911,11 @@ RoutineDescriptor mainRD = BUILD_ROUTINE_DESCRIPTOR(uppNPP_MainEntryProcInfo, ma
+ #pragma export off
+ #endif /* !TARGET_API_MAC_CARBON */
+
+-DEFINE_API_C(main_return_t) main(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs, unloadupp_t* unloadUpp)
++#ifdef __GNUC__
++DEFINE_API_C(int) main(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs, NPP_ShutdownUPP* unloadUpp)
++#else
++DEFINE_API_C(NPError) main(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs, NPP_ShutdownUPP* unloadUpp)
++#endif
+ {
+ EnterCodeResource();
+ PLUGINDEBUGSTR("\pmain");
+@@ -968,55 +959,55 @@ DEFINE_API_C(main_return_t) main(NPNetscapeFuncs* nsTable, NPPluginFuncs* plugin
+
+ gNetscapeFuncs.version = nsTable->version;
+ gNetscapeFuncs.size = nsTable->size;
+- gNetscapeFuncs.posturl = HOST_TO_PLUGIN_GLUE(posturl, nsTable->posturl);
+- gNetscapeFuncs.geturl = HOST_TO_PLUGIN_GLUE(geturl, nsTable->geturl);
+- gNetscapeFuncs.requestread = HOST_TO_PLUGIN_GLUE(requestread, nsTable->requestread);
+- gNetscapeFuncs.newstream = HOST_TO_PLUGIN_GLUE(newstream, nsTable->newstream);
+- gNetscapeFuncs.write = HOST_TO_PLUGIN_GLUE(write, nsTable->write);
+- gNetscapeFuncs.destroystream = HOST_TO_PLUGIN_GLUE(destroystream, nsTable->destroystream);
+- gNetscapeFuncs.status = HOST_TO_PLUGIN_GLUE(status, nsTable->status);
+- gNetscapeFuncs.uagent = HOST_TO_PLUGIN_GLUE(uagent, nsTable->uagent);
+- gNetscapeFuncs.memalloc = HOST_TO_PLUGIN_GLUE(memalloc, nsTable->memalloc);
+- gNetscapeFuncs.memfree = HOST_TO_PLUGIN_GLUE(memfree, nsTable->memfree);
+- gNetscapeFuncs.memflush = HOST_TO_PLUGIN_GLUE(memflush, nsTable->memflush);
+- gNetscapeFuncs.reloadplugins = HOST_TO_PLUGIN_GLUE(reloadplugins, nsTable->reloadplugins);
++ gNetscapeFuncs.posturl = (NPN_PostURLUPP)HOST_TO_PLUGIN_GLUE(posturl, nsTable->posturl);
++ gNetscapeFuncs.geturl = (NPN_GetURLUPP)HOST_TO_PLUGIN_GLUE(geturl, nsTable->geturl);
++ gNetscapeFuncs.requestread = (NPN_RequestReadUPP)HOST_TO_PLUGIN_GLUE(requestread, nsTable->requestread);
++ gNetscapeFuncs.newstream = (NPN_NewStreamUPP)HOST_TO_PLUGIN_GLUE(newstream, nsTable->newstream);
++ gNetscapeFuncs.write = (NPN_WriteUPP)HOST_TO_PLUGIN_GLUE(write, nsTable->write);
++ gNetscapeFuncs.destroystream = (NPN_DestroyStreamUPP)HOST_TO_PLUGIN_GLUE(destroystream, nsTable->destroystream);
++ gNetscapeFuncs.status = (NPN_StatusUPP)HOST_TO_PLUGIN_GLUE(status, nsTable->status);
++ gNetscapeFuncs.uagent = (NPN_UserAgentUPP)HOST_TO_PLUGIN_GLUE(uagent, nsTable->uagent);
++ gNetscapeFuncs.memalloc = (NPN_MemAllocUPP)HOST_TO_PLUGIN_GLUE(memalloc, nsTable->memalloc);
++ gNetscapeFuncs.memfree = (NPN_MemFreeUPP)HOST_TO_PLUGIN_GLUE(memfree, nsTable->memfree);
++ gNetscapeFuncs.memflush = (NPN_MemFlushUPP)HOST_TO_PLUGIN_GLUE(memflush, nsTable->memflush);
++ gNetscapeFuncs.reloadplugins = (NPN_ReloadPluginsUPP)HOST_TO_PLUGIN_GLUE(reloadplugins, nsTable->reloadplugins);
+ if( navMinorVers >= NPVERS_HAS_LIVECONNECT )
+ {
+- gNetscapeFuncs.getJavaEnv = HOST_TO_PLUGIN_GLUE(getJavaEnv, nsTable->getJavaEnv);
+- gNetscapeFuncs.getJavaPeer = HOST_TO_PLUGIN_GLUE(getJavaPeer, nsTable->getJavaPeer);
++ gNetscapeFuncs.getJavaEnv = (NPN_GetJavaEnvUPP)HOST_TO_PLUGIN_GLUE(getJavaEnv, nsTable->getJavaEnv);
++ gNetscapeFuncs.getJavaPeer = (NPN_GetJavaPeerUPP)HOST_TO_PLUGIN_GLUE(getJavaPeer, nsTable->getJavaPeer);
+ }
+ if( navMinorVers >= NPVERS_HAS_NOTIFICATION )
+ {
+- gNetscapeFuncs.geturlnotify = HOST_TO_PLUGIN_GLUE(geturlnotify, nsTable->geturlnotify);
+- gNetscapeFuncs.posturlnotify = HOST_TO_PLUGIN_GLUE(posturlnotify, nsTable->posturlnotify);
++ gNetscapeFuncs.geturlnotify = (NPN_GetURLNotifyUPP)HOST_TO_PLUGIN_GLUE(geturlnotify, nsTable->geturlnotify);
++ gNetscapeFuncs.posturlnotify = (NPN_PostURLNotifyUPP)HOST_TO_PLUGIN_GLUE(posturlnotify, nsTable->posturlnotify);
+ }
+- gNetscapeFuncs.getvalue = HOST_TO_PLUGIN_GLUE(getvalue, nsTable->getvalue);
+- gNetscapeFuncs.setvalue = HOST_TO_PLUGIN_GLUE(setvalue, nsTable->setvalue);
+- gNetscapeFuncs.invalidaterect = HOST_TO_PLUGIN_GLUE(invalidaterect, nsTable->invalidaterect);
+- gNetscapeFuncs.invalidateregion = HOST_TO_PLUGIN_GLUE(invalidateregion, nsTable->invalidateregion);
+- gNetscapeFuncs.forceredraw = HOST_TO_PLUGIN_GLUE(forceredraw, nsTable->forceredraw);
++ gNetscapeFuncs.getvalue = (NPN_GetValueUPP)HOST_TO_PLUGIN_GLUE(getvalue, nsTable->getvalue);
++ gNetscapeFuncs.setvalue = (NPN_SetValueUPP)HOST_TO_PLUGIN_GLUE(setvalue, nsTable->setvalue);
++ gNetscapeFuncs.invalidaterect = (NPN_InvalidateRectUPP)HOST_TO_PLUGIN_GLUE(invalidaterect, nsTable->invalidaterect);
++ gNetscapeFuncs.invalidateregion = (NPN_InvalidateRegionUPP)HOST_TO_PLUGIN_GLUE(invalidateregion, nsTable->invalidateregion);
++ gNetscapeFuncs.forceredraw = (NPN_ForceRedrawUPP)HOST_TO_PLUGIN_GLUE(forceredraw, nsTable->forceredraw);
+ if( navMinorVers >= 14 )
+ {
+ // NPRuntime support
+- gNetscapeFuncs.getstringidentifier = HOST_TO_PLUGIN_GLUE(getstringidentifier, nsTable->getstringidentifier);
+- gNetscapeFuncs.getstringidentifiers = HOST_TO_PLUGIN_GLUE(getstringidentifiers, nsTable->getstringidentifiers);
+- gNetscapeFuncs.getintidentifier = HOST_TO_PLUGIN_GLUE(getintidentifier, nsTable->getintidentifier);
+- gNetscapeFuncs.identifierisstring = HOST_TO_PLUGIN_GLUE(identifierisstring, nsTable->identifierisstring);
+- gNetscapeFuncs.utf8fromidentifier = HOST_TO_PLUGIN_GLUE(utf8fromidentifier, nsTable->utf8fromidentifier);
+- gNetscapeFuncs.intfromidentifier = HOST_TO_PLUGIN_GLUE(intfromidentifier, nsTable->intfromidentifier);
+- gNetscapeFuncs.createobject = HOST_TO_PLUGIN_GLUE(createobject, nsTable->createobject);
+- gNetscapeFuncs.retainobject = HOST_TO_PLUGIN_GLUE(retainobject, nsTable->retainobject);
+- gNetscapeFuncs.releaseobject = HOST_TO_PLUGIN_GLUE(releaseobject, nsTable->releaseobject);
+- gNetscapeFuncs.invoke = HOST_TO_PLUGIN_GLUE(invoke, nsTable->invoke);
+- gNetscapeFuncs.invokeDefault = HOST_TO_PLUGIN_GLUE(invokeDefault, nsTable->invokeDefault);
+- gNetscapeFuncs.evaluate = HOST_TO_PLUGIN_GLUE(evaluate, nsTable->evaluate);
+- gNetscapeFuncs.getproperty = HOST_TO_PLUGIN_GLUE(getproperty, nsTable->getproperty);
+- gNetscapeFuncs.setproperty = HOST_TO_PLUGIN_GLUE(setproperty, nsTable->setproperty);
+- gNetscapeFuncs.removeproperty = HOST_TO_PLUGIN_GLUE(removeproperty, nsTable->removeproperty);
+- gNetscapeFuncs.hasproperty = HOST_TO_PLUGIN_GLUE(hasproperty, nsTable->hasproperty);
+- gNetscapeFuncs.hasmethod = HOST_TO_PLUGIN_GLUE(hasmethod, nsTable->hasmethod);
+- gNetscapeFuncs.releasevariantvalue = HOST_TO_PLUGIN_GLUE(releasevariantvalue, nsTable->releasevariantvalue);
+- gNetscapeFuncs.setexception = HOST_TO_PLUGIN_GLUE(setexception, nsTable->setexception);
++ gNetscapeFuncs.getstringidentifier = (NPN_GetStringIdentifierUPP)HOST_TO_PLUGIN_GLUE(getstringidentifier, nsTable->getstringidentifier);
++ gNetscapeFuncs.getstringidentifiers = (NPN_GetStringIdentifiersUPP)HOST_TO_PLUGIN_GLUE(getstringidentifiers, nsTable->getstringidentifiers);
++ gNetscapeFuncs.getintidentifier = (NPN_GetIntIdentifierUPP)HOST_TO_PLUGIN_GLUE(getintidentifier, nsTable->getintidentifier);
++ gNetscapeFuncs.identifierisstring = (NPN_IdentifierIsStringUPP)HOST_TO_PLUGIN_GLUE(identifierisstring, nsTable->identifierisstring);
++ gNetscapeFuncs.utf8fromidentifier = (NPN_UTF8FromIdentifierUPP)HOST_TO_PLUGIN_GLUE(utf8fromidentifier, nsTable->utf8fromidentifier);
++ gNetscapeFuncs.intfromidentifier = (NPN_IntFromIdentifierUPP)HOST_TO_PLUGIN_GLUE(intfromidentifier, nsTable->intfromidentifier);
++ gNetscapeFuncs.createobject = (NPN_CreateObjectUPP)HOST_TO_PLUGIN_GLUE(createobject, nsTable->createobject);
++ gNetscapeFuncs.retainobject = (NPN_RetainObjectUPP)HOST_TO_PLUGIN_GLUE(retainobject, nsTable->retainobject);
++ gNetscapeFuncs.releaseobject = (NPN_ReleaseObjectUPP)HOST_TO_PLUGIN_GLUE(releaseobject, nsTable->releaseobject);
++ gNetscapeFuncs.invoke = (NPN_InvokeUPP)HOST_TO_PLUGIN_GLUE(invoke, nsTable->invoke);
++ gNetscapeFuncs.invokeDefault = (NPN_InvokeDefaultUPP)HOST_TO_PLUGIN_GLUE(invokeDefault, nsTable->invokeDefault);
++ gNetscapeFuncs.evaluate = (NPN_EvaluateUPP)HOST_TO_PLUGIN_GLUE(evaluate, nsTable->evaluate);
++ gNetscapeFuncs.getproperty = (NPN_GetPropertyUPP)HOST_TO_PLUGIN_GLUE(getproperty, nsTable->getproperty);
++ gNetscapeFuncs.setproperty = (NPN_SetPropertyUPP)HOST_TO_PLUGIN_GLUE(setproperty, nsTable->setproperty);
++ gNetscapeFuncs.removeproperty = (NPN_RemovePropertyUPP)HOST_TO_PLUGIN_GLUE(removeproperty, nsTable->removeproperty);
++ gNetscapeFuncs.hasproperty = (NPN_HasPropertyUPP)HOST_TO_PLUGIN_GLUE(hasproperty, nsTable->hasproperty);
++ gNetscapeFuncs.hasmethod = (NPN_HasMethodUPP)HOST_TO_PLUGIN_GLUE(hasmethod, nsTable->hasmethod);
++ gNetscapeFuncs.releasevariantvalue = (NPN_ReleaseVariantValueUPP)HOST_TO_PLUGIN_GLUE(releasevariantvalue, nsTable->releasevariantvalue);
++ gNetscapeFuncs.setexception = (NPN_SetExceptionUPP)HOST_TO_PLUGIN_GLUE(setexception, nsTable->setexception);
+ }
+
+ //
+diff --git a/projects/mozilla/support/npunix.c b/projects/mozilla/support/npunix.c
+index 9eb851c..52096bc 100644
+--- a/projects/mozilla/support/npunix.c
++++ b/projects/mozilla/support/npunix.c
+@@ -46,12 +46,13 @@
+ #include "config.h"
+
+ #define XP_UNIX 1
++#define OJI 1
+
+ #include <npapi.h>
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+-#include "npupp.h"
++#ifdef HAVE_NPFUNCTIONS_H
++#include <npfunctions.h>
+ #else
+-#include "npfunctions.h"
++#include <npupp.h>
+ #endif
+
+ #include "../vlcshell.h"
+diff --git a/projects/mozilla/support/npwin.cpp b/projects/mozilla/support/npwin.cpp
+index e384b3e..463c760 100644
+--- a/projects/mozilla/support/npwin.cpp
++++ b/projects/mozilla/support/npwin.cpp
+@@ -30,15 +30,19 @@
+
+ //#define OJI 1
+
+-#include "../vlcplugin.h"
++#ifdef HAVE_MOZILLA_CONFIG_H
++# include <mozilla-config.h>
++#endif
+
+ #ifndef _NPAPI_H_
+ # include "npapi.h"
+ #endif
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+-#include "npupp.h"
++#ifdef HAVE_NPFUNCTIONS_H
++# include "npfunctions.h"
+ #else
+-#include "npfunctions.h"
++# ifndef _NPUPP_H_
++# include "npupp.h"
++# endif
+ #endif
+
+ #include "../vlcshell.h"
+@@ -542,7 +546,7 @@ const char* NPN_UserAgent(NPP instance)
+ /* allocates memory from the Navigator's memory space. Necessary so that
+ * saved instance data may be freed by Navigator when exiting.
+ */
+-void *NPN_MemAlloc(uint32_t size)
++void *NPN_MemAlloc(uint32 size)
+ {
+ return g_pNavigatorFuncs->memalloc(size);
+ }
+diff --git a/projects/mozilla/vlcplugin.cpp b/projects/mozilla/vlcplugin.cpp
+index cbf3155..96f0683 100644
+--- a/projects/mozilla/vlcplugin.cpp
++++ b/projects/mozilla/vlcplugin.cpp
+@@ -28,11 +28,14 @@
+ *****************************************************************************/
+ #include "config.h"
+
++#ifdef HAVE_MOZILLA_CONFIG_H
++# include <mozilla-config.h>
++#endif
++
+ #include "vlcplugin.h"
+ #include "control/npolibvlc.h"
+
+ #include <ctype.h>
+-
+ #if defined(XP_UNIX)
+ # include <pthread.h>
+ #elif defined(XP_WIN)
+@@ -43,8 +46,6 @@
+ #endif
+
+ #include <stdio.h>
+-#include <assert.h>
+-#include <stdlib.h>
+
+ /*****************************************************************************
+ * utilitiy functions
+@@ -104,11 +105,7 @@ static void plugin_unlock(plugin_lock_t *lock)
+ /*****************************************************************************
+ * VlcPlugin constructor and destructor
+ *****************************************************************************/
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ VlcPlugin::VlcPlugin( NPP instance, uint16 mode ) :
+-#else
+-VlcPlugin::VlcPlugin( NPP instance, uint16_t mode ) :
+-#endif
+ i_npmode(mode),
+ b_stream(0),
+ b_autoplay(1),
+@@ -233,7 +230,7 @@ inline EventObj::event_t EventObj::find_event(const char *s) const
+
+ bool EventObj::insert(const NPString &s, NPObject *l, bool b)
+ {
+- event_t e = find_event(s.UTF8Characters);
++ event_t e = find_event(s.utf8characters);
+ if( e>=maxbit() )
+ return false;
+
+@@ -258,7 +255,7 @@ bool EventObj::insert(const NPString &s, NPObject *l, bool b)
+
+ bool EventObj::remove(const NPString &s, NPObject *l, bool b)
+ {
+- event_t e = find_event(s.UTF8Characters);
++ event_t e = find_event(s.utf8characters);
+ if( e>=maxbit() || !get(e) )
+ return false;
+
+@@ -452,8 +449,8 @@ NPError VlcPlugin::init(int argc, char* const argn[], char* const argv[])
+ NPString script;
+ NPVariant result;
+
+- script.UTF8Characters = docLocHref;
+- script.UTF8Length = sizeof(docLocHref)-1;
++ script.utf8characters = docLocHref;
++ script.utf8length = sizeof(docLocHref)-1;
+
+ if( NPN_Evaluate(p_browser, plugin, &script, &result) )
+ {
+@@ -461,11 +458,11 @@ NPError VlcPlugin::init(int argc, char* const argn[], char* const argv[])
+ {
+ NPString &location = NPVARIANT_TO_STRING(result);
+
+- psz_baseURL = (char *) malloc(location.UTF8Length+1);
++ psz_baseURL = (char *) malloc(location.utf8length+1);
+ if( psz_baseURL )
+ {
+- strncpy(psz_baseURL, location.UTF8Characters, location.UTF8Length);
+- psz_baseURL[location.UTF8Length] = '\0';
++ strncpy(psz_baseURL, location.utf8characters, location.utf8length);
++ psz_baseURL[location.utf8length] = '\0';
+ }
+ }
+ NPN_ReleaseVariantValue(&result);
+diff --git a/projects/mozilla/vlcplugin.h b/projects/mozilla/vlcplugin.h
+index ff9e5a0..3f37685 100644
+--- a/projects/mozilla/vlcplugin.h
++++ b/projects/mozilla/vlcplugin.h
+@@ -30,16 +30,10 @@
+ #define __VLCPLUGIN_H__
+
+ #include <vlc/vlc.h>
++#include <npapi.h>
++#include <vector>
+
+-// Setup XP_MACOSX, XP_UNIX, XP_WIN
+-#if defined(_WIN32)
+-#define XP_WIN 1
+-#elif defined(__APPLE__)
+-#define XP_MACOSX 1
+-#else
+-#define XP_UNIX 1
+-#define MOZ_X11 1
+-#endif
++#include "control/nporuntime.h"
+
+ #if !defined(XP_MACOSX) && !defined(XP_UNIX) && !defined(XP_WIN)
+ #define XP_UNIX 1
+@@ -49,7 +43,6 @@
+
+ #ifdef XP_WIN
+ /* Windows stuff */
+-# include <windows.h>
+ # include <winbase.h>
+ #endif
+
+@@ -78,12 +71,6 @@
+ # define __MIN(a, b) ( ((a) < (b)) ? (a) : (b) )
+ #endif
+
+-#include <npapi.h>
+-#include <vector>
+-
+-#include "control/nporuntime.h"
+-
+-
+ typedef struct {
+ #if defined(XP_UNIX)
+ pthread_mutex_t mutex;
+@@ -186,11 +173,7 @@ private:
+ class VlcPlugin
+ {
+ public:
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ VlcPlugin( NPP, uint16 );
+-#else
+- VlcPlugin( NPP, uint16_t );
+-#endif
+ virtual ~VlcPlugin();
+
+ NPError init(int argc, char* const argn[], char* const argv[]);
+@@ -243,11 +226,7 @@ public:
+ vlc_toolbar_clicked_t getToolbarButtonClicked( int i_xpos, int i_ypos );
+ #endif
+
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ uint16 i_npmode; /* either NP_EMBED or NP_FULL */
+-#else
+- uint16_t i_npmode; /* either NP_EMBED or NP_FULL */
+-#endif
+
+ /* plugin properties */
+ int b_stream;
+diff --git a/projects/mozilla/vlcshell.cpp b/projects/mozilla/vlcshell.cpp
+index 49f7d16..91fd601 100644
+--- a/projects/mozilla/vlcshell.cpp
++++ b/projects/mozilla/vlcshell.cpp
+@@ -31,6 +31,11 @@
+ #include <string.h>
+ #include <stdlib.h>
+
++/* Mozilla stuff */
++#ifdef HAVE_MOZILLA_CONFIG_H
++# include <mozilla-config.h>
++#endif
++
+ /* This is from mozilla java, do we really need it? */
+ #if 0
+ #include <jri.h>
+@@ -269,24 +274,17 @@ NPError NPP_Initialize( void )
+ return NPERR_NO_ERROR;
+ }
+
+-#ifdef OJI
+ jref NPP_GetJavaClass( void )
+ {
+ return NULL;
+ }
+-#endif
+
+ void NPP_Shutdown( void )
+ {
+ ;
+ }
+
+-NPError NPP_New( NPMIMEType pluginType, NPP instance,
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+- uint16 mode, int16 argc,
+-#else
+- uint16_t mode, int16_t argc,
+-#endif
++NPError NPP_New( NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc,
+ char* argn[], char* argv[], NPSavedData* saved )
+ {
+ NPError status;
+@@ -557,11 +555,7 @@ NPError NPP_SetWindow( NPP instance, NPWindow* window )
+ }
+
+ NPError NPP_NewStream( NPP instance, NPMIMEType type, NPStream *stream,
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ NPBool seekable, uint16 *stype )
+-#else
+- NPBool seekable, uint16_t *stype )
+-#endif
+ {
+ if( NULL == instance )
+ {
+@@ -590,23 +584,14 @@ NPError NPP_NewStream( NPP instance, NPMIMEType type, NPStream *stream,
+ return NPERR_GENERIC_ERROR;
+ }
+
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ int32 NPP_WriteReady( NPP instance, NPStream *stream )
+-#else
+-int32_t NPP_WriteReady( NPP instance, NPStream *stream )
+-#endif
+ {
+ /* TODO */
+ return 8*1024;
+ }
+
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ int32 NPP_Write( NPP instance, NPStream *stream, int32 offset,
+ int32 len, void *buffer )
+-#else
+-int32_t NPP_Write( NPP instance, NPStream *stream, int32_t offset,
+- int32_t len, void *buffer )
+-#endif
+ {
+ /* TODO */
+ return len;
+diff --git a/projects/mozilla/vlcshell.h b/projects/mozilla/vlcshell.h
+index f7444eb..ca67277 100644
+--- a/projects/mozilla/vlcshell.h
++++ b/projects/mozilla/vlcshell.h
+@@ -27,20 +27,11 @@
+ char * NPP_GetMIMEDescription( void );
+
+ NPError NPP_Initialize( void );
+-
+-#ifdef OJI
+ jref NPP_GetJavaClass( void );
+-#endif
+ void NPP_Shutdown( void );
+
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ NPError NPP_New( NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc,
+ char* argn[], char* argv[], NPSavedData* saved );
+-#else
+-NPError NPP_New( NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc,
+- char* argn[], char* argv[], NPSavedData* saved );
+-#endif
+-
+ NPError NPP_Destroy( NPP instance, NPSavedData** save );
+
+ NPError NPP_GetValue( NPP instance, NPPVariable variable, void *value );
+@@ -49,34 +40,20 @@ NPError NPP_SetValue( NPP instance, NPNVariable variable, void *value );
+ NPError NPP_SetWindow( NPP instance, NPWindow* window );
+
+ NPError NPP_NewStream( NPP instance, NPMIMEType type, NPStream *stream,
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ NPBool seekable, uint16 *stype );
+-#else
+- NPBool seekable, uint16_t *stype );
+-#endif
+ NPError NPP_DestroyStream( NPP instance, NPStream *stream, NPError reason );
+ void NPP_StreamAsFile( NPP instance, NPStream *stream, const char* fname );
+
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ int32 NPP_WriteReady( NPP instance, NPStream *stream );
+ int32 NPP_Write( NPP instance, NPStream *stream, int32 offset,
+ int32 len, void *buffer );
+-#else
+-int32_t NPP_WriteReady( NPP instance, NPStream *stream );
+-int32_t NPP_Write( NPP instance, NPStream *stream, int32_t offset,
+- int32_t len, void *buffer );
+-#endif
+
+ void NPP_URLNotify( NPP instance, const char* url,
+ NPReason reason, void* notifyData );
+ void NPP_Print( NPP instance, NPPrint* printInfo );
+
+ #ifdef XP_MACOSX
+-#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ int16 NPP_HandleEvent( NPP instance, void * event );
+-#else
+-int16_t NPP_HandleEvent( NPP instance, void * event );
+-#endif
+ #endif
+
+ #endif
diff --git a/debian/patches/series b/debian/patches/series
index a7dacf5..8ac3692 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,4 @@
200_osdmenu_paths.diff
300_manpage_syntax.diff
501_decrease_alsa_buffer.diff
+502_xulrunner_191.diff
--
VLC media player packaging
More information about the pkg-multimedia-commits
mailing list