From c848d1b444b9e03f047830c04f5e1e70183035e9 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Tue, 28 Oct 2008 16:09:28 -0500
Subject: move mplayer to testing

---
 .../mplayer/MPlayer-1.0rc1-gnome-screensaver.patch | 286 ---------------------
 abs/core-testing/mplayer/PKGBUILD                  |  67 -----
 .../mplayer/demux_audio_fix_20080129.diff          |  11 -
 .../mplayer/demux_mov_fix_20080129.diff            |  45 ----
 abs/core-testing/mplayer/ivtv_2.6.24.patch         |  33 ---
 .../mplayer/stream_cddb_fix_20080120.diff          |  32 ---
 abs/core-testing/mplayer/url_fix_20080120.diff     |  10 -
 .../mplayer/MPlayer-1.0rc1-gnome-screensaver.patch | 286 +++++++++++++++++++++
 abs/extra-testing/mplayer/PKGBUILD                 |  67 +++++
 .../mplayer/demux_audio_fix_20080129.diff          |  11 +
 .../mplayer/demux_mov_fix_20080129.diff            |  45 ++++
 abs/extra-testing/mplayer/ivtv_2.6.24.patch        |  33 +++
 .../mplayer/stream_cddb_fix_20080120.diff          |  32 +++
 abs/extra-testing/mplayer/url_fix_20080120.diff    |  10 +
 14 files changed, 484 insertions(+), 484 deletions(-)
 delete mode 100644 abs/core-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch
 delete mode 100644 abs/core-testing/mplayer/PKGBUILD
 delete mode 100644 abs/core-testing/mplayer/demux_audio_fix_20080129.diff
 delete mode 100644 abs/core-testing/mplayer/demux_mov_fix_20080129.diff
 delete mode 100644 abs/core-testing/mplayer/ivtv_2.6.24.patch
 delete mode 100644 abs/core-testing/mplayer/stream_cddb_fix_20080120.diff
 delete mode 100644 abs/core-testing/mplayer/url_fix_20080120.diff
 create mode 100644 abs/extra-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch
 create mode 100644 abs/extra-testing/mplayer/PKGBUILD
 create mode 100644 abs/extra-testing/mplayer/demux_audio_fix_20080129.diff
 create mode 100644 abs/extra-testing/mplayer/demux_mov_fix_20080129.diff
 create mode 100644 abs/extra-testing/mplayer/ivtv_2.6.24.patch
 create mode 100644 abs/extra-testing/mplayer/stream_cddb_fix_20080120.diff
 create mode 100644 abs/extra-testing/mplayer/url_fix_20080120.diff

diff --git a/abs/core-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch b/abs/core-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch
deleted file mode 100644
index 79deb93..0000000
--- a/abs/core-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch
+++ /dev/null
@@ -1,286 +0,0 @@
-diff -Nur MPlayer-1.0rc1.orig/configure MPlayer-1.0rc1/configure
---- MPlayer-1.0rc1.orig/configure	2006-10-23 00:32:31.000000000 +0200
-+++ MPlayer-1.0rc1/configure	2006-11-11 14:02:38.000000000 +0100
-@@ -257,6 +257,7 @@
-   --disable-ftp          Disable ftp support [enabled]
-   --disable-vstream      Disable tivo vstream client support [autodetect]
-   --disable-pthreads     Disable Posix threads support [autodetect]
-+  --disable-dbus-glib    Disable D-BUS GLib interface (required for GNOME screensaver support) [autodetect]
-   --disable-ass          Disable internal SSA/ASS subtitles support [autodetect]
-   --enable-rpath         Enable runtime linker path for extra libs [disabled]
- 
-@@ -1721,6 +1722,7 @@
- _musepack=auto
- _vstream=auto
- _pthreads=auto
-+_dbus_glib=auto
- _ass=auto
- _rpath=no
- _asmalign_pot=auto
-@@ -2033,6 +2035,8 @@
-   --disable-vstream)    _vstream=no     ;;
-   --enable-pthreads)    _pthreads=yes   ;;
-   --disable-pthreads)   _pthreads=no    ;;
-+  --enable-dbus-glib)   _dbus_glib=yes  ;;
-+  --disable-dbus-glib)  _dbus_glib=no   ;;
-   --enable-ass)         _ass=yes        ;;
-   --disable-ass)        _ass=no         ;;
-   --enable-rpath)       _rpath=yes      ;;
-@@ -7029,6 +7033,19 @@
- fi
- echores "$_gethostbyname2"
- 
-+echocheck "D-BUS GLib interface"
-+if test "$_dbus_glib" = auto && pkg-config --exists dbus-glib-1; then
-+  _dbus_glib=yes
-+  _inc_dbus_glib=`pkg-config --cflags dbus-glib-1 2>/dev/null`
-+  _ld_dbus_glib=`pkg-config --libs dbus-glib-1 2>/dev/null`   
-+fi
-+  
-+if test "$_dbus_glib" = yes; then
-+  _def_dbus_glib='#define HAVE_DBUS_GLIB 1'
-+else
-+  _def_dbus_glib='#undef HAVE_DBUS_GLIB'
-+fi
-+echores "$_dbus_glib"
- 
- # --------------- GUI specific tests begin -------------------
- echocheck "GUI"
-@@ -7521,6 +7538,10 @@
- VESA_LIB = $_ld_vesa
- AA_LIB = $_ld_aa
- CACA_LIB = $_ld_caca
-+DBUS_GLIB_INC = $_inc_dbus_glib
-+DBUS_GLIB_LIB = $_ld_dbus_glib 
-+DBUS_GLIB = $_dbus_glib
-+
- 
- # audio output
- OSS = $_ossaudio
-@@ -8378,6 +8399,7 @@
- $_def_tga
- $_def_toolame
- $_def_twolame
-+$_def_dbus_glib
- 
- /* used by GUI: */
- $_def_xshape
-diff -Nur MPlayer-1.0rc1.orig/help/help_mp-en.h MPlayer-1.0rc1/help/help_mp-en.h
---- MPlayer-1.0rc1.orig/help/help_mp-en.h	2006-10-23 00:32:29.000000000 +0200
-+++ MPlayer-1.0rc1/help/help_mp-en.h	2006-11-11 14:02:38.000000000 +0100
-@@ -679,6 +679,13 @@
- #define MSGTR_InsertingAfVolume "[Mixer] No hardware mixing, inserting volume filter.\n"
- #define MSGTR_NoVolume "[Mixer] No volume control available.\n"
- 
-+// gnome_screensaver.c
-+#define MSGTR_OpenBusConnectionError "%s: Failed to open connection to bus: %s\n"
-+#define MSGTR_RemoteMethodException "%s: Caught remote method exception %s: %s\n"
-+#define MSGTR_GError "%s: Error: %s\n"
-+#define MSGTR_GNOMEScreensaverEnabled "GNOME screensaver enabled\n"
-+#define MSGTR_GNOMEScreensaverDisabled "GNOME screensaver disabled\n"
-+
- // ====================== GUI messages/buttons ========================
- 
- #ifdef HAVE_NEW_GUI
-diff -Nur MPlayer-1.0rc1.orig/libvo/gnome_screensaver.c MPlayer-1.0rc1/libvo/gnome_screensaver.c
---- MPlayer-1.0rc1.orig/libvo/gnome_screensaver.c	1970-01-01 01:00:00.000000000 +0100
-+++ MPlayer-1.0rc1/libvo/gnome_screensaver.c	2006-11-11 14:02:38.000000000 +0100
-@@ -0,0 +1,120 @@
-+/*
-+ * gnome_screensaver.c v0.0.7
-+ *
-+ * Enable/Disable the GNOME screensaver
-+ * Supports GNOME screensaver API 2.14 and 2.15
-+ *
-+ * Call gnome_screensaver_control(1) to enable and
-+ * gnome_screensaver_control(0) to disable
-+ *
-+ */
-+
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <dbus/dbus-glib.h>
-+
-+#include "gnome_screensaver.h"
-+#include "mp_msg.h"
-+#include "help_mp.h"
-+
-+#define GS_SERVICE   "org.gnome.ScreenSaver"
-+#define GS_PATH      "/org/gnome/ScreenSaver"
-+#define GS_INTERFACE "org.gnome.ScreenSaver"
-+
-+#define GS_APPLICATION_NAME     "MPlayer"
-+#define GS_REASON_FOR_INHIBIT   "Playing a movie"
-+
-+static guint32 cookie;
-+
-+void gnome_screensaver_control(int enable)
-+{
-+    DBusGConnection *connection;
-+    GError *error;
-+    DBusGProxy *proxy;
-+    gboolean ret;
-+    char *funcname = "gnome_screensaver_control()";
-+
-+    g_type_init();
-+
-+    /* Get a connection to the session bus */
-+    error = NULL;
-+    connection = dbus_g_bus_get(DBUS_BUS_SESSION, &error);
-+    if (connection == NULL) {
-+        mp_msg(MSGT_VO, MSGL_ERR,
-+               funcname, MSGTR_OpenBusConnectionError, error->message);
-+        g_error_free(error);
-+        return;
-+    }
-+
-+    /* Create a proxy object */
-+    proxy = dbus_g_proxy_new_for_name(connection,
-+                                      GS_SERVICE, GS_PATH, GS_INTERFACE);
-+
-+    /* Enable the screensaver */
-+    if (enable) {
-+        /* First call the GNOME screensaver 2.15 API method */
-+        error = NULL;
-+        ret =
-+            dbus_g_proxy_call(proxy, "UnInhibit", &error, G_TYPE_UINT,
-+                              cookie, G_TYPE_INVALID);
-+
-+        /* If this fails, try the GNOME screensaver 2.14 API */
-+        if (!ret && error->domain == DBUS_GERROR
-+            && error->code == DBUS_GERROR_UNKNOWN_METHOD) {
-+            mp_msg(MSGT_VO, MSGL_V,
-+                   "%s: GNOME screensaver 2.15 API failed, trying 2.14 API\n",
-+                   funcname);
-+            g_error_free(error);
-+            error = NULL;
-+            ret =
-+                dbus_g_proxy_call(proxy, "AllowActivation", &error,
-+                                  G_TYPE_INVALID, G_TYPE_INVALID);
-+        }
-+    }
-+    /* Disable the screensaver */
-+    else {
-+        /* First call the GNOME screensaver 2.15 API method */
-+        error = NULL;
-+        ret =
-+            dbus_g_proxy_call(proxy, "Inhibit", &error, G_TYPE_STRING,
-+                              GS_APPLICATION_NAME, G_TYPE_STRING,
-+                              GS_REASON_FOR_INHIBIT, G_TYPE_INVALID,
-+                              G_TYPE_UINT, cookie, G_TYPE_INVALID);
-+
-+        /* If this fails, try the GNOME screensaver 2.14 API */
-+        if (!ret && error->domain == DBUS_GERROR
-+            && error->code == DBUS_GERROR_UNKNOWN_METHOD) {
-+            mp_msg(MSGT_VO, MSGL_V,
-+                   "%s: GNOME screensaver 2.15 API failed, trying 2.14 API\n",
-+                   funcname);
-+            g_error_free(error);
-+            error = NULL;
-+            ret =
-+                dbus_g_proxy_call(proxy, "InhibitActivation", &error,
-+                                  G_TYPE_STRING, GS_REASON_FOR_INHIBIT,
-+                                  G_TYPE_INVALID, G_TYPE_INVALID);
-+        }
-+    }
-+
-+    if (!ret) {
-+        /* Check if it's a remote exception or a regular GError */
-+        if (error->domain == DBUS_GERROR
-+            && error->code == DBUS_GERROR_REMOTE_EXCEPTION) {
-+            mp_msg(MSGT_VO, MSGL_ERR,
-+                   funcname, MSGTR_RemoteMethodException,
-+                   dbus_g_error_get_name(error), error->message);
-+        }
-+        else {
-+            mp_msg(MSGT_VO, MSGL_ERR,
-+                   funcname, MSGTR_GError, error->message);
-+        }
-+        g_error_free(error);
-+    }
-+    else {
-+        mp_msg(MSGT_VO, MSGL_INFO,
-+               enable ? MSGTR_GNOMEScreensaverEnabled :
-+               MSGTR_GNOMEScreensaverDisabled);
-+    }
-+
-+    g_object_unref(proxy);
-+}
-diff -Nur MPlayer-1.0rc1.orig/libvo/gnome_screensaver.h MPlayer-1.0rc1/libvo/gnome_screensaver.h
---- MPlayer-1.0rc1.orig/libvo/gnome_screensaver.h	1970-01-01 01:00:00.000000000 +0100
-+++ MPlayer-1.0rc1/libvo/gnome_screensaver.h	2006-11-11 14:02:38.000000000 +0100
-@@ -0,0 +1,6 @@
-+#ifndef _GNOME_SCREENSAVER_H
-+#define _GNOME_SCREENSAVER_H
-+
-+extern void gnome_screensaver_control(int enable);
-+
-+#endif /* !_GNOME_SCREENSAVER_H */
-diff -Nur MPlayer-1.0rc1.orig/libvo/Makefile MPlayer-1.0rc1/libvo/Makefile
---- MPlayer-1.0rc1.orig/libvo/Makefile	2006-10-23 00:32:26.000000000 +0200
-+++ MPlayer-1.0rc1/libvo/Makefile	2006-11-11 14:02:38.000000000 +0100
-@@ -39,6 +39,11 @@
- SRCS += vosub_vidix.c
- endif
- 
-+ifeq ($(DBUS_GLIB),yes)
-+SRCS += gnome_screensaver.c
-+LIBAV_INC += $(DBUS_GLIB_INC)
-+endif
-+
- INCLUDE = -I. -I.. -I../osdep $(LIBAV_INC)
- CFLAGS  = $(INCLUDE) $(OPTFLAGS) -DMPG12PLAY
- 
-diff -Nur MPlayer-1.0rc1.orig/libvo/x11_common.c MPlayer-1.0rc1/libvo/x11_common.c
---- MPlayer-1.0rc1.orig/libvo/x11_common.c	2006-10-23 00:32:26.000000000 +0200
-+++ MPlayer-1.0rc1/libvo/x11_common.c	2006-11-11 14:02:38.000000000 +0100
-@@ -58,6 +58,10 @@
- #include "mplayer.h"
- #endif
- 
-+#ifdef HAVE_DBUS_GLIB
-+#include "gnome_screensaver.h"
-+#endif
-+
- #define WIN_LAYER_ONBOTTOM               2
- #define WIN_LAYER_NORMAL                 4
- #define WIN_LAYER_ONTOP                  6
-@@ -1701,8 +1705,12 @@
-         timeout_save = 0;
-     }
- 
--    if (stop_xscreensaver)
-+    if (stop_xscreensaver) {
-         xscreensaver_enable();
-+#ifdef HAVE_DBUS_GLIB
-+        gnome_screensaver_control(1);
-+#endif
-+    }
-     if (kdescreensaver_was_running && stop_xscreensaver)
-     {
-         system
-@@ -1747,8 +1755,12 @@
-                             allow_exp);
-     }
-     // turning off screensaver
--    if (stop_xscreensaver)
-+    if (stop_xscreensaver) {
-         xscreensaver_disable(mDisplay);
-+#ifdef HAVE_DBUS_GLIB
-+        gnome_screensaver_control(0);
-+#endif
-+    }
-     if (stop_xscreensaver && !kdescreensaver_was_running)
-     {
-         kdescreensaver_was_running =
-diff -Nur MPlayer-1.0rc1.orig/Makefile MPlayer-1.0rc1/Makefile
---- MPlayer-1.0rc1.orig/Makefile	2006-10-23 00:32:31.000000000 +0200
-+++ MPlayer-1.0rc1/Makefile	2006-11-11 14:02:38.000000000 +0100
-@@ -75,6 +75,7 @@
-           $(DIRECTFB_LIB) \
-           $(CACA_LIB) \
- 	  $(VESA_LIB) \
-+	  $(DBUS_GLIB_LIB) \
- 
- ifeq ($(VIDIX),yes)
- VO_LIBS += vidix/libvidix.a
diff --git a/abs/core-testing/mplayer/PKGBUILD b/abs/core-testing/mplayer/PKGBUILD
deleted file mode 100644
index f69a21a..0000000
--- a/abs/core-testing/mplayer/PKGBUILD
+++ /dev/null
@@ -1,67 +0,0 @@
-# $Id: PKGBUILD 3632 2008-06-26 11:48:49Z paul $
-# Maintainer: Thomas Bächler <thomas@archlinux.org>
-pkgname=mplayer
-pkgver=1.0rc2
-pkgrel=5
-pkgdesc="A movie player for linux"
-arch=(i686 x86_64)
-depends=('libxxf86dga' 'libxv' 'libmad' 'giflib' 'cdparanoia' 'gtk2'
-         'sdl' 'lame' 'libtheora' 'xvidcore'
-         'libgl' 'smbclient' 'aalib' 'jack-audio-connection-kit'
-         'x264>=20080625' 'faac' 'lirc-utils' 'ttf-dejavu')
-license=('GPL')
-url="http://www.mplayerhq.hu/"
-makedepends=('libcaca' 'unzip' 'live-media' 'libdca' 'mesa')
-backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
-source=(http://www.mplayerhq.hu/MPlayer/releases/MPlayer-${pkgver}.tar.bz2
-        http://www.mplayerhq.hu/MPlayer/skins/Blue-1.7.tar.bz2        
-        http://www.mplayerhq.hu/MPlayer/patches/demux_audio_fix_20080129.diff
-        http://www.mplayerhq.hu/MPlayer/patches/demux_mov_fix_20080129.diff
-        http://www.mplayerhq.hu/MPlayer/patches/url_fix_20080120.diff
-        http://www.mplayerhq.hu/MPlayer/patches/stream_cddb_fix_20080120.diff
-	ivtv_2.6.24.patch)
-md5sums=('7e27e535c2d267637df34898f1b91707'
-         'e4e2020d11b681aac898103b3ba723c4'
-         '320af7daa1b248ee8e8c15d34d7923e3'
-         'ce999929155f509a3e6bee41d9d613ed'
-         '6a2c124586e1e6c44ae4ca1b4be9b6e4'
-         'c7d1bcdd61fcceb7598d61fe2213c587'
-	 '1ef35068587f6b6dbc99342567895236')
-
-build() {
-  cd $startdir/src/MPlayer-${pkgver}
-
-  # Custom CFLAGS break the mplayer build
-  unset CFLAGS
-
-  # Add support for gnome screensaver
-  #patch -p1 -i ../MPlayer-1.0rc1-gnome-screensaver.patch || return 1
-
-  # Workaround for changed ivtv interface since it went mainline in 2.6.24
-  patch -p1 -i ../ivtv_2.6.24.patch || return 1
-  
-  # Fix security issues
-  for p in demux_audio_fix_20080129.diff demux_mov_fix_20080129.diff url_fix_20080120.diff stream_cddb_fix_20080120.diff; do
-    patch -p0 -i ../${p}
-  done
-  
-  cd $startdir/src/MPlayer-${pkgver}
-
-  ./configure --prefix=/usr --enable-gui --disable-arts --enable-x11 \
-      --enable-runtime-cpudetection --confdir=/etc/mplayer --disable-nas \
-      --enable-gl --enable-tv-v4l1 --enable-tv-v4l2 --enable-largefiles \
-      --disable-liblzo --disable-speex --disable-openal \
-      --disable-fribidi --disable-libdv --disable-musepack \
-      --language=all --disable-dvdnav --disable-esd --disable-mga \
-      --disable-libamr_nb \
-      --with-extraincdir=/usr/lib/live-media
-
-  [ "$CARCH" = "i686" ] &&  sed 's|-march=i486|-march=i686|g' -i config.mak
-
-  make || return 1
-  make -j1 DESTDIR=${startdir}/pkg install
-  cp etc/{codecs.conf,input.conf,example.conf} ${startdir}/pkg/etc/mplayer/
-  ln -s /usr/share/fonts/TTF/DejaVuSans.ttf ${startdir}/pkg/usr/share/mplayer/subfont.ttf
-  rm -rf ${startdir}/pkg/usr/share/mplayer/font
-  mv ${startdir}/src/Blue ${startdir}/pkg/usr/share/mplayer/skins/default
-}
diff --git a/abs/core-testing/mplayer/demux_audio_fix_20080129.diff b/abs/core-testing/mplayer/demux_audio_fix_20080129.diff
deleted file mode 100644
index 1b18b6e..0000000
--- a/abs/core-testing/mplayer/demux_audio_fix_20080129.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- libmpdemux/demux_audio.c	(revision 24724)
-+++ libmpdemux/demux_audio.c	(working copy)
-@@ -229,6 +229,8 @@
-           ptr += 4;
- 
-           comment = ptr;
-+          if (&comment[length] < comments || &comment[length] >= &comments[blk_len])
-+            return;
-           c = comment[length];
-           comment[length] = 0;
- 
diff --git a/abs/core-testing/mplayer/demux_mov_fix_20080129.diff b/abs/core-testing/mplayer/demux_mov_fix_20080129.diff
deleted file mode 100644
index d83477b..0000000
--- a/abs/core-testing/mplayer/demux_mov_fix_20080129.diff
+++ /dev/null
@@ -1,45 +0,0 @@
---- libmpdemux/demux_mov.c	(revision 24724)
-+++ libmpdemux/demux_mov.c	(working copy)
-@@ -173,11 +173,12 @@
-     i=trak->chunkmap_size;
-     while(i>0){
- 	--i;
--	for(j=trak->chunkmap[i].first;j<last;j++){
-+	j=FFMAX(trak->chunkmap[i].first, 0);
-+	for(;j<last;j++){
- 	    trak->chunks[j].desc=trak->chunkmap[i].sdid;
- 	    trak->chunks[j].size=trak->chunkmap[i].spc;
- 	}
--	last=trak->chunkmap[i].first;
-+	last=FFMIN(trak->chunkmap[i].first, trak->chunks_size);
-     }
- 
- #if 0
-@@ -235,6 +236,8 @@
-     s=0;
-     for(j=0;j<trak->durmap_size;j++){
- 	for(i=0;i<trak->durmap[j].num;i++){
-+	    if (s >= trak->samples_size)
-+		break;
- 	    trak->samples[s].pts=pts;
- 	    ++s;
- 	    pts+=trak->durmap[j].dur;
-@@ -246,6 +249,8 @@
-     for(j=0;j<trak->chunks_size;j++){
- 	off_t pos=trak->chunks[j].pos;
- 	for(i=0;i<trak->chunks[j].size;i++){
-+	    if (s >= trak->samples_size)
-+		break;
- 	    trak->samples[s].pos=pos;
- 	    mp_msg(MSGT_DEMUX, MSGL_DBG3, "Sample %5d: pts=%8d  off=0x%08X  size=%d\n",s,
- 		trak->samples[s].pts,
-@@ -1568,8 +1573,7 @@
- 			if( udta_len>udta_size)
- 				udta_len=udta_size;
- 			{
--			char dump[udta_len-4];
--			stream_read(demuxer->stream, (char *)&dump, udta_len-4-4);
-+			stream_skip(demuxer->stream, udta_len-4-4);
- 			udta_size -= udta_len;
- 			}
- 		    }
diff --git a/abs/core-testing/mplayer/ivtv_2.6.24.patch b/abs/core-testing/mplayer/ivtv_2.6.24.patch
deleted file mode 100644
index 4e0a3fe..0000000
--- a/abs/core-testing/mplayer/ivtv_2.6.24.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Patch to account for linux-2.6.24.x including ivtv, but MPlayer won't
-build against it.  See this link for more information and the origin
-of the patch:
-http://archives.free.net.ph/message/20080201.201454.1047775e.en.html
-Thanks to Robby Workman for pointing me to this one.
-
-diff -Nur MPlayer-1.0rc2.orig/configure MPlayer-1.0rc2/configure
----  MPlayer-1.0rc2.orig/configure	2007-10-07 21:49:33.000000000 +0200
-+++  MPlayer-1.0rc2/configure	2008-03-10 10:27:29.000000000 +0100
-@@ -4920,7 +4920,7 @@
- echores "$_dxr3"
- 
- 
--echocheck "IVTV TV-Out"
-+echocheck "IVTV TV-Out (pre linux-2.6.24)"
- if test "$_ivtv" = auto ; then
-   cat > $TMPC << EOF
- #include <stdlib.h>
-@@ -4928,7 +4928,13 @@
- #include <linux/types.h>
- #include <linux/videodev2.h>
- #include <linux/ivtv.h>
--int main(void) { return 0; }
-+#include <sys/ioctl.h>
-+int main(void) { 
-+struct ivtv_cfg_stop_decode sd;
-+struct ivtv_cfg_start_decode sd1;
-+ioctl (0, IVTV_IOC_START_DECODE, &sd1);
-+ioctl (0, IVTV_IOC_STOP_DECODE, &sd);
-+return 0; }
- EOF
-   _ivtv=no
-   cc_check && _ivtv=yes
diff --git a/abs/core-testing/mplayer/stream_cddb_fix_20080120.diff b/abs/core-testing/mplayer/stream_cddb_fix_20080120.diff
deleted file mode 100644
index 45f7226..0000000
--- a/abs/core-testing/mplayer/stream_cddb_fix_20080120.diff
+++ /dev/null
@@ -1,32 +0,0 @@
---- stream/stream_cddb.c	(revision 24724)
-+++ stream/stream_cddb.c	(working copy)
-@@ -53,6 +53,7 @@
- #include "version.h"
- #include "stream.h"
- #include "network.h"
-+#include "libavutil/intreadwrite.h"
- 
- #define DEFAULT_FREEDB_SERVER	"freedb.freedb.org"
- #define DEFAULT_CACHE_DIR	"/.cddb/"
-@@ -453,8 +454,9 @@
- 		} else {
- 			len = ptr2-ptr+1;
- 		}
-+		len = FFMIN(sizeof(album_title) - 1, len);
- 		strncpy(album_title, ptr, len);
--		album_title[len-2]='\0';
-+		album_title[len]='\0';
- 	}
- 	mp_msg(MSGT_DEMUX, MSGL_STATUS, MSGTR_MPDEMUX_CDDB_ParseOKFoundAlbumTitle, album_title);
- 	return 0;
-@@ -490,8 +492,9 @@
- 				} else {
- 					len = ptr2-ptr+1;
- 				}
-+				len = FFMIN(sizeof(album_title) - 1, len);
- 				strncpy(album_title, ptr, len);
--				album_title[len-2]='\0';
-+				album_title[len]='\0';
- 			}
- 			mp_msg(MSGT_DEMUX, MSGL_STATUS, MSGTR_MPDEMUX_CDDB_ParseOKFoundAlbumTitle, album_title);
- 			return cddb_request_titles(cddb_data);
diff --git a/abs/core-testing/mplayer/url_fix_20080120.diff b/abs/core-testing/mplayer/url_fix_20080120.diff
deleted file mode 100644
index a073589..0000000
--- a/abs/core-testing/mplayer/url_fix_20080120.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- stream/url.c	(revision 24724)
-+++ stream/url.c	(working copy)
-@@ -328,6 +328,7 @@
- 		}
- 	}
- 	
-+	tmp = NULL;
- 	while(i < len) {
- 		// look for the next char that must be kept
- 		for  (j=i;j<len;j++) {
diff --git a/abs/extra-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch b/abs/extra-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch
new file mode 100644
index 0000000..79deb93
--- /dev/null
+++ b/abs/extra-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch
@@ -0,0 +1,286 @@
+diff -Nur MPlayer-1.0rc1.orig/configure MPlayer-1.0rc1/configure
+--- MPlayer-1.0rc1.orig/configure	2006-10-23 00:32:31.000000000 +0200
++++ MPlayer-1.0rc1/configure	2006-11-11 14:02:38.000000000 +0100
+@@ -257,6 +257,7 @@
+   --disable-ftp          Disable ftp support [enabled]
+   --disable-vstream      Disable tivo vstream client support [autodetect]
+   --disable-pthreads     Disable Posix threads support [autodetect]
++  --disable-dbus-glib    Disable D-BUS GLib interface (required for GNOME screensaver support) [autodetect]
+   --disable-ass          Disable internal SSA/ASS subtitles support [autodetect]
+   --enable-rpath         Enable runtime linker path for extra libs [disabled]
+ 
+@@ -1721,6 +1722,7 @@
+ _musepack=auto
+ _vstream=auto
+ _pthreads=auto
++_dbus_glib=auto
+ _ass=auto
+ _rpath=no
+ _asmalign_pot=auto
+@@ -2033,6 +2035,8 @@
+   --disable-vstream)    _vstream=no     ;;
+   --enable-pthreads)    _pthreads=yes   ;;
+   --disable-pthreads)   _pthreads=no    ;;
++  --enable-dbus-glib)   _dbus_glib=yes  ;;
++  --disable-dbus-glib)  _dbus_glib=no   ;;
+   --enable-ass)         _ass=yes        ;;
+   --disable-ass)        _ass=no         ;;
+   --enable-rpath)       _rpath=yes      ;;
+@@ -7029,6 +7033,19 @@
+ fi
+ echores "$_gethostbyname2"
+ 
++echocheck "D-BUS GLib interface"
++if test "$_dbus_glib" = auto && pkg-config --exists dbus-glib-1; then
++  _dbus_glib=yes
++  _inc_dbus_glib=`pkg-config --cflags dbus-glib-1 2>/dev/null`
++  _ld_dbus_glib=`pkg-config --libs dbus-glib-1 2>/dev/null`   
++fi
++  
++if test "$_dbus_glib" = yes; then
++  _def_dbus_glib='#define HAVE_DBUS_GLIB 1'
++else
++  _def_dbus_glib='#undef HAVE_DBUS_GLIB'
++fi
++echores "$_dbus_glib"
+ 
+ # --------------- GUI specific tests begin -------------------
+ echocheck "GUI"
+@@ -7521,6 +7538,10 @@
+ VESA_LIB = $_ld_vesa
+ AA_LIB = $_ld_aa
+ CACA_LIB = $_ld_caca
++DBUS_GLIB_INC = $_inc_dbus_glib
++DBUS_GLIB_LIB = $_ld_dbus_glib 
++DBUS_GLIB = $_dbus_glib
++
+ 
+ # audio output
+ OSS = $_ossaudio
+@@ -8378,6 +8399,7 @@
+ $_def_tga
+ $_def_toolame
+ $_def_twolame
++$_def_dbus_glib
+ 
+ /* used by GUI: */
+ $_def_xshape
+diff -Nur MPlayer-1.0rc1.orig/help/help_mp-en.h MPlayer-1.0rc1/help/help_mp-en.h
+--- MPlayer-1.0rc1.orig/help/help_mp-en.h	2006-10-23 00:32:29.000000000 +0200
++++ MPlayer-1.0rc1/help/help_mp-en.h	2006-11-11 14:02:38.000000000 +0100
+@@ -679,6 +679,13 @@
+ #define MSGTR_InsertingAfVolume "[Mixer] No hardware mixing, inserting volume filter.\n"
+ #define MSGTR_NoVolume "[Mixer] No volume control available.\n"
+ 
++// gnome_screensaver.c
++#define MSGTR_OpenBusConnectionError "%s: Failed to open connection to bus: %s\n"
++#define MSGTR_RemoteMethodException "%s: Caught remote method exception %s: %s\n"
++#define MSGTR_GError "%s: Error: %s\n"
++#define MSGTR_GNOMEScreensaverEnabled "GNOME screensaver enabled\n"
++#define MSGTR_GNOMEScreensaverDisabled "GNOME screensaver disabled\n"
++
+ // ====================== GUI messages/buttons ========================
+ 
+ #ifdef HAVE_NEW_GUI
+diff -Nur MPlayer-1.0rc1.orig/libvo/gnome_screensaver.c MPlayer-1.0rc1/libvo/gnome_screensaver.c
+--- MPlayer-1.0rc1.orig/libvo/gnome_screensaver.c	1970-01-01 01:00:00.000000000 +0100
++++ MPlayer-1.0rc1/libvo/gnome_screensaver.c	2006-11-11 14:02:38.000000000 +0100
+@@ -0,0 +1,120 @@
++/*
++ * gnome_screensaver.c v0.0.7
++ *
++ * Enable/Disable the GNOME screensaver
++ * Supports GNOME screensaver API 2.14 and 2.15
++ *
++ * Call gnome_screensaver_control(1) to enable and
++ * gnome_screensaver_control(0) to disable
++ *
++ */
++
++#include <stdlib.h>
++#include <unistd.h>
++#include <dbus/dbus-glib.h>
++
++#include "gnome_screensaver.h"
++#include "mp_msg.h"
++#include "help_mp.h"
++
++#define GS_SERVICE   "org.gnome.ScreenSaver"
++#define GS_PATH      "/org/gnome/ScreenSaver"
++#define GS_INTERFACE "org.gnome.ScreenSaver"
++
++#define GS_APPLICATION_NAME     "MPlayer"
++#define GS_REASON_FOR_INHIBIT   "Playing a movie"
++
++static guint32 cookie;
++
++void gnome_screensaver_control(int enable)
++{
++    DBusGConnection *connection;
++    GError *error;
++    DBusGProxy *proxy;
++    gboolean ret;
++    char *funcname = "gnome_screensaver_control()";
++
++    g_type_init();
++
++    /* Get a connection to the session bus */
++    error = NULL;
++    connection = dbus_g_bus_get(DBUS_BUS_SESSION, &error);
++    if (connection == NULL) {
++        mp_msg(MSGT_VO, MSGL_ERR,
++               funcname, MSGTR_OpenBusConnectionError, error->message);
++        g_error_free(error);
++        return;
++    }
++
++    /* Create a proxy object */
++    proxy = dbus_g_proxy_new_for_name(connection,
++                                      GS_SERVICE, GS_PATH, GS_INTERFACE);
++
++    /* Enable the screensaver */
++    if (enable) {
++        /* First call the GNOME screensaver 2.15 API method */
++        error = NULL;
++        ret =
++            dbus_g_proxy_call(proxy, "UnInhibit", &error, G_TYPE_UINT,
++                              cookie, G_TYPE_INVALID);
++
++        /* If this fails, try the GNOME screensaver 2.14 API */
++        if (!ret && error->domain == DBUS_GERROR
++            && error->code == DBUS_GERROR_UNKNOWN_METHOD) {
++            mp_msg(MSGT_VO, MSGL_V,
++                   "%s: GNOME screensaver 2.15 API failed, trying 2.14 API\n",
++                   funcname);
++            g_error_free(error);
++            error = NULL;
++            ret =
++                dbus_g_proxy_call(proxy, "AllowActivation", &error,
++                                  G_TYPE_INVALID, G_TYPE_INVALID);
++        }
++    }
++    /* Disable the screensaver */
++    else {
++        /* First call the GNOME screensaver 2.15 API method */
++        error = NULL;
++        ret =
++            dbus_g_proxy_call(proxy, "Inhibit", &error, G_TYPE_STRING,
++                              GS_APPLICATION_NAME, G_TYPE_STRING,
++                              GS_REASON_FOR_INHIBIT, G_TYPE_INVALID,
++                              G_TYPE_UINT, cookie, G_TYPE_INVALID);
++
++        /* If this fails, try the GNOME screensaver 2.14 API */
++        if (!ret && error->domain == DBUS_GERROR
++            && error->code == DBUS_GERROR_UNKNOWN_METHOD) {
++            mp_msg(MSGT_VO, MSGL_V,
++                   "%s: GNOME screensaver 2.15 API failed, trying 2.14 API\n",
++                   funcname);
++            g_error_free(error);
++            error = NULL;
++            ret =
++                dbus_g_proxy_call(proxy, "InhibitActivation", &error,
++                                  G_TYPE_STRING, GS_REASON_FOR_INHIBIT,
++                                  G_TYPE_INVALID, G_TYPE_INVALID);
++        }
++    }
++
++    if (!ret) {
++        /* Check if it's a remote exception or a regular GError */
++        if (error->domain == DBUS_GERROR
++            && error->code == DBUS_GERROR_REMOTE_EXCEPTION) {
++            mp_msg(MSGT_VO, MSGL_ERR,
++                   funcname, MSGTR_RemoteMethodException,
++                   dbus_g_error_get_name(error), error->message);
++        }
++        else {
++            mp_msg(MSGT_VO, MSGL_ERR,
++                   funcname, MSGTR_GError, error->message);
++        }
++        g_error_free(error);
++    }
++    else {
++        mp_msg(MSGT_VO, MSGL_INFO,
++               enable ? MSGTR_GNOMEScreensaverEnabled :
++               MSGTR_GNOMEScreensaverDisabled);
++    }
++
++    g_object_unref(proxy);
++}
+diff -Nur MPlayer-1.0rc1.orig/libvo/gnome_screensaver.h MPlayer-1.0rc1/libvo/gnome_screensaver.h
+--- MPlayer-1.0rc1.orig/libvo/gnome_screensaver.h	1970-01-01 01:00:00.000000000 +0100
++++ MPlayer-1.0rc1/libvo/gnome_screensaver.h	2006-11-11 14:02:38.000000000 +0100
+@@ -0,0 +1,6 @@
++#ifndef _GNOME_SCREENSAVER_H
++#define _GNOME_SCREENSAVER_H
++
++extern void gnome_screensaver_control(int enable);
++
++#endif /* !_GNOME_SCREENSAVER_H */
+diff -Nur MPlayer-1.0rc1.orig/libvo/Makefile MPlayer-1.0rc1/libvo/Makefile
+--- MPlayer-1.0rc1.orig/libvo/Makefile	2006-10-23 00:32:26.000000000 +0200
++++ MPlayer-1.0rc1/libvo/Makefile	2006-11-11 14:02:38.000000000 +0100
+@@ -39,6 +39,11 @@
+ SRCS += vosub_vidix.c
+ endif
+ 
++ifeq ($(DBUS_GLIB),yes)
++SRCS += gnome_screensaver.c
++LIBAV_INC += $(DBUS_GLIB_INC)
++endif
++
+ INCLUDE = -I. -I.. -I../osdep $(LIBAV_INC)
+ CFLAGS  = $(INCLUDE) $(OPTFLAGS) -DMPG12PLAY
+ 
+diff -Nur MPlayer-1.0rc1.orig/libvo/x11_common.c MPlayer-1.0rc1/libvo/x11_common.c
+--- MPlayer-1.0rc1.orig/libvo/x11_common.c	2006-10-23 00:32:26.000000000 +0200
++++ MPlayer-1.0rc1/libvo/x11_common.c	2006-11-11 14:02:38.000000000 +0100
+@@ -58,6 +58,10 @@
+ #include "mplayer.h"
+ #endif
+ 
++#ifdef HAVE_DBUS_GLIB
++#include "gnome_screensaver.h"
++#endif
++
+ #define WIN_LAYER_ONBOTTOM               2
+ #define WIN_LAYER_NORMAL                 4
+ #define WIN_LAYER_ONTOP                  6
+@@ -1701,8 +1705,12 @@
+         timeout_save = 0;
+     }
+ 
+-    if (stop_xscreensaver)
++    if (stop_xscreensaver) {
+         xscreensaver_enable();
++#ifdef HAVE_DBUS_GLIB
++        gnome_screensaver_control(1);
++#endif
++    }
+     if (kdescreensaver_was_running && stop_xscreensaver)
+     {
+         system
+@@ -1747,8 +1755,12 @@
+                             allow_exp);
+     }
+     // turning off screensaver
+-    if (stop_xscreensaver)
++    if (stop_xscreensaver) {
+         xscreensaver_disable(mDisplay);
++#ifdef HAVE_DBUS_GLIB
++        gnome_screensaver_control(0);
++#endif
++    }
+     if (stop_xscreensaver && !kdescreensaver_was_running)
+     {
+         kdescreensaver_was_running =
+diff -Nur MPlayer-1.0rc1.orig/Makefile MPlayer-1.0rc1/Makefile
+--- MPlayer-1.0rc1.orig/Makefile	2006-10-23 00:32:31.000000000 +0200
++++ MPlayer-1.0rc1/Makefile	2006-11-11 14:02:38.000000000 +0100
+@@ -75,6 +75,7 @@
+           $(DIRECTFB_LIB) \
+           $(CACA_LIB) \
+ 	  $(VESA_LIB) \
++	  $(DBUS_GLIB_LIB) \
+ 
+ ifeq ($(VIDIX),yes)
+ VO_LIBS += vidix/libvidix.a
diff --git a/abs/extra-testing/mplayer/PKGBUILD b/abs/extra-testing/mplayer/PKGBUILD
new file mode 100644
index 0000000..f69a21a
--- /dev/null
+++ b/abs/extra-testing/mplayer/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 3632 2008-06-26 11:48:49Z paul $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+pkgname=mplayer
+pkgver=1.0rc2
+pkgrel=5
+pkgdesc="A movie player for linux"
+arch=(i686 x86_64)
+depends=('libxxf86dga' 'libxv' 'libmad' 'giflib' 'cdparanoia' 'gtk2'
+         'sdl' 'lame' 'libtheora' 'xvidcore'
+         'libgl' 'smbclient' 'aalib' 'jack-audio-connection-kit'
+         'x264>=20080625' 'faac' 'lirc-utils' 'ttf-dejavu')
+license=('GPL')
+url="http://www.mplayerhq.hu/"
+makedepends=('libcaca' 'unzip' 'live-media' 'libdca' 'mesa')
+backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
+source=(http://www.mplayerhq.hu/MPlayer/releases/MPlayer-${pkgver}.tar.bz2
+        http://www.mplayerhq.hu/MPlayer/skins/Blue-1.7.tar.bz2        
+        http://www.mplayerhq.hu/MPlayer/patches/demux_audio_fix_20080129.diff
+        http://www.mplayerhq.hu/MPlayer/patches/demux_mov_fix_20080129.diff
+        http://www.mplayerhq.hu/MPlayer/patches/url_fix_20080120.diff
+        http://www.mplayerhq.hu/MPlayer/patches/stream_cddb_fix_20080120.diff
+	ivtv_2.6.24.patch)
+md5sums=('7e27e535c2d267637df34898f1b91707'
+         'e4e2020d11b681aac898103b3ba723c4'
+         '320af7daa1b248ee8e8c15d34d7923e3'
+         'ce999929155f509a3e6bee41d9d613ed'
+         '6a2c124586e1e6c44ae4ca1b4be9b6e4'
+         'c7d1bcdd61fcceb7598d61fe2213c587'
+	 '1ef35068587f6b6dbc99342567895236')
+
+build() {
+  cd $startdir/src/MPlayer-${pkgver}
+
+  # Custom CFLAGS break the mplayer build
+  unset CFLAGS
+
+  # Add support for gnome screensaver
+  #patch -p1 -i ../MPlayer-1.0rc1-gnome-screensaver.patch || return 1
+
+  # Workaround for changed ivtv interface since it went mainline in 2.6.24
+  patch -p1 -i ../ivtv_2.6.24.patch || return 1
+  
+  # Fix security issues
+  for p in demux_audio_fix_20080129.diff demux_mov_fix_20080129.diff url_fix_20080120.diff stream_cddb_fix_20080120.diff; do
+    patch -p0 -i ../${p}
+  done
+  
+  cd $startdir/src/MPlayer-${pkgver}
+
+  ./configure --prefix=/usr --enable-gui --disable-arts --enable-x11 \
+      --enable-runtime-cpudetection --confdir=/etc/mplayer --disable-nas \
+      --enable-gl --enable-tv-v4l1 --enable-tv-v4l2 --enable-largefiles \
+      --disable-liblzo --disable-speex --disable-openal \
+      --disable-fribidi --disable-libdv --disable-musepack \
+      --language=all --disable-dvdnav --disable-esd --disable-mga \
+      --disable-libamr_nb \
+      --with-extraincdir=/usr/lib/live-media
+
+  [ "$CARCH" = "i686" ] &&  sed 's|-march=i486|-march=i686|g' -i config.mak
+
+  make || return 1
+  make -j1 DESTDIR=${startdir}/pkg install
+  cp etc/{codecs.conf,input.conf,example.conf} ${startdir}/pkg/etc/mplayer/
+  ln -s /usr/share/fonts/TTF/DejaVuSans.ttf ${startdir}/pkg/usr/share/mplayer/subfont.ttf
+  rm -rf ${startdir}/pkg/usr/share/mplayer/font
+  mv ${startdir}/src/Blue ${startdir}/pkg/usr/share/mplayer/skins/default
+}
diff --git a/abs/extra-testing/mplayer/demux_audio_fix_20080129.diff b/abs/extra-testing/mplayer/demux_audio_fix_20080129.diff
new file mode 100644
index 0000000..1b18b6e
--- /dev/null
+++ b/abs/extra-testing/mplayer/demux_audio_fix_20080129.diff
@@ -0,0 +1,11 @@
+--- libmpdemux/demux_audio.c	(revision 24724)
++++ libmpdemux/demux_audio.c	(working copy)
+@@ -229,6 +229,8 @@
+           ptr += 4;
+ 
+           comment = ptr;
++          if (&comment[length] < comments || &comment[length] >= &comments[blk_len])
++            return;
+           c = comment[length];
+           comment[length] = 0;
+ 
diff --git a/abs/extra-testing/mplayer/demux_mov_fix_20080129.diff b/abs/extra-testing/mplayer/demux_mov_fix_20080129.diff
new file mode 100644
index 0000000..d83477b
--- /dev/null
+++ b/abs/extra-testing/mplayer/demux_mov_fix_20080129.diff
@@ -0,0 +1,45 @@
+--- libmpdemux/demux_mov.c	(revision 24724)
++++ libmpdemux/demux_mov.c	(working copy)
+@@ -173,11 +173,12 @@
+     i=trak->chunkmap_size;
+     while(i>0){
+ 	--i;
+-	for(j=trak->chunkmap[i].first;j<last;j++){
++	j=FFMAX(trak->chunkmap[i].first, 0);
++	for(;j<last;j++){
+ 	    trak->chunks[j].desc=trak->chunkmap[i].sdid;
+ 	    trak->chunks[j].size=trak->chunkmap[i].spc;
+ 	}
+-	last=trak->chunkmap[i].first;
++	last=FFMIN(trak->chunkmap[i].first, trak->chunks_size);
+     }
+ 
+ #if 0
+@@ -235,6 +236,8 @@
+     s=0;
+     for(j=0;j<trak->durmap_size;j++){
+ 	for(i=0;i<trak->durmap[j].num;i++){
++	    if (s >= trak->samples_size)
++		break;
+ 	    trak->samples[s].pts=pts;
+ 	    ++s;
+ 	    pts+=trak->durmap[j].dur;
+@@ -246,6 +249,8 @@
+     for(j=0;j<trak->chunks_size;j++){
+ 	off_t pos=trak->chunks[j].pos;
+ 	for(i=0;i<trak->chunks[j].size;i++){
++	    if (s >= trak->samples_size)
++		break;
+ 	    trak->samples[s].pos=pos;
+ 	    mp_msg(MSGT_DEMUX, MSGL_DBG3, "Sample %5d: pts=%8d  off=0x%08X  size=%d\n",s,
+ 		trak->samples[s].pts,
+@@ -1568,8 +1573,7 @@
+ 			if( udta_len>udta_size)
+ 				udta_len=udta_size;
+ 			{
+-			char dump[udta_len-4];
+-			stream_read(demuxer->stream, (char *)&dump, udta_len-4-4);
++			stream_skip(demuxer->stream, udta_len-4-4);
+ 			udta_size -= udta_len;
+ 			}
+ 		    }
diff --git a/abs/extra-testing/mplayer/ivtv_2.6.24.patch b/abs/extra-testing/mplayer/ivtv_2.6.24.patch
new file mode 100644
index 0000000..4e0a3fe
--- /dev/null
+++ b/abs/extra-testing/mplayer/ivtv_2.6.24.patch
@@ -0,0 +1,33 @@
+Patch to account for linux-2.6.24.x including ivtv, but MPlayer won't
+build against it.  See this link for more information and the origin
+of the patch:
+http://archives.free.net.ph/message/20080201.201454.1047775e.en.html
+Thanks to Robby Workman for pointing me to this one.
+
+diff -Nur MPlayer-1.0rc2.orig/configure MPlayer-1.0rc2/configure
+---  MPlayer-1.0rc2.orig/configure	2007-10-07 21:49:33.000000000 +0200
++++  MPlayer-1.0rc2/configure	2008-03-10 10:27:29.000000000 +0100
+@@ -4920,7 +4920,7 @@
+ echores "$_dxr3"
+ 
+ 
+-echocheck "IVTV TV-Out"
++echocheck "IVTV TV-Out (pre linux-2.6.24)"
+ if test "$_ivtv" = auto ; then
+   cat > $TMPC << EOF
+ #include <stdlib.h>
+@@ -4928,7 +4928,13 @@
+ #include <linux/types.h>
+ #include <linux/videodev2.h>
+ #include <linux/ivtv.h>
+-int main(void) { return 0; }
++#include <sys/ioctl.h>
++int main(void) { 
++struct ivtv_cfg_stop_decode sd;
++struct ivtv_cfg_start_decode sd1;
++ioctl (0, IVTV_IOC_START_DECODE, &sd1);
++ioctl (0, IVTV_IOC_STOP_DECODE, &sd);
++return 0; }
+ EOF
+   _ivtv=no
+   cc_check && _ivtv=yes
diff --git a/abs/extra-testing/mplayer/stream_cddb_fix_20080120.diff b/abs/extra-testing/mplayer/stream_cddb_fix_20080120.diff
new file mode 100644
index 0000000..45f7226
--- /dev/null
+++ b/abs/extra-testing/mplayer/stream_cddb_fix_20080120.diff
@@ -0,0 +1,32 @@
+--- stream/stream_cddb.c	(revision 24724)
++++ stream/stream_cddb.c	(working copy)
+@@ -53,6 +53,7 @@
+ #include "version.h"
+ #include "stream.h"
+ #include "network.h"
++#include "libavutil/intreadwrite.h"
+ 
+ #define DEFAULT_FREEDB_SERVER	"freedb.freedb.org"
+ #define DEFAULT_CACHE_DIR	"/.cddb/"
+@@ -453,8 +454,9 @@
+ 		} else {
+ 			len = ptr2-ptr+1;
+ 		}
++		len = FFMIN(sizeof(album_title) - 1, len);
+ 		strncpy(album_title, ptr, len);
+-		album_title[len-2]='\0';
++		album_title[len]='\0';
+ 	}
+ 	mp_msg(MSGT_DEMUX, MSGL_STATUS, MSGTR_MPDEMUX_CDDB_ParseOKFoundAlbumTitle, album_title);
+ 	return 0;
+@@ -490,8 +492,9 @@
+ 				} else {
+ 					len = ptr2-ptr+1;
+ 				}
++				len = FFMIN(sizeof(album_title) - 1, len);
+ 				strncpy(album_title, ptr, len);
+-				album_title[len-2]='\0';
++				album_title[len]='\0';
+ 			}
+ 			mp_msg(MSGT_DEMUX, MSGL_STATUS, MSGTR_MPDEMUX_CDDB_ParseOKFoundAlbumTitle, album_title);
+ 			return cddb_request_titles(cddb_data);
diff --git a/abs/extra-testing/mplayer/url_fix_20080120.diff b/abs/extra-testing/mplayer/url_fix_20080120.diff
new file mode 100644
index 0000000..a073589
--- /dev/null
+++ b/abs/extra-testing/mplayer/url_fix_20080120.diff
@@ -0,0 +1,10 @@
+--- stream/url.c	(revision 24724)
++++ stream/url.c	(working copy)
+@@ -328,6 +328,7 @@
+ 		}
+ 	}
+ 	
++	tmp = NULL;
+ 	while(i < len) {
+ 		// look for the next char that must be kept
+ 		for  (j=i;j<len;j++) {
-- 
cgit v0.12