public final class sun.audio.AudioStream extends java.io.FilterInputStream
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.audio.AudioStream
super_class: java.io.FilterInputStream
{
javax.sound.sampled.AudioInputStream ais;
descriptor: Ljavax/sound/sampled/AudioInputStream;
flags: (0x0000)
javax.sound.sampled.AudioFormat format;
descriptor: Ljavax/sound/sampled/AudioFormat;
flags: (0x0000)
javax.sound.midi.MidiFileFormat midiformat;
descriptor: Ljavax/sound/midi/MidiFileFormat;
flags: (0x0000)
java.io.InputStream stream;
descriptor: Ljava/io/InputStream;
flags: (0x0000)
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 // sun.audio.AudioStream this
start local 1 // java.io.InputStream in
0: .line 59
aload 0 /* this */
aload 1 /* in */
invokespecial java.io.FilterInputStream.<init>:(Ljava/io/InputStream;)V
1: .line 45
aload 0 /* this */
aconst_null
putfield sun.audio.AudioStream.ais:Ljavax/sound/sampled/AudioInputStream;
2: .line 46
aload 0 /* this */
aconst_null
putfield sun.audio.AudioStream.format:Ljavax/sound/sampled/AudioFormat;
3: .line 47
aload 0 /* this */
aconst_null
putfield sun.audio.AudioStream.midiformat:Ljavax/sound/midi/MidiFileFormat;
4: .line 48
aload 0 /* this */
aconst_null
putfield sun.audio.AudioStream.stream:Ljava/io/InputStream;
5: .line 61
aload 0 /* this */
aload 1 /* in */
putfield sun.audio.AudioStream.stream:Ljava/io/InputStream;
6: .line 63
aload 1 /* in */
invokevirtual java.io.InputStream.markSupported:()Z
ifne 8
7: .line 65
aload 0 /* this */
new java.io.BufferedInputStream
dup
aload 1 /* in */
sipush 1024
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
putfield sun.audio.AudioStream.stream:Ljava/io/InputStream;
8: .line 69
StackMap locals: sun.audio.AudioStream java.io.InputStream
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.audio.AudioStream.stream:Ljava/io/InputStream;
invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljava/io/InputStream;)Ljavax/sound/sampled/AudioInputStream;
putfield sun.audio.AudioStream.ais:Ljavax/sound/sampled/AudioInputStream;
9: .line 70
aload 0 /* this */
aload 0 /* this */
getfield sun.audio.AudioStream.ais:Ljavax/sound/sampled/AudioInputStream;
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
putfield sun.audio.AudioStream.format:Ljavax/sound/sampled/AudioFormat;
10: .line 71
aload 0 /* this */
aload 0 /* this */
getfield sun.audio.AudioStream.ais:Ljavax/sound/sampled/AudioInputStream;
putfield sun.audio.AudioStream.in:Ljava/io/InputStream;
11: .line 73
goto 17
StackMap locals:
StackMap stack: javax.sound.sampled.UnsupportedAudioFileException
12: pop
13: .line 77
aload 0 /* this */
aload 0 /* this */
getfield sun.audio.AudioStream.stream:Ljava/io/InputStream;
invokestatic javax.sound.midi.MidiSystem.getMidiFileFormat:(Ljava/io/InputStream;)Ljavax/sound/midi/MidiFileFormat;
putfield sun.audio.AudioStream.midiformat:Ljavax/sound/midi/MidiFileFormat;
14: .line 79
goto 17
StackMap locals:
StackMap stack: javax.sound.midi.InvalidMidiDataException
15: pop
16: .line 80
new java.io.IOException
dup
ldc "could not create audio stream from input stream"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
17: .line 83
StackMap locals:
StackMap stack:
return
end local 1 // java.io.InputStream in
end local 0 // sun.audio.AudioStream this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/audio/AudioStream;
0 18 1 in Ljava/io/InputStream;
Exception table:
from to target type
8 11 12 Class javax.sound.sampled.UnsupportedAudioFileException
13 14 15 Class javax.sound.midi.InvalidMidiDataException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
public sun.audio.AudioData getData();
descriptor: ()Lsun/audio/AudioData;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 // sun.audio.AudioStream this
0: .line 101
aload 0 /* this */
invokevirtual sun.audio.AudioStream.getLength:()I
istore 1 /* length */
start local 1 // int length
1: .line 104
iload 1 /* length */
ldc 1048576
if_icmpge 8
2: .line 105
iload 1 /* length */
newarray 8
astore 2 /* buffer */
start local 2 // byte[] buffer
3: .line 107
aload 0 /* this */
getfield sun.audio.AudioStream.ais:Ljavax/sound/sampled/AudioInputStream;
aload 2 /* buffer */
iconst_0
iload 1 /* length */
invokevirtual javax.sound.sampled.AudioInputStream.read:([BII)I
pop
4: .line 108
goto 7
StackMap locals: sun.audio.AudioStream int byte[]
StackMap stack: java.io.IOException
5: pop
6: .line 109
new java.io.IOException
dup
ldc "Could not create AudioData Object"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: .line 111
StackMap locals:
StackMap stack:
new sun.audio.AudioData
dup
aload 0 /* this */
getfield sun.audio.AudioStream.format:Ljavax/sound/sampled/AudioFormat;
aload 2 /* buffer */
invokespecial sun.audio.AudioData.<init>:(Ljavax/sound/sampled/AudioFormat;[B)V
areturn
end local 2 // byte[] buffer
8: .line 125
StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "could not create AudioData object"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 // int length
end local 0 // sun.audio.AudioStream this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/audio/AudioStream;
1 9 1 length I
3 8 2 buffer [B
Exception table:
from to target type
3 4 5 Class java.io.IOException
Exceptions:
throws java.io.IOException
public int getLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 // sun.audio.AudioStream this
0: .line 131
aload 0 /* this */
getfield sun.audio.AudioStream.ais:Ljavax/sound/sampled/AudioInputStream;
ifnull 4
aload 0 /* this */
getfield sun.audio.AudioStream.format:Ljavax/sound/sampled/AudioFormat;
ifnull 4
1: .line 132
aload 0 /* this */
getfield sun.audio.AudioStream.ais:Ljavax/sound/sampled/AudioInputStream;
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
2: .line 133
aload 0 /* this */
getfield sun.audio.AudioStream.ais:Ljavax/sound/sampled/AudioInputStream;
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
i2l
3: .line 132
lmul
l2i
ireturn
4: .line 135
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.audio.AudioStream.midiformat:Ljavax/sound/midi/MidiFileFormat;
ifnull 6
5: .line 136
aload 0 /* this */
getfield sun.audio.AudioStream.midiformat:Ljavax/sound/midi/MidiFileFormat;
invokevirtual javax.sound.midi.MidiFileFormat.getByteLength:()I
ireturn
6: .line 139
StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 0 // sun.audio.AudioStream this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/audio/AudioStream;
}
SourceFile: "AudioStream.java"