class com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer extends com.sun.media.sound.AudioFloatInputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer
super_class: com.sun.media.sound.AudioFloatInputStream
{
private final int targetChannels;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int sourceChannels;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.media.sound.AudioFloatInputStream ais;
descriptor: Lcom/sun/media/sound/AudioFloatInputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.sound.sampled.AudioFormat targetFormat;
descriptor: Ljavax/sound/sampled/AudioFormat;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private float[] conversion_buffer;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
void <init>(com.sun.media.sound.AudioFloatInputStream, int);
descriptor: (Lcom/sun/media/sound/AudioFloatInputStream;I)V
flags: (0x0000)
Code:
stack=10, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.sun.media.sound.AudioFloatInputStream.<init>:()V
1: aload 0
aload 1
invokevirtual com.sun.media.sound.AudioFloatInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
putfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
2: aload 0
iload 2
putfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
3: aload 0
aload 1
putfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.ais:Lcom/sun/media/sound/AudioFloatInputStream;
4: aload 1
invokevirtual com.sun.media.sound.AudioFloatInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
astore 3
start local 3 5: aload 0
new javax.sound.sampled.AudioFormat
dup
aload 3
invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
aload 3
6: invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
aload 3
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
7: iload 2
aload 3
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
idiv
8: iload 2
imul
aload 3
invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
aload 3
9: invokevirtual javax.sound.sampled.AudioFormat.isBigEndian:()Z
invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
10: putfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetFormat:Ljavax/sound/sampled/AudioFormat;
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/media/sound/AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer;
0 12 1 ais Lcom/sun/media/sound/AudioFloatInputStream;
0 12 2 targetChannels I
5 12 3 format Ljavax/sound/sampled/AudioFormat;
MethodParameters:
Name Flags
ais
targetChannels
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.ais:Lcom/sun/media/sound/AudioFloatInputStream;
invokevirtual com.sun.media.sound.AudioFloatInputStream.available:()I
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
idiv
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
imul
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer;
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.ais:Lcom/sun/media/sound/AudioFloatInputStream;
invokevirtual com.sun.media.sound.AudioFloatInputStream.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer;
Exceptions:
throws java.io.IOException
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 0: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetFormat:Ljavax/sound/sampled/AudioFormat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer;
public long getFrameLength();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.ais:Lcom/sun/media/sound/AudioFloatInputStream;
invokevirtual com.sun.media.sound.AudioFloatInputStream.getFrameLength:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer;
public void mark(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.ais:Lcom/sun/media/sound/AudioFloatInputStream;
iload 1
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
idiv
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
imul
invokevirtual com.sun.media.sound.AudioFloatInputStream.mark:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer;
0 2 1 readlimit I
MethodParameters:
Name Flags
readlimit
public boolean markSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.ais:Lcom/sun/media/sound/AudioFloatInputStream;
invokevirtual com.sun.media.sound.AudioFloatInputStream.markSupported:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer;
public int read(float[], int, int);
descriptor: ([FII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
idiv
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
imul
istore 4
start local 4 1: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.conversion_buffer:[F
ifnull 2
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.conversion_buffer:[F
arraylength
iload 4
if_icmpge 3
2: StackMap locals: int
StackMap stack:
aload 0
iload 4
newarray 6
putfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.conversion_buffer:[F
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.ais:Lcom/sun/media/sound/AudioFloatInputStream;
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.conversion_buffer:[F
iconst_0
iload 4
invokevirtual com.sun.media.sound.AudioFloatInputStream.read:([FII)I
istore 5
start local 5 4: iload 5
ifge 6
5: iload 5
ireturn
6: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
iconst_1
if_icmpne 19
7: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
istore 6
start local 6 8: iconst_0
istore 7
start local 7 9: goto 17
10: StackMap locals: int int
StackMap stack:
iconst_0
istore 8
start local 8 11: iload 2
iload 7
iadd
istore 9
start local 9 12: goto 15
13: StackMap locals: int int
StackMap stack:
aload 1
iload 9
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.conversion_buffer:[F
iload 8
faload
fastore
14: iinc 8 1
iload 9
iload 6
iadd
istore 9
StackMap locals:
StackMap stack:
15: iload 8
iload 4
if_icmplt 13
end local 9 end local 8 16: iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
if_icmplt 10
end local 7 end local 6 18: goto 68
StackMap locals:
StackMap stack:
19: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
iconst_1
if_icmpne 45
20: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
istore 6
start local 6 21: iconst_0
istore 7
start local 7 22: iload 2
istore 8
start local 8 23: goto 26
24: StackMap locals: int int int
StackMap stack:
aload 1
iload 8
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.conversion_buffer:[F
iload 7
faload
fastore
25: iload 7
iload 6
iadd
istore 7
iinc 8 1
StackMap locals:
StackMap stack:
26: iload 7
iload 4
if_icmplt 24
end local 8 end local 7 27: iconst_1
istore 7
start local 7 28: goto 36
29: StackMap locals:
StackMap stack:
iload 7
istore 8
start local 8 30: iload 2
istore 9
start local 9 31: goto 34
32: StackMap locals: int int
StackMap stack:
aload 1
iload 9
dup2
faload
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.conversion_buffer:[F
iload 8
faload
fadd
fastore
33: iload 8
iload 6
iadd
istore 8
iinc 9 1
StackMap locals:
StackMap stack:
34: iload 8
iload 4
if_icmplt 32
end local 9 end local 8 35: iinc 7 1
StackMap locals:
StackMap stack:
36: iload 7
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
if_icmplt 29
end local 7 37: fconst_1
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
i2f
fdiv
fstore 7
start local 7 38: iconst_0
istore 8
start local 8 39: iload 2
istore 9
start local 9 40: goto 43
41: StackMap locals: com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer float[] int int int int int float int int
StackMap stack:
aload 1
iload 9
dup2
faload
fload 7
fmul
fastore
42: iload 8
iload 6
iadd
istore 8
iinc 9 1
StackMap locals:
StackMap stack:
43: iload 8
iload 4
if_icmplt 41
end local 9 end local 8 end local 7 end local 6 44: goto 68
45: StackMap locals: com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer float[] int int int int
StackMap stack:
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 46: iload 2
iload 3
iadd
istore 7
start local 7 47: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
istore 8
start local 8 48: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
istore 9
start local 9 49: iconst_0
istore 10
start local 10 50: goto 58
51: StackMap locals: com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer float[] int int int int int int int int int
StackMap stack:
iload 2
iload 10
iadd
istore 11
start local 11 52: iload 10
istore 12
start local 12 53: goto 56
54: StackMap locals: int int
StackMap stack:
aload 1
iload 11
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.conversion_buffer:[F
iload 12
faload
fastore
55: iload 11
iload 8
iadd
istore 11
iload 12
iload 9
iadd
istore 12
StackMap locals:
StackMap stack:
56: iload 11
iload 7
if_icmplt 54
end local 12 end local 11 57: iinc 10 1
StackMap locals:
StackMap stack:
58: iload 10
iload 6
if_icmplt 51
end local 10 59: iload 6
istore 10
start local 10 60: goto 67
61: StackMap locals:
StackMap stack:
iload 2
iload 10
iadd
istore 11
start local 11 62: goto 65
63: StackMap locals: int
StackMap stack:
aload 1
iload 11
fconst_0
fastore
64: iload 11
iload 8
iadd
istore 11
StackMap locals:
StackMap stack:
65: iload 11
iload 7
if_icmplt 63
end local 11 66: iinc 10 1
StackMap locals:
StackMap stack:
67: iload 10
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
if_icmplt 61
end local 10 end local 9 end local 8 end local 7 end local 6 68: StackMap locals: com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer float[] int int int int
StackMap stack:
iload 5
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
idiv
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
imul
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lcom/sun/media/sound/AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer;
0 69 1 b [F
0 69 2 off I
0 69 3 len I
1 69 4 len2 I
4 69 5 ret I
8 18 6 cs I
9 18 7 c I
11 16 8 i I
12 16 9 ix I
21 44 6 cs I
22 27 7 i I
23 27 8 ix I
28 37 7 c I
30 35 8 i I
31 35 9 ix I
38 44 7 vol F
39 44 8 i I
40 44 9 ix I
46 68 6 minChannels I
47 68 7 off_len I
48 68 8 ct I
49 68 9 cs I
50 59 10 c I
52 57 11 i I
53 57 12 ix I
60 68 10 c I
62 66 11 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.ais:Lcom/sun/media/sound/AudioFloatInputStream;
invokevirtual com.sun.media.sound.AudioFloatInputStream.reset:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer;
Exceptions:
throws java.io.IOException
public long skip(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.ais:Lcom/sun/media/sound/AudioFloatInputStream;
lload 1
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
i2l
ldiv
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
i2l
lmul
invokevirtual com.sun.media.sound.AudioFloatInputStream.skip:(J)J
lstore 3
start local 3 1: lload 3
lconst_0
lcmp
ifge 3
2: lload 3
lreturn
3: StackMap locals: long
StackMap stack:
lload 3
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.sourceChannels:I
i2l
ldiv
aload 0
getfield com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer.targetChannels:I
i2l
lmul
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/media/sound/AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer;
0 4 1 len J
1 4 3 ret J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
len
}
SourceFile: "AudioFloatFormatConverter.java"
NestHost: com.sun.media.sound.AudioFloatFormatConverter
InnerClasses:
private AudioFloatInputStreamChannelMixer = com.sun.media.sound.AudioFloatFormatConverter$AudioFloatInputStreamChannelMixer of com.sun.media.sound.AudioFloatFormatConverter
public Encoding = javax.sound.sampled.AudioFormat$Encoding of javax.sound.sampled.AudioFormat