From 709c4d66e0b107ca606941b988bad717c0b45d9b Mon Sep 17 00:00:00 2001
From: Denys Dmytriyenko <denis@denix.org>
Date: Tue, 17 Mar 2009 14:32:59 -0400
Subject: rename packages/ to recipes/ per earlier agreement

See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
---
 recipes/gxine/files/disable-browser-plugin.patch |  25 +
 recipes/gxine/files/enhance.patch                | 741 +++++++++++++++++++++++
 recipes/gxine/files/rhythmbox-volume-max.png     | Bin 0 -> 2421 bytes
 recipes/gxine/files/rhythmbox-volume-medium.png  | Bin 0 -> 2189 bytes
 recipes/gxine/files/rhythmbox-volume-min.png     | Bin 0 -> 1922 bytes
 recipes/gxine/files/rhythmbox-volume-zero.png    | Bin 0 -> 1677 bytes
 recipes/gxine/gxine_0.4.1.bb                     |  44 ++
 recipes/gxine/gxine_0.4.1enhanced.bb             |  51 ++
 8 files changed, 861 insertions(+)
 create mode 100644 recipes/gxine/files/disable-browser-plugin.patch
 create mode 100644 recipes/gxine/files/enhance.patch
 create mode 100644 recipes/gxine/files/rhythmbox-volume-max.png
 create mode 100644 recipes/gxine/files/rhythmbox-volume-medium.png
 create mode 100644 recipes/gxine/files/rhythmbox-volume-min.png
 create mode 100644 recipes/gxine/files/rhythmbox-volume-zero.png
 create mode 100644 recipes/gxine/gxine_0.4.1.bb
 create mode 100644 recipes/gxine/gxine_0.4.1enhanced.bb

(limited to 'recipes/gxine')

