Browse Source

Merge commit '48b24bd2d208ce0f124029ac4c5ac5cb1fca4175'

* commit '48b24bd2d208ce0f124029ac4c5ac5cb1fca4175':
  ac3dec: Fix out-of-array read

Conflicts:
	libavcodec/ac3dec.c

See: 2cbf27b08a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.2-rc1
Michael Niedermayer 12 years ago
parent
commit
ceaaf0d97e
1 changed files with 3 additions and 4 deletions
  1. +3
    -4
      libavcodec/ac3dec.c

+ 3
- 4
libavcodec/ac3dec.c View File

@@ -1367,10 +1367,6 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data,
s->out_channels = 2;
s->output_mode = AC3_CHMODE_STEREO;
}
avctx->channels = s->out_channels;
avctx->channel_layout = avpriv_ac3_channel_layout_tab[s->output_mode & ~AC3_OUTPUT_LFEON];
if (s->output_mode & AC3_OUTPUT_LFEON)
avctx->channel_layout |= AV_CH_LOW_FREQUENCY;

s->loro_center_mix_level = gain_levels[s-> center_mix_level];
s->loro_surround_mix_level = gain_levels[s->surround_mix_level];
@@ -1386,6 +1382,9 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data,
return AVERROR_INVALIDDATA;
}
avctx->channels = s->out_channels;
avctx->channel_layout = avpriv_ac3_channel_layout_tab[s->output_mode & ~AC3_OUTPUT_LFEON];
if (s->output_mode & AC3_OUTPUT_LFEON)
avctx->channel_layout |= AV_CH_LOW_FREQUENCY;

/* set audio service type based on bitstream mode for AC-3 */
avctx->audio_service_type = s->bitstream_mode;


Loading…
Cancel
Save