aacdec: disable locking code for parse_adts_frame_header() non zero chan config.
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 23 Sep 2011 00:43:57 +0000 (02:43 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 23 Sep 2011 00:43:57 +0000 (02:43 +0200)
This fixes changing channels
It possibly might cause regressions but i cant avoid this without having a test
case that needs the locking code.

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

index 161e9c6..557e526 100644 (file)
@@ -2079,7 +2079,7 @@ static int parse_adts_frame_header(AACContext *ac, GetBitContext *gb)
 
     size = ff_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;