public final class com.sun.media.sound.SoftMixingMainMixer
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.media.sound.SoftMixingMainMixer
  super_class: java.lang.Object
{
  public static final int CHANNEL_LEFT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int CHANNEL_RIGHT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int CHANNEL_EFFECT1;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int CHANNEL_EFFECT2;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int CHANNEL_EFFECT3;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int CHANNEL_EFFECT4;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int CHANNEL_LEFT_DRY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final int CHANNEL_RIGHT_DRY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  public static final int CHANNEL_SCRATCH1;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  public static final int CHANNEL_SCRATCH2;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  public static final int CHANNEL_CHANNELMIXER_LEFT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 14

  public static final int CHANNEL_CHANNELMIXER_RIGHT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  private final com.sun.media.sound.SoftMixingMixer mixer;
    descriptor: Lcom/sun/media/sound/SoftMixingMixer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.sound.sampled.AudioInputStream ais;
    descriptor: Ljavax/sound/sampled/AudioInputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.media.sound.SoftAudioBuffer[] buffers;
    descriptor: [Lcom/sun/media/sound/SoftAudioBuffer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.media.sound.SoftAudioProcessor reverb;
    descriptor: Lcom/sun/media/sound/SoftAudioProcessor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.media.sound.SoftAudioProcessor chorus;
    descriptor: Lcom/sun/media/sound/SoftAudioProcessor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.media.sound.SoftAudioProcessor agc;
    descriptor: Lcom/sun/media/sound/SoftAudioProcessor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int nrofchannels;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object control_mutex;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<com.sun.media.sound.SoftMixingDataLine> openLinesList;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/sun/media/sound/SoftMixingDataLine;>;

  private com.sun.media.sound.SoftMixingDataLine[] openLines;
    descriptor: [Lcom/sun/media/sound/SoftMixingDataLine;
    flags: (0x0002) ACC_PRIVATE

  public javax.sound.sampled.AudioInputStream getInputStream();
    descriptor: ()Ljavax/sound/sampled/AudioInputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SoftMixingMainMixer this
         0: .line 87
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.ais:Ljavax/sound/sampled/AudioInputStream;
            areturn
        end local 0 // com.sun.media.sound.SoftMixingMainMixer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SoftMixingMainMixer;

  void processAudioBuffers();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.sun.media.sound.SoftMixingMainMixer this
         0: .line 91
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 4
         2: .line 92
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iload 1 /* i */
            aaload
            invokevirtual com.sun.media.sound.SoftAudioBuffer.clear:()V
         3: .line 91
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 1 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            arraylength
            if_icmplt 2
        end local 1 // int i
         5: .line 96
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         6: .line 97
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.openLines:[Lcom/sun/media/sound/SoftMixingDataLine;
            astore 1 /* openLines */
        start local 1 // com.sun.media.sound.SoftMixingDataLine[] openLines
         7: .line 98
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 11
         9: .line 99
      StackMap locals: com.sun.media.sound.SoftMixingMainMixer com.sun.media.sound.SoftMixingDataLine[] java.lang.Object int
      StackMap stack:
            aload 1 /* openLines */
            iload 3 /* i */
            aaload
            invokevirtual com.sun.media.sound.SoftMixingDataLine.processControlLogic:()V
        10: .line 98
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 1 /* openLines */
            arraylength
            if_icmplt 9
        end local 3 // int i
        12: .line 101
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.chorus:Lcom/sun/media/sound/SoftAudioProcessor;
            invokeinterface com.sun.media.sound.SoftAudioProcessor.processControlLogic:()V
        13: .line 102
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.reverb:Lcom/sun/media/sound/SoftAudioProcessor;
            invokeinterface com.sun.media.sound.SoftAudioProcessor.processControlLogic:()V
        14: .line 103
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.agc:Lcom/sun/media/sound/SoftAudioProcessor;
            invokeinterface com.sun.media.sound.SoftAudioProcessor.processControlLogic:()V
        15: .line 96
            aload 2
            monitorexit
        16: goto 19
        end local 1 // com.sun.media.sound.SoftMixingDataLine[] openLines
      StackMap locals: com.sun.media.sound.SoftMixingMainMixer top java.lang.Object
      StackMap stack: java.lang.Throwable
        17: aload 2
            monitorexit
        18: athrow
        start local 1 // com.sun.media.sound.SoftMixingDataLine[] openLines
        19: .line 105
      StackMap locals: com.sun.media.sound.SoftMixingMainMixer com.sun.media.sound.SoftMixingDataLine[]
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        20: goto 23
        21: .line 106
      StackMap locals: int
      StackMap stack:
            aload 1 /* openLines */
            iload 2 /* i */
            aaload
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            invokevirtual com.sun.media.sound.SoftMixingDataLine.processAudioLogic:([Lcom/sun/media/sound/SoftAudioBuffer;)V
        22: .line 105
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 2 /* i */
            aload 1 /* openLines */
            arraylength
            if_icmplt 21
        end local 2 // int i
        24: .line 109
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.chorus:Lcom/sun/media/sound/SoftAudioProcessor;
            invokeinterface com.sun.media.sound.SoftAudioProcessor.processAudio:()V
        25: .line 110
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.reverb:Lcom/sun/media/sound/SoftAudioProcessor;
            invokeinterface com.sun.media.sound.SoftAudioProcessor.processAudio:()V
        26: .line 112
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.agc:Lcom/sun/media/sound/SoftAudioProcessor;
            invokeinterface com.sun.media.sound.SoftAudioProcessor.processAudio:()V
        27: .line 114
            return
        end local 1 // com.sun.media.sound.SoftMixingDataLine[] openLines
        end local 0 // com.sun.media.sound.SoftMixingMainMixer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   28     0       this  Lcom/sun/media/sound/SoftMixingMainMixer;
            1    5     1          i  I
            7   17     1  openLines  [Lcom/sun/media/sound/SoftMixingDataLine;
           19   28     1  openLines  [Lcom/sun/media/sound/SoftMixingDataLine;
            8   12     3          i  I
           20   24     2          i  I
      Exception table:
        from    to  target  type
           6    16      17  any
          17    18      17  any

  public void <init>(com.sun.media.sound.SoftMixingMixer);
    descriptor: (Lcom/sun/media/sound/SoftMixingMixer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // com.sun.media.sound.SoftMixingMainMixer this
        start local 1 // com.sun.media.sound.SoftMixingMixer mixer
         0: .line 116
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SoftMixingMainMixer.openLinesList:Ljava/util/List;
         2: .line 84
            aload 0 /* this */
            iconst_0
            anewarray com.sun.media.sound.SoftMixingDataLine
            putfield com.sun.media.sound.SoftMixingMainMixer.openLines:[Lcom/sun/media/sound/SoftMixingDataLine;
         3: .line 117
            aload 0 /* this */
            aload 1 /* mixer */
            putfield com.sun.media.sound.SoftMixingMainMixer.mixer:Lcom/sun/media/sound/SoftMixingMixer;
         4: .line 119
            aload 0 /* this */
            aload 1 /* mixer */
            invokevirtual com.sun.media.sound.SoftMixingMixer.getFormat:()Ljavax/sound/sampled/AudioFormat;
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
            putfield com.sun.media.sound.SoftMixingMainMixer.nrofchannels:I
         5: .line 121
            aload 1 /* mixer */
            invokevirtual com.sun.media.sound.SoftMixingMixer.getFormat:()Ljavax/sound/sampled/AudioFormat;
            invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
            aload 1 /* mixer */
         6: .line 122
            invokevirtual com.sun.media.sound.SoftMixingMixer.getControlRate:()F
         7: .line 121
            fdiv
            f2i
            istore 2 /* buffersize */
        start local 2 // int buffersize
         8: .line 124
            aload 0 /* this */
            aload 1 /* mixer */
            getfield com.sun.media.sound.SoftMixingMixer.control_mutex:Ljava/lang/Object;
            putfield com.sun.media.sound.SoftMixingMainMixer.control_mutex:Ljava/lang/Object;
         9: .line 125
            aload 0 /* this */
            bipush 16
            anewarray com.sun.media.sound.SoftAudioBuffer
            putfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
        10: .line 126
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        11: goto 14
        12: .line 127
      StackMap locals: com.sun.media.sound.SoftMixingMainMixer com.sun.media.sound.SoftMixingMixer int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iload 3 /* i */
            new com.sun.media.sound.SoftAudioBuffer
            dup
            iload 2 /* buffersize */
            aload 1 /* mixer */
            invokevirtual com.sun.media.sound.SoftMixingMixer.getFormat:()Ljavax/sound/sampled/AudioFormat;
            invokespecial com.sun.media.sound.SoftAudioBuffer.<init>:(ILjavax/sound/sampled/AudioFormat;)V
            aastore
        13: .line 126
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            arraylength
            if_icmplt 12
        end local 3 // int i
        15: .line 131
            aload 0 /* this */
            new com.sun.media.sound.SoftReverb
            dup
            invokespecial com.sun.media.sound.SoftReverb.<init>:()V
            putfield com.sun.media.sound.SoftMixingMainMixer.reverb:Lcom/sun/media/sound/SoftAudioProcessor;
        16: .line 132
            aload 0 /* this */
            new com.sun.media.sound.SoftChorus
            dup
            invokespecial com.sun.media.sound.SoftChorus.<init>:()V
            putfield com.sun.media.sound.SoftMixingMainMixer.chorus:Lcom/sun/media/sound/SoftAudioProcessor;
        17: .line 133
            aload 0 /* this */
            new com.sun.media.sound.SoftLimiter
            dup
            invokespecial com.sun.media.sound.SoftLimiter.<init>:()V
            putfield com.sun.media.sound.SoftMixingMainMixer.agc:Lcom/sun/media/sound/SoftAudioProcessor;
        18: .line 135
            aload 1 /* mixer */
            invokevirtual com.sun.media.sound.SoftMixingMixer.getFormat:()Ljavax/sound/sampled/AudioFormat;
            invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
            fstore 3 /* samplerate */
        start local 3 // float samplerate
        19: .line 136
            aload 1 /* mixer */
            invokevirtual com.sun.media.sound.SoftMixingMixer.getControlRate:()F
            fstore 4 /* controlrate */
        start local 4 // float controlrate
        20: .line 137
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.reverb:Lcom/sun/media/sound/SoftAudioProcessor;
            fload 3 /* samplerate */
            fload 4 /* controlrate */
            invokeinterface com.sun.media.sound.SoftAudioProcessor.init:(FF)V
        21: .line 138
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.chorus:Lcom/sun/media/sound/SoftAudioProcessor;
            fload 3 /* samplerate */
            fload 4 /* controlrate */
            invokeinterface com.sun.media.sound.SoftAudioProcessor.init:(FF)V
        22: .line 139
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.agc:Lcom/sun/media/sound/SoftAudioProcessor;
            fload 3 /* samplerate */
            fload 4 /* controlrate */
            invokeinterface com.sun.media.sound.SoftAudioProcessor.init:(FF)V
        23: .line 141
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.reverb:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_1
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setMixMode:(Z)V
        24: .line 142
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.chorus:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_1
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setMixMode:(Z)V
        25: .line 143
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.agc:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_0
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setMixMode:(Z)V
        26: .line 145
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.chorus:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_0
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iconst_3
            aaload
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setInput:(ILcom/sun/media/sound/SoftAudioBuffer;)V
        27: .line 146
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.chorus:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_0
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iconst_0
            aaload
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setOutput:(ILcom/sun/media/sound/SoftAudioBuffer;)V
        28: .line 147
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.nrofchannels:I
            iconst_1
            if_icmpeq 30
        29: .line 148
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.chorus:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_1
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iconst_1
            aaload
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setOutput:(ILcom/sun/media/sound/SoftAudioBuffer;)V
        30: .line 149
      StackMap locals: com.sun.media.sound.SoftMixingMainMixer com.sun.media.sound.SoftMixingMixer int float float
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.chorus:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_2
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iconst_2
            aaload
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setOutput:(ILcom/sun/media/sound/SoftAudioBuffer;)V
        31: .line 151
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.reverb:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_0
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iconst_2
            aaload
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setInput:(ILcom/sun/media/sound/SoftAudioBuffer;)V
        32: .line 152
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.reverb:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_0
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iconst_0
            aaload
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setOutput:(ILcom/sun/media/sound/SoftAudioBuffer;)V
        33: .line 153
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.nrofchannels:I
            iconst_1
            if_icmpeq 35
        34: .line 154
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.reverb:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_1
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iconst_1
            aaload
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setOutput:(ILcom/sun/media/sound/SoftAudioBuffer;)V
        35: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.agc:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_0
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iconst_0
            aaload
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setInput:(ILcom/sun/media/sound/SoftAudioBuffer;)V
        36: .line 157
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.nrofchannels:I
            iconst_1
            if_icmpeq 38
        37: .line 158
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.agc:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_1
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iconst_1
            aaload
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setInput:(ILcom/sun/media/sound/SoftAudioBuffer;)V
        38: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.agc:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_0
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iconst_0
            aaload
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setOutput:(ILcom/sun/media/sound/SoftAudioBuffer;)V
        39: .line 160
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.nrofchannels:I
            iconst_1
            if_icmpeq 41
        40: .line 161
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.agc:Lcom/sun/media/sound/SoftAudioProcessor;
            iconst_1
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.buffers:[Lcom/sun/media/sound/SoftAudioBuffer;
            iconst_1
            aaload
            invokeinterface com.sun.media.sound.SoftAudioProcessor.setOutput:(ILcom/sun/media/sound/SoftAudioBuffer;)V
        41: .line 163
      StackMap locals:
      StackMap stack:
            new com.sun.media.sound.SoftMixingMainMixer$1
            dup
            aload 0 /* this */
            invokespecial com.sun.media.sound.SoftMixingMainMixer$1.<init>:(Lcom/sun/media/sound/SoftMixingMainMixer;)V
            astore 5 /* in */
        start local 5 // java.io.InputStream in
        42: .line 220
            aload 0 /* this */
            new javax.sound.sampled.AudioInputStream
            dup
            aload 5 /* in */
            aload 1 /* mixer */
            invokevirtual com.sun.media.sound.SoftMixingMixer.getFormat:()Ljavax/sound/sampled/AudioFormat;
        43: .line 221
            ldc -1
            invokespecial javax.sound.sampled.AudioInputStream.<init>:(Ljava/io/InputStream;Ljavax/sound/sampled/AudioFormat;J)V
        44: .line 220
            putfield com.sun.media.sound.SoftMixingMainMixer.ais:Ljavax/sound/sampled/AudioInputStream;
        45: .line 223
            return
        end local 5 // java.io.InputStream in
        end local 4 // float controlrate
        end local 3 // float samplerate
        end local 2 // int buffersize
        end local 1 // com.sun.media.sound.SoftMixingMixer mixer
        end local 0 // com.sun.media.sound.SoftMixingMainMixer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   46     0         this  Lcom/sun/media/sound/SoftMixingMainMixer;
            0   46     1        mixer  Lcom/sun/media/sound/SoftMixingMixer;
            8   46     2   buffersize  I
           11   15     3            i  I
           19   46     3   samplerate  F
           20   46     4  controlrate  F
           42   46     5           in  Ljava/io/InputStream;
    MethodParameters:
       Name  Flags
      mixer  

  public void openLine(com.sun.media.sound.SoftMixingDataLine);
    descriptor: (Lcom/sun/media/sound/SoftMixingDataLine;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.media.sound.SoftMixingMainMixer this
        start local 1 // com.sun.media.sound.SoftMixingDataLine line
         0: .line 226
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 227
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.openLinesList:Ljava/util/List;
            aload 1 /* line */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 228
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.openLinesList:Ljava/util/List;
         3: .line 229
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.openLinesList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray com.sun.media.sound.SoftMixingDataLine
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.media.sound.SoftMixingDataLine[]
         4: .line 228
            putfield com.sun.media.sound.SoftMixingMainMixer.openLines:[Lcom/sun/media/sound/SoftMixingDataLine;
         5: .line 226
            aload 2
            monitorexit
         6: goto 9
      StackMap locals: com.sun.media.sound.SoftMixingMainMixer com.sun.media.sound.SoftMixingDataLine java.lang.Object
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.media.sound.SoftMixingDataLine line
        end local 0 // com.sun.media.sound.SoftMixingMainMixer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/media/sound/SoftMixingMainMixer;
            0   10     1  line  Lcom/sun/media/sound/SoftMixingDataLine;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
      Name  Flags
      line  

  public void closeLine(com.sun.media.sound.SoftMixingDataLine);
    descriptor: (Lcom/sun/media/sound/SoftMixingDataLine;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.media.sound.SoftMixingMainMixer this
        start local 1 // com.sun.media.sound.SoftMixingDataLine line
         0: .line 234
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 235
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.openLinesList:Ljava/util/List;
            aload 1 /* line */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 236
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.openLinesList:Ljava/util/List;
         3: .line 237
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.openLinesList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray com.sun.media.sound.SoftMixingDataLine
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.media.sound.SoftMixingDataLine[]
         4: .line 236
            putfield com.sun.media.sound.SoftMixingMainMixer.openLines:[Lcom/sun/media/sound/SoftMixingDataLine;
         5: .line 238
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.openLines:[Lcom/sun/media/sound/SoftMixingDataLine;
            arraylength
            ifne 8
         6: .line 239
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.mixer:Lcom/sun/media/sound/SoftMixingMixer;
            getfield com.sun.media.sound.SoftMixingMixer.implicitOpen:Z
            ifeq 8
         7: .line 240
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.mixer:Lcom/sun/media/sound/SoftMixingMixer;
            invokevirtual com.sun.media.sound.SoftMixingMixer.close:()V
         8: .line 234
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 243
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.media.sound.SoftMixingDataLine line
        end local 0 // com.sun.media.sound.SoftMixingMainMixer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/sun/media/sound/SoftMixingMainMixer;
            0   13     1  line  Lcom/sun/media/sound/SoftMixingDataLine;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    MethodParameters:
      Name  Flags
      line  

  public com.sun.media.sound.SoftMixingDataLine[] getOpenLines();
    descriptor: ()[Lcom/sun/media/sound/SoftMixingDataLine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.media.sound.SoftMixingMainMixer this
         0: .line 246
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.control_mutex:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 247
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.openLines:[Lcom/sun/media/sound/SoftMixingDataLine;
            aload 1
            monitorexit
         2: areturn
         3: .line 246
      StackMap locals: com.sun.media.sound.SoftMixingMainMixer java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // com.sun.media.sound.SoftMixingMainMixer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/media/sound/SoftMixingMainMixer;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.sun.media.sound.SoftMixingMainMixer this
         0: .line 253
            aload 0 /* this */
            getfield com.sun.media.sound.SoftMixingMainMixer.openLines:[Lcom/sun/media/sound/SoftMixingDataLine;
            astore 1 /* openLines */
        start local 1 // com.sun.media.sound.SoftMixingDataLine[] openLines
         1: .line 254
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 255
      StackMap locals: com.sun.media.sound.SoftMixingDataLine[] int
      StackMap stack:
            aload 1 /* openLines */
            iload 2 /* i */
            aaload
            invokevirtual com.sun.media.sound.SoftMixingDataLine.close:()V
         4: .line 254
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* openLines */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 257
            return
        end local 1 // com.sun.media.sound.SoftMixingDataLine[] openLines
        end local 0 // com.sun.media.sound.SoftMixingMainMixer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/sun/media/sound/SoftMixingMainMixer;
            1    7     1  openLines  [Lcom/sun/media/sound/SoftMixingDataLine;
            2    6     2          i  I
}
SourceFile: "SoftMixingMainMixer.java"
NestMembers:
  com.sun.media.sound.SoftMixingMainMixer$1
InnerClasses:
  com.sun.media.sound.SoftMixingMainMixer$1