private void decodeChannelMap(int[][] layoutMap,int layoutMapOffset,int type,int n){
  while (n-- != 0) {
    int synEle;
switch (type) {
case AAC_CHANNEL_FRONT:
case AAC_CHANNEL_BACK:
case AAC_CHANNEL_SIDE:
      synEle=br.read1();
    break;
case AAC_CHANNEL_CC:
  br.skip(1);
synEle=TYPE_CCE;
break;
case AAC_CHANNEL_LFE:
synEle=TYPE_LFE;
break;
default :
log.error(String.format("decodeChannelMap invalid type %d",type));
return;
}
layoutMap[layoutMapOffset][0]=synEle;
layoutMap[layoutMapOffset][1]=br.read(4);
layoutMap[layoutMapOffset][2]=type;
layoutMapOffset++;
}
}

private void decodeChannelMap ( int [ ] [ ] layoutMap , int layoutMapOffset , int type , int n ) { while ( n -- != 0 ) { int synEle ; switch ( type ) { case AAC_CHANNEL_FRONT : case AAC_CHANNEL_BACK : case AAC_CHANNEL_SIDE : synEle = br . read1 ( ) ; break ; case AAC_CHANNEL_CC : br . skip ( 1 ) ; synEle = TYPE_CCE ; break ; case AAC_CHANNEL_LFE : synEle = TYPE_LFE ; break ; default : log . error ( String . format ( "decodeChannelMap invalid type %d" , type ) ) ; return ; } layoutMap [ layoutMapOffset ] [ 0 ] = synEle ; layoutMap [ layoutMapOffset ] [ 1 ] = br . read ( 4 ) ; layoutMap [ layoutMapOffset ] [ 2 ] = type ; layoutMapOffset ++ ; } }
decode an array of 4 bit element ids , optionally interleaved with a stereo / mono switching bit .
