aac: Only set sample rate and object type from ADTS if output hasn't been configured.
authorAlex Converse <alex.converse@gmail.com>
Tue, 16 Aug 2011 18:04:03 +0000 (11:04 -0700)
committerLuca Barbato <lu_zero@gentoo.org>
Thu, 18 Aug 2011 20:29:41 +0000 (22:29 +0200)
Long term it would be nice to support error resilient reconfiguration
but right now setting this every frame does more harm than help.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavcodec/aacdec.c

index d554f41..ef5daed 100644 (file)
@@ -2092,10 +2092,10 @@ static int parse_adts_frame_header(AACContext *ac, GetBitContext *gb)
         if (ac->output_configured != OC_LOCKED) {
             ac->m4ac.sbr = -1;
             ac->m4ac.ps  = -1;
+            ac->m4ac.sample_rate     = hdr_info.sample_rate;
+            ac->m4ac.sampling_index  = hdr_info.sampling_index;
+            ac->m4ac.object_type     = hdr_info.object_type;
         }
-        ac->m4ac.sample_rate     = hdr_info.sample_rate;
-        ac->m4ac.sampling_index  = hdr_info.sampling_index;
-        ac->m4ac.object_type     = hdr_info.object_type;
         if (!ac->avctx->sample_rate)
             ac->avctx->sample_rate = hdr_info.sample_rate;
         if (hdr_info.num_aac_frames == 1) {