diff options
Diffstat (limited to 'staging/xine-lib')
-rw-r--r-- | staging/xine-lib/PKGBUILD | 48 | ||||
-rw-r--r-- | staging/xine-lib/xine-lib-1.2.1-ffmpeg.patch | 75 |
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 */ |