summaryrefslogtreecommitdiff
path: root/community/gpac
diff options
context:
space:
mode:
Diffstat (limited to 'community/gpac')
-rw-r--r--community/gpac/PKGBUILD53
-rw-r--r--community/gpac/gpac-ffmpeg.patch37
2 files changed, 90 insertions, 0 deletions
diff --git a/community/gpac/PKGBUILD b/community/gpac/PKGBUILD
new file mode 100644
index 000000000..b3ac37c1a
--- /dev/null
+++ b/community/gpac/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 94884 2013-08-01 06:54:59Z bpiotrowski $
+# Maintainer: Eric BĂ©langer <eric@archlinux.org>
+
+pkgname=gpac
+pkgver=4288
+pkgrel=3
+pkgdesc="A multimedia framework based on the MPEG-4 Systems standard"
+arch=('i686' 'x86_64')
+url="http://gpac.sourceforge.net"
+license=('LGPL')
+depends=('ffmpeg' 'libjpeg' 'libpng' 'glu' 'libxv')
+makedepends=('jack' 'a52dec' 'freetype2' 'faad2' 'libmad' 'mesa')
+optdepends=('jack: for jack support' 'a52dec: for A52 support'
+ 'faad2: for AAC support' 'libmad: for mp3 support')
+options=('!makeflags')
+source=(ftp://ftp.archlinux.org/other/community/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig} gpac-ffmpeg.patch)
+sha1sums=('6ba29de672b6e4260e510e0e16d5bc0ab09cabb6'
+ 'SKIP'
+ '63f59ab745c57bf7d242e942e30a4e6c7a1236b0')
+
+# source PKGBUILD && mksource
+mksource() {
+ [[ -x /usr/bin/svn ]] || (echo "svn not found. Install subversion." && return 1)
+ _svnver=${pkgver}
+ _svntrunk="svn://svn.code.sf.net/p/gpac/code/trunk/gpac"
+ _svnmod="$pkgname-${pkgver}"
+ mkdir ${pkgname}-${pkgver}
+ pushd ${pkgname}-${pkgver}
+ svn co $_svntrunk --config-dir ./ -r $_svnver $_svnmod
+ revision="$(svnversion ${pkgname}-${pkgver})"
+ echo "#define GPAC_SVN_REVISION \"$revision\"" > ${pkgname}-${pkgver}/include/gpac/revision.h
+ find . -depth -type d -name .svn -exec rm -rf {} \;
+ tar -cJf ../${pkgname}-${pkgver}.tar.xz ${pkgname}-${pkgver}/*
+ popd
+ rm -r ${pkgname}-${pkgver}
+ gpg --detach-sign --use-agent -u ${GPGKEY} ${pkgname}-${pkgver}.tar.xz
+}
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -p0 -i "${srcdir}/gpac-ffmpeg.patch"
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --mandir=/usr/share/man --X11-path=/usr --use-js=no
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install install-lib
+}
diff --git a/community/gpac/gpac-ffmpeg.patch b/community/gpac/gpac-ffmpeg.patch
new file mode 100644
index 000000000..035d7b65c
--- /dev/null
+++ b/community/gpac/gpac-ffmpeg.patch
@@ -0,0 +1,37 @@
+--- modules/ffmpeg_in/ffmpeg_decode.c 2013-03-11 21:43:22.000000000 -0400
++++ modules/ffmpeg_in/ffmpeg_decode.c 2013-07-11 23:38:15.108181474 -0400
+@@ -38,7 +38,9 @@
+ #undef USE_AVCODEC2
+ #endif
+
+-#if (LIBAVCODEC_VERSION_MAJOR >= 54) && (LIBAVCODEC_VERSION_MINOR >= 35)
++#if (LIBAVCODEC_VERSION_MAJOR >= 55)
++#define USE_AVCTX3
++#elif (LIBAVCODEC_VERSION_MAJOR >= 54) && (LIBAVCODEC_VERSION_MINOR >= 35)
+ #define USE_AVCTX3
+ #endif
+
+@@ -625,10 +628,11 @@
+ if (ffd->frame_start>inBufferLength) ffd->frame_start = 0;
+
+ redecode:
+- gotpic = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+ #ifdef USE_AVCODEC2
++ gotpic = 192000;
+ len = avcodec_decode_audio3(ctx, (short *)ffd->audio_buf, &gotpic, &pkt);
+ #else
++ gotpic = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+ len = avcodec_decode_audio2(ctx, (short *)ffd->audio_buf, &gotpic, inBuffer + ffd->frame_start, inBufferLength - ffd->frame_start);
+ #endif
+ if (len<0) { ffd->frame_start = 0; return GF_NON_COMPLIANT_BITSTREAM; }
+--- modules/ffmpeg_in/ffmpeg_in.h 2013-03-11 21:43:22.000000000 -0400
++++ modules/ffmpeg_in/ffmpeg_in.h 2013-07-11 23:38:15.108181474 -0400
+@@ -120,7 +120,7 @@
+
+ /*for audio packed frames*/
+ u32 frame_start;
+- char audio_buf[AVCODEC_MAX_AUDIO_FRAME_SIZE];
++ char audio_buf[192000];
+ Bool check_h264_isma;
+
+ u32 base_ES_ID;