public final class com.sun.media.sound.AiffFileReader extends com.sun.media.sound.SunFileReader
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.AiffFileReader
super_class: com.sun.media.sound.SunFileReader
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.media.sound.SunFileReader.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AiffFileReader;
com.sun.media.sound.StandardFileFormat getAudioFileFormatImpl(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Lcom/sun/media/sound/StandardFileFormat;
flags: (0x0000)
Code:
stack=9, locals=21, args_size=2
start local 0 start local 1 0: new java.io.DataInputStream
dup
aload 1
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 2
invokevirtual java.io.DataInputStream.readInt:()I
istore 4
start local 4 3: iload 4
ldc 1179603533
if_icmpeq 5
4: new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "not an AIFF file"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.io.DataInputStream javax.sound.sampled.AudioFormat int
StackMap stack:
lconst_0
lstore 5
start local 5 6: aload 2
invokevirtual java.io.DataInputStream.readInt:()I
istore 7
start local 7 7: aload 2
invokevirtual java.io.DataInputStream.readInt:()I
istore 8
start local 8 8: iload 7
ifgt 12
9: iconst_m1
istore 7
10: ldc -1
lstore 9
start local 9 11: goto 13
end local 9 12: StackMap locals: long int int
StackMap stack:
iload 7
bipush 8
iadd
i2l
lstore 9
start local 9 13: StackMap locals: long
StackMap stack:
iconst_0
istore 11
start local 11 14: iload 8
ldc 1095321155
if_icmpne 16
15: iconst_1
istore 11
16: StackMap locals: int
StackMap stack:
iconst_0
istore 12
start local 12 17: goto 60
18: StackMap locals: int
StackMap stack:
aload 2
invokevirtual java.io.DataInputStream.readInt:()I
istore 13
start local 13 19: aload 2
invokevirtual java.io.DataInputStream.readInt:()I
istore 14
start local 14 20: iconst_0
istore 15
start local 15 21: iload 13
lookupswitch { // 3
1129270605: 23
1180058962: 22
1397968452: 52
default: 56
}
22: StackMap locals: int int int
StackMap stack:
goto 56
23: StackMap locals:
StackMap stack:
iload 11
ifne 24
iload 14
bipush 18
if_icmplt 25
StackMap locals:
StackMap stack:
24: iload 11
ifeq 26
iload 14
bipush 22
if_icmpge 26
25: StackMap locals:
StackMap stack:
new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "Invalid AIFF/COMM chunksize"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 16
start local 16 27: iload 16
ifgt 29
28: new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "Invalid number of channels"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals: int
StackMap stack:
aload 2
invokevirtual java.io.DataInputStream.readInt:()I
i2l
ldc 4294967295
land
lstore 5
30: aload 2
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 17
start local 17 31: iload 17
iconst_1
if_icmplt 32
iload 17
bipush 32
if_icmple 33
32: StackMap locals: int
StackMap stack:
new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "Invalid AIFF/COMM sampleSize"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.media.sound.AiffFileReader.read_ieee_extended:(Ljava/io/DataInputStream;)D
d2f
fstore 18
start local 18 34: iinc 15 18
35: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 19
start local 19 36: iload 11
ifeq 46
37: aload 2
invokevirtual java.io.DataInputStream.readInt:()I
istore 20
start local 20 38: iinc 15 4
39: iload 20
lookupswitch { // 2
1313820229: 40
1970037111: 42
default: 45
}
40: StackMap locals: float javax.sound.sampled.AudioFormat$Encoding int
StackMap stack:
getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 19
41: goto 46
42: StackMap locals:
StackMap stack:
getstatic javax.sound.sampled.AudioFormat$Encoding.ULAW:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 19
43: bipush 8
istore 17
44: goto 46
45: StackMap locals:
StackMap stack:
new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "Invalid AIFF encoding"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
end local 20 46: StackMap locals:
StackMap stack:
iload 17
iload 16
invokestatic com.sun.media.sound.AiffFileReader.calculatePCMFrameSize:(II)I
istore 20
start local 20 47: new javax.sound.sampled.AudioFormat
dup
aload 19
fload 18
48: iload 17
iload 16
49: iload 20
fload 18
iconst_1
50: invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
astore 3
51: goto 56
end local 20 end local 19 end local 18 end local 17 end local 16 52: StackMap locals: com.sun.media.sound.AiffFileReader java.io.InputStream java.io.DataInputStream javax.sound.sampled.AudioFormat int long int int long int int int int int
StackMap stack:
aload 2
invokevirtual java.io.DataInputStream.readInt:()I
pop
53: aload 2
invokevirtual java.io.DataInputStream.readInt:()I
pop
54: iinc 15 8
55: iconst_1
istore 12
56: StackMap locals:
StackMap stack:
iload 12
ifne 60
57: iload 14
iload 15
isub
istore 16
start local 16 58: iload 16
ifle 60
59: aload 2
iload 16
invokevirtual java.io.DataInputStream.skipBytes:(I)I
pop
end local 16 end local 15 end local 14 end local 13 60: StackMap locals:
StackMap stack:
iload 12
ifeq 18
61: aload 3
ifnonnull 63
62: new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "missing COMM chunk"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
63: StackMap locals:
StackMap stack:
iload 11
ifeq 64
getstatic javax.sound.sampled.AudioFileFormat$Type.AIFC:Ljavax/sound/sampled/AudioFileFormat$Type;
goto 65
StackMap locals:
StackMap stack:
64: getstatic javax.sound.sampled.AudioFileFormat$Type.AIFF:Ljavax/sound/sampled/AudioFileFormat$Type;
StackMap locals:
StackMap stack: javax.sound.sampled.AudioFileFormat$Type
65: astore 13
start local 13 66: new com.sun.media.sound.AiffFileFormat
dup
aload 13
lload 9
aload 3
lload 5
invokespecial com.sun.media.sound.AiffFileFormat.<init>:(Ljavax/sound/sampled/AudioFileFormat$Type;JLjavax/sound/sampled/AudioFormat;J)V
areturn
end local 13 end local 12 end local 11 end local 9 end local 8 end local 7 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 67 0 this Lcom/sun/media/sound/AiffFileReader;
0 67 1 stream Ljava/io/InputStream;
1 67 2 dis Ljava/io/DataInputStream;
2 67 3 format Ljavax/sound/sampled/AudioFormat;
3 67 4 magic I
6 67 5 frameLength J
7 67 7 length I
8 67 8 iffType I
11 12 9 totallength J
13 67 9 totallength J
14 67 11 aifc Z
17 67 12 ssndFound Z
19 60 13 chunkName I
20 60 14 chunkLen I
21 60 15 chunkRead I
27 52 16 channels I
31 52 17 sampleSizeInBits I
34 52 18 sampleRate F
36 52 19 encoding Ljavax/sound/sampled/AudioFormat$Encoding;
38 46 20 enc I
47 52 20 frameSize I
58 60 16 toSkip I
66 67 13 type Ljavax/sound/sampled/AudioFileFormat$Type;
Exceptions:
throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
MethodParameters:
Name Flags
stream final
private double read_ieee_extended(java.io.DataInputStream);
descriptor: (Ljava/io/DataInputStream;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=15, args_size=2
start local 0 start local 1 0: dconst_0
dstore 2
start local 2 1: iconst_0
istore 4
start local 4 2: lconst_0
lstore 5
start local 5 3: lconst_0
lstore 7
start local 7 4: ldc 3.4028234663852886E38
dstore 13
start local 13 5: aload 1
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 4
6: aload 1
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
i2l
lstore 9
start local 9 7: aload 1
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
i2l
lstore 11
start local 11 8: lload 9
bipush 16
lshl
lload 11
lor
lstore 5
9: aload 1
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
i2l
lstore 9
10: aload 1
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
i2l
lstore 11
11: lload 9
bipush 16
lshl
lload 11
lor
lstore 7
12: iload 4
ifne 15
lload 5
lconst_0
lcmp
ifne 15
lload 7
lconst_0
lcmp
ifne 15
13: dconst_0
dstore 2
14: goto 22
15: StackMap locals: com.sun.media.sound.AiffFileReader java.io.DataInputStream double int long long long long double
StackMap stack:
iload 4
sipush 32767
if_icmpne 17
16: dload 13
dstore 2
goto 22
17: StackMap locals:
StackMap stack:
iinc 4 -16383
18: iinc 4 -31
19: lload 5
l2d
ldc 2.0
iload 4
i2d
invokestatic java.lang.Math.pow:(DD)D
dmul
dstore 2
20: iinc 4 -32
21: dload 2
lload 7
l2d
ldc 2.0
iload 4
i2d
invokestatic java.lang.Math.pow:(DD)D
dmul
dadd
dstore 2
22: StackMap locals:
StackMap stack:
dload 2
dreturn
end local 13 end local 11 end local 9 end local 7 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/media/sound/AiffFileReader;
0 23 1 dis Ljava/io/DataInputStream;
1 23 2 f D
2 23 4 expon I
3 23 5 hiMant J
4 23 7 loMant J
7 23 9 t1 J
8 23 11 t2 J
5 23 13 HUGE D
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dis
public javax.sound.sampled.AudioInputStream getAudioInputStream(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljavax/sound/sampled/AudioInputStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial com.sun.media.sound.SunFileReader.getAudioInputStream:(Ljava/io/InputStream;)Ljavax/sound/sampled/AudioInputStream;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
}
SourceFile: "AiffFileReader.java"
InnerClasses:
public Type = javax.sound.sampled.AudioFileFormat$Type of javax.sound.sampled.AudioFileFormat
public Encoding = javax.sound.sampled.AudioFormat$Encoding of javax.sound.sampled.AudioFormat