This fixes playing AAC streams for me. Okay?
--
WBR,
Vadim Zhukov
Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/gstreamer-0.10/plugins-ffmpeg/Makefile,v
retrieving revision 1.32
diff -u -p -r1.32 Makefile
--- Makefile 25 Mar 2013 12:31:58 -0000 1.32
+++ Makefile 25 Mar 2013 15:50:17 -0000
@@ -5,7 +5,7 @@ COMMENT= ffmpeg element for GStreamer
V= 0.10.13
DISTNAME= gst-ffmpeg-${V}
PKGNAME= gstreamer-ffmpeg-${V}
-REVISION= 5
+REVISION= 6
# sync with graphics/ffmpeg
PERMIT_PACKAGE_CDROM= patents
Index: patches/patch-ext_ffmpeg_gstffmpegdec_c
===================================================================
RCS file:
/cvs/ports/multimedia/gstreamer-0.10/plugins-ffmpeg/patches/patch-ext_ffmpeg_gstffmpegdec_c,v
retrieving revision 1.4
diff -u -p -r1.4 patch-ext_ffmpeg_gstffmpegdec_c
--- patches/patch-ext_ffmpeg_gstffmpegdec_c 3 Mar 2012 10:33:42 -0000
1.4
+++ patches/patch-ext_ffmpeg_gstffmpegdec_c 25 Mar 2013 15:50:17 -0000
@@ -5,6 +5,7 @@ From upstream:
- Give the (E)AC3/DTS decoders a rank of marginal.
- Only set get_buffer() function for video.
- Only slice-threading.
+- Ignore AAC errors.
--- ext/ffmpeg/gstffmpegdec.c.orig Wed Nov 2 09:04:05 2011
+++ ext/ffmpeg/gstffmpegdec.c Fri Mar 2 17:23:48 2012
@@ -120,7 +121,23 @@ From upstream:
GST_DEBUG_OBJECT (ffmpegdec,
"Buffer interlacing does not match pad, updating");
buffer = gst_buffer_make_metadata_writable (buffer);
-@@ -3043,14 +3058,6 @@ gst_ffmpegdec_register (GstPlugin * plugin)
+@@ -2205,15 +2205,6 @@ gst_ffmpegdec_audio_frame (GstFFMpegDec * ffmpegdec,
+ *outbuf = NULL;
+ }
+
+- /* If we don't error out after the first failed read with the AAC decoder,
+- * we must *not* carry on pushing data, else we'll cause segfaults... */
+- if (len == -1 && (in_plugin->id == CODEC_ID_AAC
+- || in_plugin->id == CODEC_ID_AAC_LATM)) {
+- GST_ELEMENT_ERROR (ffmpegdec, STREAM, DECODE, (NULL),
+- ("Decoding of AAC stream by FFMPEG failed."));
+- *ret = GST_FLOW_ERROR;
+- }
+-
+ beach:
+ GST_DEBUG_OBJECT (ffmpegdec, "return flow %d, out %p, len %d",
+ *ret, *outbuf, len);
+@@ -3043,14 +3049,6 @@ gst_ffmpegdec_register (GstPlugin * plugin)
rank = GST_RANK_SECONDARY;
break;
case CODEC_ID_MP3: