aac: reconfigure output on pop
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 22 Feb 2013 16:33:22 +0000 (17:33 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 22 Feb 2013 17:19:42 +0000 (18:19 +0100)
Fixes Ticket1918

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/aacdec.c

index 880a38e..87cb48a 100644 (file)
 static VLC vlc_scalefactors;
 static VLC vlc_spectral[11];
 
+static int output_configure(AACContext *ac,
+                            uint8_t layout_map[MAX_ELEM_ID*4][3], int tags,
+                            enum OCStatus oc_type, int get_new_frame);
+
 #define overread_err "Input buffer exhausted before END element found\n"
 
 static int count_channels(uint8_t (*layout)[3], int tags)
@@ -408,6 +412,8 @@ static void pop_output_configuration(AACContext *ac) {
         ac->oc[1] = ac->oc[0];
         ac->avctx->channels = ac->oc[1].channels;
         ac->avctx->channel_layout = ac->oc[1].channel_layout;
+        output_configure(ac, ac->oc[1].layout_map, ac->oc[1].layout_map_tags,
+                         ac->oc[1].status, 0);
     }
 }