class com.sun.media.sound.SoftJitterCorrector$JitterStream$1 implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.media.sound.SoftJitterCorrector$JitterStream$1
  super_class: java.lang.Object
{
  final com.sun.media.sound.SoftJitterCorrector$JitterStream this$1;
    descriptor: Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.media.sound.SoftJitterCorrector$JitterStream);
    descriptor: (Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SoftJitterCorrector$JitterStream$1 this
         0: .line 126
            aload 0 /* this */
            aload 1
            putfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.media.sound.SoftJitterCorrector$JitterStream$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SoftJitterCorrector$JitterStream$1;
    MethodParameters:
        Name  Flags
      this$0  final

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=15, args_size=1
        start local 0 // com.sun.media.sound.SoftJitterCorrector$JitterStream$1 this
         0: .line 129
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.stream:Ljavax/sound/sampled/AudioInputStream;
            invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
            astore 1 /* format */
        start local 1 // javax.sound.sampled.AudioFormat format
         1: .line 130
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.buffers:[[B
            iconst_0
            aaload
            arraylength
            istore 2 /* bufflen */
        start local 2 // int bufflen
         2: .line 131
            iload 2 /* bufflen */
            aload 1 /* format */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
            idiv
            istore 3 /* frames */
        start local 3 // int frames
         3: .line 132
            iload 3 /* frames */
            i2d
            ldc 1.0E9
            dmul
         4: .line 133
            aload 1 /* format */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
            f2d
         5: .line 132
            ddiv
            d2l
            lstore 4 /* nanos */
        start local 4 // long nanos
         6: .line 134
            invokestatic java.lang.System.nanoTime:()J
            lstore 6 /* now */
        start local 6 // long now
         7: .line 135
            lload 6 /* now */
            lload 4 /* nanos */
            ladd
            lstore 8 /* next */
        start local 8 // long next
         8: .line 136
            iconst_0
            istore 10 /* correction */
        start local 10 // int correction
         9: .line 138
      StackMap locals: com.sun.media.sound.SoftJitterCorrector$JitterStream$1 javax.sound.sampled.AudioFormat int int long long long int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            dup
            astore 11
            monitorenter
        10: .line 139
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.active:Z
            ifne 13
        11: .line 140
            aload 11
            monitorexit
        12: goto 88
        13: .line 138
      StackMap locals: com.sun.media.sound.SoftJitterCorrector$JitterStream
      StackMap stack:
            aload 11
            monitorexit
        14: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 11
            monitorexit
        16: athrow
        17: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.buffers:[[B
            dup
            astore 12
            monitorenter
        18: .line 144
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.writepos:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.readpos:I
            isub
            istore 11 /* curbuffsize */
        start local 11 // int curbuffsize
        19: .line 145
            iload 10 /* correction */
            ifne 38
        20: .line 146
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            dup
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w:I
            iconst_1
            iadd
            putfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w:I
        21: .line 147
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_min:I
            ldc 2147483647
            if_icmpeq 38
        22: .line 148
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_count:I
            if_icmpne 38
        23: .line 149
            iconst_0
            istore 10 /* correction */
        24: .line 150
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_min:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_min_tol:I
            if_icmpge 30
        25: .line 151
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_min_tol:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_max_tol:I
            iadd
        26: .line 152
            iconst_2
        27: .line 151
            idiv
        28: .line 152
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_min:I
        29: .line 151
            isub
            istore 10 /* correction */
        30: .line 154
      StackMap locals: int byte[][]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_min:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_max_tol:I
            if_icmple 36
        31: .line 155
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_min_tol:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_max_tol:I
            iadd
        32: .line 156
            iconst_2
        33: .line 155
            idiv
        34: .line 156
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_min:I
        35: .line 155
            isub
            istore 10 /* correction */
        36: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            iconst_0
            putfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w:I
        37: .line 159
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            ldc 2147483647
            putfield com.sun.media.sound.SoftJitterCorrector$JitterStream.w_min:I
        38: .line 143
      StackMap locals:
      StackMap stack:
            aload 12
            monitorexit
        39: goto 59
        end local 11 // int curbuffsize
      StackMap locals: com.sun.media.sound.SoftJitterCorrector$JitterStream$1 javax.sound.sampled.AudioFormat int int long long long int top byte[][]
      StackMap stack: java.lang.Throwable
        40: aload 12
            monitorexit
        41: athrow
        start local 11 // int curbuffsize
        42: .line 165
      StackMap locals: com.sun.media.sound.SoftJitterCorrector$JitterStream$1 javax.sound.sampled.AudioFormat int int long long long int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.buffers:[[B
            dup
            astore 12
            monitorenter
        43: .line 166
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.writepos:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.readpos:I
            isub
            istore 11 /* curbuffsize */
        44: .line 165
            aload 12
            monitorexit
        45: goto 48
      StackMap locals: com.sun.media.sound.SoftJitterCorrector$JitterStream$1 javax.sound.sampled.AudioFormat int int long long long int int byte[][]
      StackMap stack: java.lang.Throwable
        46: aload 12
            monitorexit
        47: athrow
        48: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            dup
            astore 12
            monitorenter
        49: .line 169
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.active:Z
            ifne 52
        50: .line 170
            aload 12
            monitorexit
        51: goto 60
        52: .line 168
      StackMap locals: com.sun.media.sound.SoftJitterCorrector$JitterStream
      StackMap stack:
            aload 12
            monitorexit
        53: goto 56
      StackMap locals:
      StackMap stack: java.lang.Throwable
        54: aload 12
            monitorexit
        55: athrow
        56: .line 173
      StackMap locals:
      StackMap stack:
            lconst_1
            invokestatic java.lang.Thread.sleep:(J)V
        57: .line 174
            goto 59
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        58: pop
        59: .line 164
      StackMap locals:
      StackMap stack:
            iload 11 /* curbuffsize */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.bbuffer_max:I
            if_icmpgt 42
        60: .line 179
      StackMap locals:
      StackMap stack:
            iload 10 /* correction */
            ifge 62
        61: .line 180
            iinc 10 /* correction */ 1
            goto 77
        62: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            invokevirtual com.sun.media.sound.SoftJitterCorrector$JitterStream.nextWriteBuffer:()[B
            astore 12 /* buff */
        start local 12 // byte[] buff
        63: .line 184
            iconst_0
            istore 13 /* n */
        start local 13 // int n
        64: .line 185
            goto 73
        65: .line 186
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream.stream:Ljavax/sound/sampled/AudioInputStream;
            aload 12 /* buff */
            iload 13 /* n */
            aload 12 /* buff */
            arraylength
        66: .line 187
            iload 13 /* n */
            isub
        67: .line 186
            invokevirtual javax.sound.sampled.AudioInputStream.read:([BII)I
            istore 14 /* s */
        start local 14 // int s
        68: .line 188
            iload 14 /* s */
            ifge 70
        69: .line 189
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
        70: .line 190
      StackMap locals: int
      StackMap stack:
            iload 14 /* s */
            ifne 72
        71: .line 191
            invokestatic java.lang.Thread.yield:()V
        72: .line 192
      StackMap locals:
      StackMap stack:
            iload 13 /* n */
            iload 14 /* s */
            iadd
            istore 13 /* n */
        end local 14 // int s
        73: .line 185
      StackMap locals:
      StackMap stack:
            iload 13 /* n */
            aload 12 /* buff */
            arraylength
            if_icmpne 65
        end local 13 // int n
        74: .line 194
            goto 76
      StackMap locals: com.sun.media.sound.SoftJitterCorrector$JitterStream$1 javax.sound.sampled.AudioFormat int int long long long int int byte[]
      StackMap stack: java.io.IOException
        75: pop
        76: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftJitterCorrector$JitterStream$1.this$1:Lcom/sun/media/sound/SoftJitterCorrector$JitterStream;
            invokevirtual com.sun.media.sound.SoftJitterCorrector$JitterStream.commit:()V
        end local 12 // byte[] buff
        77: .line 200
      StackMap locals:
      StackMap stack:
            iload 10 /* correction */
            ifle 81
        78: .line 201
            iinc 10 /* correction */ -1
        79: .line 202
            invokestatic java.lang.System.nanoTime:()J
            lload 4 /* nanos */
            ladd
            lstore 8 /* next */
        80: .line 203
            goto 9
        81: .line 205
      StackMap locals:
      StackMap stack:
            lload 8 /* next */
            invokestatic java.lang.System.nanoTime:()J
            lsub
            lstore 12 /* wait */
        start local 12 // long wait
        82: .line 206
            lload 12 /* wait */
            lconst_0
            lcmp
            ifle 86
        83: .line 208
            lload 12 /* wait */
            ldc 1000000
            ldiv
            invokestatic java.lang.Thread.sleep:(J)V
        84: .line 209
            goto 86
      StackMap locals: com.sun.media.sound.SoftJitterCorrector$JitterStream$1 javax.sound.sampled.AudioFormat int int long long long int int long
      StackMap stack: java.lang.InterruptedException
        85: pop
        86: .line 213
      StackMap locals:
      StackMap stack:
            lload 8 /* next */
            lload 4 /* nanos */
            ladd
            lstore 8 /* next */
        end local 12 // long wait
        end local 11 // int curbuffsize
        87: .line 137
            goto 9
        88: .line 215
      StackMap locals:
      StackMap stack:
            return
        end local 10 // int correction
        end local 8 // long next
        end local 6 // long now
        end local 4 // long nanos
        end local 3 // int frames
        end local 2 // int bufflen
        end local 1 // javax.sound.sampled.AudioFormat format
        end local 0 // com.sun.media.sound.SoftJitterCorrector$JitterStream$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   89     0         this  Lcom/sun/media/sound/SoftJitterCorrector$JitterStream$1;
            1   89     1       format  Ljavax/sound/sampled/AudioFormat;
            2   89     2      bufflen  I
            3   89     3       frames  I
            6   89     4        nanos  J
            7   89     6          now  J
            8   89     8         next  J
            9   89    10   correction  I
           19   40    11  curbuffsize  I
           42   87    11  curbuffsize  I
           63   77    12         buff  [B
           64   74    13            n  I
           68   73    14            s  I
           82   87    12         wait  J
      Exception table:
        from    to  target  type
          10    12      15  any
          13    14      15  any
          15    16      15  any
          18    39      40  any
          40    41      40  any
          43    45      46  any
          46    47      46  any
          49    51      54  any
          52    53      54  any
          54    55      54  any
          56    57      58  Class java.lang.InterruptedException
          63    74      75  Class java.io.IOException
          83    84      85  Class java.lang.InterruptedException
}
SourceFile: "SoftJitterCorrector.java"
EnclosingMethod: com.sun.media.sound.SoftJitterCorrector$JitterStream.<init>:(Ljavax/sound/sampled/AudioInputStream;II)V
NestHost: com.sun.media.sound.SoftJitterCorrector
InnerClasses:
  private JitterStream = com.sun.media.sound.SoftJitterCorrector$JitterStream of com.sun.media.sound.SoftJitterCorrector
  com.sun.media.sound.SoftJitterCorrector$JitterStream$1