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