def GASpecificConfig(r, info):
 assert isinstance(info, DecoderSpecificInfo)
 r.skip(1)
 dependsOnCoreCoder = r.bits(1)
 if dependsOnCoreCoder:
  r.skip(14)
 extensionFlag = r.bits(1)
 if (not info.channelConfiguration):
  pce = ProgramConfigElement(r)
  info.pce_channels = pce.channels
 if ((info.audioObjectType == 6) or (info.audioObjectType == 20)):
  r.skip(3)
 if extensionFlag:
  if (info.audioObjectType == 22):
   r.skip((5 + 11))
  if (info.audioObjectType in (17, 19, 20, 23)):
   r.skip(((1 + 1) + 1))
  extensionFlag3 = r.bits(1)
  if (extensionFlag3 != 0):
   raise NotImplementedError('extensionFlag3 set')

def GASpecificConfig ( r , info ) : assert isinstance ( info , DecoderSpecificInfo ) r . skip ( 1 ) dependsOnCoreCoder = r . bits ( 1 ) if dependsOnCoreCoder : r . skip ( 14 ) extensionFlag = r . bits ( 1 ) if ( not info . channelConfiguration ) : pce = ProgramConfigElement ( r ) info . pce_channels = pce . channels if ( ( info . audioObjectType == 6 ) or ( info . audioObjectType == 20 ) ) : r . skip ( 3 ) if extensionFlag : if ( info . audioObjectType == 22 ) : r . skip ( ( 5 + 11 ) ) if ( info . audioObjectType in ( 17 , 19 , 20 , 23 ) ) : r . skip ( ( ( 1 + 1 ) + 1 ) ) extensionFlag3 = r . bits ( 1 ) if ( extensionFlag3 != 0 ) : raise NotImplementedError ( 'extensionFlag3 set' )
reads gaspecificconfig which is needed to get the data after that and to read program_config_element which can contain channel counts .