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
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 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: iload 7
ifgt 45
44: new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "Invalid number of channels"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals: com.sun.media.sound.WaveFileReader java.io.InputStream int int int int int int top top top javax.sound.sampled.AudioFormat$Encoding java.io.DataInputStream int int int int int
StackMap stack:
aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rllong:(Ljava/io/DataInputStream;)I
i2l
lstore 8
start local 8 46: iinc 3 4
47: aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rllong:(Ljava/io/DataInputStream;)I
i2l
pop2
iinc 3 4
48: aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rlshort:(Ljava/io/DataInputStream;)S
pop
iinc 3 2
49: aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rlshort:(Ljava/io/DataInputStream;)S
istore 10
start local 10 50: iinc 3 2
51: iload 10
ifgt 53
52: new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "Invalid bitsPerSample"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
53: 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 10
bipush 8
if_icmpne 55
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 55
54: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 11
55: StackMap locals:
StackMap stack:
iload 5
iconst_2
irem
ifeq 56
iinc 5 1
56: StackMap locals:
StackMap stack:
iload 17
iload 3
if_icmple 58
57: iload 3
aload 12
iload 17
iload 3
isub
invokevirtual java.io.DataInputStream.skipBytes:(I)I
iadd
istore 3
58: StackMap locals:
StackMap stack:
iconst_0
istore 3
59: StackMap locals:
StackMap stack:
aload 12
invokevirtual java.io.DataInputStream.readInt:()I
istore 18
start local 18 60: iinc 3 4
61: iload 18
ldc 1684108385
if_icmpne 63
62: goto 70
63: 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 64: iinc 3 4
65: iload 19
iconst_2
irem
ifle 66
iinc 19 1
66: 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 67: goto 59
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
68: pop
69: new javax.sound.sampled.UnsupportedAudioFileException
dup
ldc "Not a valid WAV file"
invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:(Ljava/lang/String;)V
athrow
70: StackMap locals:
StackMap stack:
aload 0
aload 12
invokevirtual com.sun.media.sound.WaveFileReader.rllong:(Ljava/io/DataInputStream;)I
istore 18
start local 18 71: iinc 3 4
72: new javax.sound.sampled.AudioFormat
dup
aload 11
73: lload 8
l2f
74: iload 10
iload 7
75: iload 10
iload 7
invokestatic com.sun.media.sound.WaveFileReader.calculatePCMFrameSize:(II)I
76: lload 8
l2f
iconst_0
77: invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
astore 19
start local 19 78: new com.sun.media.sound.WaveFileFormat
dup
getstatic javax.sound.sampled.AudioFileFormat$Type.WAVE:Ljavax/sound/sampled/AudioFileFormat$Type;
79: iload 16
80: aload 19
81: iload 18
aload 19
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
idiv
82: 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 83 0 this Lcom/sun/media/sound/WaveFileReader;
0 83 1 stream Ljava/io/InputStream;
0 83 2 doReset Z
1 83 3 nread I
20 28 4 fmt I
30 83 4 fmt I
2 83 5 length I
3 83 6 wav_type I
42 83 7 channels S
46 83 8 sampleRate J
50 83 10 sampleSizeInBits I
4 83 11 encoding Ljavax/sound/sampled/AudioFormat$Encoding;
5 83 12 dis Ljava/io/DataInputStream;
8 83 13 magic I
9 83 14 fileLength I
10 83 15 waveMagic I
13 14 16 totallength I
15 83 16 totallength I
33 83 17 endLength I
60 67 18 datahdr I
64 67 19 thisLength I
71 83 18 dataLength I
78 83 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
59 62 68 Class java.io.EOFException
63 67 68 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