]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
dca: Set data_size outside block loop.
authorandoma <andoma@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Fri, 29 Aug 2008 10:12:44 +0000 (10:12 +0000)
committerandoma <andoma@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Fri, 29 Aug 2008 10:12:44 +0000 (10:12 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@15021 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/dca.c

index b4afd51087ca382aadedb3fe2e62159620d9241e..7eeecc0e7d614a7f698c88b5abbae18c912d4275 100644 (file)
@@ -1183,12 +1183,11 @@ static int dca_decode_frame(AVCodecContext * avctx,
 
     if(*data_size < (s->sample_blocks / 8) * 256 * sizeof(int16_t) * channels)
         return -1;
-    *data_size = 0;
+    *data_size = 256 / 8 * s->sample_blocks * sizeof(int16_t) * channels;
     for (i = 0; i < (s->sample_blocks / 8); i++) {
         dca_decode_block(s);
         s->dsp.float_to_int16_interleave(samples, s->samples_chanptr, 256, channels);
         samples += 256 * channels;
-        *data_size += 256 * sizeof(int16_t) * channels;
     }
 
     return buf_size;