diff -purN faad2-15092004.orig/libfaad/syntax.c faad2-15092004/libfaad/syntax.c --- faad2-15092004.orig/libfaad/syntax.c 2004-09-04 16:56:30.000000000 +0200 +++ faad2-15092004/libfaad/syntax.c 2005-04-03 15:09:13.971359854 +0200 @@ -427,6 +427,13 @@ void raw_data_block(NeAACDecHandle hDeco while ((id_syn_ele = (uint8_t)faad_getbits(ld, LEN_SE_ID DEBUGVAR(1,4,"NeAACDecDecode(): id_syn_ele"))) != ID_END) { + /* FIXME + * Hack, fixes issue with 6 channel AAC files where + * 8 channels are decoded + */ + if (hDecoder->fr_channels == 6) + break; + switch (id_syn_ele) { case ID_SCE: if (hDecoder->first_syn_ele == 25) hDecoder->first_syn_ele = id_syn_ele;