Commit 401a9950 authored by Alex Converse's avatar Alex Converse

In the event of a mismatch, do not follow the sample rate index in an AAC PCE.

This matches the behavior the reference decoder and fixes issue 1072.

Originally committed as revision 18957 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent e9859317
...@@ -231,12 +231,9 @@ static int decode_pce(AACContext * ac, enum ChannelPosition new_che_pos[4][MAX_E ...@@ -231,12 +231,9 @@ static int decode_pce(AACContext * ac, enum ChannelPosition new_che_pos[4][MAX_E
skip_bits(gb, 2); // object_type skip_bits(gb, 2); // object_type
sampling_index = get_bits(gb, 4); sampling_index = get_bits(gb, 4);
if(sampling_index > 12) { if (ac->m4ac.sampling_index != sampling_index)
av_log(ac->avccontext, AV_LOG_ERROR, "invalid sampling rate index %d\n", ac->m4ac.sampling_index); av_log(ac->avccontext, AV_LOG_WARNING, "Sample rate index in program config element does not match the sample rate index configured by the container.\n");
return -1;
}
ac->m4ac.sampling_index = 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);
num_back = get_bits(gb, 4); num_back = get_bits(gb, 4);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment