Class #10            -
  Class descriptor  : 'Lcom/valentinedesigns/chromalink/AudioBufferPolicy;'
  Access flags      : 0x0010 (FINAL)
  Superclass        : 'Ljava/lang/Object;'
  Interfaces        -
  Static fields     -
    #0              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'INITIAL_FRAMES'
      type          : 'I'
      access        : 0x0018 (STATIC FINAL)
      value         : 3584
    #1              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'MAX_FRAMES'
      type          : 'I'
      access        : 0x0018 (STATIC FINAL)
      value         : 5292
  Instance fields   -
    #0              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'active'
      type          : 'I'
      access        : 0x0002 (PRIVATE)
    #1              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'capacity'
      type          : 'I'
      access        : 0x0012 (PRIVATE FINAL)
    #2              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'chunk'
      type          : 'I'
      access        : 0x0012 (PRIVATE FINAL)
    #3              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'lastUnderruns'
      type          : 'I'
      access        : 0x0002 (PRIVATE)
  Direct methods    -
    #0              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : '<init>'
      type          : '(IIII)V'
      access        : 0x10000 (CONSTRUCTOR)
      code          -
      registers     : 5
      ins           : 5
      outs          : 2
      insns size    : 35 16-bit code units
00ec2c:                                        |[00ec2c] com.valentinedesigns.chromalink.AudioBufferPolicy.<init>:(IIII)V
00ec3c: 7010 5006 0000                         |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0650
00ec42: 3d01 1800                              |0003: if-lez v1, 001b // +0018
00ec46: 3d02 1600                              |0005: if-lez v2, 001b // +0016
00ec4a: 3d03 1400                              |0007: if-lez v3, 001b // +0014
00ec4e: 5901 7400                              |0009: iput v1, v0, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.capacity:I // field@0074
00ec52: 7120 4806 2100                         |000b: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@0648
00ec58: 0a01                                   |000e: move-result v1
00ec5a: 5901 7300                              |000f: iput v1, v0, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.active:I // field@0073
00ec5e: 5903 7500                              |0011: iput v3, v0, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.chunk:I // field@0075
00ec62: 1201                                   |0013: const/4 v1, #int 0 // #0
00ec64: 7120 4406 4100                         |0014: invoke-static {v1, v4}, Ljava/lang/Math;.max:(II)I // method@0644
00ec6a: 0a01                                   |0017: move-result v1
00ec6c: 5901 7600                              |0018: iput v1, v0, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.lastUnderruns:I // field@0076
00ec70: 0e00                                   |001a: return-void
00ec72: 2201 3d01                              |001b: new-instance v1, Ljava/lang/IllegalArgumentException; // type@013d
00ec76: 1a02 3104                              |001d: const-string v2, "Positive buffer dimensions required" // string@0431
00ec7a: 7020 2e06 2100                         |001f: invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;.<init>:(Ljava/lang/String;)V // method@062e
00ec80: 2701                                   |0022: throw v1
      catches       : (none)
      positions     :
        0x0000 line=10
        0x0003 line=11
        0x0009 line=12
        0x001a line=13
        0x001b line=11
      locals        :
        0x0000 - 0x0023 reg=0 this Lcom/valentinedesigns/chromalink/AudioBufferPolicy;
        0x0000 - 0x0023 reg=1 (null) I
        0x0000 - 0x0023 reg=2 (null) I
        0x0000 - 0x0023 reg=3 (null) I
        0x0000 - 0x0023 reg=4 (null) I

  Virtual methods   -
    #0              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'acceptedSize'
      type          : '(I)V'
      access        : 0x0000 ()
      code          -
      registers     : 3
      ins           : 2
      outs          : 2
      insns size    : 11 16-bit code units
