public final class com.sun.media.sound.WaveFileReader 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.WaveFileReader
super_class: com.sun.media.sound.SunFileReader
{
private static final int MAX_READ_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/WaveFileReader;
public javax.sound.sampled.AudioFileFormat getAudioFileFormat(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljavax/sound/sampled/AudioFileFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual com.sun.media.sound.WaveFileReader.getFMT:(Ljava/io/InputStream;Z)Ljavax/sound/sampled/AudioFileFormat;
astore 2
start local 2 1: aload 1
invokevirtual java.io.InputStream.reset:()V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/WaveFileReader;
0 3 1 stream Ljava/io/InputStream;
1 3 2 aff Ljavax/sound/sampled/AudioFileFormat;
Exceptions:
throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
MethodParameters:
Name Flags
stream
public javax.sound.sampled.AudioFileFormat getAudioFileFormat(java.net.URL);
descriptor: (Ljava/net/URL;)Ljavax/sound/sampled/AudioFileFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
aload 2
iconst_0
invokevirtual com.sun.media.sound.WaveFileReader.getFMT:(Ljava/io/InputStream;Z)Ljavax/sound/sampled/AudioFileFormat;
astore 3
3: goto 7
StackMap locals: com.sun.media.sound.WaveFileReader java.net.URL java.io.InputStream javax.sound.sampled.AudioFileFormat
StackMap stack: java.lang.Throwable
4: astore 4
5: aload 2
invokevirtual java.io.InputStream.close:()V
6: aload 4
athrow
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.InputStream.close:()V
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/media/sound/WaveFileReader;
0 9 1 url Ljava/net/URL;
1 9 2 urlStream Ljava/io/InputStream;
2 9 3 fileFormat Ljavax/sound/sampled/AudioFileFormat;
Exception table:
from to target type
2 4 4 any
Exceptions:
throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
MethodParameters:
Name Flags
url
public javax.sound.sampled.AudioFileFormat getAudioFileFormat(java.io.File);
descriptor: (Ljava/io/File;)Ljavax/sound/sampled/AudioFileFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: new java.io.FileInputStream
dup
aload 1
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 3
start local 3 2: aload 0
aload 3
iconst_0
invokevirtual com.sun.media.sound.WaveFileReader.getFMT:(Ljava/io/InputStream;Z)Ljavax/sound/sampled/AudioFileFormat;
astore 2
3: goto 7
StackMap locals: com.sun.media.sound.WaveFileReader java.io.File javax.sound.sampled.AudioFileFormat java.io.FileInputStream
StackMap stack: java.lang.Throwable
4: astore 4
5: aload 3
invokevirtual java.io.FileInputStream.close:()V
6: aload 4
athrow
7: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.io.FileInputStream.close:()V
8: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/media/sound/WaveFileReader;
0 9 1 file Ljava/io/File;
1 9 2 fileFormat Ljavax/sound/sampled/AudioFileFormat;
2 9 3 fis Ljava/io/FileInputStream;
Exception table:
from to target type
2 4 4 any
Exceptions:
throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
MethodParameters:
Name Flags
file
public javax.sound.sampled.AudioInputStream getAudioInputStream(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljavax/sound/sampled/AudioInputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual com.sun.media.sound.WaveFileReader.getFMT:(Ljava/io/InputStream;Z)Ljavax/sound/sampled/AudioFileFormat;
astore 2
start local 2 1: new javax.sound.sampled.AudioInputStream
dup
aload 1
aload 2
invokevirtual javax.sound.sampled.AudioFileFormat.getFormat:()Ljavax/sound/sampled/AudioFormat;
aload 2
invokevirtual javax.sound.sampled.AudioFileFormat.getFrameLength:()I
i2l
invokespecial javax.sound.sampled.AudioInputStream.<init>:(Ljava/io/InputStream;Ljavax/sound/sampled/AudioFormat;J)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/WaveFileReader;
0 2 1 stream Ljava/io/InputStream;
1 2 2 fileFormat Ljavax/sound/sampled/AudioFileFormat;
Exceptions:
throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
MethodParameters:
Name Flags
stream
public javax.sound.sampled.AudioInputStream getAudioInputStream(java.net.URL);
descriptor: (Ljava/net/URL;)Ljavax/sound/sampled/AudioInputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
aload 2
iconst_0
invokevirtual com.sun.media.sound.WaveFileReader.getFMT:(Ljava/io/InputStream;Z)Ljavax/sound/sampled/AudioFileFormat;
astore 3
3: goto 8
StackMap locals: com.sun.media.sound.WaveFileReader java.net.URL java.io.InputStream javax.sound.sampled.AudioFileFormat
StackMap stack: java.lang.Throwable
4: astore 4
5: aload 3
ifnonnull 7
6: aload 2
invokevirtual java.io.InputStream.close:()V
7: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
athrow
8: StackMap locals:
StackMap stack:
aload 3
ifnonnull 10
9: aload 2
invokevirtual java.io.InputStream.close:()V
10: StackMap locals:
StackMap stack:
new javax.sound.sampled.AudioInputStream
dup
aload 2
aload 3
invokevirtual javax.sound.sampled.AudioFileFormat.getFormat:()Ljavax/sound/sampled/AudioFormat;
aload 3
invokevirtual javax.sound.sampled.AudioFileFormat.getFrameLength:()I
i2l
invokespecial javax.sound.sampled.AudioInputStream.<init>:(Ljava/io/InputStream;Ljavax/sound/sampled/AudioFormat;J)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/media/sound/WaveFileReader;
0 11 1 url Ljava/net/URL;
1 11 2 urlStream Ljava/io/InputStream;
2 11 3 fileFormat Ljavax/sound/sampled/AudioFileFormat;
Exception table:
from to target type
2 4 4 any
Exceptions:
throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
MethodParameters:
Name Flags
url
public javax.sound.sampled.AudioInputStream getAudioInputStream(java.io.File);
descriptor: (Ljava/io/File;)Ljavax/sound/sampled/AudioInputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: new java.io.FileInputStream
dup
aload 1
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
aload 2
iconst_0
invokevirtual com.sun.media.sound.WaveFileReader.getFMT:(Ljava/io/InputStream;Z)Ljavax/sound/sampled/AudioFileFormat;
astore 3
3: goto 8
StackMap locals: com.sun.media.sound.WaveFileReader java.io.File java.io.FileInputStream javax.sound.sampled.AudioFileFormat
StackMap stack: java.lang.Throwable
4: astore 4
5: aload 3
ifnonnull 7
6: aload 2
invokevirtual java.io.FileInputStream.close:()V
7: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
athrow
8: StackMap locals:
StackMap stack:
aload 3
ifnonnull 10
9: aload 2
invokevirtual java.io.FileInputStream.close:()V
10: StackMap locals:
StackMap stack:
new javax.sound.sampled.AudioInputStream
dup
aload 2
aload 3
invokevirtual javax.sound.sampled.AudioFileFormat.getFormat:()Ljavax/sound/sampled/AudioFormat;
aload 3
invokevirtual javax.sound.sampled.AudioFileFormat.getFrameLength:()I
i2l
invokespecial javax.sound.sampled.AudioInputStream.<init>:(Ljava/io/InputStream;Ljavax/sound/sampled/AudioFormat;J)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/media/sound/WaveFileReader;
0 11 1 file Ljava/io/File;
1 11 2 fis Ljava/io/FileInputStream;
2 11 3 fileFormat Ljavax/sound/sampled/AudioFileFormat;
Exception table:
from to target type
2 4 4 any
Exceptions:
throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
MethodParameters:
Name Flags
file
private javax.sound.sampled.AudioFileFormat getFMT(java.io.InputStream, boolean);
descriptor: (Ljava/io/InputStream;Z)Ljavax/sound/sampled/AudioFileFormat;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=20, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: aconst_null
astore 11
start local 11 4: new java.io.DataInputStream
dup
aload 1
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 12
start local 12 5: iload 2
ifeq 7
6: aload 12
bipush 12
invokevirtual java.io.DataInputStream.mark:(I)V
7: StackMap locals: com.sun.media.sound.WaveFileReader java.io.InputStream int int top int int top top top top javax.sound.sampled.AudioFormat$Encoding java.io.DataInputStream
StackMap stack:
aload 12
invokevirtual java.io.DataInputStream.readInt:()I
istore 13
start local 13 8: aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rllong:(Ljava/io/DataInputStream;)I
istore 14
start local 14 9: aload 12
invokevirtual java.io.DataInputStream.readInt:()I
istore 15
start local 15 10: iload 14
ifgt 14
11: iconst_m1
istore 14
12: iconst_m1
istore 16
start local 16 13: goto 15
end local 16 14: StackMap locals: int int int
StackMap stack:
iload 14
bipush 8
iadd
istore 16
start local 16 15: StackMap locals: int
StackMap stack:
iload 13
ldc 1380533830
if_icmpne 16
iload 15
ldc 1463899717
if_icmpeq 19
16: StackMap locals:
StackMap stack:
iload 2
ifeq 18
17: aload 12
invokevirtual java.io.DataInputStream.reset:()V
18: StackMap locals:
StackMap stack:
new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "not a WAVE file"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 12
invokevirtual java.io.DataInputStream.readInt:()I
istore 4
start local 4 20: iinc 3 4
21: iload 4
ldc 1718449184
if_icmpne 23
22: goto 30
23: StackMap locals: com.sun.media.sound.WaveFileReader java.io.InputStream int int int int int top top top top javax.sound.sampled.AudioFormat$Encoding java.io.DataInputStream int int int int
StackMap stack:
aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rllong:(Ljava/io/DataInputStream;)I
istore 5
24: iinc 3 4
25: iload 5
iconst_2
irem
ifle 26
iinc 5 1
26: StackMap locals:
StackMap stack:
iload 3
aload 12
iload 5
invokevirtual java.io.DataInputStream.skipBytes:(I)I
iadd
istore 3
27: goto 19
end local 4 StackMap locals: com.sun.media.sound.WaveFileReader java.io.InputStream int int top int int top top top top javax.sound.sampled.AudioFormat$Encoding java.io.DataInputStream int int int int
StackMap stack: java.io.EOFException
28: pop
29: new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "Not a valid WAV file"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
start local 4 30: StackMap locals: com.sun.media.sound.WaveFileReader java.io.InputStream int int int int int top top top top javax.sound.sampled.AudioFormat$Encoding java.io.DataInputStream int int int int
StackMap stack:
aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rllong:(Ljava/io/DataInputStream;)I
istore 5
31: iinc 3 4
32: iload 3
iload 5
iadd
istore 17
start local 17 33: aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rlshort:(Ljava/io/DataInputStream;)S
istore 6
iinc 3 2
34: iload 6
iconst_1
if_icmpne 36
35: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 11
goto 41
36: StackMap locals: int
StackMap stack:
iload 6
bipush 6
if_icmpne 38
37: getstatic javax.sound.sampled.AudioFormat$Encoding.ALAW:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 11
goto 41
38: StackMap locals:
StackMap stack:
iload 6
bipush 7
if_icmpne 40
39: getstatic javax.sound.sampled.AudioFormat$Encoding.ULAW:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 11
goto 41
40: StackMap locals:
StackMap stack:
new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "Not a supported WAV file"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rlshort:(Ljava/io/DataInputStream;)S
istore 7
start local 7 42: iinc 3 2
43: aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rllong:(Ljava/io/DataInputStream;)I
i2l
lstore 8
start local 8 44: iinc 3 4
45: aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rllong:(Ljava/io/DataInputStream;)I
i2l
pop2
iinc 3 4
46: aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rlshort:(Ljava/io/DataInputStream;)S
pop
iinc 3 2
47: aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rlshort:(Ljava/io/DataInputStream;)S
istore 10
start local 10 48: iinc 3 2
49: iload 10
bipush 8
if_icmpne 51
aload 11
getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifeq 51
50: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 11
51: StackMap locals: com.sun.media.sound.WaveFileReader java.io.InputStream int int int int int int long int javax.sound.sampled.AudioFormat$Encoding java.io.DataInputStream int int int int int
StackMap stack:
iload 5
iconst_2
irem
ifeq 52
iinc 5 1
52: StackMap locals:
StackMap stack:
iload 17
iload 3
if_icmple 54
53: iload 3
aload 12
iload 17
iload 3
isub
invokevirtual java.io.DataInputStream.skipBytes:(I)I
iadd
istore 3
54: StackMap locals:
StackMap stack:
iconst_0
istore 3
55: StackMap locals:
StackMap stack:
aload 12
invokevirtual java.io.DataInputStream.readInt:()I
istore 18
start local 18 56: iinc 3 4
57: iload 18
ldc 1684108385
if_icmpne 59
58: goto 66
59: StackMap locals: int
StackMap stack:
aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rllong:(Ljava/io/DataInputStream;)I
istore 19
start local 19 60: iinc 3 4
61: iload 19
iconst_2
irem
ifle 62
iinc 19 1
62: StackMap locals: int
StackMap stack:
iload 3
aload 12
iload 19
invokevirtual java.io.DataInputStream.skipBytes:(I)I
iadd
istore 3
end local 19 end local 18 63: goto 55
StackMap locals: com.sun.media.sound.WaveFileReader java.io.InputStream int int int int int int long int javax.sound.sampled.AudioFormat$Encoding java.io.DataInputStream int int int int int
StackMap stack: java.io.EOFException
64: pop
65: new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "Not a valid WAV file"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
66: StackMap locals:
StackMap stack:
aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rllong:(Ljava/io/DataInputStream;)I
istore 18
start local 18 67: iinc 3 4
68: new javax.sound.sampled.AudioFormat
dup
aload 11
69: lload 8
l2f
70: iload 10
iload 7
71: iload 10
iload 7
invokestatic com.sun.media.sound.WaveFileReader.calculatePCMFrameSize:(II)I
72: lload 8
l2f
iconst_0
73: invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
astore 19
start local 19 74: new com.sun.media.sound.WaveFileFormat
dup
getstatic javax.sound.sampled.AudioFileFormat$Type.WAVE:Ljavax/sound/sampled/AudioFileFormat$Type;
75: iload 16
76: aload 19
77: iload 18
aload 19
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
idiv
78: invokespecial com.sun.media.sound.WaveFileFormat.<init>:(Ljavax/sound/sampled/AudioFileFormat$Type;ILjavax/sound/sampled/AudioFormat;I)V
areturn
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 8 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 79 0 this Lcom/sun/media/sound/WaveFileReader;
0 79 1 stream Ljava/io/InputStream;
0 79 2 doReset Z
1 79 3 nread I
20 28 4 fmt I
30 79 4 fmt I
2 79 5 length I
3 79 6 wav_type I
42 79 7 channels S
44 79 8 sampleRate J
48 79 10 sampleSizeInBits I
4 79 11 encoding Ljavax/sound/sampled/AudioFormat$Encoding;
5 79 12 dis Ljava/io/DataInputStream;
8 79 13 magic I
9 79 14 fileLength I
10 79 15 waveMagic I
13 14 16 totallength I
15 79 16 totallength I
33 79 17 endLength I
56 63 18 datahdr I
60 63 19 thisLength I
67 79 18 dataLength I
74 79 19 format Ljavax/sound/sampled/AudioFormat;
Exception table:
from to target type
19 22 28 Class java.io.EOFException
23 27 28 Class java.io.EOFException
55 58 64 Class java.io.EOFException
59 63 64 Class java.io.EOFException
Exceptions:
throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
MethodParameters:
Name Flags
stream
doReset
}
SourceFile: "WaveFileReader.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