[FFmpeg-cvslog] mp3adu: return error instead of just consuming bad packets

Justin Ruggles git at videolan.org
Sat Oct 29 02:31:35 CEST 2011


ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Tue Oct 25 12:45:39 2011 -0400| [99975966c319f8995f20c8db56a5cf77cfeb69ee] | committer: Justin Ruggles

mp3adu: return error instead of just consuming bad packets

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=99975966c319f8995f20c8db56a5cf77cfeb69ee
---

 libavcodec/mpegaudiodec.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c
index 58e2bf7..2751df6 100644
--- a/libavcodec/mpegaudiodec.c
+++ b/libavcodec/mpegaudiodec.c
@@ -1847,8 +1847,8 @@ static int decode_frame_adu(AVCodecContext *avctx, void *data, int *data_size,
 
     // Discard too short frames
     if (buf_size < HEADER_SIZE) {
-        *data_size = 0;
-        return buf_size;
+        av_log(avctx, AV_LOG_ERROR, "Packet is too small\n");
+        return AVERROR_INVALIDDATA;
     }
 
 
@@ -1859,8 +1859,8 @@ static int decode_frame_adu(AVCodecContext *avctx, void *data, int *data_size,
     header = AV_RB32(buf) | 0xffe00000;
 
     if (ff_mpa_check_header(header) < 0) { // Bad header, discard frame
-        *data_size = 0;
-        return buf_size;
+        av_log(avctx, AV_LOG_ERROR, "Invalid frame header\n");
+        return AVERROR_INVALIDDATA;
     }
 
     avpriv_mpegaudio_decode_header((MPADecodeHeader *)s, header);



More information about the ffmpeg-cvslog mailing list