From c848d1b444b9e03f047830c04f5e1e70183035e9 Mon Sep 17 00:00:00 2001 From: James Meyer 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 -+#include -+#include -+ -+#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 -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;jchunkmap[i].first, 0); -+ for(;jchunks[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;jdurmap_size;j++){ - for(i=0;idurmap[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;jchunks_size;j++){ - off_t pos=trak->chunks[j].pos; - for(i=0;ichunks[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 -@@ -4928,7 +4928,13 @@ - #include - #include - #include --int main(void) { return 0; } -+#include -+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/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 ++#include ++#include ++ ++#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 +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;jchunkmap[i].first, 0); ++ for(;jchunks[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;jdurmap_size;j++){ + for(i=0;idurmap[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;jchunks_size;j++){ + off_t pos=trak->chunks[j].pos; + for(i=0;ichunks[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 +@@ -4928,7 +4928,13 @@ + #include + #include + #include +-int main(void) { return 0; } ++#include ++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