Browse Source

ttadec: check channel count as read from extradata.

fixes floating-point exception due to channels being set to 0.
fixes Bug 128.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
tags/n0.9
Shitiz Garg Justin Ruggles 14 years ago
parent
commit
8bd1f1a4c8
1 changed files with 5 additions and 0 deletions
  1. +5
    -0
      libavcodec/tta.c

+ 5
- 0
libavcodec/tta.c View File

@@ -221,6 +221,11 @@ static av_cold int tta_decode_init(AVCodecContext * avctx)
s->data_length = get_bits_long(&s->gb, 32);
skip_bits(&s->gb, 32); // CRC32 of header

if (s->channels == 0) {
av_log(s->avctx, AV_LOG_ERROR, "Invalid number of channels\n");
return AVERROR_INVALIDDATA;
}

switch(s->bps) {
case 2:
avctx->sample_fmt = AV_SAMPLE_FMT_S16;


Loading…
Cancel
Save