public final class com.sun.media.sound.SoftSynthesizer$WeakAudioStream extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.SoftSynthesizer$WeakAudioStream
super_class: java.io.InputStream
{
private volatile javax.sound.sampled.AudioInputStream stream;
descriptor: Ljavax/sound/sampled/AudioInputStream;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
public com.sun.media.sound.SoftAudioPusher pusher;
descriptor: Lcom/sun/media/sound/SoftAudioPusher;
flags: (0x0001) ACC_PUBLIC
public javax.sound.sampled.AudioInputStream jitter_stream;
descriptor: Ljavax/sound/sampled/AudioInputStream;
flags: (0x0001) ACC_PUBLIC
public javax.sound.sampled.SourceDataLine sourceDataLine;
descriptor: Ljavax/sound/sampled/SourceDataLine;
flags: (0x0001) ACC_PUBLIC
public volatile long silent_samples;
descriptor: J
flags: (0x0041) ACC_PUBLIC, ACC_VOLATILE
private int framesize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.lang.ref.WeakReference<javax.sound.sampled.AudioInputStream> weak_stream_link;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ref/WeakReference<Ljavax/sound/sampled/AudioInputStream;>;
private final com.sun.media.sound.AudioFloatConverter converter;
descriptor: Lcom/sun/media/sound/AudioFloatConverter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private float[] silentbuffer;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
private final int samplesize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void setInputStream(javax.sound.sampled.AudioInputStream);
descriptor: (Ljavax/sound/sampled/AudioInputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.stream:Ljavax/sound/sampled/AudioInputStream;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/SoftSynthesizer$WeakAudioStream;
0 2 1 stream Ljavax/sound/sampled/AudioInputStream;
MethodParameters:
Name Flags
stream
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.stream:Ljavax/sound/sampled/AudioInputStream;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual javax.sound.sampled.AudioInputStream.available:()I
ireturn
3: StackMap locals: javax.sound.sampled.AudioInputStream
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/media/sound/SoftSynthesizer$WeakAudioStream;
1 4 1 local_stream Ljavax/sound/sampled/AudioInputStream;
Exceptions:
throws java.io.IOException
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_1
newarray 8
astore 1
start local 1 1: aload 0
aload 1
invokevirtual com.sun.media.sound.SoftSynthesizer$WeakAudioStream.read:([B)I
iconst_m1
if_icmpne 3
2: iconst_m1
ireturn
3: StackMap locals: byte[]
StackMap stack:
aload 1
iconst_0
baload
sipush 255
iand
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/media/sound/SoftSynthesizer$WeakAudioStream;
1 4 1 b [B
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.stream:Ljavax/sound/sampled/AudioInputStream;
astore 4
start local 4 1: aload 4
ifnull 3
2: aload 4
aload 1
iload 2
iload 3
invokevirtual javax.sound.sampled.AudioInputStream.read:([BII)I
ireturn
3: StackMap locals: javax.sound.sampled.AudioInputStream
StackMap stack:
iload 3
aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.samplesize:I
idiv
istore 5
start local 5 4: aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.silentbuffer:[F
ifnull 5
aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.silentbuffer:[F
arraylength
iload 5
if_icmpge 6
5: StackMap locals: int
StackMap stack:
aload 0
iload 5
newarray 6
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.silentbuffer:[F
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.converter:Lcom/sun/media/sound/AudioFloatConverter;
aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.silentbuffer:[F
iload 5
aload 1
iload 2
invokevirtual com.sun.media.sound.AudioFloatConverter.toByteArray:([FI[BI)[B
pop
7: aload 0
dup
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.silent_samples:J
iload 3
aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.framesize:I
idiv
i2l
ladd
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.silent_samples:J
8: aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.pusher:Lcom/sun/media/sound/SoftAudioPusher;
ifnull 15
9: aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.weak_stream_link:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
ifnonnull 15
10: new com.sun.media.sound.SoftSynthesizer$WeakAudioStream$1
dup
aload 0
invokespecial com.sun.media.sound.SoftSynthesizer$WeakAudioStream$1.<init>:(Lcom/sun/media/sound/SoftSynthesizer$WeakAudioStream;)V
astore 6
start local 6 11: aload 0
aconst_null
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.pusher:Lcom/sun/media/sound/SoftAudioPusher;
12: aload 0
aconst_null
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.jitter_stream:Ljavax/sound/sampled/AudioInputStream;
13: aload 0
aconst_null
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.sourceDataLine:Ljavax/sound/sampled/SourceDataLine;
14: new java.lang.Thread
dup
aconst_null
aload 6
ldc "Synthesizer"
lconst_0
iconst_0
invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V
invokevirtual java.lang.Thread.start:()V
end local 6 15: StackMap locals:
StackMap stack:
iload 3
ireturn
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 16 0 this Lcom/sun/media/sound/SoftSynthesizer$WeakAudioStream;
0 16 1 b [B
0 16 2 off I
0 16 3 len I
1 16 4 local_stream Ljavax/sound/sampled/AudioInputStream;
4 16 5 flen I
11 15 6 runnable Ljava/lang/Runnable;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public void <init>(javax.sound.sampled.AudioInputStream);
descriptor: (Ljavax/sound/sampled/AudioInputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
aconst_null
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.pusher:Lcom/sun/media/sound/SoftAudioPusher;
2: aload 0
aconst_null
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.jitter_stream:Ljavax/sound/sampled/AudioInputStream;
3: aload 0
aconst_null
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.sourceDataLine:Ljavax/sound/sampled/SourceDataLine;
4: aload 0
lconst_0
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.silent_samples:J
5: aload 0
iconst_0
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.framesize:I
6: aload 0
aconst_null
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.silentbuffer:[F
7: aload 0
aload 1
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.stream:Ljavax/sound/sampled/AudioInputStream;
8: aload 0
new java.lang.ref.WeakReference
dup
aload 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.weak_stream_link:Ljava/lang/ref/WeakReference;
9: aload 0
aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokestatic com.sun.media.sound.AudioFloatConverter.getConverter:(Ljavax/sound/sampled/AudioFormat;)Lcom/sun/media/sound/AudioFloatConverter;
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.converter:Lcom/sun/media/sound/AudioFloatConverter;
10: aload 0
aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
idiv
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.samplesize:I
11: aload 0
aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
putfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.framesize:I
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/media/sound/SoftSynthesizer$WeakAudioStream;
0 13 1 stream Ljavax/sound/sampled/AudioInputStream;
MethodParameters:
Name Flags
stream
public javax.sound.sampled.AudioInputStream getAudioInputStream();
descriptor: ()Ljavax/sound/sampled/AudioInputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new javax.sound.sampled.AudioInputStream
dup
aload 0
aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.stream:Ljavax/sound/sampled/AudioInputStream;
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
ldc -1
invokespecial javax.sound.sampled.AudioInputStream.<init>:(Ljava/io/InputStream;Ljavax/sound/sampled/AudioFormat;J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/SoftSynthesizer$WeakAudioStream;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.SoftSynthesizer$WeakAudioStream.weak_stream_link:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast javax.sound.sampled.AudioInputStream
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual javax.sound.sampled.AudioInputStream.close:()V
3: StackMap locals: javax.sound.sampled.AudioInputStream
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/media/sound/SoftSynthesizer$WeakAudioStream;
1 4 1 astream Ljavax/sound/sampled/AudioInputStream;
Exceptions:
throws java.io.IOException
}
SourceFile: "SoftSynthesizer.java"
NestHost: com.sun.media.sound.SoftSynthesizer
InnerClasses:
protected final WeakAudioStream = com.sun.media.sound.SoftSynthesizer$WeakAudioStream of com.sun.media.sound.SoftSynthesizer
com.sun.media.sound.SoftSynthesizer$WeakAudioStream$1