[gstreamer-bugs] [Bug 566250] [ffdec_aac] Crash in gst_ffmpegdec_audio_frame

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Wed Mar 4 12:13:00 PST 2009


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=566250

  GStreamer | gst-ffmpeg | Ver: 0.10.x

Edward Hervey changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|HEAD                        |0.10.7




------- Comment #13 from Edward Hervey  2009-03-04 20:13 UTC -------
Author: Edward Hervey <bilboed at bilboed.com>
Date:   Wed Mar 4 21:10:22 2009 +0100

    gstffmpegdec: Abort on first failure by AAC decoder. Fixes #566250.

    The problem is that the ffmpeg aac decoder fails... but still accepts
    the following buffers as if nothing happened. But because some things
    were not properly set in the internal code, all hell breaks loose.

diff --git a/ext/ffmpeg/gstffmpegdec.c b/ext/ffmpeg/gstffmpegdec.c
index 0bd5879..304604b 100644
--- a/ext/ffmpeg/gstffmpegdec.c
+++ b/ext/ffmpeg/gstffmpegdec.c
@@ -1858,6 +1858,13 @@ 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) && (oclass->in_plugin->id == CODEC_ID_AAC)) {
+    GST_WARNING_OBJECT (ffmpegdec, "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);


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=566250.




More information about the Gstreamer-bugs mailing list