mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 21:16:24 +00:00
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.
This commit is contained in:
parent
ec1ff94e7b
commit
9eb48ddcda
1 changed files with 7 additions and 0 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue