summaryrefslogtreecommitdiff
path: root/community/mlt
diff options
context:
space:
mode:
Diffstat (limited to 'community/mlt')
-rw-r--r--community/mlt/PKGBUILD10
-rw-r--r--community/mlt/ffmpeg.patch29
-rw-r--r--community/mlt/fix-segmentation-fault-at-exit-by-calling-av_lockmgr.patch37
3 files changed, 42 insertions, 34 deletions
diff --git a/community/mlt/PKGBUILD b/community/mlt/PKGBUILD
index 9a224af1d..fcfce8731 100644
--- a/community/mlt/PKGBUILD
+++ b/community/mlt/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 85375 2013-03-01 10:35:52Z andrea $
+# $Id: PKGBUILD 86716 2013-03-21 12:08:21Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Fabian Schoelzel <myfirstname.mylastname@googlemail.com>
# Contributor: funkyou <spamopfer@nickname.berlin.de>
@@ -8,7 +8,7 @@
pkgbase=mlt
pkgname=('mlt' 'mlt-python-bindings')
pkgver=0.8.8
-pkgrel=3
+pkgrel=4
pkgdesc="An open source multimedia framework"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.mltframework.org"
@@ -16,15 +16,15 @@ license=('GPL')
makedepends=('sdl_image' 'libsamplerate' 'libdv' 'qt4' 'sox' 'libxml2' 'gtk2' 'ffmpeg'
'frei0r-plugins' 'swig' 'python2' "jack" "ladspa")
source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
- ffmpeg.patch)
+ fix-segmentation-fault-at-exit-by-calling-av_lockmgr.patch)
md5sums=('06de4052cffd6760c468d7da9557edae'
- 'c28b4691d1715432d4de0055f4e2f5eb')
+ '8227e7a1b059b1b16901166d2a508317')
build() {
# mlt
cd "$srcdir/mlt-$pkgver"
-# patch -p1 <$srcdir/ffmpeg.patch
+ patch -p1 <$srcdir/fix-segmentation-fault-at-exit-by-calling-av_lockmgr.patch
[ $CARCH == "i686" ] && SSE2=--disable-sse2 || SSE2=
# SSE2=--disable-sse2
diff --git a/community/mlt/ffmpeg.patch b/community/mlt/ffmpeg.patch
deleted file mode 100644
index 7bd4903db..000000000
--- a/community/mlt/ffmpeg.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -wbBur mlt-0.8.2/src/modules/avformat/consumer_avformat.c mlt-0.8.2.my/src/modules/avformat/consumer_avformat.c
---- mlt-0.8.2/src/modules/avformat/consumer_avformat.c 2012-08-28 20:25:58.000000000 +0400
-+++ mlt-0.8.2.my/src/modules/avformat/consumer_avformat.c 2012-11-06 16:03:07.269782436 +0400
-@@ -237,11 +237,7 @@
- mlt_properties_set_data( properties, "acodec", codecs, 0, (mlt_destructor) mlt_properties_close, NULL );
- mlt_properties_set_data( doc, "audio_codecs", codecs, 0, NULL, NULL );
- while ( ( codec = av_codec_next( codec ) ) )
--#if LIBAVCODEC_VERSION_INT >= ((54<<16)+(0<<8)+0)
-- if ( ( codec->encode || codec->encode2 ) && codec->type == CODEC_TYPE_AUDIO )
--#else
-- if ( codec->encode && codec->type == CODEC_TYPE_AUDIO )
--#endif
-+ if ( ( codec->encode2 ) && codec->type == CODEC_TYPE_AUDIO )
- {
- snprintf( key, sizeof(key), "%d", mlt_properties_count( codecs ) );
- mlt_properties_set( codecs, key, codec->name );
-@@ -261,11 +257,7 @@
- mlt_properties_set_data( properties, "vcodec", codecs, 0, (mlt_destructor) mlt_properties_close, NULL );
- mlt_properties_set_data( doc, "video_codecs", codecs, 0, NULL, NULL );
- while ( ( codec = av_codec_next( codec ) ) )
--#if LIBAVCODEC_VERSION_INT >= ((54<<16)+(0<<8)+0)
-- if ( (codec->encode || codec->encode2) && codec->type == CODEC_TYPE_VIDEO )
--#else
-- if ( codec->encode && codec->type == CODEC_TYPE_VIDEO )
--#endif
-+ if ( (codec->encode2) && codec->type == CODEC_TYPE_VIDEO )
- {
- snprintf( key, sizeof(key), "%d", mlt_properties_count( codecs ) );
- mlt_properties_set( codecs, key, codec->name );
diff --git a/community/mlt/fix-segmentation-fault-at-exit-by-calling-av_lockmgr.patch b/community/mlt/fix-segmentation-fault-at-exit-by-calling-av_lockmgr.patch
new file mode 100644
index 000000000..eb81f33f4
--- /dev/null
+++ b/community/mlt/fix-segmentation-fault-at-exit-by-calling-av_lockmgr.patch
@@ -0,0 +1,37 @@
+From ef749d7b526f0762a00a369ea35b5b12c18142fb Mon Sep 17 00:00:00 2001
+From: Nicolas Boichat <nicolas@boichat.ch>
+Date: Wed, 20 Mar 2013 16:50:56 +0800
+Subject: [PATCH] Fix Segmentation fault at exit by calling
+ av_lockmgr_register( NULL );
+
+---
+ src/modules/avformat/factory.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/modules/avformat/factory.c b/src/modules/avformat/factory.c
+index ddf05fe..a273537 100644
+--- a/src/modules/avformat/factory.c
++++ b/src/modules/avformat/factory.c
+@@ -83,6 +83,11 @@ static int avformat_lockmgr(void **mutex, enum AVLockOp op)
+ return 0;
+ }
+
++static void avformat_exit( )
++{
++ av_lockmgr_register( NULL );
++}
++
+ static void avformat_init( )
+ {
+ // Initialise avformat if necessary
+@@ -98,6 +103,7 @@ static void avformat_init( )
+ avformat_network_init();
+ #endif
+ av_log_set_level( mlt_log_get_level() );
++ atexit(avformat_exit);
+ }
+ }
+
+--
+1.8.1.5
+