-
Anssi Hannula authored
AAC specification has 7.1(wide) as a default layout for 8-channel streams (channel config 7). However, at least Nero AAC encoder encodes non-wide 7.1 streams using the default channel config 7, mapping the side channels of the original audio stream to the second AAC_CHANNEL_FRONT pair in the AAC stream. Similarly, e.g. FAAD decodes the second AAC_CHANNEL_FRONT pair as side channels, therefore decoding the incorrect streams as if they were correct (and as the encoder intended). FFmpeg currently decodes such files by-the-spec, i.e. after decoding the original front pair will be in AV_CH_FRONT_x_OF_CENTER and the original side pair will be in AV_CH_FRONT_x. As actual intended 7.1(wide) streams are very rare while misencoded 7.1 files actually exist in the wild, default to assuming a 7.1 layout was intended unless in strict mode. Fixes playback of e.g. 8_Channel_ID.m4a in samples. Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
e10fccf6