summaryrefslogtreecommitdiff
path: root/staging/xine-lib
diff options
context:
space:
mode:
Diffstat (limited to 'staging/xine-lib')
-rw-r--r--staging/xine-lib/PKGBUILD48
-rw-r--r--staging/xine-lib/xine-lib-1.2.1-ffmpeg.patch75
2 files changed, 123 insertions, 0 deletions
diff --git a/staging/xine-lib/PKGBUILD b/staging/xine-lib/PKGBUILD
new file mode 100644
index 000000000..d84e13b7a
--- /dev/null
+++ b/staging/xine-lib/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 160700 2012-06-04 01:22:50Z eric $
+# Maintainer: Eric BĂ©langer <eric@archlinux.org>
+
+pkgname=xine-lib
+pkgver=1.2.1
+pkgrel=3
+pkgdesc="A multimedia playback engine"
+arch=('i686' 'x86_64')
+url="http://www.xine-project.org"
+license=('LGPL' 'GPL')
+depends=('libxvmc' 'ffmpeg' 'libxinerama')
+makedepends=('wavpack' 'faad2' 'libmng' 'imagemagick' 'mesa' 'libmodplug'
+ 'vcdimager' 'jack' 'aalib' 'libdca' 'a52dec' 'libmad'
+ 'libmpcdec' 'libcaca' 'libbluray' 'gnome-vfs' 'libvdpau')
+optdepends=('imagemagick: for using the imagemagick plugin' \
+ 'jack: for using the jack plugin' \
+ 'vcdimager: for using the vcd plugin' \
+ 'mesa: for using the opengl plugin' \
+ 'wavpack: for using the wavpack plugin' \
+ 'faad2: for using the faad plugin' \
+ 'libmng: for using the mng plugin' \
+ 'aalib: for using the aalib plugin' \
+ 'libmodplug: for using the modplug plugin' \
+ 'libdca: for using the dca plugin' \
+ 'a52dec: for using the a52 plugin' \
+ 'libmad: for using the mp3 plugin' \
+ 'libmpcdec: for using the musepack plugin' \
+ 'libcaca: for using the caca plugin' \
+ 'libbluray: for using the bluray plugin' \
+ 'gnome-vfs: for using the gnome-vfs plugin' \
+ 'libvdpau: for using the VDPAU plugin')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/xine/${pkgname}-${pkgver}.tar.xz
+ xine-lib-1.2.1-ffmpeg.patch)
+sha1sums=('ebb2648456504ff4ce08c34de258d3125832bb94'
+ '179558f72566574e52f3a79231aac25968f18ff0')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i "${srcdir}/xine-lib-1.2.1-ffmpeg.patch"
+ ./configure --prefix=/usr --with-wavpack --enable-vdpau --disable-optimizations
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/xine-lib/xine-lib-1.2.1-ffmpeg.patch b/staging/xine-lib/xine-lib-1.2.1-ffmpeg.patch
new file mode 100644
index 000000000..c036a0ec9
--- /dev/null
+++ b/staging/xine-lib/xine-lib-1.2.1-ffmpeg.patch
@@ -0,0 +1,75 @@
+# HG changeset patch
+# User Edgar Hucek <ebsi4711@gmail.com>
+# Date 1327873178 -3600
+# Node ID 69983efb1c928e64cc1900579b98142cef0569c4
+# Parent 61f51ebc2659363e308bedb10b9fa4e71a60cedc
+fix compile against recent ffmpeg
+
+diff -r 61f51ebc2659 -r 69983efb1c92 src/combined/ffmpeg/ff_video_decoder.c
+--- a/src/combined/ffmpeg/ff_video_decoder.c Sat Feb 04 18:52:01 2012 +0000
++++ b/src/combined/ffmpeg/ff_video_decoder.c Sun Jan 29 22:39:38 2012 +0100
+@@ -130,7 +130,9 @@
+
+ yuv_planes_t yuv;
+
++#ifdef AVPaletteControl
+ AVPaletteControl palette_control;
++#endif
+
+ #ifdef LOG
+ enum PixelFormat debug_fmt;
+@@ -218,7 +220,9 @@
+ /* We should really keep track of the ages of xine frames (see
+ * avcodec_default_get_buffer in libavcodec/utils.c)
+ * For the moment tell ffmpeg that every frame is new (age = bignumber) */
++#ifdef AVFRAMEAGE
+ av_frame->age = 256*256*256*64;
++#endif
+
+ av_frame->type= FF_BUFFER_TYPE_USER;
+
+@@ -1028,7 +1032,9 @@
+ memcpy(this->context->extradata, buf->decoder_info_ptr[2],
+ buf->decoder_info[2]);
+
+- } else if (buf->decoder_info[1] == BUF_SPECIAL_PALETTE) {
++ }
++#ifdef AVPaletteControl
++ else if (buf->decoder_info[1] == BUF_SPECIAL_PALETTE) {
+ unsigned int i;
+
+ palette_entry_t *demuxer_palette;
+@@ -1047,7 +1053,9 @@
+ }
+ decoder_palette->palette_changed = 1;
+
+- } else if (buf->decoder_info[1] == BUF_SPECIAL_RV_CHUNK_TABLE) {
++ }
++#endif
++ else if (buf->decoder_info[1] == BUF_SPECIAL_RV_CHUNK_TABLE) {
+ int i;
+
+ lprintf("BUF_SPECIAL_RV_CHUNK_TABLE\n");
+@@ -1794,7 +1802,9 @@
+ this->av_frame = avcodec_alloc_frame();
+ this->context = avcodec_alloc_context();
+ this->context->opaque = this;
++#ifdef AVPaletteControl
+ this->context->palctrl = NULL;
++#endif
+
+ this->decoder_ok = 0;
+ this->decoder_init_mode = 1;
+diff -r 61f51ebc2659 -r 69983efb1c92 src/combined/ffmpeg/ffmpeg_compat.h
+--- a/src/combined/ffmpeg/ffmpeg_compat.h Sat Feb 04 18:52:01 2012 +0000
++++ b/src/combined/ffmpeg/ffmpeg_compat.h Sun Jan 29 22:39:38 2012 +0100
+@@ -91,5 +91,9 @@
+ # define AVAUDIO 2
+ #endif
+
++/* AVFrame.age */
++#if !(LIBAVCODEC_VERSION_MAJOR >= 53 && LIBAVCODEC_VERSION_MAJOR >= 28 && LIBAVCODEC_VERSION_MICRO >= 1)
++# define AVFRAMEAGE 1
++#endif
+
+ #endif /* XINE_AVCODEC_COMPAT_H */