diff options
author | Peter Alfredsen <loki_val@gentoo.org> | 2008-06-23 22:34:47 +0000 |
---|---|---|
committer | Peter Alfredsen <loki_val@gentoo.org> | 2008-06-23 22:34:47 +0000 |
commit | 3cfd2f28227ca81c689fa942f5bc0b135cf88bbc (patch) | |
tree | be06b3f394c42d9c7349255f165986ee7bc93462 /media-plugins | |
parent | Version bump, added RDEPEND back because pkg_resources is imported. Closes #2... (diff) | |
download | gentoo-2-3cfd2f28227ca81c689fa942f5bc0b135cf88bbc.tar.gz gentoo-2-3cfd2f28227ca81c689fa942f5bc0b135cf88bbc.tar.bz2 gentoo-2-3cfd2f28227ca81c689fa942f5bc0b135cf88bbc.zip |
Revbump with patches to fix interaction with newer ffmpeg, courtesy of Debian. Fixes bug 229015.
(Portage version: 2.2_rc1/cvs/Linux 2.6.25.8 i686)
Diffstat (limited to 'media-plugins')
-rw-r--r-- | media-plugins/gst-plugins-ffmpeg/ChangeLog | 12 | ||||
-rw-r--r-- | media-plugins/gst-plugins-ffmpeg/files/0.10.4/01_new-codec-ids.patch | 12 | ||||
-rw-r--r-- | media-plugins/gst-plugins-ffmpeg/files/0.10.4/02_av_picture_copy.patch | 97 | ||||
-rw-r--r-- | media-plugins/gst-plugins-ffmpeg/files/0.10.4/03_disable-aac.patch | 13 | ||||
-rw-r--r-- | media-plugins/gst-plugins-ffmpeg/files/0.10.4/04_disable-mpegts.patch | 33 | ||||
-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 |
6 files changed, 176 insertions, 4 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/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,' \ |