1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-09-05 23:58:59 +02:00

AAC: Don't write an illegal sampling_index in a PCE to the MPEG4AudioConfig

member

Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 16249 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Alex Converse 2008-12-21 05:08:32 +00:00 committed by Robert Swain
parent 66c07ca96f
commit 99665a21f4

View File

@ -167,15 +167,16 @@ static void decode_channel_map(enum ChannelPosition *cpe_map,
*/ */
static int decode_pce(AACContext * ac, enum ChannelPosition new_che_pos[4][MAX_ELEM_ID], static int decode_pce(AACContext * ac, enum ChannelPosition new_che_pos[4][MAX_ELEM_ID],
GetBitContext * gb) { GetBitContext * gb) {
int num_front, num_side, num_back, num_lfe, num_assoc_data, num_cc; int num_front, num_side, num_back, num_lfe, num_assoc_data, num_cc, sampling_index;
skip_bits(gb, 2); // object_type skip_bits(gb, 2); // object_type
ac->m4ac.sampling_index = get_bits(gb, 4); sampling_index = get_bits(gb, 4);
if(ac->m4ac.sampling_index > 11) { if(sampling_index > 11) {
av_log(ac->avccontext, AV_LOG_ERROR, "invalid sampling rate index %d\n", ac->m4ac.sampling_index); av_log(ac->avccontext, AV_LOG_ERROR, "invalid sampling rate index %d\n", ac->m4ac.sampling_index);
return -1; return -1;
} }
ac->m4ac.sampling_index = sampling_index;
ac->m4ac.sample_rate = ff_mpeg4audio_sample_rates[ac->m4ac.sampling_index]; ac->m4ac.sample_rate = ff_mpeg4audio_sample_rates[ac->m4ac.sampling_index];
num_front = get_bits(gb, 4); num_front = get_bits(gb, 4);
num_side = get_bits(gb, 4); num_side = get_bits(gb, 4);