class com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream extends javax.sound.sampled.AudioInputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream
  super_class: javax.sound.sampled.AudioInputStream
{
  private final int PCM_SWITCH_SIGNED_8BIT;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 1

  private final int PCM_SWITCH_ENDIAN;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 2

  private final int PCM_SWITCH_SIGNED_LE;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 3

  private final int PCM_SWITCH_SIGNED_BE;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 4

  private final int PCM_UNSIGNED_LE2SIGNED_BE;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 5

  private final int PCM_SIGNED_LE2UNSIGNED_BE;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 6

  private final int PCM_UNSIGNED_BE2SIGNED_LE;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 7

  private final int PCM_SIGNED_BE2UNSIGNED_LE;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 8

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

  private int conversionType;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  final com.sun.media.sound.PCMtoPCMCodec this$0;
    descriptor: Lcom/sun/media/sound/PCMtoPCMCodec;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.media.sound.PCMtoPCMCodec, javax.sound.sampled.AudioInputStream, javax.sound.sampled.AudioFormat);
    descriptor: (Lcom/sun/media/sound/PCMtoPCMCodec;Ljavax/sound/sampled/AudioInputStream;Ljavax/sound/sampled/AudioFormat;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
        start local 2 // javax.sound.sampled.AudioInputStream stream
        start local 3 // javax.sound.sampled.AudioFormat outputFormat
         0: .line 346
            aload 0 /* this */
            aload 1
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.this$0:Lcom/sun/media/sound/PCMtoPCMCodec;
         1: .line 348
            aload 0 /* this */
            aload 2 /* stream */
            aload 3 /* outputFormat */
            ldc -1
            invokespecial javax.sound.sampled.AudioInputStream.<init>:(Ljava/io/InputStream;Ljavax/sound/sampled/AudioFormat;J)V
         2: .line 333
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.PCM_SWITCH_SIGNED_8BIT:I
         3: .line 334
            aload 0 /* this */
            iconst_2
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.PCM_SWITCH_ENDIAN:I
         4: .line 335
            aload 0 /* this */
            iconst_3
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.PCM_SWITCH_SIGNED_LE:I
         5: .line 336
            aload 0 /* this */
            iconst_4
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.PCM_SWITCH_SIGNED_BE:I
         6: .line 337
            aload 0 /* this */
            iconst_5
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.PCM_UNSIGNED_LE2SIGNED_BE:I
         7: .line 338
            aload 0 /* this */
            bipush 6
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.PCM_SIGNED_LE2UNSIGNED_BE:I
         8: .line 339
            aload 0 /* this */
            bipush 7
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.PCM_UNSIGNED_BE2SIGNED_LE:I
         9: .line 340
            aload 0 /* this */
            bipush 8
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.PCM_SIGNED_BE2UNSIGNED_LE:I
        10: .line 343
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.conversionType:I
        11: .line 350
            iconst_0
            istore 4 /* sampleSizeInBits */
        start local 4 // int sampleSizeInBits
        12: .line 351
            aconst_null
            astore 5 /* inputEncoding */
        start local 5 // javax.sound.sampled.AudioFormat$Encoding inputEncoding
        13: .line 352
            aconst_null
            astore 6 /* outputEncoding */
        start local 6 // javax.sound.sampled.AudioFormat$Encoding outputEncoding
        14: .line 356
            aload 2 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
            astore 9 /* inputFormat */
        start local 9 // javax.sound.sampled.AudioFormat inputFormat
        15: .line 359
            aload 1
            aload 9 /* inputFormat */
            aload 3 /* outputFormat */
            invokevirtual com.sun.media.sound.PCMtoPCMCodec.isConversionSupported:(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioFormat;)Z
            ifne 17
        16: .line 361
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported conversion: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* inputFormat */
            invokevirtual javax.sound.sampled.AudioFormat.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* outputFormat */
            invokevirtual javax.sound.sampled.AudioFormat.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 364
      StackMap locals: com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream com.sun.media.sound.PCMtoPCMCodec javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat int javax.sound.sampled.AudioFormat$Encoding javax.sound.sampled.AudioFormat$Encoding top top javax.sound.sampled.AudioFormat
      StackMap stack:
            aload 9 /* inputFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
            astore 5 /* inputEncoding */
        18: .line 365
            aload 3 /* outputFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
            astore 6 /* outputEncoding */
        19: .line 366
            aload 9 /* inputFormat */
            invokevirtual javax.sound.sampled.AudioFormat.isBigEndian:()Z
            istore 7 /* inputIsBigEndian */
        start local 7 // boolean inputIsBigEndian
        20: .line 367
            aload 3 /* outputFormat */
            invokevirtual javax.sound.sampled.AudioFormat.isBigEndian:()Z
            istore 8 /* outputIsBigEndian */
        start local 8 // boolean outputIsBigEndian
        21: .line 368
            aload 9 /* inputFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
            istore 4 /* sampleSizeInBits */
        22: .line 369
            aload 0 /* this */
            iload 4 /* sampleSizeInBits */
            bipush 8
            idiv
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.sampleSizeInBytes:I
        23: .line 373
            iload 4 /* sampleSizeInBits */
            bipush 8
            if_icmpne 32
        24: .line 374
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 5 /* inputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 28
        25: .line 375
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 6 /* outputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 376
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.conversionType:I
        27: .line 379
            goto 50
      StackMap locals: com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream com.sun.media.sound.PCMtoPCMCodec javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat int javax.sound.sampled.AudioFormat$Encoding javax.sound.sampled.AudioFormat$Encoding int int javax.sound.sampled.AudioFormat
      StackMap stack:
        28: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 5 /* inputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 50
        29: .line 380
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 6 /* outputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 50
        30: .line 381
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.conversionType:I
        31: .line 384
            goto 50
        32: .line 386
      StackMap locals:
      StackMap stack:
            aload 5 /* inputEncoding */
            aload 6 /* outputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 35
            iload 7 /* inputIsBigEndian */
            iload 8 /* outputIsBigEndian */
            if_icmpeq 35
        33: .line 388
            aload 0 /* this */
            iconst_2
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.conversionType:I
        34: .line 392
            goto 50
      StackMap locals:
      StackMap stack:
        35: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 5 /* inputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 39
            iload 7 /* inputIsBigEndian */
            ifne 39
        36: .line 393
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 6 /* outputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 39
            iload 8 /* outputIsBigEndian */
            ifeq 39
        37: .line 395
            aload 0 /* this */
            iconst_5
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.conversionType:I
        38: .line 398
            goto 50
      StackMap locals:
      StackMap stack:
        39: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 5 /* inputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 43
            iload 7 /* inputIsBigEndian */
            ifne 43
        40: .line 399
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 6 /* outputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 43
            iload 8 /* outputIsBigEndian */
            ifeq 43
        41: .line 401
            aload 0 /* this */
            bipush 6
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.conversionType:I
        42: .line 404
            goto 50
      StackMap locals:
      StackMap stack:
        43: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 5 /* inputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 47
            iload 7 /* inputIsBigEndian */
            ifeq 47
        44: .line 405
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 6 /* outputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 47
            iload 8 /* outputIsBigEndian */
            ifne 47
        45: .line 407
            aload 0 /* this */
            bipush 7
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.conversionType:I
        46: .line 410
            goto 50
      StackMap locals:
      StackMap stack:
        47: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 5 /* inputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 50
            iload 7 /* inputIsBigEndian */
            ifeq 50
        48: .line 411
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 6 /* outputEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 50
            iload 8 /* outputIsBigEndian */
            ifne 50
        49: .line 413
            aload 0 /* this */
            bipush 8
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.conversionType:I
        50: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* inputFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameSize:I
        51: .line 422
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameSize:I
            iconst_m1
            if_icmpne 53
        52: .line 423
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameSize:I
        53: .line 425
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            instanceof javax.sound.sampled.AudioInputStream
            ifeq 56
        54: .line 426
            aload 0 /* this */
            aload 2 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameLength:J
        55: .line 427
            goto 57
        56: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc -1
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameLength:J
        57: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            putfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.framePos:J
        58: .line 434
            return
        end local 9 // javax.sound.sampled.AudioFormat inputFormat
        end local 8 // boolean outputIsBigEndian
        end local 7 // boolean inputIsBigEndian
        end local 6 // javax.sound.sampled.AudioFormat$Encoding outputEncoding
        end local 5 // javax.sound.sampled.AudioFormat$Encoding inputEncoding
        end local 4 // int sampleSizeInBits
        end local 3 // javax.sound.sampled.AudioFormat outputFormat
        end local 2 // javax.sound.sampled.AudioInputStream stream
        end local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   59     0               this  Lcom/sun/media/sound/PCMtoPCMCodec$PCMtoPCMCodecStream;
            0   59     2             stream  Ljavax/sound/sampled/AudioInputStream;
            0   59     3       outputFormat  Ljavax/sound/sampled/AudioFormat;
           12   59     4   sampleSizeInBits  I
           13   59     5      inputEncoding  Ljavax/sound/sampled/AudioFormat$Encoding;
           14   59     6     outputEncoding  Ljavax/sound/sampled/AudioFormat$Encoding;
           20   59     7   inputIsBigEndian  Z
           21   59     8  outputIsBigEndian  Z
           15   59     9        inputFormat  Ljavax/sound/sampled/AudioFormat;
    MethodParameters:
              Name  Flags
      this$0        final
      stream        
      outputFormat  

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
         0: .line 448
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameSize:I
            iconst_1
            if_icmpne 11
         1: .line 449
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.conversionType:I
            iconst_1
            if_icmpne 10
         2: .line 450
            aload 0 /* this */
            invokespecial javax.sound.sampled.AudioInputStream.read:()I
            istore 1 /* temp */
        start local 1 // int temp
         3: .line 452
            iload 1 /* temp */
            ifge 4
            iload 1 /* temp */
            ireturn
         4: .line 454
      StackMap locals: int
      StackMap stack:
            iload 1 /* temp */
            bipush 15
            iand
            i2b
            istore 2 /* tempbyte */
        start local 2 // byte tempbyte
         5: .line 455
            iload 2 /* tempbyte */
            iflt 6
            sipush 128
            iload 2 /* tempbyte */
            ior
            i2b
            goto 7
      StackMap locals: int
      StackMap stack:
         6: bipush 127
            iload 2 /* tempbyte */
            iand
            i2b
      StackMap locals:
      StackMap stack: int
         7: istore 2 /* tempbyte */
         8: .line 456
            iload 2 /* tempbyte */
            bipush 15
            iand
            istore 1 /* temp */
         9: .line 458
            iload 1 /* temp */
            ireturn
        end local 2 // byte tempbyte
        end local 1 // int temp
        10: .line 462
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "cannot read a single byte if frame size > 1"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 465
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "cannot read a single byte if frame size > 1"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lcom/sun/media/sound/PCMtoPCMCodec$PCMtoPCMCodecStream;
            3   10     1      temp  I
            5   10     2  tempbyte  B
    Exceptions:
      throws java.io.IOException

  public int read(byte[]);
    descriptor: ([B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
        start local 1 // byte[] b
         0: .line 472
            aload 0 /* this */
            aload 1 /* b */
            iconst_0
            aload 1 /* b */
            arraylength
            invokevirtual com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.read:([BII)I
            ireturn
        end local 1 // byte[] b
        end local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/PCMtoPCMCodec$PCMtoPCMCodecStream;
            0    1     1     b  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 482
            iload 3 /* len */
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameSize:I
            irem
            ifeq 2
         1: .line 483
            iload 3 /* len */
            iload 3 /* len */
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameSize:I
            irem
            isub
            istore 3 /* len */
         2: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameLength:J
            ldc -1
            lcmp
            ifeq 4
            iload 3 /* len */
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameSize:I
            idiv
            i2l
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameLength:J
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.framePos:J
            lsub
            lcmp
            ifle 4
         3: .line 487
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameLength:J
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.framePos:J
            lsub
            l2i
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.frameSize:I
            imul
            istore 3 /* len */
         4: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokespecial javax.sound.sampled.AudioInputStream.read:([BII)I
            istore 4 /* readCount */
        start local 4 // int readCount
         5: .line 493
            iload 4 /* readCount */
            ifge 7
         6: .line 494
            iload 4 /* readCount */
            ireturn
         7: .line 499
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.conversionType:I
            tableswitch { // 1 - 8
                    1: 8
                    2: 10
                    3: 12
                    4: 14
                    5: 16
                    6: 16
                    7: 19
                    8: 19
              default: 21
          }
         8: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            iload 4 /* readCount */
            invokevirtual com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.switchSigned8bit:([BIII)V
         9: .line 503
            goto 21
        10: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            iload 4 /* readCount */
            invokevirtual com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.switchEndian:([BIII)V
        11: .line 507
            goto 21
        12: .line 510
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            iload 4 /* readCount */
            invokevirtual com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.switchSignedLE:([BIII)V
        13: .line 511
            goto 21
        14: .line 514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            iload 4 /* readCount */
            invokevirtual com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.switchSignedBE:([BIII)V
        15: .line 515
            goto 21
        16: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            iload 4 /* readCount */
            invokevirtual com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.switchSignedLE:([BIII)V
        17: .line 520
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            iload 4 /* readCount */
            invokevirtual com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.switchEndian:([BIII)V
        18: .line 521
            goto 21
        19: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            iload 4 /* readCount */
            invokevirtual com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.switchSignedBE:([BIII)V
        20: .line 526
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            iload 4 /* readCount */
            invokevirtual com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.switchEndian:([BIII)V
        21: .line 534
      StackMap locals:
      StackMap stack:
            iload 4 /* readCount */
            ireturn
        end local 4 // int readCount
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lcom/sun/media/sound/PCMtoPCMCodec$PCMtoPCMCodecStream;
            0   22     1          b  [B
            0   22     2        off  I
            0   22     3        len  I
            5   22     4  readCount  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  private void switchSigned8bit(byte[], int, int, int);
    descriptor: ([BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
        start local 4 // int readCount
         0: .line 540
            iload 2 /* off */
            istore 5 /* i */
        start local 5 // int i
         1: goto 6
         2: .line 541
      StackMap locals: int
      StackMap stack:
            aload 1 /* b */
            iload 5 /* i */
            aload 1 /* b */
            iload 5 /* i */
            baload
            iflt 3
            sipush 128
            aload 1 /* b */
            iload 5 /* i */
            baload
            ior
            i2b
            goto 4
      StackMap locals: com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream byte[] int int int int
      StackMap stack: byte[] int
         3: bipush 127
            aload 1 /* b */
            iload 5 /* i */
            baload
            iand
            i2b
      StackMap locals: com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream byte[] int int int int
      StackMap stack: byte[] int int
         4: bastore
         5: .line 540
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            iload 2 /* off */
            iload 4 /* readCount */
            iadd
            if_icmplt 2
        end local 5 // int i
         7: .line 543
            return
        end local 4 // int readCount
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/sun/media/sound/PCMtoPCMCodec$PCMtoPCMCodecStream;
            0    8     1          b  [B
            0    8     2        off  I
            0    8     3        len  I
            0    8     4  readCount  I
            1    7     5          i  I
    MethodParameters:
           Name  Flags
      b          
      off        
      len        
      readCount  

  private void switchSignedBE(byte[], int, int, int);
    descriptor: ([BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
        start local 4 // int readCount
         0: .line 547
            iload 2 /* off */
            istore 5 /* i */
        start local 5 // int i
         1: goto 6
         2: .line 548
      StackMap locals: int
      StackMap stack:
            aload 1 /* b */
            iload 5 /* i */
            aload 1 /* b */
            iload 5 /* i */
            baload
            iflt 3
            sipush 128
            aload 1 /* b */
            iload 5 /* i */
            baload
            ior
            i2b
            goto 4
      StackMap locals: com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream byte[] int int int int
      StackMap stack: byte[] int
         3: bipush 127
            aload 1 /* b */
            iload 5 /* i */
            baload
            iand
            i2b
      StackMap locals: com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream byte[] int int int int
      StackMap stack: byte[] int int
         4: bastore
         5: .line 547
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.sampleSizeInBytes:I
            iadd
            istore 5 /* i */
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            iload 2 /* off */
            iload 4 /* readCount */
            iadd
            if_icmplt 2
        end local 5 // int i
         7: .line 550
            return
        end local 4 // int readCount
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/sun/media/sound/PCMtoPCMCodec$PCMtoPCMCodecStream;
            0    8     1          b  [B
            0    8     2        off  I
            0    8     3        len  I
            0    8     4  readCount  I
            1    7     5          i  I
    MethodParameters:
           Name  Flags
      b          
      off        
      len        
      readCount  

  private void switchSignedLE(byte[], int, int, int);
    descriptor: ([BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
        start local 4 // int readCount
         0: .line 554
            iload 2 /* off */
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.sampleSizeInBytes:I
            iadd
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         1: goto 6
         2: .line 555
      StackMap locals: int
      StackMap stack:
            aload 1 /* b */
            iload 5 /* i */
            aload 1 /* b */
            iload 5 /* i */
            baload
            iflt 3
            sipush 128
            aload 1 /* b */
            iload 5 /* i */
            baload
            ior
            i2b
            goto 4
      StackMap locals: com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream byte[] int int int int
      StackMap stack: byte[] int
         3: bipush 127
            aload 1 /* b */
            iload 5 /* i */
            baload
            iand
            i2b
      StackMap locals: com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream byte[] int int int int
      StackMap stack: byte[] int int
         4: bastore
         5: .line 554
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.sampleSizeInBytes:I
            iadd
            istore 5 /* i */
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            iload 2 /* off */
            iload 4 /* readCount */
            iadd
            if_icmplt 2
        end local 5 // int i
         7: .line 557
            return
        end local 4 // int readCount
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/sun/media/sound/PCMtoPCMCodec$PCMtoPCMCodecStream;
            0    8     1          b  [B
            0    8     2        off  I
            0    8     3        len  I
            0    8     4  readCount  I
            1    7     5          i  I
    MethodParameters:
           Name  Flags
      b          
      off        
      len        
      readCount  

  private void switchEndian(byte[], int, int, int);
    descriptor: ([BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
        start local 4 // int readCount
         0: .line 561
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.sampleSizeInBytes:I
            iconst_2
            if_icmpne 8
         1: .line 562
            iload 2 /* off */
            istore 5 /* i */
        start local 5 // int i
         2: goto 7
         3: .line 564
      StackMap locals: int
      StackMap stack:
            aload 1 /* b */
            iload 5 /* i */
            baload
            istore 6 /* temp */
        start local 6 // byte temp
         4: .line 565
            aload 1 /* b */
            iload 5 /* i */
            aload 1 /* b */
            iload 5 /* i */
            iconst_1
            iadd
            baload
            bastore
         5: .line 566
            aload 1 /* b */
            iload 5 /* i */
            iconst_1
            iadd
            iload 6 /* temp */
            bastore
        end local 6 // byte temp
         6: .line 562
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream.sampleSizeInBytes:I
            iadd
            istore 5 /* i */
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 2 /* off */
            iload 4 /* readCount */
            iadd
            if_icmplt 3
        end local 5 // int i
         8: .line 569
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int readCount
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/sun/media/sound/PCMtoPCMCodec$PCMtoPCMCodecStream;
            0    9     1          b  [B
            0    9     2        off  I
            0    9     3        len  I
            0    9     4  readCount  I
            2    8     5          i  I
            4    6     6       temp  B
    MethodParameters:
           Name  Flags
      b          
      off        
      len        
      readCount  
}
SourceFile: "PCMtoPCMCodec.java"
NestHost: com.sun.media.sound.PCMtoPCMCodec
InnerClasses:
  PCMtoPCMCodecStream = com.sun.media.sound.PCMtoPCMCodec$PCMtoPCMCodecStream of com.sun.media.sound.PCMtoPCMCodec
  public Encoding = javax.sound.sampled.AudioFormat$Encoding of javax.sound.sampled.AudioFormat