summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-plugins/gst-plugins-ffmpeg')
-rw-r--r--media-plugins/gst-plugins-ffmpeg/ChangeLog12
-rw-r--r--media-plugins/gst-plugins-ffmpeg/Manifest8
-rw-r--r--media-plugins/gst-plugins-ffmpeg/files/0.10.4/01_new-codec-ids.patch12
-rw-r--r--media-plugins/gst-plugins-ffmpeg/files/0.10.4/02_av_picture_copy.patch97
-rw-r--r--media-plugins/gst-plugins-ffmpeg/files/0.10.4/03_disable-aac.patch13
-rw-r--r--media-plugins/gst-plugins-ffmpeg/files/0.10.4/04_disable-mpegts.patch33
-rw-r--r--media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.4-r1.ebuild (renamed from media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.4.ebuild)13
7 files changed, 182 insertions, 6 deletions
diff --git a/media-plugins/gst-plugins-ffmpeg/ChangeLog b/media-plugins/gst-plugins-ffmpeg/ChangeLog
index 2d3d5dc5ccba..43d28ffd7410 100644
--- a/media-plugins/gst-plugins-ffmpeg/ChangeLog
+++ b/media-plugins/gst-plugins-ffmpeg/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for media-plugins/gst-plugins-ffmpeg
# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-ffmpeg/ChangeLog,v 1.84 2008/06/22 23:23:57 loki_val Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-ffmpeg/ChangeLog,v 1.85 2008/06/23 22:34:46 loki_val Exp $
+
+*gst-plugins-ffmpeg-0.10.4-r1 (23 Jun 2008)
+
+ 23 Jun 2008; Peter Alfredsen <loki_val@gentoo.org>
+ +files/0.10.4/01_new-codec-ids.patch, +files/0.10.4/03_disable-aac.patch,
+ +files/0.10.4/02_av_picture_copy.patch,
+ +files/0.10.4/04_disable-mpegts.patch, -gst-plugins-ffmpeg-0.10.4.ebuild,
+ +gst-plugins-ffmpeg-0.10.4-r1.ebuild:
+ Revbump with patches to fix interaction with newer ffmpeg, courtesy of
+ Debian. Fixes bug 229015.
*gst-plugins-ffmpeg-0.10.4 (22 Jun 2008)
diff --git a/media-plugins/gst-plugins-ffmpeg/Manifest b/media-plugins/gst-plugins-ffmpeg/Manifest
index 7dc5ec61f35e..a0a905e60b2f 100644
--- a/media-plugins/gst-plugins-ffmpeg/Manifest
+++ b/media-plugins/gst-plugins-ffmpeg/Manifest
@@ -1,3 +1,7 @@
+AUX 0.10.4/01_new-codec-ids.patch 480 RMD160 6d104574a160609adbc4ebc709710a08421a5358 SHA1 3f98f84d4af9a75ddec1500a7a1b244ffec4d518 SHA256 342a62e3974af1b37f088b176aab2d784d8f803bb0c12864ee61082bd7da3252
+AUX 0.10.4/02_av_picture_copy.patch 4524 RMD160 38e0b4d994c1aea01073d61e363d2fa6d9830a12 SHA1 dbf0be37aeb7c8e7e592bdc81df70a5fab2a4831 SHA256 63c67fdd9a22cd69050bfa29b85e7c51c77a211967a18db57c9c60f99a07594f
+AUX 0.10.4/03_disable-aac.patch 578 RMD160 008bfffd264a0d7548f5ee311608970fbfa43db3 SHA1 134444d6c95bd18e240b2cf9ae41acce53f809cd SHA256 9c863f17c037efb9ac2093a743a080503863c7ed414e334816f842cf3010a0cc
+AUX 0.10.4/04_disable-mpegts.patch 1578 RMD160 42bbaf4583503cdfc989281eddcbb3b79bf7b898 SHA1 d8f97ac2e0d605847a422f266aa0d01a9076fd96 SHA256 e5e47a154cc60ef4379627ec0a4c42deafeab490106962ff735fbdfbe98ac057
DIST gst-ffmpeg-0.10.1.tar.bz2 2246682 RMD160 8106a431926c14411ce252f440ec6d1fbdd127d9 SHA1 a3bafaf83db1aadc14abc94c7d89cd7d2f739f0a SHA256 a2c877c38d057875c7dfbf1803030c5cc9707020b77f91673500d6ea8d858607
DIST gst-ffmpeg-0.10.2.tar.bz2 2515373 RMD160 844552e90da1b9b156042151722ec1b7a1c002ea SHA1 95ca222351a543c9a1f45e89e0695a3b709ec2f6 SHA256 ffa7c89bccab5d1be53b6fcedcf7a5c071d585cf522fee5864add05d350f5842
DIST gst-ffmpeg-0.10.3.tar.bz2 2529034 RMD160 0a56e2c896fb14d000c734c75bd5f64a35a2efc3 SHA1 dd40cc38f7581412e5e23d2bf401cc66c9ba1f55 SHA256 b85899ac1c792db2e12d7063c45c0c6638dc8cc234d3ac6786b739cc6486439f
@@ -5,6 +9,6 @@ DIST gst-ffmpeg-0.10.4.tar.bz2 3011048 RMD160 efcea2a3953c147eabd2aaa7ff5a3656e1
EBUILD gst-plugins-ffmpeg-0.10.1-r1.ebuild 1356 RMD160 e22b14cde21d4e69929205316d44ca10dce838a5 SHA1 64049ec884f036ea04367657367271e7682ab43f SHA256 baed3556c3628b5c209549af8489bb235dac2b355e92ad7a2f9d77e7dd8ceb99
EBUILD gst-plugins-ffmpeg-0.10.2.ebuild 1395 RMD160 aa185e9e2bf0c22b46b821275f8cac8710fc73f4 SHA1 379825085337ac83d2d3b980d55bfb81cc805b81 SHA256 9d73dc90af87057b0eff9470fe0c19c7e8339d3213d673e9aae2294d40b23b62
EBUILD gst-plugins-ffmpeg-0.10.3.ebuild 1429 RMD160 81608e0491265454d913a219163e8b8e90504a9a SHA1 bab3afa6bf58d1cc1c3a4ea28c99c35874690007 SHA256 84701d6c49f483e2dca32520ed17704766a508f91447680d71a32846fc89053c
-EBUILD gst-plugins-ffmpeg-0.10.4.ebuild 1839 RMD160 6a26560116b8cf5e7f5f2d4f950e194529bc8b43 SHA1 1200abd02009c6e1ecff7ed1a95be9f4efc34484 SHA256 222678afdb00eaf6dcad60db85d5cbac7c52f88eafc089ac635ea8d55906225f
-MISC ChangeLog 12268 RMD160 06ab0a60988e1c6ca22955cb87cc30bdb0117a97 SHA1 cc1e38953993493d3e58be193e304898c3f269fe SHA256 88426dd1216e853afaddf8ed32fa742ee686e710dac3b1b6f61382ec1340bffd
+EBUILD gst-plugins-ffmpeg-0.10.4-r1.ebuild 2038 RMD160 f5a51f77d141c875e71468b473bf49be9e244670 SHA1 51c4f42f89ee559e6163f7ffa8553c32da1c78f6 SHA256 e622d53bf6a4a44f68c9c087cf71c57628d042da5a0bf6cf9e7b6f3ea8a07087
+MISC ChangeLog 12702 RMD160 8bcaf2c93fccc1e5303c55e69f591981b591fa09 SHA1 ee8ef86c2249f00aa00daab74d1ea40447496fbf SHA256 bf35c658d74b309c469ed894cde7b02e0f22b126b42e16e220bcda916083b22d
MISC metadata.xml 181 RMD160 51814fbdcf7f32cfe70018b3af7fc798e41ff90d SHA1 faf40c45bd66b0072b95556cf7ab097d3be19511 SHA256 22c215902ccdc7fd8cdb765750fb23ea9d9b6c9d3edb1b45325c3469f8f6ffc5
diff --git a/media-plugins/gst-plugins-ffmpeg/files/0.10.4/01_new-codec-ids.patch b/media-plugins/gst-plugins-ffmpeg/files/0.10.4/01_new-codec-ids.patch
new file mode 100644
index 000000000000..ee7d45b5cb8c
--- /dev/null
+++ b/media-plugins/gst-plugins-ffmpeg/files/0.10.4/01_new-codec-ids.patch
@@ -0,0 +1,12 @@
+--- ext/ffmpeg/gstffmpegcodecmap.c.old 2008-05-12 17:24:59.000000000 +0200
++++ ext/ffmpeg/gstffmpegcodecmap.c 2008-05-12 17:26:20.000000000 +0200
+@@ -1051,6 +1051,9 @@
+ "samplesize", G_TYPE_INT, context->bits_per_sample, NULL);
+ }
+ break;
++ case CODEC_ID_VORBIS:
++ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-vorbis", NULL);
++ break;
+ default:
+ g_warning ("Unknown codec ID %d, please add here", codec_id);
+ break;
diff --git a/media-plugins/gst-plugins-ffmpeg/files/0.10.4/02_av_picture_copy.patch b/media-plugins/gst-plugins-ffmpeg/files/0.10.4/02_av_picture_copy.patch
new file mode 100644
index 000000000000..2028eed2cb9e
--- /dev/null
+++ b/media-plugins/gst-plugins-ffmpeg/files/0.10.4/02_av_picture_copy.patch
@@ -0,0 +1,97 @@
+diff -up gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegcodecmap.c~ gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegcodecmap.c
+--- gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegcodecmap.c~ 2008-05-22 20:18:14.000000000 +0200
++++ gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegcodecmap.c 2008-05-22 20:18:14.000000000 +0200
+@@ -3287,29 +3287,3 @@ gst_ffmpeg_avpicture_fill (AVPicture * p
+
+ return 0;
+ }
+-
+-/**
+- * Convert image 'src' to 'dst'.
+- *
+- * We use this code to copy two pictures between the same
+- * colorspaces, so this function is not realy used to do
+- * colorspace conversion.
+- * The ffmpeg code has a bug in it where odd sized frames were
+- * not copied completely. We adjust the input parameters for
+- * the original ffmpeg img_convert function here so that it
+- * still does the right thing.
+- */
+-int
+-gst_ffmpeg_img_convert (AVPicture * dst, int dst_pix_fmt,
+- const AVPicture * src, int src_pix_fmt, int src_width, int src_height)
+-{
+- struct SwsContext *ctx;
+- int res;
+-
+- ctx = sws_getContext (src_width, src_height, src_pix_fmt, src_width, src_height, dst_pix_fmt, 2, /* flags : bicubic */
+- NULL, NULL, NULL);
+- res = sws_scale (ctx, (uint8_t **) src->data, (int *) src->linesize,
+- 2, src_width, dst->data, dst->linesize);
+- sws_freeContext (ctx);
+- return res;
+-}
+diff -up gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegcodecmap.h~ gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegcodecmap.h
+--- gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegcodecmap.h~ 2008-05-22 20:17:56.000000000 +0200
++++ gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegcodecmap.h 2008-05-22 20:17:56.000000000 +0200
+@@ -125,15 +125,6 @@ gst_ffmpeg_avpicture_fill (AVPicture * p
+ int height);
+
+ /*
+- * convert an image, we only use this for copying the image, ie,
+- * convert between the same colorspaces.
+- */
+-int
+-gst_ffmpeg_img_convert (AVPicture * dst, int dst_pix_fmt,
+- const AVPicture * src, int src_pix_fmt,
+- int src_width, int src_height);
+-
+-/*
+ * Convert from/to a GStreamer <-> FFMpeg timestamp.
+ */
+ static inline guint64
+diff -up gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegdec.c~ gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegdec.c
+--- gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegdec.c~ 2008-05-22 20:27:02.000000000 +0200
++++ gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegdec.c 2008-05-22 20:27:02.000000000 +0200
+@@ -1342,11 +1342,7 @@ get_output_buffer (GstFFMpegDec * ffmpeg
+ gst_ffmpeg_avpicture_fill (&pic, GST_BUFFER_DATA (*outbuf),
+ ffmpegdec->context->pix_fmt, width, height);
+
+- /* the original convert function did not do the right thing, this
+- * is a patched up version that adjust widht/height so that the
+- * ffmpeg one works correctly. */
+- gst_ffmpeg_img_convert (&pic, ffmpegdec->context->pix_fmt,
+- (AVPicture *) ffmpegdec->picture,
++ av_picture_copy(&pic, (AVPicture *) ffmpegdec->picture,
+ ffmpegdec->context->pix_fmt, width, height);
+ }
+ ffmpegdec->picture->pts = -1;
+diff -up gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegdemux.c~ gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegdemux.c
+--- gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegdemux.c~ 2008-05-22 20:27:18.000000000 +0200
++++ gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegdemux.c 2008-05-22 20:27:18.000000000 +0200
+@@ -1268,9 +1268,8 @@ gst_ffmpegdemux_loop (GstPad * pad)
+ avstream->codec->pix_fmt, avstream->codec->width,
+ avstream->codec->height);
+
+- gst_ffmpeg_img_convert (&dst, avstream->codec->pix_fmt,
+- &src, avstream->codec->pix_fmt, avstream->codec->width,
+- avstream->codec->height);
++ av_picture_copy (&dst, &src, avstream->codec->pix_fmt,
++ avstream->codec->width, avstream->codec->height);
+ } else {
+ memcpy (GST_BUFFER_DATA (outbuf), pkt.data, outsize);
+ }
+diff -up gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegmux.c~ gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegmux.c
+--- gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegmux.c~ 2008-05-22 20:27:17.000000000 +0200
++++ gst-ffmpeg-0.10.4/ext/ffmpeg/gstffmpegmux.c 2008-05-22 20:27:17.000000000 +0200
+@@ -554,8 +554,8 @@ gst_ffmpegmux_collected (GstCollectPads
+ gst_ffmpeg_avpicture_fill (&src, GST_BUFFER_DATA (buf),
+ PIX_FMT_RGB24, st->codec->width, st->codec->height);
+
+- gst_ffmpeg_img_convert (&dst, PIX_FMT_RGB24,
+- &src, PIX_FMT_RGB24, st->codec->width, st->codec->height);
++ av_picture_copy(&dst, &src, PIX_FMT_RGB24,
++ st->codec->width, st->codec->height);
+ } else {
+ pkt.data = GST_BUFFER_DATA (buf);
+ pkt.size = GST_BUFFER_SIZE (buf);
diff --git a/media-plugins/gst-plugins-ffmpeg/files/0.10.4/03_disable-aac.patch b/media-plugins/gst-plugins-ffmpeg/files/0.10.4/03_disable-aac.patch
new file mode 100644
index 000000000000..8b71092998c9
--- /dev/null
+++ b/media-plugins/gst-plugins-ffmpeg/files/0.10.4/03_disable-aac.patch
@@ -0,0 +1,13 @@
+--- ext/ffmpeg/gstffmpegdec.c.old 2008-05-23 11:45:42.000000000 +0200
++++ ext/ffmpeg/gstffmpegdec.c 2008-05-23 11:48:52.000000000 +0200
+@@ -2456,7 +2456,9 @@
+ !strcmp (in_plugin->name, "vorbis") ||
+ !strcmp (in_plugin->name, "mpeg1video") ||
+ !strcmp (in_plugin->name, "wavpack") ||
+- !strcmp (in_plugin->name, "mp2")) {
++ !strcmp (in_plugin->name, "mp2") ||
++ !strcmp (in_plugin->name, "libfaad") ||
++ !strcmp (in_plugin->name, "mpeg4aac")) {
+ GST_LOG ("Ignoring decoder %s", in_plugin->name);
+ goto next;
+ }
diff --git a/media-plugins/gst-plugins-ffmpeg/files/0.10.4/04_disable-mpegts.patch b/media-plugins/gst-plugins-ffmpeg/files/0.10.4/04_disable-mpegts.patch
new file mode 100644
index 000000000000..ac8eaf14c300
--- /dev/null
+++ b/media-plugins/gst-plugins-ffmpeg/files/0.10.4/04_disable-mpegts.patch
@@ -0,0 +1,33 @@
+Index: gstffmpegdemux.c
+===================================================================
+RCS file: /cvs/gstreamer/gst-ffmpeg/ext/ffmpeg/gstffmpegdemux.c,v
+retrieving revision 1.90
+diff -u -p -r1.90 gstffmpegdemux.c
+--- ext/ffmpeg/gstffmpegdemux.c 13 May 2008 15:07:25 -0000 1.90
++++ ext/ffmpeg/gstffmpegdemux.c 18 May 2008 14:33:02 -0000
+@@ -1142,10 +1142,14 @@ gst_ffmpegdemux_type_find (GstTypeFind *
+ res = MAX (1, res * GST_TYPE_FIND_MAXIMUM / AVPROBE_SCORE_MAX);
+ /* Restrict the probability for MPEG-TS streams, because there is
+ * probably a better version in plugins-base, if the user has a recent
+- * plugins-base */
+- if (!strcmp (in_plugin->name, "mpegts"))
++ * plugins-base (in fact we shouldn't even get here for ffmpeg mpegts or
++ * mpegtsraw typefinders, since we blacklist them) */
++ if (g_str_has_prefix (in_plugin->name, "mpegts"))
+ res = MIN (res, GST_TYPE_FIND_POSSIBLE);
+
++ GST_LOG ("ffmpeg typefinder '%s' suggests %" GST_PTR_FORMAT ", p=%u%%",
++ in_plugin->name, params->sinkcaps, res);
++
+ gst_type_find_suggest (tf, res, params->sinkcaps);
+ }
+ }
+@@ -1552,6 +1556,7 @@ gst_ffmpegdemux_register (GstPlugin * pl
+ !strcmp (in_plugin->name, "mpc") ||
+ !strcmp (in_plugin->name, "mpc8") ||
+ !strcmp (in_plugin->name, "mpegts") ||
++ !strcmp (in_plugin->name, "mpegtsraw") ||
+ !strcmp (in_plugin->name, "nuv") ||
+ !strcmp (in_plugin->name, "swf") ||
+ !strcmp (in_plugin->name, "voc") || !strcmp (in_plugin->name, "gif"))
+
diff --git a/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.4.ebuild b/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.4-r1.ebuild
index 7fabd3dd9a8d..7495c0ca263c 100644
--- a/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.4.ebuild
+++ b/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.4-r1.ebuild
@@ -1,10 +1,11 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.4.ebuild,v 1.1 2008/06/22 23:23:58 loki_val Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.4-r1.ebuild,v 1.1 2008/06/23 22:34:46 loki_val Exp $
-inherit flag-o-matic eutils
+inherit flag-o-matic eutils base
-MY_PN=${PN/-plugins/}
+PD=${FILESDIR}/${PV}
+MY_PN=${PN/-plugins}
MY_P=${MY_PN}-${PV}
# Create a major/minor combo for SLOT
@@ -29,9 +30,15 @@ RDEPEND=">=media-libs/gstreamer-0.10.4
DEPEND="${RDEPEND}
dev-util/pkgconfig"
+PATCHES=( "${PD}/01_new-codec-ids.patch"
+ "${PD}/02_av_picture_copy.patch"
+ "${PD}/03_disable-aac.patch"
+ "${PD}/04_disable-mpegts.patch" )
+
src_unpack() {
unpack ${A}
cd "${S}"
+ base_src_unpack autopatch
sed -i \
-e 's,ffmpeg/avformat.h,libavformat/avformat.h,' \
-e 's,ffmpeg/avcodec.h,libavcodec/avcodec.h,' \