[FFmpeg-cvslog] r23673 - trunk/libavcodec/aacdec.c

alexc subversion
Mon Jun 21 06:05:10 CEST 2010


Author: alexc
Date: Mon Jun 21 06:05:09 2010
New Revision: 23673

Log:
aacdec: Handle the first frame being empty case.

Modified:
   trunk/libavcodec/aacdec.c

Modified: trunk/libavcodec/aacdec.c
==============================================================================
--- trunk/libavcodec/aacdec.c	Mon Jun 21 03:05:30 2010	(r23672)
+++ trunk/libavcodec/aacdec.c	Mon Jun 21 06:05:09 2010	(r23673)
@@ -1985,7 +1985,7 @@ static int aac_decode_frame(AVCodecConte
     enum RawDataBlockType elem_type, elem_type_prev = TYPE_END;
     int err, elem_id, data_size_tmp;
     int buf_consumed;
-    int samples = 1024, multiplier;
+    int samples = 0, multiplier;
     int buf_offset;
 
     init_get_bits(&gb, buf, buf_size * 8);
@@ -2011,6 +2011,9 @@ static int aac_decode_frame(AVCodecConte
             return -1;
         }
 
+        if (elem_type < TYPE_DSE)
+            samples = 1024;
+
         switch (elem_type) {
 
         case TYPE_SCE:
@@ -2093,6 +2096,7 @@ static int aac_decode_frame(AVCodecConte
     }
     *data_size = data_size_tmp;
 
+    if (samples)
     ac->dsp.float_to_int16_interleave(data, (const float **)ac->output_data, samples, avctx->channels);
 
     if (ac->output_configured)



More information about the ffmpeg-cvslog mailing list