[FFmpeg-cvslog] aacdec: allow output reconfiguration on channel changes

Michael Niedermayer git at videolan.org
Sat Oct 29 02:31:41 CEST 2011


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Fri Oct 21 09:41:35 2011 +0000| [bc2dd36740ef13d1f95c243ff58167fafb3d9a51] | committer: Janne Grunau

aacdec: allow output reconfiguration on channel changes

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 at jannau.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bc2dd36740ef13d1f95c243ff58167fafb3d9a51
---

 libavcodec/aacdec.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index ca69e77..203ecd3 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -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;



More information about the ffmpeg-cvslog mailing list