Browse Source

aacdec: don't return frames without data

Since commit 676a395a aac->frame->data is not necessarily allocated at
the end of aac_decode_frame_int if avctx->channels is 0.

In this case a bogus frame without any data, but non-zero nb_samples is
returned.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.7
Andreas Cadhalpun Michael Niedermayer 10 years ago
parent
commit
ec38a1ba40
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      libavcodec/aacdec.c

+ 6
- 0
libavcodec/aacdec.c View File

@@ -3073,6 +3073,12 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
AV_WL32(side, 2*AV_RL32(side));
}

if (!ac->frame->data[0] && samples) {
av_log(avctx, AV_LOG_ERROR, "no frame data found\n");
err = AVERROR_INVALIDDATA;
goto fail;
}

*got_frame_ptr = !!samples;
if (samples) {
ac->frame->nb_samples = samples;


Loading…
Cancel
Save