diff --git a/recipes/gxine/files/disable-browser-plugin.patch b/recipes/gxine/files/disable-browser-plugin.patch
new file mode 100644
index 0000000000..3be381fabf
--- /dev/null
+++ b/recipes/gxine/files/disable-browser-plugin.patch
@@ -0,0 +1,25 @@
+diff -urNd ../gxine-0.4.1-r0.old/gxine-0.4.1/Makefile.am gxine-0.4.1/Makefile.am
+--- ../gxine-0.4.1-r0.old/gxine-0.4.1/Makefile.am	2004-12-14 21:48:24 +00:00
++++ gxine-0.4.1/Makefile.am	2005-04-08 03:40:48 +01:00
+@@ -1,4 +1,4 @@
+-SUBDIRS = m4 pixmaps include src doc browser-plugin misc po
++SUBDIRS = m4 pixmaps include src doc misc po
+ 
+ #DEB_FILES = debian/rules debian/changelog debian/control debian/copyright debian/README.Debian debian/menu
+ EXTRA_DIST = config.rpath gxine.desktop autogen.sh @DEPCOMP@ 
+diff -urNd ../gxine-0.4.1-r0.old/gxine-0.4.1/configure.ac gxine-0.4.1/configure.ac
+--- ../gxine-0.4.1-r0.old/gxine-0.4.1/configure.ac	2005-04-08 04:00:05 +01:00
++++ gxine-0.4.1/configure.ac	2005-04-08 03:47:22 +01:00
+@@ -42,12 +42,6 @@
+ AC_PATH_XTRA
+ 
+ dnl ---------------------------------------------
+-dnl Check for Xaw headers
+-dnl ---------------------------------------------
+-AC_CHECK_HEADER(X11/Xaw/Form.h,,
+-       [AC_MSG_ERROR([you need to install libxaw header files (-dev package)])])
+-
+-dnl ---------------------------------------------
+ dnl check for gtk 2
+ dnl ---------------------------------------------
+ PKG_CHECK_MODULES(GLIB2, glib-2.0 >= 2.4.0)
diff --git a/recipes/gxine/files/enhance.patch b/recipes/gxine/files/enhance.patch
new file mode 100644
index 0000000000..69da39eb97
--- /dev/null
+++ b/recipes/gxine/files/enhance.patch
@@ -0,0 +1,741 @@
+diff -urNd gxine-0.4.1/ChangeLog gxine-0.4.1.new/ChangeLog
+--- gxine-0.4.1/ChangeLog	2004-12-15 23:28:03.000000000 +0000
++++ gxine-0.4.1.new/ChangeLog	2005-04-11 22:54:10.033876296 +0100
+@@ -1,3 +1,19 @@
++0.4.1enhanced:
++   Chris Lord <cwiiis@handhelds.org>
++   * Disabled building of the mozilla plug-in, and removed dependency on libXaw
++   * Use GTK stock icons for as many controls as possible and replace volume
++     xpms with pngs from rhythmbox.
++   * Rework menus
++   * Remove info bar
++   * Add progress display in Stream info menu (now located in the File menu)
++   * Change toolbar to left-click rather than middle-click in full-screen
++   * Toolbar renders at minimum size, so it always looks correct in full-screen
++   * Disable splash screen
++   * Move audio stream switcher to Edit menu
++   * Move Up/Down buttons in playlist dialog to a new row (for low-res display)
++   * Clear playlist on Open from main window
++   * Other miscellaneous interface-related changes...
++
+ 0.4.1:
+ 	[dsalt]
+ 	* Require at least GTK+ 2.4 and GLib 2.4. (I can't test 2.2.)
+diff -urNd gxine-0.4.1/configure.ac gxine-0.4.1.new/configure.ac
+--- gxine-0.4.1/configure.ac	2004-12-15 04:37:01.000000000 +0000
++++ gxine-0.4.1.new/configure.ac	2005-04-11 04:43:15.000000000 +0100
+@@ -42,12 +42,6 @@
+ AC_PATH_XTRA
+ 
+ dnl ---------------------------------------------
+-dnl Check for Xaw headers
+-dnl ---------------------------------------------
+-AC_CHECK_HEADER(X11/Xaw/Form.h,,
+-       [AC_MSG_ERROR([you need to install libxaw header files (-dev package)])])
+-
+-dnl ---------------------------------------------
+ dnl check for gtk 2
+ dnl ---------------------------------------------
+ PKG_CHECK_MODULES(GLIB2, glib-2.0 >= 2.4.0)
+@@ -210,6 +204,11 @@
+ AC_DEFINE_UNQUOTED(GXINE_PIXMAPDIR,"$GXINE_PIXMAPPATH",[where to install pixmaps])
+ AC_SUBST(GXINE_PIXMAPPATH)
+ 
++GXINE_ICONDIR="$datadir/pixmaps"
++eval GXINE_ICONPATH=`eval echo "$GXINE_ICONDIR"`
++AC_DEFINE_UNQUOTED(GXINE_ICONDIR,"$GXINE_ICONPATH",[where to install desktop icons])
++AC_SUBST(GXINE_ICONPATH)
++
+ GXINE_MISCDIR="$datadir/gxine"
+ eval GXINE_MISCPATH=`eval echo "$GXINE_MISCDIR"`
+ AC_DEFINE_UNQUOTED(GXINE_MISCDIR,"$GXINE_MISCPATH",[where to install misc files (e.g. sample mediamarks)])
+@@ -221,7 +220,6 @@
+ src/Makefile
+ src/spidermonkey/Makefile
+ src/spidermonkey/fdlibm/Makefile
+-browser-plugin/Makefile
+ pixmaps/Makefile
+ doc/Makefile
+ doc/man/Makefile
+diff -urNd gxine-0.4.1/Makefile.am gxine-0.4.1.new/Makefile.am
+--- gxine-0.4.1/Makefile.am	2004-12-14 21:48:24.000000000 +0000
++++ gxine-0.4.1.new/Makefile.am	2005-04-11 04:45:37.000000000 +0100
+@@ -1,4 +1,4 @@
+-SUBDIRS = m4 pixmaps include src doc browser-plugin misc po
++SUBDIRS = m4 pixmaps include src doc misc po
+ 
+ #DEB_FILES = debian/rules debian/changelog debian/control debian/copyright debian/README.Debian debian/menu
+ EXTRA_DIST = config.rpath gxine.desktop autogen.sh @DEPCOMP@ 
+diff -urNd gxine-0.4.1/pixmaps/Makefile.am gxine-0.4.1.new/pixmaps/Makefile.am
+--- gxine-0.4.1/pixmaps/Makefile.am	2004-12-17 02:59:48.000000000 +0000
++++ gxine-0.4.1.new/pixmaps/Makefile.am	2005-04-11 14:02:01.000000000 +0100
+@@ -1,26 +1,35 @@
+ EXTRA_DIST = fast_forward.xpm \
+-	     pause.xpm \
+-	     pause2.xpm \
+-	     play.xpm \
+-	     play2.xpm \
+-	     stop.xpm \
+-	     stop2.xpm \
+-	     sliders.xpm \
+-	     rewind.xpm \
++#	     pause.xpm \
++#	     pause2.xpm \
++#	     play.xpm \
++#	     play2.xpm \
++#	     stop.xpm \
++#	     stop2.xpm \
++#	     sliders.xpm \
++#	     rewind.xpm \
+ 	     gxine-logo.png \
+-	     speaker.xpm \
+-	     nospeaker.xpm \
+-	     playlist.xpm \
++#	     speaker.xpm \
++#	     nospeaker.xpm \
++#	     playlist.xpm \
++        rhythmbox-volume-max.png \
++        rhythmbox-volume-medium.png \
++        rhythmbox-volume-min.png \
++        rhythmbox-volume-zero.png \
+ 	     subtitle.xpm\
+ 	     logo.mpv \
+-	     gxine-icon.xpm \
++#	     gxine-icon.xpm \
+ 	     ok.xpm\
+ 	     fail.xpm\
+ 	     wizards.png\
+ 	     splash.png
+ 
+ pixmapdir = $(GXINE_PIXMAPPATH)
+-pixmap_DATA = gxine-logo.png gxine-icon.xpm wizards.png splash.png
++pixmap_DATA = wizards.png splash.png rhythmbox-volume-max.png \
++              rhythmbox-volume-medium.png rhythmbox-volume-min.png \
++              rhythmbox-volume-zero.png
++
++icondir = $(GXINE_ICONPATH)
++icon_DATA = gxine-logo.png
+ 
+ datadir   = $(GXINE_LOGOPATH)
+ data_DATA = logo.mpv
+Binary files gxine-0.4.1/pixmaps/rhythmbox-volume-max.png and gxine-0.4.1.new/pixmaps/rhythmbox-volume-max.png differ
+Binary files gxine-0.4.1/pixmaps/rhythmbox-volume-medium.png and gxine-0.4.1.new/pixmaps/rhythmbox-volume-medium.png differ
+Binary files gxine-0.4.1/pixmaps/rhythmbox-volume-min.png and gxine-0.4.1.new/pixmaps/rhythmbox-volume-min.png differ
+Binary files gxine-0.4.1/pixmaps/rhythmbox-volume-zero.png and gxine-0.4.1.new/pixmaps/rhythmbox-volume-zero.png differ
+diff -urNd gxine-0.4.1/src/globals.h gxine-0.4.1.new/src/globals.h
+--- gxine-0.4.1/src/globals.h	2004-12-11 00:40:18.000000000 +0000
++++ gxine-0.4.1.new/src/globals.h	2005-04-11 22:56:13.042176192 +0100
+@@ -62,6 +62,7 @@
+ extern char           *video_driver_id;
+ extern xine_audio_port_t *audio_port;
+ extern xine_video_port_t *video_port;
++extern GtkLabel       *time_label;
+ 
+ #define MAX_MRL_LEN 1024
+ 
+diff -urNd gxine-0.4.1/src/key_events.c gxine-0.4.1.new/src/key_events.c
+--- gxine-0.4.1/src/key_events.c	2004-12-17 00:32:59.000000000 +0000
++++ gxine-0.4.1.new/src/key_events.c	2005-04-11 22:21:19.000000000 +0100
+@@ -167,7 +167,7 @@
+       gtk_menu_popup (GTK_MENU(popup_menu), NULL, NULL, NULL, NULL, 0,
+ 		      gtk_get_current_event_time ());
+       return TRUE;
+-    case GDK_Pointer_Button2:
++    case GDK_Pointer_Button1:
+       if (gtk_video_is_fullscreen (GTK_VIDEO(gtv)))
+ 	ui_toolbar_toggle ();
+       return TRUE;
+diff -urNd gxine-0.4.1/src/main.c gxine-0.4.1.new/src/main.c
+--- gxine-0.4.1/src/main.c	2004-12-14 23:52:37.000000000 +0000
++++ gxine-0.4.1.new/src/main.c	2005-04-11 14:20:30.000000000 +0100
+@@ -280,7 +280,7 @@
+    * a splash screen for the impatient
+    */
+ 
+-  splash_show ();
++/*  splash_show ();*/
+ 
+   /*
+    * init xine, set up skript engine, main window
+@@ -288,7 +288,7 @@
+ 
+   gdk_threads_enter ();
+ 
+-  gtk_window_set_default_icon (load_icon ("gxine-logo.png"));
++  gtk_window_set_default_icon (load_icon (GXINE_ICONPATH "/gxine-logo.png"));
+ 
+   engine_init ();
+   player_init ();
+@@ -319,7 +319,7 @@
+   stream_info_init ();
+   wizards_init     ();
+ 
+-  gtk_widget_destroy (splash);
++/*  gtk_widget_destroy (splash);*/
+ 
+   /*
+    * wizards (first run only)
+diff -urNd gxine-0.4.1/src/Makefile.am gxine-0.4.1.new/src/Makefile.am
+--- gxine-0.4.1/src/Makefile.am	2004-12-15 03:52:43.000000000 +0000
++++ gxine-0.4.1.new/src/Makefile.am	2005-04-11 13:48:19.000000000 +0100
+@@ -12,7 +12,7 @@
+ INCLUDES = -I../include -I$(top_srcdir)/include -I$(includedir) \
+ 	   -I$(top_srcdir)/pixmaps $(LIRC_INCLUDE)
+ 
+-AM_CFLAGS = $(XINE_CFLAGS) @GTK2_CFLAGS@ @GTHREAD2_CFLAGS@ -DLOCALEDIR=\"$(localedir)\"
++AM_CFLAGS = $(XINE_CFLAGS) @GTK2_CFLAGS@ @GTHREAD2_CFLAGS@ -DLOCALEDIR=\"$(localedir)\" -DGXINE_PIXMAPPATH=\"@GXINE_PIXMAPPATH@\" -DGXINE_ICONPATH=\"@GXINE_ICONPATH@\"
+ 
+ 
+ bin_PROGRAMS = gxine gxine_client
+@@ -46,7 +46,6 @@
+ 	snapshot.c \
+ 	player.c \
+ 	vis.c \
+-	time_widget.c \
+ 	widget_video.c \
+ 	gtkflipbutton.c
+ 
+diff -urNd gxine-0.4.1/src/menu.c gxine-0.4.1.new/src/menu.c
+--- gxine-0.4.1/src/menu.c	2004-12-15 19:23:19.000000000 +0000
++++ gxine-0.4.1.new/src/menu.c	2005-04-11 20:20:52.000000000 +0100
+@@ -247,7 +247,7 @@
+ {
+   v_engine_exec ("set_video_size (%d);", NULL, NULL, action);
+ }
+-
++/*
+ static void zoom_in_cb(void) {
+   engine_exec ("set_zoom (get_zoom()+5);", NULL, NULL);
+ }
+@@ -257,7 +257,7 @@
+ static void zoom_100_cb(void) {
+   engine_exec ("set_zoom (100);", NULL, NULL);
+ }
+-
++*/
+ static void aspect_cb(gpointer data, guint action, GtkWidget *widget)
+ {
+   v_engine_exec ("set_aspect (%d);", NULL, NULL, action);
+@@ -334,6 +334,12 @@
+   engine_exec ("settings_show ();", NULL, NULL);
+ }
+ 
++static void audio_cb (gpointer data, guint action, GtkWidget *widget)
++{
++   if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget)))
++      v_engine_exec ("set_chan (%d);", NULL, NULL, action);
++}
++
+ static void sub_cb (gpointer data, guint action, GtkWidget *widget)
+ {
+   if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget)))
+@@ -363,29 +369,43 @@
+   { N_("/File/_Open..."),		"<control>O",	open_cb, 0,		STOCK(OPEN) },
+   { N_("/File/Open _MRL..."),		"<control>M",	open_mrl_cb, 0,		NULL },
+   { N_("/File/Play_list..."),		NULL,     	playlist_cb, 0,		NULL },
+-  { "/File/sep0",			NULL,		NULL, 0,		"<Separator>" },
+-  { N_("/File/_Preferences..."),	NULL,		preferences_cb, 0,	STOCK(PREFERENCES) },
+-  { N_("/File/_Keybindings..."),	NULL,		keybindings_cb, 0,	NULL },
++  { N_("/File/Play _disc"),      NULL, NULL, 0, "<Branch>" },
+   { "/File/sep1",			NULL,		NULL, 0,		"<Separator>" },
++  { N_("/File/Stream _Info..."),	NULL,		stream_info_cb, 0,	NULL },
+   { "/File/sep2",			NULL,		NULL, 0,		"<Separator>" },
+-  { N_("/File/_Snapshot..."),		"<control>S",	snapshot_cb, 0,		NULL },
+-  { "/File/sep3",			NULL,		NULL, 0,		"<Separator>" },
+   { N_("/File/_Quit"),			"<control>Q",	exit_cb, 0,		STOCK(QUIT) },
++  { N_("/_Edit"),       NULL,    NULL, 0,    "<Branch>" },
++  { N_("/Edit/_Preferences..."),	NULL,		preferences_cb, 0,	STOCK(PREFERENCES) },
++  { N_("/Edit/_Keybindings..."),	NULL,		keybindings_cb, 0,	NULL },
++  { "/Edit/sep1",			NULL,		NULL, 0,		"<Separator>" },
++  { N_("/Edit/A\\/V _settings..."),	NULL,		settings_cb, 0,		NULL },
++  { N_("/Edit/_Audio"), NULL, NULL, 0, "<Branch>" },
++  { N_("/Edit/Audio/_Auto"), NULL, audio_cb, -1, "<RadioItem>"},
++  { N_("/Edit/Audio/_None"), NULL, audio_cb, -2, "/Edit/Audio/Auto"},
++  { N_("/Edit/Audio/Channel _0"), NULL, audio_cb, 0, "/Edit/Audio/Auto"},
++  { N_("/Edit/Audio/Channel _1"), NULL, audio_cb, 1, "/Edit/Audio/Auto"},
++  { N_("/Edit/Audio/Channel _2"), NULL, audio_cb, 2, "/Edit/Audio/Auto"},
++  { N_("/Edit/Audio/Channel _3"), NULL, audio_cb, 3, "/Edit/Audio/Auto"},
++  { N_("/Edit/Audio/Channel _4"), NULL, audio_cb, 4, "/Edit/Audio/Auto"},
++  { N_("/Edit/Audio/Channel _5"), NULL, audio_cb, 5, "/Edit/Audio/Auto"},
++  { N_("/Edit/Audio/Channel _6"), NULL, audio_cb, 6, "/Edit/Audio/Auto"},
++  { N_("/Edit/Audio/Channel _7"), NULL, audio_cb, 7, "/Edit/Audio/Auto"},
+   { N_("/_View"),			NULL,		NULL, 0,		"<Branch>" },
+   { N_("/View/_Fullscreen mode"),	"<control>F",	fullscreen_cb, 0,	"<CheckItem>" },
+   { N_("/View/Fullscreen _toolbar"),	NULL,		NULL, 0,		"<Branch>" },
+   { N_("/View/Fullscreen toolbar/_Visible"),	NULL,	tbar_toggle_cb, 0,	"<CheckItem>" },
++  { N_("/View/_Snapshot..."),		"<control>S",	snapshot_cb, 0,		NULL },
+   { N_("/View/Fullscreen toolbar/At _top"),	NULL,	tbar_position_cb, 1,	"<RadioItem>" },
+   { N_("/View/Fullscreen toolbar/At _bottom"),	NULL,	tbar_position_cb, 0,	"/View/Fullscreen toolbar/At top" },
+   { "/View/sep3",			NULL,		NULL, 0,		"<Separator>" },
+-  { N_("/View/_50%"),			NULL,		factor_cb, 50,		NULL },
+-  { N_("/View/_100%"),			NULL,		factor_cb, 100,		NULL },
+-  { N_("/View/_200%"),			NULL,		factor_cb, 200,		NULL },
+-  { "/View/sep4",			NULL,		NULL, 0,		"<Separator>" },
++  { N_("/View/_Zoom"),        NULL,    NULL,       0,    "<Branch>" },
++  { N_("/View/Zoom/_50%"),			NULL,		factor_cb, 50,		NULL },
++  { N_("/View/Zoom/_100%"),			NULL,		factor_cb, 100,		NULL },
++  { N_("/View/Zoom/_200%"),			NULL,		factor_cb, 200,		NULL },
++/* The following settings don't work anyway...  
+   { N_("/View/Zoom _in"),		NULL,		zoom_in_cb, 0,		STOCK(ZOOM_IN) },
+   { N_("/View/Zoom _out"),		NULL,		zoom_out_cb, 0,		STOCK(ZOOM_OUT) },
+-  { N_("/View/_Zoom 100%"),		NULL,		zoom_100_cb, 0,		STOCK(ZOOM_100) },
+-  { "/View/sep5",			NULL,		NULL, 0,		"<Separator>" },
++  { N_("/View/_Zoom 100%"),		NULL,		zoom_100_cb, 0,		STOCK(ZOOM_100) },*/
+   { N_("/View/_Deinterlace"),		"<control>I",	deinterlace_cb, 0,	"<CheckItem>" },
+   { N_("/View/Auto _resize"),		NULL,		auto_resize_cb, 0,	"<CheckItem>" },
+   { N_("/View/_Aspect ratio"),		NULL,		NULL, 0,		"<Branch>" },
+@@ -394,7 +414,6 @@
+   { N_("/View/Aspect ratio/_4:3"),	NULL,		ASPECT(4_3),		"/View/Aspect ratio/Auto"},
+   { N_("/View/Aspect ratio/_16:9"),	NULL,		ASPECT(ANAMORPHIC),	"/View/Aspect ratio/Auto"},
+   { N_("/View/Aspect ratio/_2:1"),	NULL,		ASPECT(DVB),		"/View/Aspect ratio/Auto"},
+-  { N_("/View/A\\/V _settings..."),	NULL,		settings_cb, 0,		NULL },
+   { "/View/sep6",			NULL,		NULL, 0,		"<Separator>" },
+   { N_("/View/_Visualisations"),	NULL,		NULL, 0,		"<Branch>" },
+   { N_("/View/Visualisations/_None"),	NULL,		vis_none_cb, 0,		"<RadioItem>"},
+@@ -415,10 +434,9 @@
+   { N_("/Media/_Manage media marks..."), "<control>B",	mediamarks_manage_cb, 0, NULL },
+   { N_("/Media/_Import media marks..."), NULL,		mediamarks_import_cb, 0, STOCK(OPEN) },
+   { "/Media/sep8",			NULL,		NULL, 0,		"<Separator>" },
+-  { N_("/_Help"),			NULL,		NULL, 0,		"<LastBranch>" },
++  { N_("/_Help"),			NULL,		NULL, 0,		"<Branch>" },
+   { N_("/Help/_About..."),		NULL,		about_cb, 0,		NULL },
+   { N_("/Help/Engine _Log..."),		"<control>L",	log_cb, 0,		NULL },
+-  { N_("/Help/Stream _Info..."),	NULL,		stream_info_cb, 0,	NULL },
+   { "/Help/sep6",			NULL,		NULL, 0,		"<Separator>" },
+   { N_("/Help/_Re-run setup wizards..."), NULL,		wizards_cb, 0,		NULL },
+ };
+@@ -501,10 +519,8 @@
+     aspect_menu_items[i] = gtk_radio_menu_item_get_group (none_item);
+ 
+     menu = GTK_MENU_SHELL (gtk_item_factory_get_widget (item_factory[i],
+-							"/File"));
+-    add_autoplay_entries (menu, g_list_index (menu->children,
+-				  gtk_item_factory_get_widget (item_factory[i],
+-							       "/File/sep1")));
++							"/File/Play disc"));
++    add_autoplay_entries (menu, g_list_index (menu->children, 0));
+ 
+     none_item = GTK_RADIO_MENU_ITEM (gtk_item_factory_get_item (item_factory[i], "/View/Visualisations/None"));
+     add_vis_entries (GTK_MENU_SHELL (gtk_item_factory_get_widget (item_factory[i], "/View/Visualisations")), none_item);
+diff -urNd gxine-0.4.1/src/noskin_window.c gxine-0.4.1.new/src/noskin_window.c
+--- gxine-0.4.1/src/noskin_window.c	2004-12-15 23:59:59.000000000 +0000
++++ gxine-0.4.1.new/src/noskin_window.c	2005-04-11 22:58:41.125664080 +0100
+@@ -41,18 +41,19 @@
+ #include "drag_drop.h"
+ #include "gtkvideo.h"
+ #include "gtkflipbutton.h"
+-#include "infobar.h"
+-#include "time_widget.h"
++/*#include "infobar.h"
++#include "time_widget.h"*/
+ #include "vis.h"
++#include "stream_info.h"
+ 
+-#include "playlist.xpm"
++/*#include "playlist.xpm"
+ #include "play.xpm"
+ #include "pause.xpm"
+ #include "stop.xpm"
+ #include "speaker.xpm"
+ #include "nospeaker.xpm"
+ #include "sliders.xpm"
+-#include "fast_forward.xpm"
++#include "fast_forward.xpm"*/
+ 
+ /*
+ #define VIS_WIDGET
+@@ -108,7 +109,7 @@
+   gtk_widget_show_all (button);
+   return button;
+ }
+-
++/*
+ static GtkWidget *new_pixmap (gchar **xpm)
+ {
+   GdkPixmap *image;
+@@ -118,7 +119,8 @@
+ 	    (NULL, gdk_colormap_get_system(), &transparent, NULL, xpm);
+   return gtk_pixmap_new (image, transparent);
+ }
+-
++*/
++/*
+ static GtkWidget *add_pix_button (GtkWidget *box, gchar **pixmap_array,
+ 				  char *cmd, char *tip, gboolean toggle,
+ 				  gboolean start)
+@@ -136,7 +138,26 @@
+   gtk_container_add (GTK_CONTAINER(button), new_pixmap (pixmap_array));
+   return add_pix_button_common (box, button, cmd, tip, start);
+ }
+-
++*/
++static GtkWidget *add_stock_button (GtkWidget *box, const gchar *stock_id,
++                                    GtkIconSize size, char *cmd, char *tip,
++                                    gboolean toggle, gboolean start)
++{
++   GtkWidget *button;
++     
++   if (toggle)
++   {
++      button = gtk_toggle_button_new ();
++      g_signal_connect (GTK_OBJECT(button), "toggled",
++              G_CALLBACK(toggle_cb), NULL);
++   }
++   else
++      button = gtk_button_new ();
++   gtk_container_add (GTK_CONTAINER(button),
++                      gtk_image_new_from_stock (stock_id, size));
++   return add_pix_button_common (box, button, cmd, tip, start);
++}
++/*
+ static GtkWidget *add_pix_flip_button (GtkWidget *box, gchar **inactive,
+ 				       gchar **active, char * cmd, char *tip,
+ 				       gboolean start)
+@@ -147,6 +168,27 @@
+ 		    G_CALLBACK(toggle_cb), NULL);
+   return add_pix_button_common (box, button, cmd, tip, start);
+ }
++*/
++
++static GtkWidget *gxine_icon_new_from_file (const gchar *filename,
++                                            GtkIconSize size)
++{
++   /* This should do some error checking... */
++   return gtk_image_new_from_icon_set (gtk_icon_set_new_from_pixbuf (
++                  gdk_pixbuf_new_from_file (filename, NULL)), size);
++}
++
++static GtkWidget *add_file_flip_button (GtkWidget *box, const gchar *inactive,
++				       const gchar *active, GtkIconSize size, char * cmd, char *tip,
++				       gboolean start)
++{
++  GtkWidget *button = gtk_flip_button_new (
++                  gxine_icon_new_from_file (inactive, size),
++					   gxine_icon_new_from_file (active, size));
++  g_signal_connect (GTK_OBJECT(button), "toggled",
++		    G_CALLBACK(toggle_cb), NULL);
++  return add_pix_button_common (box, button, cmd, tip, start);
++}
+ 
+ /*
+  * slider
+@@ -154,6 +196,7 @@
+ 
+ static gint update_slider_cb (gpointer data) {
+ 
++  char buffer[30];
+   gint pos_stream, pos_time, length_time;
+   int hv_new, ha_new;
+ 
+@@ -173,7 +216,9 @@
+       gtk_widget_hide (gtv);
+     else
+       gtk_widget_show (gtv);
+-    gtk_window_resize (GTK_WINDOW(app), 10, 10);
++      
++/*  This really isn't the way to go about this!
++    gtk_window_resize (GTK_WINDOW(app), 10, 10);*/
+   }
+ 
+   if (xine_get_status (stream) != XINE_STATUS_PLAY)
+@@ -186,6 +231,11 @@
+ 
+   /* update the control buttons while we're here */
+   ui_set_status (UI_CURRENT_STATE);
++  
++  /* Update time label */
++  snprintf (&buffer, 30, "Progress: %i:%.2i / %i:%.2i", (pos_time/1000)/60,
++            (pos_time/1000)%60, (length_time/1000)/60, (length_time/1000)%60);
++  gtk_label_set_text (time_label, &buffer);
+ 
+   return TRUE;
+ }
+@@ -295,7 +345,7 @@
+ void noskin_main_init (void) {
+ 
+   GtkWidget     *vbox;
+-  GtkWidget     *infobox, *infobar, *tw;
++  GtkWidget     *infobox/*, *infobar, *tw*/;
+ #ifdef VIS_WIDGET
+   GtkWidget     *vis;
+   xine_post_out_t *vis_out;
+@@ -304,7 +354,7 @@
+   GtkWidget     *scale, *vol_scale;
+   GtkWidget     *ctrl;
+   GtkWidget     *audio_spinner;
+-  time_widget_t *time_widget;
++/*  time_widget_t *time_widget;*/
+   GdkGeometry    cw_geom;
+ 
+   tips = gtk_tooltips_new ();
+@@ -324,7 +374,7 @@
+   gtk_window_set_accept_focus (GTK_WINDOW(controlwindow), FALSE);
+ 
+   memset (&cw_geom, 0, sizeof (cw_geom));
+-  cw_geom.max_width = cw_geom.min_width = gdk_screen_width ();
++  cw_geom.max_width = cw_geom.min_width = -1;
+   cw_geom.max_height = cw_geom.min_height = -1;
+   cw_geom.win_gravity = GDK_GRAVITY_SOUTH_WEST;
+   gtk_window_set_geometry_hints
+@@ -384,7 +434,7 @@
+ 
+   gtv = gtk_video_new (xine, stream, xine_get_video_source (stream), 
+   	               video_driver_id, 480, 300,
+-                       0x04 /* press: button 2 */,
++                       0x02 /* press: button 1 */,
+                        0x08 /* release: button 3 */);
+   drag_drop_setup (gtv);
+   g_signal_connect (GTK_OBJECT (gtv), "keypress",
+@@ -423,13 +473,13 @@
+   gtk_box_pack_start (GTK_BOX(infobox), vis, FALSE, FALSE, 0);
+ #endif
+ 
+-  time_widget = create_time_widget (&tw);
++/*  time_widget = create_time_widget (&tw);
+   gtk_box_pack_start (GTK_BOX(infobox), tw, FALSE, FALSE, 0);
+   drag_drop_setup (tw);
+ 
+   bar = create_infobar (&infobar);
+   gtk_box_pack_start (GTK_BOX(infobox), infobar, TRUE, TRUE, 0);
+-  drag_drop_setup (infobar);
++  drag_drop_setup (infobar);*/
+ 
+   gtk_box_pack_start (GTK_BOX(vbox), infobox, FALSE, FALSE, 2);
+ 
+@@ -446,6 +496,7 @@
+   ctrl = gtk_hbox_new (0, 2);
+   gtk_box_pack_start (GTK_BOX(ctrl), scale, TRUE, TRUE, 4);
+   gtk_box_pack_start (GTK_BOX(sliderbox), ctrl, TRUE, TRUE, 2);
++    
+   gtk_box_pack_start (GTK_BOX(vbox), sliderbox, FALSE, FALSE, 0);
+ 
+   /*
+@@ -458,35 +509,37 @@
+ 
+   ui_register_control_button
+     (Control_PLAY,
+-     add_pix_button (ctrl, play_xpm, "play ();", _("Play"), TRUE, TRUE));
++     add_stock_button (ctrl, GTK_STOCK_MEDIA_PLAY, GTK_ICON_SIZE_BUTTON,
++                       "play ();", _("Play"), TRUE, TRUE));
+   ui_register_control_button
+     (Control_FASTFWD,
+-     add_pix_button (ctrl, fast_forward_xpm,
++     add_stock_button (ctrl, GTK_STOCK_MEDIA_FORWARD, GTK_ICON_SIZE_BUTTON,
+ 		     "if (!is_live_stream ()) set_speed (16);",
+ 		     _("Fast forward"), TRUE, TRUE));
+   ui_register_control_button
+     (Control_PAUSE,
+-     add_pix_button (ctrl, pause_xpm,
++     add_stock_button (ctrl, GTK_STOCK_MEDIA_PAUSE, GTK_ICON_SIZE_BUTTON,
+ 		     "if (!is_live_stream ()) pause ();",
+ 		     _("Pause"), TRUE, TRUE));
+   ui_register_control_button
+     (Control_STOP,
+-     add_pix_button (ctrl, stop_xpm, "stop ();", _("Stop"), TRUE, TRUE));
++     add_stock_button (ctrl, GTK_STOCK_MEDIA_STOP, GTK_ICON_SIZE_BUTTON,
++                     "stop ();", _("Stop"), TRUE, TRUE));
+ 
+-  add_pix_button (ctrl, playlist_xpm,
++  add_stock_button (ctrl, GTK_STOCK_EDIT, GTK_ICON_SIZE_BUTTON,
+ 		  "playlist_show ()", _("Playlist"), FALSE, TRUE);
+-  add_pix_button (ctrl, sliders_xpm,
+-		  "settings_show ()", _("A/V settings"), FALSE, TRUE);
++/*  add_pix_button (ctrl, sliders_xpm,
++		  "settings_show ()", _("A/V settings"), FALSE, TRUE);*/
+ 
+   /* audio channel selection */
+ 
+-  audio_adj = ui_register_control_adjustment (Control_AUDIO_CHANNEL);
++/*  audio_adj = ui_register_control_adjustment (Control_AUDIO_CHANNEL);
+   audio_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (audio_adj),
+ 				       1.0,0);
+   gtk_spin_button_set_numeric (GTK_SPIN_BUTTON(audio_spinner), TRUE);
+   gtk_tooltips_set_tip (GTK_TOOLTIPS (tips), audio_spinner,
+ 			_("Audio channel"), NULL);
+-  gtk_box_pack_end (GTK_BOX(ctrl), audio_spinner, FALSE, FALSE, 5);
++  gtk_box_pack_end (GTK_BOX(ctrl), audio_spinner, FALSE, FALSE, 5);*/
+ 
+   /* volume slider */
+ 
+@@ -501,7 +554,8 @@
+ 
+   ui_register_control_button
+     (Control_MUTE,
+-     add_pix_flip_button (ctrl, nospeaker_xpm, speaker_xpm,
++     add_file_flip_button (ctrl, GXINE_PIXMAPPATH "/rhythmbox-volume-zero.png",
++           GXINE_PIXMAPPATH "/rhythmbox-volume-max.png", GTK_ICON_SIZE_BUTTON,
+ 			  "set_mute ();", _("Mute/unmute"), FALSE));
+ 
+   gtk_box_pack_end (GTK_BOX(sliderbox), ctrl, FALSE, FALSE, 4);
+@@ -513,9 +567,9 @@
+ 
+   have_video = 1;
+ 
+-  postinit_infobar (app, bar);
+-  postinit_time_widget (app, time_widget);
+-
++/*  postinit_infobar (app, bar);
++  postinit_time_widget (app, time_widget);*/
++  
+   gtk_timeout_add (1000, update_slider_cb, NULL);
+ }
+ #endif /* !EXP_STUFF */
+diff -urNd gxine-0.4.1/src/open_mrl.c gxine-0.4.1.new/src/open_mrl.c
+--- gxine-0.4.1/src/open_mrl.c	2004-12-02 19:43:11.000000000 +0000
++++ gxine-0.4.1.new/src/open_mrl.c	2005-04-11 22:38:39.000000000 +0100
+@@ -43,6 +43,9 @@
+     int    pos, i;
+     gchar *mrl;
+ 
++    /* Clear playlist on load */
++    playlist_clear ();
++    
+     i = 0; pos = 0;
+     while ( (mrl = fnames[i]) ) {
+ 
+diff -urNd gxine-0.4.1/src/player.c gxine-0.4.1.new/src/player.c
+--- gxine-0.4.1/src/player.c	2004-12-11 00:40:18.000000000 +0000
++++ gxine-0.4.1.new/src/player.c	2005-04-11 18:14:37.000000000 +0100
+@@ -436,6 +436,23 @@
+   return JS_TRUE;
+ }
+ 
++static JSBool js_set_chan (JSContext *cx, JSObject *obj, uintN argc, 
++			  jsval *argv, jsval *rval) {
++
++  se_t *se = (se_t *) JS_GetContextPrivate(cx);
++  int   channel;
++
++  se_log_fncall ("set_chan");
++  se_argc_check (1, "set_chan");
++  se_arg_is_int (0, "set_chan");
++
++  JS_ValueToInt32 (cx, argv[0], &channel);
++
++  xine_set_param (stream, XINE_PARAM_AUDIO_CHANNEL_LOGICAL, channel);
++
++  return JS_TRUE;
++}
++
+ static JSBool js_set_fullscreen (JSContext *cx, JSObject *obj, uintN argc, 
+ 				 jsval *argv, jsval *rval) {
+ 
+@@ -924,6 +941,8 @@
+ 	SE_GROUP_PROPERTIES, N_("[bool]"), NULL },
+       { "set_sub", js_set_sub, 0, 0,
+ 	SE_GROUP_PROPERTIES, N_("int"), NULL },
++      { "set_chan", js_set_chan, 0, 0,
++	SE_GROUP_PROPERTIES, N_("int"), NULL },
+       { "set_deinterlace", js_set_deinterlace, 0, 0,
+ 	SE_GROUP_PROPERTIES, N_("[bool]"), NULL },
+       { "set_auto_resize", js_set_auto_resize, 0, 0,
+diff -urNd gxine-0.4.1/src/playlist.c gxine-0.4.1.new/src/playlist.c
+--- gxine-0.4.1/src/playlist.c	2004-12-17 00:33:00.000000000 +0000
++++ gxine-0.4.1.new/src/playlist.c	2005-04-11 19:21:11.000000000 +0100
+@@ -1218,6 +1218,10 @@
+       gtk_tree_path_free (path);
+ 
+       playlist_play (item); 
++      
++      /* Hide the playlist after making a selection */
++      is_visible = FALSE;
++      gtk_widget_hide (dlg);
+     }
+   }
+   return FALSE;
+@@ -1743,7 +1747,7 @@
+ 		    G_CALLBACK(add_cb), 
+ 		    tree_view);
+   gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 2);
+-  button = gtk_button_new_with_label (_("Edit"));
++  button = gtk_button_new_from_stock (GTK_STOCK_EDIT);
+   g_signal_connect (GTK_OBJECT(button), "clicked", 
+ 		    G_CALLBACK(edit_cb), 
+ 		    tree_view);
+@@ -1753,6 +1757,16 @@
+ 		    G_CALLBACK(del_cb), 
+ 		    tree_view);
+   gtk_box_pack_start (GTK_BOX(hbox), button, TRUE, TRUE, 2);
++
++  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), hbox,
++		      FALSE, FALSE, 2);
++
++  /*
++   * Up/Down buttons
++   */
++   
++  hbox = gtk_hbox_new (1, 2);
++
+   button = gtk_button_new_from_stock (GTK_STOCK_GO_UP);
+   g_signal_connect (GTK_OBJECT(button), "clicked", 
+ 		    G_CALLBACK(up_cb), 
+@@ -1767,6 +1781,7 @@
+   gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), hbox,
+ 		      FALSE, FALSE, 2);
+ 
++
+   button = gtk_dialog_add_button (GTK_DIALOG (dlg), GTK_STOCK_CLOSE, 1);
+   g_signal_connect (GTK_OBJECT(button), "clicked", 
+ 		    G_CALLBACK(close_cb), 
+diff -urNd gxine-0.4.1/src/script_engine.c gxine-0.4.1.new/src/script_engine.c
+--- gxine-0.4.1/src/script_engine.c	2004-12-13 21:19:23.000000000 +0000
++++ gxine-0.4.1.new/src/script_engine.c	2005-04-11 13:53:36.000000000 +0100
+@@ -178,10 +178,10 @@
+ 
+     layout = gtk_table_new (1, 2, FALSE);
+ 
+-    file = g_strconcat (pixmapdir, "/gxine-logo.png", NULL);
++    file = GXINE_ICONDIR "/gxine-logo.png";
+     gtk_table_attach (GTK_TABLE (layout), gtk_image_new_from_file (file),
+ 		      0, 1, 0, 1, 0, 0, 8, 8);
+-    g_free (file);
++/*    g_free (file);*/
+ 
+     if (!content)
+       content = g_strdup_printf (gettext (content_src), VERSION);
+diff -urNd gxine-0.4.1/src/stream_info.c gxine-0.4.1.new/src/stream_info.c
+--- gxine-0.4.1/src/stream_info.c	2004-12-02 02:38:32.000000000 +0000
++++ gxine-0.4.1.new/src/stream_info.c	2005-04-11 22:05:00.000000000 +0100
+@@ -35,6 +35,7 @@
+ static GtkWidget    *dlg;
+ static int           is_visible;
+ static GtkListStore *meta_store;
++       GtkLabel     *time_label;
+ 
+ static void add_meta_entry (const gchar *l, int info) {
+ 
+@@ -196,9 +197,13 @@
+ 				  GTK_POLICY_AUTOMATIC, 
+ 				  GTK_POLICY_AUTOMATIC);
+   gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view);
++  
++  time_label = gtk_label_new ("Progress: 0:00 / 0:00");
+ 
+   gtk_box_pack_start (GTK_BOX(GTK_DIALOG (dlg)->vbox), scrolled_window,
+ 		      TRUE, TRUE, 2);
++  gtk_box_pack_start (GTK_BOX(GTK_DIALOG (dlg)->vbox), time_label,
++            FALSE, FALSE, 2);
+ 
+   is_visible = FALSE;
+ 
+diff -urNd gxine-0.4.1/src/utils.c gxine-0.4.1.new/src/utils.c
+--- gxine-0.4.1/src/utils.c	2004-12-17 00:33:00.000000000 +0000
++++ gxine-0.4.1.new/src/utils.c	2005-04-11 14:21:54.000000000 +0100
+@@ -129,13 +129,13 @@
+ GdkPixbuf *load_icon (const char *filename) {
+ 
+   GdkPixbuf *pix;
+-  gchar     *pathname;
++/*  gchar     *pathname;
+ 
+-  pathname = g_strconcat (pixmapdir, "/", filename, NULL);
++  pathname = g_strconcat (pixmapdir, "/", filename, NULL);*/
+ 
+-  pix = gdk_pixbuf_new_from_file (pathname, NULL);
++  pix = gdk_pixbuf_new_from_file (filename, NULL);
+ 
+-  g_free (pathname);
++/*  g_free (pathname);*/
+ 
+   return pix;
+ }
diff --git a/recipes/gxine/files/rhythmbox-volume-max.png b/recipes/gxine/files/rhythmbox-volume-max.png
new file mode 100644
index 0000000000..c0f4f2408f
Binary files /dev/null and b/recipes/gxine/files/rhythmbox-volume-max.png differ
diff --git a/recipes/gxine/files/rhythmbox-volume-medium.png b/recipes/gxine/files/rhythmbox-volume-medium.png
new file mode 100644
index 0000000000..c9294f6a0f
Binary files /dev/null and b/recipes/gxine/files/rhythmbox-volume-medium.png differ
diff --git a/recipes/gxine/files/rhythmbox-volume-min.png b/recipes/gxine/files/rhythmbox-volume-min.png
new file mode 100644
index 0000000000..97f7f482ad
Binary files /dev/null and b/recipes/gxine/files/rhythmbox-volume-min.png differ
diff --git a/recipes/gxine/files/rhythmbox-volume-zero.png b/recipes/gxine/files/rhythmbox-volume-zero.png
new file mode 100644
index 0000000000..98beea1275
Binary files /dev/null and b/recipes/gxine/files/rhythmbox-volume-zero.png differ
diff --git a/recipes/gxine/gxine_0.4.1.bb b/recipes/gxine/gxine_0.4.1.bb
new file mode 100644
index 0000000000..9648e9ef0c
--- /dev/null
+++ b/recipes/gxine/gxine_0.4.1.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "gxine is a front-end for libxine."
+SECTION = "x11/multimedia"
+LICENSE = "GPL"
+DEPENDS = "gtk+ libxine-x11"
+PR = "r2"
+
+DEFAULT_PREFERENCE = "-1"
+
+# Long list of RDEPENDS required to playback mp3/ogg audio and mpeg/mpeg4 video
+RDEPENDS = "libxine-plugin-vo-out-xshm \
+	    libxine-plugin-vo-out-none \
+	    libxine-plugin-ao-out-esd \
+	    libxine-plugin-ao-out-none \
+	    libxine-plugin-inp-file \
+	    libxine-plugin-inp-http \
+	    libxine-plugin-inp-net \
+	    libxine-plugin-inp-mms \
+	    libxine-plugin-decode-mad \
+	    libxine-plugin-decode-vorbis \
+	    libxine-plugin-decode-image \
+	    libxine-plugin-decode-ff \
+	    libxine-plugin-dmx-audio \
+	    libxine-plugin-dmx-mpeg \
+	    libxine-plugin-dmx-mpeg-block \
+	    libxine-plugin-dmx-mpeg-elem \
+	    libxine-plugin-dmx-mpeg-pes \
+	    libxine-plugin-dmx-mpeg-ts \
+	    libxine-plugin-dmx-ogg \
+	    libxine-plugin-dmx-image \
+	    libxine-plugin-dmx-avi"
+
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/xine/${PN}-${PV}.tar.gz \
+	   file://disable-browser-plugin.patch;patch=1"
+
+EXTRA_OECONF = " --includedir=${STAGING_INCDIR} \
+		--libdir=${STAGING_LIBDIR} \
+		--disable-xinetest \
+		--with-xine-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
+
+LDFLAGS += "-lxine"
+
+inherit autotools pkgconfig
+
diff --git a/recipes/gxine/gxine_0.4.1enhanced.bb b/recipes/gxine/gxine_0.4.1enhanced.bb
new file mode 100644
index 0000000000..96776645ab
--- /dev/null
+++ b/recipes/gxine/gxine_0.4.1enhanced.bb
@@ -0,0 +1,51 @@
+DESCRIPTION = "gxine is a front-end for libxine."
+SECTION = "x11/multimedia"
+LICENSE = "GPL"
+DEPENDS = "gtk+ libxine-x11"
+PR = "r1"
+
+# Long list of RDEPENDS required to playback mp3/ogg audio and mpeg/mpeg4 video
+RDEPENDS = "libxine-plugin-vo-out-xshm \
+	    libxine-plugin-vo-out-none \
+	    libxine-plugin-ao-out-esd \
+	    libxine-plugin-ao-out-none \
+	    libxine-plugin-inp-file \
+	    libxine-plugin-inp-http \
+	    libxine-plugin-inp-net \
+	    libxine-plugin-inp-mms \
+	    libxine-plugin-decode-mad \
+	    libxine-plugin-decode-vorbis \
+	    libxine-plugin-decode-image \
+	    libxine-plugin-decode-ff \
+	    libxine-plugin-dmx-audio \
+	    libxine-plugin-dmx-mpeg \
+	    libxine-plugin-dmx-mpeg-block \
+	    libxine-plugin-dmx-mpeg-elem \
+	    libxine-plugin-dmx-mpeg-pes \
+	    libxine-plugin-dmx-mpeg-ts \
+	    libxine-plugin-dmx-ogg \
+	    libxine-plugin-dmx-image \
+	    libxine-plugin-dmx-avi"
+
+S = "${WORKDIR}/${PN}-0.4.1/"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/xine/${PN}-0.4.1.tar.gz \
+	   file://rhythmbox-volume-max.png \
+	   file://rhythmbox-volume-medium.png \
+	   file://rhythmbox-volume-min.png \
+	   file://rhythmbox-volume-zero.png \
+	   file://enhance.patch;patch=1"
+
+EXTRA_OECONF = " --includedir=${STAGING_INCDIR} \
+		--libdir=${STAGING_LIBDIR} \
+		--disable-xinetest \
+		--with-xine-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
+
+LDFLAGS += "-lxine"
+
+inherit autotools pkgconfig
+
+do_configure_prepend () {
+	mv ${WORKDIR}/*.png ${S}/pixmaps/
+}
+
-- 
cgit v1.2.3