final class com.sun.media.sound.AlawCodec$AlawCodecStream extends javax.sound.sampled.AudioInputStream
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.AlawCodec$AlawCodecStream
super_class: javax.sound.sampled.AudioInputStream
{
boolean encode;
descriptor: Z
flags: (0x0000)
javax.sound.sampled.AudioFormat encodeFormat;
descriptor: Ljavax/sound/sampled/AudioFormat;
flags: (0x0000)
javax.sound.sampled.AudioFormat decodeFormat;
descriptor: Ljavax/sound/sampled/AudioFormat;
flags: (0x0000)
byte[] tabByte1;
descriptor: [B
flags: (0x0000)
byte[] tabByte2;
descriptor: [B
flags: (0x0000)
int highByte;
descriptor: I
flags: (0x0000)
int lowByte;
descriptor: I
flags: (0x0000)
final com.sun.media.sound.AlawCodec this$0;
descriptor: Lcom/sun/media/sound/AlawCodec;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.media.sound.AlawCodec, javax.sound.sampled.AudioInputStream, javax.sound.sampled.AudioFormat);
descriptor: (Lcom/sun/media/sound/AlawCodec;Ljavax/sound/sampled/AudioInputStream;Ljavax/sound/sampled/AudioFormat;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.this$0:Lcom/sun/media/sound/AlawCodec;
1: aload 0
aload 2
aload 3
ldc -1
invokespecial javax.sound.sampled.AudioInputStream.<init>:(Ljava/io/InputStream;Ljavax/sound/sampled/AudioFormat;J)V
2: aload 0
iconst_0
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.encode:Z
3: aload 0
aconst_null
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.tabByte1:[B
4: aload 0
aconst_null
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.tabByte2:[B
5: aload 0
iconst_0
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.highByte:I
6: aload 0
iconst_1
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.lowByte:I
7: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
astore 4
start local 4 8: aload 1
aload 3
aload 4
invokevirtual com.sun.media.sound.AlawCodec.isConversionSupported:(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioFormat;)Z
ifne 10
9: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported conversion: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
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
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
10: StackMap locals: com.sun.media.sound.AlawCodec$AlawCodecStream com.sun.media.sound.AlawCodec javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat
StackMap stack:
getstatic javax.sound.sampled.AudioFormat$Encoding.ALAW:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 4
invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifeq 16
11: aload 0
iconst_0
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.encode:Z
12: aload 0
aload 4
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.encodeFormat:Ljavax/sound/sampled/AudioFormat;
13: aload 0
aload 3
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.decodeFormat:Ljavax/sound/sampled/AudioFormat;
14: aload 3
invokevirtual javax.sound.sampled.AudioFormat.isBigEndian:()Z
istore 5
start local 5 15: goto 20
end local 5 16: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.encode:Z
17: aload 0
aload 3
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.encodeFormat:Ljavax/sound/sampled/AudioFormat;
18: aload 0
aload 4
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.decodeFormat:Ljavax/sound/sampled/AudioFormat;
19: aload 4
invokevirtual javax.sound.sampled.AudioFormat.isBigEndian:()Z
istore 5
start local 5 20: StackMap locals: int
StackMap stack:
iload 5
ifeq 26
21: aload 0
getstatic com.sun.media.sound.AlawCodec.ALAW_TABH:[B
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.tabByte1:[B
22: aload 0
getstatic com.sun.media.sound.AlawCodec.ALAW_TABL:[B
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.tabByte2:[B
23: aload 0
iconst_0
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.highByte:I
24: aload 0
iconst_1
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.lowByte:I
25: goto 30
26: StackMap locals:
StackMap stack:
aload 0
getstatic com.sun.media.sound.AlawCodec.ALAW_TABL:[B
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.tabByte1:[B
27: aload 0
getstatic com.sun.media.sound.AlawCodec.ALAW_TABH:[B
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.tabByte2:[B
28: aload 0
iconst_1
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.highByte:I
29: aload 0
iconst_0
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.lowByte:I
30: StackMap locals:
StackMap stack:
aload 2
instanceof javax.sound.sampled.AudioInputStream
ifeq 32
31: aload 0
aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.frameLength:J
32: StackMap locals:
StackMap stack:
aload 0
lconst_0
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.framePos:J
33: aload 0
aload 4
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.frameSize:I
34: aload 0
getfield com.sun.media.sound.AlawCodec$AlawCodecStream.frameSize:I
iconst_m1
if_icmpne 36
35: aload 0
iconst_1
putfield com.sun.media.sound.AlawCodec$AlawCodecStream.frameSize:I
36: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/sun/media/sound/AlawCodec$AlawCodecStream;
0 37 2 stream Ljavax/sound/sampled/AudioInputStream;
0 37 3 outputFormat Ljavax/sound/sampled/AudioFormat;
8 37 4 inputFormat Ljavax/sound/sampled/AudioFormat;
15 16 5 PCMIsBigEndian Z
20 37 5 PCMIsBigEndian Z
MethodParameters:
Name Flags
this$0 final
stream
outputFormat
private short search(short, short[], short);
descriptor: (S[SS)S
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 4
2: StackMap locals: int
StackMap stack:
iload 1
aload 2
iload 4
saload
if_icmpgt 3
iload 4
ireturn
3: StackMap locals:
StackMap stack:
iload 4
iconst_1
iadd
i2s
istore 4
StackMap locals:
StackMap stack:
4: iload 4
iload 3
if_icmplt 2
end local 4 5: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/media/sound/AlawCodec$AlawCodecStream;
0 6 1 val S
0 6 2 table [S
0 6 3 size S
1 5 4 i S
MethodParameters:
Name Flags
val
table
size
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: iconst_1
newarray 8
astore 1
start local 1 1: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual com.sun.media.sound.AlawCodec$AlawCodecStream.read:([BII)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/AlawCodec$AlawCodecStream;
1 2 1 b [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 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual com.sun.media.sound.AlawCodec$AlawCodecStream.read:([BII)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AlawCodec$AlawCodecStream;
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=5, locals=15, 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.AlawCodec$AlawCodecStream.frameSize:I
irem
ifeq 2
1: iload 3
iload 3
aload 0
getfield com.sun.media.sound.AlawCodec$AlawCodecStream.frameSize:I
irem
isub
istore 3
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.AlawCodec$AlawCodecStream.encode:Z
ifeq 43
3: bipush 15
istore 4
start local 4 4: iconst_4
istore 5
start local 5 5: iconst_0
istore 11
start local 11 6: iload 2
istore 12
start local 12 7: iload 3
iconst_2
imul
istore 13
start local 13 8: iload 13
bipush 64
if_icmple 9
bipush 64
goto 10
StackMap locals: com.sun.media.sound.AlawCodec$AlawCodecStream byte[] int int int int top top top top top int int int
StackMap stack:
9: iload 13
StackMap locals:
StackMap stack: int
10: istore 14
start local 14 11: goto 39
12: StackMap locals: int
StackMap stack:
iconst_0
istore 8
start local 8 13: goto 34
14: StackMap locals: com.sun.media.sound.AlawCodec$AlawCodecStream byte[] int int int int top top int top top int int int int
StackMap stack:
aload 0
getfield com.sun.media.sound.AlawCodec$AlawCodecStream.this$0:Lcom/sun/media/sound/AlawCodec;
getfield com.sun.media.sound.AlawCodec.tempBuffer:[B
iload 8
aload 0
getfield com.sun.media.sound.AlawCodec$AlawCodecStream.highByte:I
iadd
baload
bipush 8
ishl
ldc 65280
iand
i2s
istore 9
start local 9 15: iload 9
aload 0
getfield com.sun.media.sound.AlawCodec$AlawCodecStream.this$0:Lcom/sun/media/sound/AlawCodec;
getfield com.sun.media.sound.AlawCodec.tempBuffer:[B
iload 8
aload 0
getfield com.sun.media.sound.AlawCodec$AlawCodecStream.lowByte:I
iadd
baload
sipush 255
iand
i2s
ior
i2s
istore 9
16: iload 9
iflt 19
17: sipush 213
istore 6
start local 6 18: goto 21
end local 6 19: StackMap locals: com.sun.media.sound.AlawCodec$AlawCodecStream byte[] int int int int top top int int top int int int int
StackMap stack:
bipush 85
istore 6
start local 6 20: iload 9
ineg
bipush 8
isub
i2s
istore 9
21: StackMap locals: com.sun.media.sound.AlawCodec$AlawCodecStream byte[] int int int int int top int int top int int int int
StackMap stack:
aload 0
iload 9
getstatic com.sun.media.sound.AlawCodec.seg_end:[S
bipush 8
invokevirtual com.sun.media.sound.AlawCodec$AlawCodecStream.search:(S[SS)S
istore 7
start local 7 22: iload 7
bipush 8
if_icmplt 25
23: bipush 127
iload 6
ixor
i2b
istore 10
start local 10 24: goto 31
end local 10 25: StackMap locals: com.sun.media.sound.AlawCodec$AlawCodecStream byte[] int int int int int int int int top int int int int
StackMap stack:
iload 7
iload 5
ishl
i2b
istore 10
start local 10 26: iload 7
iconst_2
if_icmpge 29
27: iload 10
iload 9
iconst_4
ishr
iload 4
iand
i2b
ior
i2b
istore 10
28: goto 30
29: StackMap locals: com.sun.media.sound.AlawCodec$AlawCodecStream byte[] int int int int int int int int int int int int int
StackMap stack:
iload 10
iload 9
iload 7
iconst_3
iadd
ishr
iload 4
iand
i2b
ior
i2b
istore 10
30: StackMap locals:
StackMap stack:
iload 10
iload 6
ixor
i2b
istore 10
31: StackMap locals:
StackMap stack:
aload 1
iload 12
iload 10
bastore
32: iinc 12 1
33: iinc 8 2
end local 10 end local 9 end local 7 end local 6 StackMap locals: com.sun.media.sound.AlawCodec$AlawCodecStream byte[] int int int int top top int top top int int int int
StackMap stack:
34: iload 8
iload 11
if_icmplt 14
35: iload 13
iload 11
isub
istore 13
36: iload 13
bipush 64
if_icmple 37
bipush 64
goto 38
StackMap locals:
StackMap stack:
37: iload 13
StackMap locals:
StackMap stack: int
38: istore 14
end local 8 39: StackMap locals: com.sun.media.sound.AlawCodec$AlawCodecStream byte[] int int int int top top top top top int int int int
StackMap stack:
aload 0
aload 0
getfield com.sun.media.sound.AlawCodec$AlawCodecStream.this$0:Lcom/sun/media/sound/AlawCodec;
getfield com.sun.media.sound.AlawCodec.tempBuffer:[B
iconst_0
iload 14
invokespecial javax.sound.sampled.AudioInputStream.read:([BII)I
dup
istore 11
ifgt 12
40: iload 12
iload 2
if_icmpne 42
iload 11
ifge 42
41: iload 11
ireturn
42: StackMap locals:
StackMap stack:
iload 12
iload 2
isub
ireturn
end local 14 end local 13 end local 12 end local 11 end local 5 end local 4 43: StackMap locals: com.sun.media.sound.AlawCodec$AlawCodecStream byte[] int int
StackMap stack:
iload 3
iconst_2
idiv
istore 5
start local 5 44: iload 2
iload 3
iconst_2
idiv
iadd
istore 6
start local 6 45: aload 0
aload 1
iload 6
iload 5
invokespecial javax.sound.sampled.AudioInputStream.read:([BII)I
istore 7
start local 7 46: iload 2
istore 4
start local 4 47: goto 52
48: StackMap locals: com.sun.media.sound.AlawCodec$AlawCodecStream byte[] int int int int int int
StackMap stack:
aload 1
iload 4
aload 0
getfield com.sun.media.sound.AlawCodec$AlawCodecStream.tabByte1:[B
aload 1
iload 6
baload
sipush 255
iand
baload
bastore
49: aload 1
iload 4
iconst_1
iadd
aload 0
getfield com.sun.media.sound.AlawCodec$AlawCodecStream.tabByte2:[B
aload 1
iload 6
baload
sipush 255
iand
baload
bastore
50: iinc 6 1
51: iinc 4 2
StackMap locals:
StackMap stack:
52: iload 4
iload 2
iload 7
iconst_2
imul
iadd
if_icmplt 48
53: iload 7
ifge 55
54: iload 7
ireturn
55: StackMap locals:
StackMap stack:
iload 4
iload 2
isub
ireturn
end local 7 end local 6 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 56 0 this Lcom/sun/media/sound/AlawCodec$AlawCodecStream;
0 56 1 b [B
0 56 2 off I
0 56 3 len I
4 43 4 QUANT_MASK S
5 43 5 SEG_SHIFT S
18 19 6 mask S
20 34 6 mask S
22 34 7 seg S
13 39 8 i I
15 34 9 sample S
24 25 10 enc B
26 34 10 enc B
6 43 11 readCount I
7 43 12 currentPos I
8 43 13 readLeft I
11 43 14 readLen I
47 56 4 i I
44 56 5 readLen I
45 56 6 readOffset I
46 56 7 readCount I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
}
SourceFile: "AlawCodec.java"
NestHost: com.sun.media.sound.AlawCodec
InnerClasses:
final AlawCodecStream = com.sun.media.sound.AlawCodec$AlawCodecStream of com.sun.media.sound.AlawCodec
public Encoding = javax.sound.sampled.AudioFormat$Encoding of javax.sound.sampled.AudioFormat