aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/gnome-mplayer/gecko-mediaplayer
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/gnome-mplayer/gecko-mediaplayer')
-rw-r--r--recipes/gnome-mplayer/gecko-mediaplayer/gecko-mplayer-svn.diff480
1 files changed, 480 insertions, 0 deletions
diff --git a/recipes/gnome-mplayer/gecko-mediaplayer/gecko-mplayer-svn.diff b/recipes/gnome-mplayer/gecko-mediaplayer/gecko-mplayer-svn.diff
new file mode 100644
index 0000000000..929d02540a
--- /dev/null
+++ b/recipes/gnome-mplayer/gecko-mediaplayer/gecko-mplayer-svn.diff
@@ -0,0 +1,480 @@
+Index: configure
+===================================================================
+--- configure (revision 328)
++++ configure (working copy)
+@@ -639,6 +639,7 @@
+ am__EXEEXT_TRUE
+ LTLIBOBJS
+ LIBOBJS
++plugindir
+ GIO_DEFINES
+ GIO_LIBS
+ GIO_CFLAGS
+@@ -775,6 +776,7 @@
+ enable_schemas_install
+ with_gconf
+ with_gio
++with_plugin_dir
+ enable_caching
+ '
+ ac_precious_vars='build_alias
+@@ -1444,6 +1446,7 @@
+ Directory for installing schema files.
+ --with-gconf Use Gconf to store preferences
+ --with-gio Use GIO for file I/O
++ --with-plugin-dir=dir Directory where plugins are stored
+
+ Some influential environment variables:
+ CC C compiler command
+@@ -9640,6 +9643,16 @@
+ fi
+
+
++
++# Check whether --with-plugin_dir was given.
++if test "${with_plugin_dir+set}" = set; then
++ withval=$with_plugin_dir; plugindir=$withval
++else
++ plugindir='$(libdir)/mozilla/plugins'
++fi
++
++
++
+ # Check whether --enable-caching was given.
+ if test "${enable_caching+set}" = set; then
+ enableval=$enable_caching; usecache=$enableval
+Index: Makefile.in
+===================================================================
+--- Makefile.in (revision 328)
++++ Makefile.in (working copy)
+@@ -239,6 +239,7 @@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
++plugindir = @plugindir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
+ psdir = @psdir@
+Index: configure.in
+===================================================================
+--- configure.in (revision 328)
++++ configure.in (working copy)
+@@ -114,6 +114,13 @@
+ AC_SUBST(GIO_LIBS)
+ ])
+
++AC_ARG_WITH([plugin_dir],
++ [AS_HELP_STRING([--with-plugin-dir=dir],
++ [Directory where plugins are stored])],
++ [plugindir=$withval],
++ [plugindir='$(libdir)/mozilla/plugins'])
++AC_SUBST(plugindir)
++
+ AC_ARG_ENABLE(caching,
+ AC_HELP_STRING([--disable-caching],[Disable caching of remote media to local storage]),
+ [usecache=$enableval],[usecache=yes])
+Index: src/plugin.cpp
+===================================================================
+--- src/plugin.cpp (revision 328)
++++ src/plugin.cpp (working copy)
+@@ -42,9 +42,9 @@
+ #include "plugin_setup.h"
+ #include "plugin_types.h"
+ #include "plugin_dbus.h"
+-#include "nsIPrefBranch.h"
+-#include "nsIPrefService.h"
+-#include "nsIServiceManager.h"
++#include <nsIPrefBranch.h>
++#include <nsIPrefService.h>
++#include <nsIServiceManager.h>
+
+ nsIPrefBranch *prefBranch = NULL;
+ nsIPrefService *prefService = NULL;
+@@ -170,9 +170,9 @@
+ {
+ gchar *jscript;
+
+- jscript = g_strdup_printf("javascript:obj=document.getElementById('%s');"
+- "e=document.createEvent('Events');"
+- "e.initEvent('%s',true,true);" "obj.dispatchEvent(e);", id, event);
++ jscript = g_strdup_printf("javascript:obj_gmp=document.getElementById('%s');"
++ "e_gmp=document.createEvent('Events');"
++ "e_gmp.initEvent('%s',true,true);" "obj_gmp.dispatchEvent(e_gmp);", id, event);
+ NPN_GetURL(mInstance, jscript, NULL);
+ g_free(jscript);
+ }
+@@ -259,6 +259,7 @@
+ console(NULL),
+ controls(NULL),
+ user_agent(NULL),
++player_backend(NULL),
+ disable_context_menu(FALSE),
+ disable_fullscreen(FALSE),
+ post_dom_events(FALSE),
+@@ -354,6 +355,8 @@
+ store = gm_pref_store_new("gecko-mediaplayer");
+ if (store != NULL) {
+ debug_level = gm_pref_store_get_int(store, DEBUG_LEVEL);
++ player_backend = gm_pref_store_get_string(store, PLAYER_BACKEND);
++ printf("Using player backend of '%s'\n",player_backend);
+ gm_pref_store_free(store);
+ }
+
+@@ -458,10 +461,16 @@
+ }
+
+ if (!player_launched && mWidth > 0 && mHeight > 0) {
+- app_name = g_find_program_in_path("gnome-mplayer");
+- if (app_name == NULL)
+- app_name = g_find_program_in_path("gnome-mplayer-minimal");
+-
++ app_name = NULL;
++ if (player_backend != NULL) {
++ app_name = g_find_program_in_path(player_backend);
++ }
++ if (app_name == NULL) {
++ app_name = g_find_program_in_path("gnome-mplayer");
++ if (app_name == NULL)
++ app_name = g_find_program_in_path("gnome-mplayer-minimal");
++ }
++
+ argvn[arg++] = g_strdup_printf("%s", app_name);
+ g_free(app_name);
+ argvn[arg++] = g_strdup_printf("--window=%i", (gint) mWindow);
+@@ -643,6 +652,14 @@
+ g_free(path);
+ }
+ //printf("Leaving destroy stream src = %s\n", item->src);
++
++ } else if (reason == NPRES_NETWORK_ERR) {
++ item = (ListItem *) stream->notifyData;
++ if (item) {
++ printf("Destroy Stream, network error, item is %s\n", item->src);
++ } else {
++ printf("Destory Stream, network error, item is NULL\n");
++ }
+ } else {
+ item = (ListItem *) stream->notifyData;
+ // item = list_find(playlist, (gchar*)stream->url);
+@@ -692,9 +709,19 @@
+ */
+ }
+ } else {
+- if (item)
++ if (item) {
+ item->played = TRUE;
+- if (!item->streaming) {
++ if (!item->streaming) {
++ item = list_find_next_playable(playlist);
++ if (item) {
++ if (item->retrieved) {
++ open_location(this, item, TRUE);
++ } else {
++ NPN_GetURLNotify(mInstance, item->src, NULL, item);
++ }
++ }
++ }
++ } else {
+ item = list_find_next_playable(playlist);
+ if (item) {
+ if (item->retrieved) {
+@@ -703,7 +730,7 @@
+ NPN_GetURLNotify(mInstance, item->src, NULL, item);
+ }
+ }
+- }
++ }
+ }
+ }
+
+Index: src/Makefile.in
+===================================================================
+--- src/Makefile.in (revision 328)
++++ src/Makefile.in (working copy)
+@@ -57,34 +57,45 @@
+ $(am__objects_1)
+ gecko_mediaplayer_dvx_so_OBJECTS = \
+ $(am_gecko_mediaplayer_dvx_so_OBJECTS)
+-gecko_mediaplayer_dvx_so_DEPENDENCIES = libgmlib/libgmlib.a
++am__DEPENDENCIES_1 =
++gecko_mediaplayer_dvx_so_DEPENDENCIES = libgmlib/libgmlib.a \
++ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
+ gecko_mediaplayer_dvx_so_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(gecko_mediaplayer_dvx_so_LDFLAGS) $(LDFLAGS) -o $@
+ am_gecko_mediaplayer_qt_so_OBJECTS = plugin_types_qt.$(OBJEXT) \
+ $(am__objects_1)
+ gecko_mediaplayer_qt_so_OBJECTS = \
+ $(am_gecko_mediaplayer_qt_so_OBJECTS)
+-gecko_mediaplayer_qt_so_DEPENDENCIES = libgmlib/libgmlib.a
++gecko_mediaplayer_qt_so_DEPENDENCIES = libgmlib/libgmlib.a \
++ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
+ gecko_mediaplayer_qt_so_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(gecko_mediaplayer_qt_so_LDFLAGS) $(LDFLAGS) -o $@
+ am_gecko_mediaplayer_rm_so_OBJECTS = plugin_types_rm.$(OBJEXT) \
+ $(am__objects_1)
+ gecko_mediaplayer_rm_so_OBJECTS = \
+ $(am_gecko_mediaplayer_rm_so_OBJECTS)
+-gecko_mediaplayer_rm_so_DEPENDENCIES = libgmlib/libgmlib.a
++gecko_mediaplayer_rm_so_DEPENDENCIES = libgmlib/libgmlib.a \
++ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
+ gecko_mediaplayer_rm_so_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(gecko_mediaplayer_rm_so_LDFLAGS) $(LDFLAGS) -o $@
+ am_gecko_mediaplayer_wmp_so_OBJECTS = plugin_types_wmp.$(OBJEXT) \
+ $(am__objects_1)
+ gecko_mediaplayer_wmp_so_OBJECTS = \
+ $(am_gecko_mediaplayer_wmp_so_OBJECTS)
+-gecko_mediaplayer_wmp_so_DEPENDENCIES = libgmlib/libgmlib.a
++gecko_mediaplayer_wmp_so_DEPENDENCIES = libgmlib/libgmlib.a \
++ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
+ gecko_mediaplayer_wmp_so_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(gecko_mediaplayer_wmp_so_LDFLAGS) $(LDFLAGS) -o $@
+ am_gecko_mediaplayer_so_OBJECTS = plugin_types_std.$(OBJEXT) \
+ $(am__objects_1)
+ gecko_mediaplayer_so_OBJECTS = $(am_gecko_mediaplayer_so_OBJECTS)
+-gecko_mediaplayer_so_DEPENDENCIES = libgmlib/libgmlib.a
++gecko_mediaplayer_so_DEPENDENCIES = libgmlib/libgmlib.a \
++ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
+ gecko_mediaplayer_so_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(gecko_mediaplayer_so_LDFLAGS) $(LDFLAGS) -o $@
+ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+@@ -265,6 +276,7 @@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
++plugindir = @plugindir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
+ psdir = @psdir@
+@@ -312,42 +324,42 @@
+ npp_gate.cpp \
+ npupp.h
+
+-install_libexecdir = $(libdir)/mozilla/plugins
++install_libexecdir = $(plugindir)
+ gecko_mediaplayer_so_SOURCES = \
+ plugin_types_std.cpp \
+ $(COMMONCODE)
+
+ gecko_mediaplayer_so_CFLAGS = -fPIC
+-gecko_mediaplayer_so_LDFLAGS = -shared $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS) -fPIC
+-gecko_mediaplayer_so_LDADD = libgmlib/libgmlib.a
++gecko_mediaplayer_so_LDFLAGS = -shared -fPIC
++gecko_mediaplayer_so_LDADD = libgmlib/libgmlib.a $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS)
+ gecko_mediaplayer_qt_so_SOURCES = \
+ plugin_types_qt.cpp \
+ $(COMMONCODE)
+
+ gecko_mediaplayer_qt_so_CFLAGS = -fPIC
+-gecko_mediaplayer_qt_so_LDFLAGS = -shared $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS) -fPIC
+-gecko_mediaplayer_qt_so_LDADD = libgmlib/libgmlib.a
++gecko_mediaplayer_qt_so_LDFLAGS = -shared -fPIC
++gecko_mediaplayer_qt_so_LDADD = libgmlib/libgmlib.a $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS)
+ gecko_mediaplayer_wmp_so_SOURCES = \
+ plugin_types_wmp.cpp \
+ $(COMMONCODE)
+
+ gecko_mediaplayer_wmp_so_CFLAGS = -fPIC
+-gecko_mediaplayer_wmp_so_LDFLAGS = -shared $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS) -fPIC
+-gecko_mediaplayer_wmp_so_LDADD = libgmlib/libgmlib.a
++gecko_mediaplayer_wmp_so_LDFLAGS = -shared -fPIC
++gecko_mediaplayer_wmp_so_LDADD = libgmlib/libgmlib.a $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS)
+ gecko_mediaplayer_dvx_so_SOURCES = \
+ plugin_types_dvx.cpp \
+ $(COMMONCODE)
+
+ gecko_mediaplayer_dvx_so_CFLAGS = -fPIC
+-gecko_mediaplayer_dvx_so_LDFLAGS = -shared $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS) -fPIC
+-gecko_mediaplayer_dvx_so_LDADD = libgmlib/libgmlib.a
++gecko_mediaplayer_dvx_so_LDFLAGS = -shared -fPIC
++gecko_mediaplayer_dvx_so_LDADD = libgmlib/libgmlib.a $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS)
+ gecko_mediaplayer_rm_so_SOURCES = \
+ plugin_types_rm.cpp \
+ $(COMMONCODE)
+
+ gecko_mediaplayer_rm_so_CFLAGS = -fPIC
+-gecko_mediaplayer_rm_so_LDFLAGS = -shared $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS) -fPIC
+-gecko_mediaplayer_rm_so_LDADD = libgmlib/libgmlib.a
++gecko_mediaplayer_rm_so_LDFLAGS = -shared -fPIC
++gecko_mediaplayer_rm_so_LDADD = libgmlib/libgmlib.a $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS)
+ all: all-recursive
+
+ .SUFFIXES:
+Index: src/plugin.h
+===================================================================
+--- src/plugin.h (revision 328)
++++ src/plugin.h (working copy)
+@@ -84,6 +84,7 @@
+ #define DISABLE_DVX "disable_dvx"
+ #define DEBUG_LEVEL "debug_level"
+ #define DISABLE_MIDI "disable_midi"
++#define PLAYER_BACKEND "player_backend"
+
+ typedef enum {
+ PLAYING,
+@@ -189,6 +190,7 @@
+ gchar *console;
+ gchar *controls;
+ gchar *user_agent;
++ gchar *player_backend;
+
+ // events
+ gboolean post_dom_events;
+Index: src/plugin_dbus.cpp
+===================================================================
+--- src/plugin_dbus.cpp (revision 328)
++++ src/plugin_dbus.cpp (working copy)
+@@ -109,6 +109,14 @@
+ return DBUS_HANDLER_RESULT_HANDLED;
+ }
+
++ if (g_ascii_strcasecmp(dbus_message_get_member(message), "ListDump") == 0) {
++
++ printf("playlist:\n");
++ list_dump(instance->playlist);
++
++ return DBUS_HANDLER_RESULT_HANDLED;
++ }
++
+ if (g_ascii_strcasecmp(dbus_message_get_member(message), "RequestById") == 0) {
+ dbus_error_init(&error);
+ if (dbus_message_get_args(message, &error, DBUS_TYPE_STRING, &s, DBUS_TYPE_INVALID)) {
+@@ -773,6 +781,10 @@
+
+ result = TRUE;
+
++ } else if (g_ascii_strcasecmp(message, "/DEBUG") == 0) {
++
++ result = TRUE;
++
+ } else {
+
+ if (instance->playlist != NULL) {
+Index: src/Makefile.am
+===================================================================
+--- src/Makefile.am (revision 328)
++++ src/Makefile.am (working copy)
+@@ -39,7 +39,7 @@
+ npp_gate.cpp \
+ npupp.h
+
+-install_libexecdir = $(libdir)/mozilla/plugins
++install_libexecdir = $(plugindir)
+ install_libexec_PROGRAMS = \
+ gecko-mediaplayer.so \
+ gecko-mediaplayer-qt.so \
+@@ -52,40 +52,40 @@
+ $(COMMONCODE)
+
+ gecko_mediaplayer_so_CFLAGS = -fPIC
+-gecko_mediaplayer_so_LDFLAGS = -shared $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS) -fPIC
+-gecko_mediaplayer_so_LDADD = libgmlib/libgmlib.a
++gecko_mediaplayer_so_LDFLAGS = -shared -fPIC
++gecko_mediaplayer_so_LDADD = libgmlib/libgmlib.a $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS)
+
+ gecko_mediaplayer_qt_so_SOURCES = \
+ plugin_types_qt.cpp \
+ $(COMMONCODE)
+
+ gecko_mediaplayer_qt_so_CFLAGS = -fPIC
+-gecko_mediaplayer_qt_so_LDFLAGS = -shared $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS) -fPIC
+-gecko_mediaplayer_qt_so_LDADD = libgmlib/libgmlib.a
++gecko_mediaplayer_qt_so_LDFLAGS = -shared -fPIC
++gecko_mediaplayer_qt_so_LDADD = libgmlib/libgmlib.a $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS)
+
+ gecko_mediaplayer_wmp_so_SOURCES = \
+ plugin_types_wmp.cpp \
+ $(COMMONCODE)
+
+ gecko_mediaplayer_wmp_so_CFLAGS = -fPIC
+-gecko_mediaplayer_wmp_so_LDFLAGS = -shared $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS) -fPIC
+-gecko_mediaplayer_wmp_so_LDADD = libgmlib/libgmlib.a
++gecko_mediaplayer_wmp_so_LDFLAGS = -shared -fPIC
++gecko_mediaplayer_wmp_so_LDADD = libgmlib/libgmlib.a $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS)
+
+ gecko_mediaplayer_dvx_so_SOURCES = \
+ plugin_types_dvx.cpp \
+ $(COMMONCODE)
+
+ gecko_mediaplayer_dvx_so_CFLAGS = -fPIC
+-gecko_mediaplayer_dvx_so_LDFLAGS = -shared $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS) -fPIC
+-gecko_mediaplayer_dvx_so_LDADD = libgmlib/libgmlib.a
++gecko_mediaplayer_dvx_so_LDFLAGS = -shared -fPIC
++gecko_mediaplayer_dvx_so_LDADD = libgmlib/libgmlib.a $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS)
+
+ gecko_mediaplayer_rm_so_SOURCES = \
+ plugin_types_rm.cpp \
+ $(COMMONCODE)
+
+ gecko_mediaplayer_rm_so_CFLAGS = -fPIC
+-gecko_mediaplayer_rm_so_LDFLAGS = -shared $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS) -fPIC
+-gecko_mediaplayer_rm_so_LDADD = libgmlib/libgmlib.a
++gecko_mediaplayer_rm_so_LDFLAGS = -shared -fPIC
++gecko_mediaplayer_rm_so_LDADD = libgmlib/libgmlib.a $(GLIB_LIBS) $(DBUS_LIBS) $(GCONF_LIBS)
+
+ indent:
+ indent -kr -l100 -i4 -nut *.cpp
+Index: src/plugin_list.cpp
+===================================================================
+--- src/plugin_list.cpp (revision 328)
++++ src/plugin_list.cpp (working copy)
+@@ -356,7 +356,7 @@
+ return list;
+ } else {
+ while (p != NULL) {
+- urlptr = (gchar *) memmem(p,datalen - (p - data), "url ", 4);
++ urlptr = (gchar *) memmem_compat(p,datalen - (p - data), "url ", 4);
+
+
+ if (urlptr == NULL) {
+@@ -385,7 +385,7 @@
+ item->id = -1;
+ list = g_list_append(list, newitem);
+ }
+- p = (gchar *) memmem(urlptr,datalen - (urlptr - data),"mmdr",4);
++ p = (gchar *) memmem_compat(urlptr,datalen - (urlptr - data),"mmdr",4);
+ }
+
+ }
+Index: ChangeLog
+===================================================================
+--- ChangeLog (revision 328)
++++ ChangeLog (working copy)
+@@ -1,3 +1,11 @@
++Developement
++ Allow for configurable backend (fosfor or gnome-mplayer or something else)
++ Make dom event javascript a little more unique
++ React to Network Errors in DestroyStream differently
++ Added /DEBUG path for debugging purposes
++ Added ListDump dbus method
++ konqueror patch from Christian.Morales.Vega
++ plugin-dir patch from Christian.Morales.Vega
+ 0.9.8
+ When cancelling a stream (USER_BREAK) and the cancelled one is streaming
+ don't automatically load the next item on the playlist
+Index: gecko-mediaplayer.schemas
+===================================================================
+--- gecko-mediaplayer.schemas (revision 328)
++++ gecko-mediaplayer.schemas (working copy)
+@@ -62,5 +62,17 @@
+ </locale>
+ </schema>
+
++ <schema>
++ <key>/schemas/apps/gecko-mediaplayer/preferences/player_backend</key>
++ <applyto>/apps/gecko-mediaplayer/preferences/player_backend</applyto>
++ <owner>gecko-mediaplayer</owner>
++ <type>string</type>
++ <default></default>
++ <locale name="C">
++ <short>Backend to use</short>
++ <long>Backend to use</long>
++ </locale>
++ </schema>
++
+ </schemalist>
+ </gconfschemafile>