public final class com.sun.media.sound.SoftAudioBuffer
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.media.sound.SoftAudioBuffer
  super_class: java.lang.Object
{
  private int size;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private float[] buffer;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

  private boolean empty;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private javax.sound.sampled.AudioFormat format;
    descriptor: Ljavax/sound/sampled/AudioFormat;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.media.sound.AudioFloatConverter converter;
    descriptor: Lcom/sun/media/sound/AudioFloatConverter;
    flags: (0x0002) ACC_PRIVATE

  private byte[] converter_buffer;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  public void <init>(int, javax.sound.sampled.AudioFormat);
    descriptor: (ILjavax/sound/sampled/AudioFormat;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.media.sound.SoftAudioBuffer this
        start local 1 // int size
        start local 2 // javax.sound.sampled.AudioFormat format
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 40
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SoftAudioBuffer.empty:Z
         2: .line 46
            aload 0 /* this */
            iload 1 /* size */
            putfield com.sun.media.sound.SoftAudioBuffer.size:I
         3: .line 47
            aload 0 /* this */
            aload 2 /* format */
            putfield com.sun.media.sound.SoftAudioBuffer.format:Ljavax/sound/sampled/AudioFormat;
         4: .line 48
            aload 0 /* this */
            aload 2 /* format */
            invokestatic com.sun.media.sound.AudioFloatConverter.getConverter:(Ljavax/sound/sampled/AudioFormat;)Lcom/sun/media/sound/AudioFloatConverter;
            putfield com.sun.media.sound.SoftAudioBuffer.converter:Lcom/sun/media/sound/AudioFloatConverter;
         5: .line 49
            return
        end local 2 // javax.sound.sampled.AudioFormat format
        end local 1 // int size
        end local 0 // com.sun.media.sound.SoftAudioBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/sun/media/sound/SoftAudioBuffer;
            0    6     1    size  I
            0    6     2  format  Ljavax/sound/sampled/AudioFormat;
    MethodParameters:
        Name  Flags
      size    
      format  

  public void swap(com.sun.media.sound.SoftAudioBuffer);
    descriptor: (Lcom/sun/media/sound/SoftAudioBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // com.sun.media.sound.SoftAudioBuffer this
        start local 1 // com.sun.media.sound.SoftAudioBuffer swap
         0: .line 53
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.size:I
            istore 2 /* bak_size */
        start local 2 // int bak_size
         1: .line 54
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.buffer:[F
            astore 3 /* bak_buffer */
        start local 3 // float[] bak_buffer
         2: .line 55
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.empty:Z
            istore 4 /* bak_empty */
        start local 4 // boolean bak_empty
         3: .line 56
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.format:Ljavax/sound/sampled/AudioFormat;
            astore 5 /* bak_format */
        start local 5 // javax.sound.sampled.AudioFormat bak_format
         4: .line 57
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.converter:Lcom/sun/media/sound/AudioFloatConverter;
            astore 6 /* bak_converter */
        start local 6 // com.sun.media.sound.AudioFloatConverter bak_converter
         5: .line 58
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.converter_buffer:[B
            astore 7 /* bak_converter_buffer */
        start local 7 // byte[] bak_converter_buffer
         6: .line 60
            aload 0 /* this */
            aload 1 /* swap */
            getfield com.sun.media.sound.SoftAudioBuffer.size:I
            putfield com.sun.media.sound.SoftAudioBuffer.size:I
         7: .line 61
            aload 0 /* this */
            aload 1 /* swap */
            getfield com.sun.media.sound.SoftAudioBuffer.buffer:[F
            putfield com.sun.media.sound.SoftAudioBuffer.buffer:[F
         8: .line 62
            aload 0 /* this */
            aload 1 /* swap */
            getfield com.sun.media.sound.SoftAudioBuffer.empty:Z
            putfield com.sun.media.sound.SoftAudioBuffer.empty:Z
         9: .line 63
            aload 0 /* this */
            aload 1 /* swap */
            getfield com.sun.media.sound.SoftAudioBuffer.format:Ljavax/sound/sampled/AudioFormat;
            putfield com.sun.media.sound.SoftAudioBuffer.format:Ljavax/sound/sampled/AudioFormat;
        10: .line 64
            aload 0 /* this */
            aload 1 /* swap */
            getfield com.sun.media.sound.SoftAudioBuffer.converter:Lcom/sun/media/sound/AudioFloatConverter;
            putfield com.sun.media.sound.SoftAudioBuffer.converter:Lcom/sun/media/sound/AudioFloatConverter;
        11: .line 65
            aload 0 /* this */
            aload 1 /* swap */
            getfield com.sun.media.sound.SoftAudioBuffer.converter_buffer:[B
            putfield com.sun.media.sound.SoftAudioBuffer.converter_buffer:[B
        12: .line 67
            aload 1 /* swap */
            iload 2 /* bak_size */
            putfield com.sun.media.sound.SoftAudioBuffer.size:I
        13: .line 68
            aload 1 /* swap */
            aload 3 /* bak_buffer */
            putfield com.sun.media.sound.SoftAudioBuffer.buffer:[F
        14: .line 69
            aload 1 /* swap */
            iload 4 /* bak_empty */
            putfield com.sun.media.sound.SoftAudioBuffer.empty:Z
        15: .line 70
            aload 1 /* swap */
            aload 5 /* bak_format */
            putfield com.sun.media.sound.SoftAudioBuffer.format:Ljavax/sound/sampled/AudioFormat;
        16: .line 71
            aload 1 /* swap */
            aload 6 /* bak_converter */
            putfield com.sun.media.sound.SoftAudioBuffer.converter:Lcom/sun/media/sound/AudioFloatConverter;
        17: .line 72
            aload 1 /* swap */
            aload 7 /* bak_converter_buffer */
            putfield com.sun.media.sound.SoftAudioBuffer.converter_buffer:[B
        18: .line 73
            return
        end local 7 // byte[] bak_converter_buffer
        end local 6 // com.sun.media.sound.AudioFloatConverter bak_converter
        end local 5 // javax.sound.sampled.AudioFormat bak_format
        end local 4 // boolean bak_empty
        end local 3 // float[] bak_buffer
        end local 2 // int bak_size
        end local 1 // com.sun.media.sound.SoftAudioBuffer swap
        end local 0 // com.sun.media.sound.SoftAudioBuffer this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   19     0                  this  Lcom/sun/media/sound/SoftAudioBuffer;
            0   19     1                  swap  Lcom/sun/media/sound/SoftAudioBuffer;
            1   19     2              bak_size  I
            2   19     3            bak_buffer  [F
            3   19     4             bak_empty  Z
            4   19     5            bak_format  Ljavax/sound/sampled/AudioFormat;
            5   19     6         bak_converter  Lcom/sun/media/sound/AudioFloatConverter;
            6   19     7  bak_converter_buffer  [B
    MethodParameters:
      Name  Flags
      swap  

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

  public int getSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SoftAudioBuffer this
         0: .line 80
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.size:I
            ireturn
        end local 0 // com.sun.media.sound.SoftAudioBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SoftAudioBuffer;

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SoftAudioBuffer this
         0: .line 84
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.empty:Z
            ifne 3
         1: .line 85
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.buffer:[F
            fconst_0
            invokestatic java.util.Arrays.fill:([FF)V
         2: .line 86
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SoftAudioBuffer.empty:Z
         3: .line 88
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.media.sound.SoftAudioBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/media/sound/SoftAudioBuffer;

  public boolean isSilent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SoftAudioBuffer this
         0: .line 91
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.empty:Z
            ireturn
        end local 0 // com.sun.media.sound.SoftAudioBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SoftAudioBuffer;

  public float[] array();
    descriptor: ()[F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SoftAudioBuffer this
         0: .line 95
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftAudioBuffer.empty:Z
         1: .line 96
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.buffer:[F
            ifnonnull 3
         2: .line 97
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.size:I
            newarray 6
            putfield com.sun.media.sound.SoftAudioBuffer.buffer:[F
         3: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.buffer:[F
            areturn
        end local 0 // com.sun.media.sound.SoftAudioBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/media/sound/SoftAudioBuffer;

  public void get(byte[], int);
    descriptor: ([BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // com.sun.media.sound.SoftAudioBuffer this
        start local 1 // byte[] buffer
        start local 2 // int channel
         0: .line 103
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.format:Ljavax/sound/sampled/AudioFormat;
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.format:Ljavax/sound/sampled/AudioFormat;
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
            idiv
            istore 3 /* framesize_pc */
        start local 3 // int framesize_pc
         1: .line 104
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.size:I
            iload 3 /* framesize_pc */
            imul
            istore 4 /* c_len */
        start local 4 // int c_len
         2: .line 105
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.converter_buffer:[B
            ifnull 3
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.converter_buffer:[B
            arraylength
            iload 4 /* c_len */
            if_icmpge 4
         3: .line 106
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* c_len */
            newarray 8
            putfield com.sun.media.sound.SoftAudioBuffer.converter_buffer:[B
         4: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.format:Ljavax/sound/sampled/AudioFormat;
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
            iconst_1
            if_icmpne 7
         5: .line 109
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.converter:Lcom/sun/media/sound/AudioFloatConverter;
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftAudioBuffer.array:()[F
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.size:I
            aload 1 /* buffer */
            invokevirtual com.sun.media.sound.AudioFloatConverter.toByteArray:([FI[B)[B
            pop
         6: .line 110
            goto 25
         7: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.converter:Lcom/sun/media/sound/AudioFloatConverter;
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftAudioBuffer.array:()[F
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.size:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.converter_buffer:[B
            invokevirtual com.sun.media.sound.AudioFloatConverter.toByteArray:([FI[B)[B
            pop
         8: .line 112
            iload 2 /* channel */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.format:Ljavax/sound/sampled/AudioFormat;
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
            if_icmplt 10
         9: .line 113
            return
        10: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.format:Ljavax/sound/sampled/AudioFormat;
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
            iload 3 /* framesize_pc */
            imul
            istore 5 /* z_stepover */
        start local 5 // int z_stepover
        11: .line 115
            iload 3 /* framesize_pc */
            istore 6 /* k_stepover */
        start local 6 // int k_stepover
        12: .line 116
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        13: goto 24
        14: .line 117
      StackMap locals: int int int
      StackMap stack:
            iload 7 /* j */
            istore 8 /* k */
        start local 8 // int k
        15: .line 118
            iload 2 /* channel */
            iload 3 /* framesize_pc */
            imul
            iload 7 /* j */
            iadd
            istore 9 /* z */
        start local 9 // int z
        16: .line 119
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        17: goto 22
        18: .line 120
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* buffer */
            iload 9 /* z */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.converter_buffer:[B
            iload 8 /* k */
            baload
            bastore
        19: .line 121
            iload 9 /* z */
            iload 5 /* z_stepover */
            iadd
            istore 9 /* z */
        20: .line 122
            iload 8 /* k */
            iload 6 /* k_stepover */
            iadd
            istore 8 /* k */
        21: .line 119
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 10 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftAudioBuffer.size:I
            if_icmplt 18
        end local 10 // int i
        end local 9 // int z
        end local 8 // int k
        23: .line 116
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        24: iload 7 /* j */
            iload 3 /* framesize_pc */
            if_icmplt 14
        end local 7 // int j
        end local 6 // int k_stepover
        end local 5 // int z_stepover
        25: .line 127
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int c_len
        end local 3 // int framesize_pc
        end local 2 // int channel
        end local 1 // byte[] buffer
        end local 0 // com.sun.media.sound.SoftAudioBuffer this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0          this  Lcom/sun/media/sound/SoftAudioBuffer;
            0   26     1        buffer  [B
            0   26     2       channel  I
            1   26     3  framesize_pc  I
            2   26     4         c_len  I
           11   25     5    z_stepover  I
           12   25     6    k_stepover  I
           13   25     7             j  I
           15   23     8             k  I
           16   23     9             z  I
           17   23    10             i  I
    MethodParameters:
         Name  Flags
      buffer   
      channel  
}
SourceFile: "SoftAudioBuffer.java"