00ec84:                                        |[00ec84] com.valentinedesigns.chromalink.AudioBufferPolicy.acceptedSize:(I)V
00ec94: 3d02 0a00                              |0000: if-lez v2, 000a // +000a
00ec98: 5210 7400                              |0002: iget v0, v1, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.capacity:I // field@0074
00ec9c: 7120 4806 2000                         |0004: invoke-static {v0, v2}, Ljava/lang/Math;.min:(II)I // method@0648
00eca2: 0a02                                   |0007: move-result v2
00eca4: 5912 7300                              |0008: iput v2, v1, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.active:I // field@0073
00eca8: 0e00                                   |000a: return-void
      catches       : (none)
      positions     :
        0x0000 line=22
      locals        :
        0x0000 - 0x000b reg=1 this Lcom/valentinedesigns/chromalink/AudioBufferPolicy;
        0x0000 - 0x000b reg=2 (null) I

    #1              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'activeFrames'
      type          : '()I'
      access        : 0x0000 ()
      code          -
      registers     : 2
      ins           : 1
      outs          : 0
      insns size    : 3 16-bit code units
00eb90:                                        |[00eb90] com.valentinedesigns.chromalink.AudioBufferPolicy.activeFrames:()I
00eba0: 5210 7300                              |0000: iget v0, v1, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.active:I // field@0073
00eba4: 0f00                                   |0002: return v0
      catches       : (none)
      positions     :
        0x0000 line=14
      locals        :
        0x0000 - 0x0003 reg=1 this Lcom/valentinedesigns/chromalink/AudioBufferPolicy;

    #2              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'canStart'
      type          : '(JJ)Z'
      access        : 0x0000 ()
      code          -
      registers     : 7
      ins           : 5
      outs          : 4
      insns size    : 20 16-bit code units
00eb58:                                        |[00eb58] com.valentinedesigns.chromalink.AudioBufferPolicy.canStart:(JJ)Z
00eb68: 1600 0000                              |0000: const-wide/16 v0, #int 0 // #0
00eb6c: 7140 4506 1065                         |0002: invoke-static {v0, v1, v5, v6}, Ljava/lang/Math;.max:(JJ)J // method@0645
00eb72: 0b05                                   |0005: move-result-wide v5
00eb74: bc53                                   |0006: sub-long/2addr v3, v5
00eb76: 6e10 2002 0200                         |0007: invoke-virtual {v2}, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.prefillFrames:()I // method@0220
00eb7c: 0a05                                   |000a: move-result v5
00eb7e: 8155                                   |000b: int-to-long v5, v5
00eb80: 3103 0305                              |000c: cmp-long v3, v3, v5
00eb84: 3a03 0400                              |000e: if-ltz v3, 0012 // +0004
00eb88: 1213                                   |0010: const/4 v3, #int 1 // #1
00eb8a: 2802                                   |0011: goto 0013 // +0002
00eb8c: 1203                                   |0012: const/4 v3, #int 0 // #0
00eb8e: 0f03                                   |0013: return v3
      catches       : (none)
      positions     :
        0x0000 line=16
      locals        :
        0x0000 - 0x0014 reg=2 this Lcom/valentinedesigns/chromalink/AudioBufferPolicy;
        0x0000 - 0x0014 reg=3 (null) J
        0x0000 - 0x0014 reg=5 (null) J

    #3              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'observeUnderruns'
      type          : '(I)I'
      access        : 0x0000 ()
      code          -
      registers     : 5
      ins           : 2
      outs          : 2
      insns size    : 29 16-bit code units
