abstract class com.sun.media.sound.AbstractMixer extends com.sun.media.sound.AbstractLine implements javax.sound.sampled.Mixer
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.media.sound.AbstractMixer
super_class: com.sun.media.sound.AbstractLine
{
protected static final int PCM;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 0
protected static final int ULAW;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 1
protected static final int ALAW;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private final javax.sound.sampled.Mixer$Info mixerInfo;
descriptor: Ljavax/sound/sampled/Mixer$Info;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected javax.sound.sampled.Line$Info[] sourceLineInfo;
descriptor: [Ljavax/sound/sampled/Line$Info;
flags: (0x0004) ACC_PROTECTED
protected javax.sound.sampled.Line$Info[] targetLineInfo;
descriptor: [Ljavax/sound/sampled/Line$Info;
flags: (0x0004) ACC_PROTECTED
private boolean started;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean manuallyOpened;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.util.Vector<javax.sound.sampled.Line> sourceLines;
descriptor: Ljava/util/Vector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Vector<Ljavax/sound/sampled/Line;>;
private final java.util.Vector<javax.sound.sampled.Line> targetLines;
descriptor: Ljava/util/Vector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Vector<Ljavax/sound/sampled/Line;>;
protected void <init>(javax.sound.sampled.Mixer$Info, javax.sound.sampled.Control[], javax.sound.sampled.Line$Info[], javax.sound.sampled.Line$Info[]);
descriptor: (Ljavax/sound/sampled/Mixer$Info;[Ljavax/sound/sampled/Control;[Ljavax/sound/sampled/Line$Info;[Ljavax/sound/sampled/Line$Info;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
new javax.sound.sampled.Line$Info
dup
ldc Ljavax/sound/sampled/Mixer;
invokespecial javax.sound.sampled.Line$Info.<init>:(Ljava/lang/Class;)V
aconst_null
aload 2
invokespecial com.sun.media.sound.AbstractLine.<init>:(Ljavax/sound/sampled/Line$Info;Lcom/sun/media/sound/AbstractMixer;[Ljavax/sound/sampled/Control;)V
1: aload 0
iconst_0
putfield com.sun.media.sound.AbstractMixer.started:Z
2: aload 0
iconst_0
putfield com.sun.media.sound.AbstractMixer.manuallyOpened:Z
3: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield com.sun.media.sound.AbstractMixer.sourceLines:Ljava/util/Vector;
4: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield com.sun.media.sound.AbstractMixer.targetLines:Ljava/util/Vector;
5: aload 0
aload 0
putfield com.sun.media.sound.AbstractMixer.mixer:Lcom/sun/media/sound/AbstractMixer;
6: aload 2
ifnonnull 8
7: iconst_0
anewarray javax.sound.sampled.Control
astore 2
8: StackMap locals: com.sun.media.sound.AbstractMixer javax.sound.sampled.Mixer$Info javax.sound.sampled.Control[] javax.sound.sampled.Line$Info[] javax.sound.sampled.Line$Info[]
StackMap stack:
aload 0
aload 1
putfield com.sun.media.sound.AbstractMixer.mixerInfo:Ljavax/sound/sampled/Mixer$Info;
9: aload 0
aload 3
putfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
10: aload 0
aload 4
putfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/media/sound/AbstractMixer;
0 12 1 mixerInfo Ljavax/sound/sampled/Mixer$Info;
0 12 2 controls [Ljavax/sound/sampled/Control;
0 12 3 sourceLineInfo [Ljavax/sound/sampled/Line$Info;
0 12 4 targetLineInfo [Ljavax/sound/sampled/Line$Info;
MethodParameters:
Name Flags
mixerInfo
controls
sourceLineInfo
targetLineInfo
public final javax.sound.sampled.Mixer$Info getMixerInfo();
descriptor: ()Ljavax/sound/sampled/Mixer$Info;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMixer.mixerInfo:Ljavax/sound/sampled/Mixer$Info;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMixer;
public final javax.sound.sampled.Line$Info[] getSourceLineInfo();
descriptor: ()[Ljavax/sound/sampled/Line$Info;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
anewarray javax.sound.sampled.Line$Info
astore 1
start local 1 1: aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
iconst_0
aload 1
iconst_0
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/AbstractMixer;
1 3 1 localArray [Ljavax/sound/sampled/Line$Info;
public final javax.sound.sampled.Line$Info[] getTargetLineInfo();
descriptor: ()[Ljavax/sound/sampled/Line$Info;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
anewarray javax.sound.sampled.Line$Info
astore 1
start local 1 1: aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
iconst_0
aload 1
iconst_0
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/AbstractMixer;
1 3 1 localArray [Ljavax/sound/sampled/Line$Info;
public final javax.sound.sampled.Line$Info[] getSourceLineInfo(javax.sound.sampled.Line$Info);
descriptor: (Ljavax/sound/sampled/Line$Info;)[Ljavax/sound/sampled/Line$Info;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 3
start local 3 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int java.util.Vector
StackMap stack:
aload 1
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
invokevirtual javax.sound.sampled.Line$Info.matches:(Ljavax/sound/sampled/Line$Info;)Z
ifeq 5
4: aload 3
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
if_icmplt 3
7: aload 3
invokevirtual java.util.Vector.size:()I
anewarray javax.sound.sampled.Line$Info
astore 4
start local 4 8: iconst_0
istore 2
goto 11
9: StackMap locals: javax.sound.sampled.Line$Info[]
StackMap stack:
aload 4
iload 2
aload 3
iload 2
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.sound.sampled.Line$Info
aastore
10: iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 4
arraylength
if_icmplt 9
12: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/media/sound/AbstractMixer;
0 13 1 info Ljavax/sound/sampled/Line$Info;
2 13 2 i I
1 13 3 vec Ljava/util/Vector<Ljavax/sound/sampled/Line$Info;>;
8 13 4 returnedArray [Ljavax/sound/sampled/Line$Info;
MethodParameters:
Name Flags
info
public final javax.sound.sampled.Line$Info[] getTargetLineInfo(javax.sound.sampled.Line$Info);
descriptor: (Ljavax/sound/sampled/Line$Info;)[Ljavax/sound/sampled/Line$Info;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 3
start local 3 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int java.util.Vector
StackMap stack:
aload 1
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
invokevirtual javax.sound.sampled.Line$Info.matches:(Ljavax/sound/sampled/Line$Info;)Z
ifeq 5
4: aload 3
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
if_icmplt 3
7: aload 3
invokevirtual java.util.Vector.size:()I
anewarray javax.sound.sampled.Line$Info
astore 4
start local 4 8: iconst_0
istore 2
goto 11
9: StackMap locals: javax.sound.sampled.Line$Info[]
StackMap stack:
aload 4
iload 2
aload 3
iload 2
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.sound.sampled.Line$Info
aastore
10: iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 4
arraylength
if_icmplt 9
12: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/media/sound/AbstractMixer;
0 13 1 info Ljavax/sound/sampled/Line$Info;
2 13 2 i I
1 13 3 vec Ljava/util/Vector<Ljavax/sound/sampled/Line$Info;>;
8 13 4 returnedArray [Ljavax/sound/sampled/Line$Info;
MethodParameters:
Name Flags
info
public final boolean isLineSupported(javax.sound.sampled.Line$Info);
descriptor: (Ljavax/sound/sampled/Line$Info;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
invokevirtual javax.sound.sampled.Line$Info.matches:(Ljavax/sound/sampled/Line$Info;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
if_icmplt 2
6: iconst_0
istore 2
goto 10
7: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
invokevirtual javax.sound.sampled.Line$Info.matches:(Ljavax/sound/sampled/Line$Info;)Z
ifeq 9
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
if_icmplt 7
11: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/media/sound/AbstractMixer;
0 12 1 info Ljavax/sound/sampled/Line$Info;
1 12 2 i I
MethodParameters:
Name Flags
info
public abstract javax.sound.sampled.Line getLine(javax.sound.sampled.Line$Info);
descriptor: (Ljavax/sound/sampled/Line$Info;)Ljavax/sound/sampled/Line;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws javax.sound.sampled.LineUnavailableException
MethodParameters:
Name Flags
info
public abstract int getMaxLines(javax.sound.sampled.Line$Info);
descriptor: (Ljavax/sound/sampled/Line$Info;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
info
protected abstract void implOpen();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws javax.sound.sampled.LineUnavailableException
protected abstract void implStart();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected abstract void implStop();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected abstract void implClose();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public final javax.sound.sampled.Line[] getSourceLines();
descriptor: ()[Ljavax/sound/sampled/Line;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLines:Ljava/util/Vector;
dup
astore 2
monitorenter
1: aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLines:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
anewarray javax.sound.sampled.Line
astore 1
start local 1 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: javax.sound.sampled.Line[] java.util.Vector int
StackMap stack:
aload 1
iload 3
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLines:Ljava/util/Vector;
iload 3
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.sound.sampled.Line
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 7: aload 2
monitorexit
8: goto 11
end local 1 StackMap locals: com.sun.media.sound.AbstractMixer top java.util.Vector
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
start local 1 11: StackMap locals: com.sun.media.sound.AbstractMixer javax.sound.sampled.Line[]
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/media/sound/AbstractMixer;
2 9 1 localLines [Ljavax/sound/sampled/Line;
11 12 1 localLines [Ljavax/sound/sampled/Line;
3 7 3 i I
Exception table:
from to target type
1 8 9 any
9 10 9 any
public final javax.sound.sampled.Line[] getTargetLines();
descriptor: ()[Ljavax/sound/sampled/Line;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMixer.targetLines:Ljava/util/Vector;
dup
astore 2
monitorenter
1: aload 0
getfield com.sun.media.sound.AbstractMixer.targetLines:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
anewarray javax.sound.sampled.Line
astore 1
start local 1 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: javax.sound.sampled.Line[] java.util.Vector int
StackMap stack:
aload 1
iload 3
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLines:Ljava/util/Vector;
iload 3
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.sound.sampled.Line
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 7: aload 2
monitorexit
8: goto 11
end local 1 StackMap locals: com.sun.media.sound.AbstractMixer top java.util.Vector
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
start local 1 11: StackMap locals: com.sun.media.sound.AbstractMixer javax.sound.sampled.Line[]
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/media/sound/AbstractMixer;
2 9 1 localLines [Ljavax/sound/sampled/Line;
11 12 1 localLines [Ljavax/sound/sampled/Line;
3 7 3 i I
Exception table:
from to target type
1 8 9 any
9 10 9 any
public final void synchronize(javax.sound.sampled.Line[], boolean);
descriptor: ([Ljavax/sound/sampled/Line;Z)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.IllegalArgumentException
dup
ldc "Synchronization not supported by this mixer."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMixer;
0 1 1 lines [Ljavax/sound/sampled/Line;
0 1 2 maintainSync Z
MethodParameters:
Name Flags
lines
maintainSync
public final void unsynchronize(javax.sound.sampled.Line[]);
descriptor: ([Ljavax/sound/sampled/Line;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.IllegalArgumentException
dup
ldc "Synchronization not supported by this mixer."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMixer;
0 1 1 lines [Ljavax/sound/sampled/Line;
MethodParameters:
Name Flags
lines
public final boolean isSynchronizationSupported(javax.sound.sampled.Line[], boolean);
descriptor: ([Ljavax/sound/sampled/Line;Z)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMixer;
0 1 1 lines [Ljavax/sound/sampled/Line;
0 1 2 maintainSync Z
MethodParameters:
Name Flags
lines
maintainSync
public final synchronized void open();
descriptor: ()V
flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual com.sun.media.sound.AbstractMixer.open:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/AbstractMixer;
Exceptions:
throws javax.sound.sampled.LineUnavailableException
final synchronized void open(boolean);
descriptor: (Z)V
flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.media.sound.AbstractMixer.isOpen:()Z
ifne 5
1: aload 0
invokevirtual com.sun.media.sound.AbstractMixer.implOpen:()V
2: aload 0
iconst_1
invokevirtual com.sun.media.sound.AbstractMixer.setOpen:(Z)V
3: iload 1
ifeq 5
4: aload 0
iconst_1
putfield com.sun.media.sound.AbstractMixer.manuallyOpened:Z
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/media/sound/AbstractMixer;
0 6 1 manual Z
Exceptions:
throws javax.sound.sampled.LineUnavailableException
MethodParameters:
Name Flags
manual
final synchronized void open(javax.sound.sampled.Line);
descriptor: (Ljavax/sound/sampled/Line;)V
flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface javax.sound.sampled.Line.getLineInfo:()Ljavax/sound/sampled/Line$Info;
invokevirtual com.sun.media.sound.AbstractMixer.isSourceLine:(Ljavax/sound/sampled/Line$Info;)Z
ifeq 7
3: aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLines:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
ifne 13
4: aload 0
iconst_0
invokevirtual com.sun.media.sound.AbstractMixer.open:(Z)V
5: aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLines:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
6: goto 13
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface javax.sound.sampled.Line.getLineInfo:()Ljavax/sound/sampled/Line$Info;
invokevirtual com.sun.media.sound.AbstractMixer.isTargetLine:(Ljavax/sound/sampled/Line$Info;)Z
ifeq 12
8: aload 0
getfield com.sun.media.sound.AbstractMixer.targetLines:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
ifne 13
9: aload 0
iconst_0
invokevirtual com.sun.media.sound.AbstractMixer.open:(Z)V
10: aload 0
getfield com.sun.media.sound.AbstractMixer.targetLines:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
11: goto 13
12: StackMap locals:
StackMap stack:
getstatic com.sun.media.sound.Printer.err:Z
ifeq 13
new java.lang.StringBuilder
dup
ldc "Unknown line received for AbstractMixer.open(Line): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.media.sound.Printer.err:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/media/sound/AbstractMixer;
0 14 1 line Ljavax/sound/sampled/Line;
Exceptions:
throws javax.sound.sampled.LineUnavailableException
MethodParameters:
Name Flags
line
final synchronized void close(javax.sound.sampled.Line);
descriptor: (Ljavax/sound/sampled/Line;)V
flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLines:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
pop
3: aload 0
getfield com.sun.media.sound.AbstractMixer.targetLines:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
pop
4: aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLines:Ljava/util/Vector;
invokevirtual java.util.Vector.isEmpty:()Z
ifeq 6
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLines:Ljava/util/Vector;
invokevirtual java.util.Vector.isEmpty:()Z
ifeq 6
aload 0
getfield com.sun.media.sound.AbstractMixer.manuallyOpened:Z
ifne 6
5: aload 0
invokevirtual com.sun.media.sound.AbstractMixer.close:()V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/AbstractMixer;
0 7 1 line Ljavax/sound/sampled/Line;
MethodParameters:
Name Flags
line
public final synchronized void close();
descriptor: ()V
flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.AbstractMixer.isOpen:()Z
ifeq 15
1: aload 0
invokevirtual com.sun.media.sound.AbstractMixer.getSourceLines:()[Ljavax/sound/sampled/Line;
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: javax.sound.sampled.Line[] int
StackMap stack:
aload 1
iload 2
aaload
invokeinterface javax.sound.sampled.Line.close:()V
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 1
arraylength
if_icmplt 4
end local 2 7: aload 0
invokevirtual com.sun.media.sound.AbstractMixer.getTargetLines:()[Ljavax/sound/sampled/Line;
astore 1
8: iconst_0
istore 2
start local 2 9: goto 12
10: StackMap locals:
StackMap stack:
aload 1
iload 2
aaload
invokeinterface javax.sound.sampled.Line.close:()V
11: iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
aload 1
arraylength
if_icmplt 10
end local 2 13: aload 0
invokevirtual com.sun.media.sound.AbstractMixer.implClose:()V
14: aload 0
iconst_0
invokevirtual com.sun.media.sound.AbstractMixer.setOpen:(Z)V
end local 1 15: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.media.sound.AbstractMixer.manuallyOpened:Z
16: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/media/sound/AbstractMixer;
2 15 1 localLines [Ljavax/sound/sampled/Line;
3 7 2 i I
9 13 2 i I
final synchronized void start(javax.sound.sampled.Line);
descriptor: (Ljavax/sound/sampled/Line;)V
flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.AbstractMixer.started:Z
ifne 5
3: aload 0
invokevirtual com.sun.media.sound.AbstractMixer.implStart:()V
4: aload 0
iconst_1
putfield com.sun.media.sound.AbstractMixer.started:Z
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/media/sound/AbstractMixer;
0 6 1 line Ljavax/sound/sampled/Line;
MethodParameters:
Name Flags
line
final synchronized void stop(javax.sound.sampled.Line);
descriptor: (Ljavax/sound/sampled/Line;)V
flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLines:Ljava/util/Vector;
invokevirtual java.util.Vector.clone:()Ljava/lang/Object;
checkcast java.util.Vector
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 10
5: StackMap locals: java.util.Vector int
StackMap stack:
aload 2
iload 3
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
instanceof com.sun.media.sound.AbstractDataLine
ifeq 9
6: aload 2
iload 3
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast com.sun.media.sound.AbstractDataLine
astore 4
start local 4 7: aload 4
invokevirtual com.sun.media.sound.AbstractDataLine.isStartedRunning:()Z
ifeq 9
aload 4
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 9
8: return
end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 2
invokevirtual java.util.Vector.size:()I
if_icmplt 5
end local 3 11: aload 0
getfield com.sun.media.sound.AbstractMixer.targetLines:Ljava/util/Vector;
invokevirtual java.util.Vector.clone:()Ljava/lang/Object;
checkcast java.util.Vector
astore 3
start local 3 12: iconst_0
istore 4
start local 4 13: goto 19
14: StackMap locals: com.sun.media.sound.AbstractMixer javax.sound.sampled.Line java.util.Vector java.util.Vector int
StackMap stack:
aload 3
iload 4
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
instanceof com.sun.media.sound.AbstractDataLine
ifeq 18
15: aload 3
iload 4
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast com.sun.media.sound.AbstractDataLine
astore 5
start local 5 16: aload 5
invokevirtual com.sun.media.sound.AbstractDataLine.isStartedRunning:()Z
ifeq 18
aload 5
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 18
17: return
end local 5 18: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
aload 3
invokevirtual java.util.Vector.size:()I
if_icmplt 14
end local 4 20: aload 0
iconst_0
putfield com.sun.media.sound.AbstractMixer.started:Z
21: aload 0
invokevirtual com.sun.media.sound.AbstractMixer.implStop:()V
22: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/media/sound/AbstractMixer;
0 23 1 line Ljavax/sound/sampled/Line;
3 23 2 localSourceLines Ljava/util/Vector<Ljavax/sound/sampled/Line;>;
4 11 3 i I
7 9 4 sourceLine Lcom/sun/media/sound/AbstractDataLine;
12 23 3 localTargetLines Ljava/util/Vector<Ljavax/sound/sampled/Line;>;
13 20 4 i I
16 18 5 targetLine Lcom/sun/media/sound/AbstractDataLine;
MethodParameters:
Name Flags
line
final boolean isSourceLine(javax.sound.sampled.Line$Info);
descriptor: (Ljavax/sound/sampled/Line$Info;)Z
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
invokevirtual javax.sound.sampled.Line$Info.matches:(Ljavax/sound/sampled/Line$Info;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
if_icmplt 2
end local 2 6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/AbstractMixer;
0 7 1 info Ljavax/sound/sampled/Line$Info;
1 6 2 i I
MethodParameters:
Name Flags
info
final boolean isTargetLine(javax.sound.sampled.Line$Info);
descriptor: (Ljavax/sound/sampled/Line$Info;)Z
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
invokevirtual javax.sound.sampled.Line$Info.matches:(Ljavax/sound/sampled/Line$Info;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
if_icmplt 2
end local 2 6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/AbstractMixer;
0 7 1 info Ljavax/sound/sampled/Line$Info;
1 6 2 i I
MethodParameters:
Name Flags
info
final javax.sound.sampled.Line$Info getLineInfo(javax.sound.sampled.Line$Info);
descriptor: (Ljavax/sound/sampled/Line$Info;)Ljavax/sound/sampled/Line$Info;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
invokevirtual javax.sound.sampled.Line$Info.matches:(Ljavax/sound/sampled/Line$Info;)Z
ifeq 6
5: aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
areturn
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield com.sun.media.sound.AbstractMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
if_icmplt 4
end local 2 8: iconst_0
istore 2
start local 2 9: goto 13
10: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
invokevirtual javax.sound.sampled.Line$Info.matches:(Ljavax/sound/sampled/Line$Info;)Z
ifeq 12
11: aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 2
aaload
areturn
12: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
13: iload 2
aload 0
getfield com.sun.media.sound.AbstractMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
arraylength
if_icmplt 10
end local 2 14: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/media/sound/AbstractMixer;
0 15 1 info Ljavax/sound/sampled/Line$Info;
3 8 2 i I
9 14 2 i I
MethodParameters:
Name Flags
info
}
SourceFile: "AbstractMixer.java"
InnerClasses:
public Info = javax.sound.sampled.Line$Info of javax.sound.sampled.Line
public Info = javax.sound.sampled.Mixer$Info of javax.sound.sampled.Mixer