aacdec: allow output reconfiguration on channel changes
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 21 Oct 2011 09:41:35 +0000 (09:41 +0000)
committerJanne Grunau <janne-libav@jannau.net>
Fri, 28 Oct 2011 20:44:59 +0000 (22:44 +0200)
Locking the decoder against channel config changes in
parse_adts_frame_header() seems to be unnecessary and
streams with channel config changes are reported.

The sample in http://roundup.libav.org/issue999 still works.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
libavcodec/aacdec.c

index ca69e77..203ecd3 100644 (file)
@@ -2079,7 +2079,7 @@ static int parse_adts_frame_header(AACContext *ac, GetBitContext *gb)
 
     size = avpriv_aac_parse_header(gb, &hdr_info);
     if (size > 0) {
-        if (ac->output_configured != OC_LOCKED && hdr_info.chan_config) {
+        if (hdr_info.chan_config) {
             enum ChannelPosition new_che_pos[4][MAX_ELEM_ID];
             memset(new_che_pos, 0, 4 * MAX_ELEM_ID * sizeof(new_che_pos[0][0]));
             ac->m4ac.chan_config = hdr_info.chan_config;