00eba8:                                        |[00eba8] com.valentinedesigns.chromalink.AudioBufferPolicy.observeUnderruns:(I)I
00ebb8: 1200                                   |0000: const/4 v0, #int 0 // #0
00ebba: 7120 4406 4000                         |0001: invoke-static {v0, v4}, Ljava/lang/Math;.max:(II)I // method@0644
00ebc0: 0a04                                   |0004: move-result v4
00ebc2: 5230 7600                              |0005: iget v0, v3, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.lastUnderruns:I // field@0076
00ebc6: 3704 1100                              |0007: if-le v4, v0, 0018 // +0011
00ebca: 5230 7400                              |0009: iget v0, v3, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.capacity:I // field@0074
00ebce: 5231 7300                              |000b: iget v1, v3, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.active:I // field@0073
00ebd2: 5232 7500                              |000d: iget v2, v3, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.chunk:I // field@0075
00ebd6: da02 0202                              |000f: mul-int/lit8 v2, v2, #int 2 // #02
00ebda: b021                                   |0011: add-int/2addr v1, v2
00ebdc: 7120 4806 1000                         |0012: invoke-static {v0, v1}, Ljava/lang/Math;.min:(II)I // method@0648
00ebe2: 0a00                                   |0015: move-result v0
00ebe4: 5930 7300                              |0016: iput v0, v3, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.active:I // field@0073
00ebe8: 5934 7600                              |0018: iput v4, v3, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.lastUnderruns:I // field@0076
00ebec: 5234 7300                              |001a: iget v4, v3, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.active:I // field@0073
00ebf0: 0f04                                   |001c: return v4
      catches       : (none)
      positions     :
        0x0000 line=18
        0x0005 line=19
        0x0018 line=20
      locals        :
        0x0000 - 0x001d reg=3 this Lcom/valentinedesigns/chromalink/AudioBufferPolicy;
        0x0000 - 0x001d reg=4 (null) I

    #4              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'prefillFrames'
      type          : '()I'
      access        : 0x0000 ()
      code          -
      registers     : 4
      ins           : 1
      outs          : 2
      insns size    : 19 16-bit code units
00ebf4:                                        |[00ebf4] com.valentinedesigns.chromalink.AudioBufferPolicy.prefillFrames:()I
00ec04: 5230 7300                              |0000: iget v0, v3, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.active:I // field@0073
00ec08: 5231 7500                              |0002: iget v1, v3, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.chunk:I // field@0075
00ec0c: 5232 7300                              |0004: iget v2, v3, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.active:I // field@0073
00ec10: db02 0202                              |0006: div-int/lit8 v2, v2, #int 2 // #02
00ec14: 7120 4806 2100                         |0008: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@0648
00ec1a: 0a01                                   |000b: move-result v1
00ec1c: b110                                   |000c: sub-int/2addr v0, v1
00ec1e: 1211                                   |000d: const/4 v1, #int 1 // #1
00ec20: 7120 4406 0100                         |000e: invoke-static {v1, v0}, Ljava/lang/Math;.max:(II)I // method@0644
00ec26: 0a00                                   |0011: move-result v0
00ec28: 0f00                                   |0012: return v0
      catches       : (none)
      positions     :
        0x0000 line=15
      locals        :
        0x0000 - 0x0013 reg=3 this Lcom/valentinedesigns/chromalink/AudioBufferPolicy;

    #5              : (in Lcom/valentinedesigns/chromalink/AudioBufferPolicy;)
      name          : 'resetCounter'
      type          : '(I)V'
      access        : 0x0000 ()
      code          -
      registers     : 3
      ins           : 2
      outs          : 2
      insns size    : 8 16-bit code units
00ecac:                                        |[00ecac] com.valentinedesigns.chromalink.AudioBufferPolicy.resetCounter:(I)V
00ecbc: 1200                                   |0000: const/4 v0, #int 0 // #0
00ecbe: 7120 4406 2000                         |0001: invoke-static {v0, v2}, Ljava/lang/Math;.max:(II)I // method@0644
00ecc4: 0a02                                   |0004: move-result v2
00ecc6: 5912 7600                              |0005: iput v2, v1, Lcom/valentinedesigns/chromalink/AudioBufferPolicy;.lastUnderruns:I // field@0076
00ecca: 0e00                                   |0007: return-void
      catches       : (none)
      positions     :
        0x0000 line=23
      locals        :
        0x0000 - 0x0008 reg=1 this Lcom/valentinedesigns/chromalink/AudioBufferPolicy;
        0x0000 - 0x0008 reg=2 (null) I

  source_file_idx   : 244 (AudioBufferPolicy.java)

