On Mon, Mar 25, 2013 at 07:52:23PM +0400, Vadim Zhukov wrote:
> This fixes playing AAC streams for me. Okay?

Care to share some explanation: you are removing a block that looks legitimate 
at first glance.


> --
>   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:

-- 
Antoine

Reply via email to