[FFmpeg-cvslog] r18957 - trunk/libavcodec/aac.c

alexc subversion
Tue May 26 23:34:56 CEST 2009


Author: alexc
Date: Tue May 26 23:34:56 2009
New Revision: 18957

Log:
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.

Modified:
   trunk/libavcodec/aac.c

Modified: trunk/libavcodec/aac.c
==============================================================================
--- trunk/libavcodec/aac.c	Tue May 26 22:13:03 2009	(r18956)
+++ trunk/libavcodec/aac.c	Tue May 26 23:34:56 2009	(r18957)
@@ -231,12 +231,9 @@ static int decode_pce(AACContext * ac, e
     skip_bits(gb, 2);  // object_type
 
     sampling_index = get_bits(gb, 4);
-    if(sampling_index > 12) {
-        av_log(ac->avccontext, AV_LOG_ERROR, "invalid sampling rate index %d\n", ac->m4ac.sampling_index);
-        return -1;
-    }
-    ac->m4ac.sampling_index = sampling_index;
-    ac->m4ac.sample_rate = ff_mpeg4audio_sample_rates[ac->m4ac.sampling_index];
+    if (ac->m4ac.sampling_index != 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");
+
     num_front       = get_bits(gb, 4);
     num_side        = get_bits(gb, 4);
     num_back        = get_bits(gb, 4);



More information about the ffmpeg-cvslog mailing list