dca: return error if the frame header is invalid

pull/2/head
Justin Ruggles 13 years ago
parent f44059d260
commit aae6eead6a
  1. 7
      libavcodec/dca.c

@ -1637,7 +1637,7 @@ static int dca_decode_frame(AVCodecContext * avctx,
int lfe_samples;
int num_core_channels = 0;
int i;
int i, ret;
float *samples_flt = data;
int16_t *samples_s16 = data;
int out_size;
@ -1656,10 +1656,9 @@ static int dca_decode_frame(AVCodecContext * avctx,
}
init_get_bits(&s->gb, s->dca_buffer, s->dca_buffer_size * 8);
if (dca_parse_frame_header(s) < 0) {
if ((ret = dca_parse_frame_header(s)) < 0) {
//seems like the frame is corrupt, try with the next one
*data_size=0;
return buf_size;
return ret;
}
//set AVCodec values with parsed data
avctx->sample_rate = s->sample_rate;

Loading…
Cancel
Save