final class com.sun.media.sound.PortMixer extends com.sun.media.sound.AbstractMixer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.PortMixer
super_class: com.sun.media.sound.AbstractMixer
{
private static final int SRC_UNKNOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int SRC_MICROPHONE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int SRC_LINE_IN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int SRC_COMPACT_DISC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int SRC_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 255
private static final int DST_UNKNOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 256
private static final int DST_SPEAKER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 512
private static final int DST_HEADPHONE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 768
private static final int DST_LINE_OUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private static final int DST_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65280
private javax.sound.sampled.Port$Info[] portInfos;
descriptor: [Ljavax/sound/sampled/Port$Info;
flags: (0x0002) ACC_PRIVATE
private com.sun.media.sound.PortMixer$PortMixerPort[] ports;
descriptor: [Lcom/sun/media/sound/PortMixer$PortMixerPort;
flags: (0x0002) ACC_PRIVATE
private long id;
descriptor: J
flags: (0x0002) ACC_PRIVATE
void <init>(com.sun.media.sound.PortMixerProvider$PortMixerInfo);
descriptor: (Lcom/sun/media/sound/PortMixerProvider$PortMixerInfo;)V
flags: (0x0000)
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
1: aconst_null
2: aconst_null
3: aconst_null
invokespecial com.sun.media.sound.AbstractMixer.<init>:(Ljavax/sound/sampled/Mixer$Info;[Ljavax/sound/sampled/Control;[Ljavax/sound/sampled/Line$Info;[Ljavax/sound/sampled/Line$Info;)V
4: aload 0
lconst_0
putfield com.sun.media.sound.PortMixer.id:J
5: iconst_0
istore 2
start local 2 6: iconst_0
istore 3
start local 3 7: iconst_0
istore 4
start local 4 8: aload 0
aload 0
invokevirtual com.sun.media.sound.PortMixer.getMixerIndex:()I
invokestatic com.sun.media.sound.PortMixer.nOpen:(I)J
putfield com.sun.media.sound.PortMixer.id:J
9: aload 0
getfield com.sun.media.sound.PortMixer.id:J
lconst_0
lcmp
ifeq 15
10: aload 0
getfield com.sun.media.sound.PortMixer.id:J
invokestatic com.sun.media.sound.PortMixer.nGetPortCount:(J)I
istore 2
11: iload 2
ifge 15
12: iconst_0
istore 2
13: goto 15
StackMap locals: com.sun.media.sound.PortMixer com.sun.media.sound.PortMixerProvider$PortMixerInfo int int int
StackMap stack: java.lang.Exception
14: pop
15: StackMap locals:
StackMap stack:
aload 0
iload 2
anewarray javax.sound.sampled.Port$Info
putfield com.sun.media.sound.PortMixer.portInfos:[Ljavax/sound/sampled/Port$Info;
16: iconst_0
istore 5
start local 5 17: goto 27
18: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.media.sound.PortMixer.id:J
iload 5
invokestatic com.sun.media.sound.PortMixer.nGetPortType:(JI)I
istore 6
start local 6 19: iload 3
iload 6
sipush 255
iand
ifeq 20
iconst_1
goto 21
StackMap locals: com.sun.media.sound.PortMixer com.sun.media.sound.PortMixerProvider$PortMixerInfo int int int int int
StackMap stack: int
20: iconst_0
StackMap locals: com.sun.media.sound.PortMixer com.sun.media.sound.PortMixerProvider$PortMixerInfo int int int int int
StackMap stack: int int
21: iadd
istore 3
22: iload 4
iload 6
ldc 65280
iand
ifeq 23
iconst_1
goto 24
StackMap locals:
StackMap stack: int
23: iconst_0
StackMap locals: com.sun.media.sound.PortMixer com.sun.media.sound.PortMixerProvider$PortMixerInfo int int int int int
StackMap stack: int int
24: iadd
istore 4
25: aload 0
getfield com.sun.media.sound.PortMixer.portInfos:[Ljavax/sound/sampled/Port$Info;
iload 5
aload 0
iload 5
iload 6
invokevirtual com.sun.media.sound.PortMixer.getPortInfo:(II)Ljavax/sound/sampled/Port$Info;
aastore
end local 6 26: iinc 5 1
StackMap locals:
StackMap stack:
27: iload 5
iload 2
if_icmplt 18
end local 5 28: goto 34
StackMap locals: com.sun.media.sound.PortMixer com.sun.media.sound.PortMixerProvider$PortMixerInfo int int int
StackMap stack: java.lang.Throwable
29: astore 7
30: aload 0
getfield com.sun.media.sound.PortMixer.id:J
lconst_0
lcmp
ifeq 32
31: aload 0
getfield com.sun.media.sound.PortMixer.id:J
invokestatic com.sun.media.sound.PortMixer.nClose:(J)V
32: StackMap locals: com.sun.media.sound.PortMixer com.sun.media.sound.PortMixerProvider$PortMixerInfo int int int top top java.lang.Throwable
StackMap stack:
aload 0
lconst_0
putfield com.sun.media.sound.PortMixer.id:J
33: aload 7
athrow
34: StackMap locals: com.sun.media.sound.PortMixer com.sun.media.sound.PortMixerProvider$PortMixerInfo int int int
StackMap stack:
aload 0
getfield com.sun.media.sound.PortMixer.id:J
lconst_0
lcmp
ifeq 36
35: aload 0
getfield com.sun.media.sound.PortMixer.id:J
invokestatic com.sun.media.sound.PortMixer.nClose:(J)V
36: StackMap locals:
StackMap stack:
aload 0
lconst_0
putfield com.sun.media.sound.PortMixer.id:J
37: aload 0
iload 3
anewarray javax.sound.sampled.Port$Info
putfield com.sun.media.sound.PortMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
38: aload 0
iload 4
anewarray javax.sound.sampled.Port$Info
putfield com.sun.media.sound.PortMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
39: iconst_0
istore 3
iconst_0
istore 4
40: iconst_0
istore 5
start local 5 41: goto 47
42: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.media.sound.PortMixer.portInfos:[Ljavax/sound/sampled/Port$Info;
iload 5
aaload
invokevirtual javax.sound.sampled.Port$Info.isSource:()Z
ifeq 45
43: aload 0
getfield com.sun.media.sound.PortMixer.sourceLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 3
iinc 3 1
aload 0
getfield com.sun.media.sound.PortMixer.portInfos:[Ljavax/sound/sampled/Port$Info;
iload 5
aaload
aastore
44: goto 46
45: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.PortMixer.targetLineInfo:[Ljavax/sound/sampled/Line$Info;
iload 4
iinc 4 1
aload 0
getfield com.sun.media.sound.PortMixer.portInfos:[Ljavax/sound/sampled/Port$Info;
iload 5
aaload
aastore
46: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
47: iload 5
iload 2
if_icmplt 42
end local 5 48: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lcom/sun/media/sound/PortMixer;
0 49 1 portMixerInfo Lcom/sun/media/sound/PortMixerProvider$PortMixerInfo;
6 49 2 count I
7 49 3 srcLineCount I
8 49 4 dstLineCount I
17 28 5 i I
19 26 6 type I
41 48 5 i I
Exception table:
from to target type
8 13 14 Class java.lang.Exception
8 29 29 any
MethodParameters:
Name Flags
portMixerInfo
public javax.sound.sampled.Line getLine(javax.sound.sampled.Line$Info);
descriptor: (Ljavax/sound/sampled/Line$Info;)Ljavax/sound/sampled/Line;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.media.sound.PortMixer.getLineInfo:(Ljavax/sound/sampled/Line$Info;)Ljavax/sound/sampled/Line$Info;
astore 2
start local 2 1: aload 2
ifnull 8
aload 2
instanceof javax.sound.sampled.Port$Info
ifeq 8
2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: javax.sound.sampled.Line$Info int
StackMap stack:
aload 2
aload 0
getfield com.sun.media.sound.PortMixer.portInfos:[Ljavax/sound/sampled/Port$Info;
iload 3
aaload
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 0
iload 3
invokevirtual com.sun.media.sound.PortMixer.getPort:(I)Ljavax/sound/sampled/Port;
areturn
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 0
getfield com.sun.media.sound.PortMixer.portInfos:[Ljavax/sound/sampled/Port$Info;
arraylength
if_icmplt 4
end local 3 8: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Line unsupported: "
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;
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 9 0 this Lcom/sun/media/sound/PortMixer;
0 9 1 info Ljavax/sound/sampled/Line$Info;
1 9 2 fullInfo Ljavax/sound/sampled/Line$Info;
3 8 3 i I
Exceptions:
throws javax.sound.sampled.LineUnavailableException
MethodParameters:
Name Flags
info
public int getMaxLines(javax.sound.sampled.Line$Info);
descriptor: (Ljavax/sound/sampled/Line$Info;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.media.sound.PortMixer.getLineInfo:(Ljavax/sound/sampled/Line$Info;)Ljavax/sound/sampled/Line$Info;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: javax.sound.sampled.Line$Info
StackMap stack:
aload 2
instanceof javax.sound.sampled.Port$Info
ifeq 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/media/sound/PortMixer;
0 6 1 info Ljavax/sound/sampled/Line$Info;
1 6 2 fullInfo Ljavax/sound/sampled/Line$Info;
MethodParameters:
Name Flags
info
protected void implOpen();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual com.sun.media.sound.PortMixer.getMixerIndex:()I
invokestatic com.sun.media.sound.PortMixer.nOpen:(I)J
putfield com.sun.media.sound.PortMixer.id:J
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/PortMixer;
Exceptions:
throws javax.sound.sampled.LineUnavailableException
protected void implClose();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.PortMixer.id:J
lstore 1
start local 1 1: aload 0
lconst_0
putfield com.sun.media.sound.PortMixer.id:J
2: lload 1
invokestatic com.sun.media.sound.PortMixer.nClose:(J)V
3: aload 0
getfield com.sun.media.sound.PortMixer.ports:[Lcom/sun/media/sound/PortMixer$PortMixerPort;
ifnull 10
4: iconst_0
istore 3
start local 3 5: goto 9
6: StackMap locals: long int
StackMap stack:
aload 0
getfield com.sun.media.sound.PortMixer.ports:[Lcom/sun/media/sound/PortMixer$PortMixerPort;
iload 3
aaload
ifnull 8
7: aload 0
getfield com.sun.media.sound.PortMixer.ports:[Lcom/sun/media/sound/PortMixer$PortMixerPort;
iload 3
aaload
invokevirtual com.sun.media.sound.PortMixer$PortMixerPort.disposeControls:()V
8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 0
getfield com.sun.media.sound.PortMixer.ports:[Lcom/sun/media/sound/PortMixer$PortMixerPort;
arraylength
if_icmplt 6
end local 3 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/media/sound/PortMixer;
1 11 1 thisID J
5 10 3 i I
protected void implStart();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/PortMixer;
protected void implStop();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/PortMixer;
private javax.sound.sampled.Port$Info getPortInfo(int, int);
descriptor: (II)Ljavax/sound/sampled/Port$Info;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
lookupswitch { // 8
1: 1
2: 2
3: 3
4: 4
256: 5
512: 6
768: 7
1024: 8
default: 9
}
1: StackMap locals:
StackMap stack:
new com.sun.media.sound.PortMixer$PortInfo
dup
aload 0
invokevirtual com.sun.media.sound.PortMixer.getID:()J
iload 1
invokestatic com.sun.media.sound.PortMixer.nGetPortName:(JI)Ljava/lang/String;
iconst_1
invokespecial com.sun.media.sound.PortMixer$PortInfo.<init>:(Ljava/lang/String;Z)V
areturn
2: StackMap locals:
StackMap stack:
getstatic javax.sound.sampled.Port$Info.MICROPHONE:Ljavax/sound/sampled/Port$Info;
areturn
3: StackMap locals:
StackMap stack:
getstatic javax.sound.sampled.Port$Info.LINE_IN:Ljavax/sound/sampled/Port$Info;
areturn
4: StackMap locals:
StackMap stack:
getstatic javax.sound.sampled.Port$Info.COMPACT_DISC:Ljavax/sound/sampled/Port$Info;
areturn
5: StackMap locals:
StackMap stack:
new com.sun.media.sound.PortMixer$PortInfo
dup
aload 0
invokevirtual com.sun.media.sound.PortMixer.getID:()J
iload 1
invokestatic com.sun.media.sound.PortMixer.nGetPortName:(JI)Ljava/lang/String;
iconst_0
invokespecial com.sun.media.sound.PortMixer$PortInfo.<init>:(Ljava/lang/String;Z)V
areturn
6: StackMap locals:
StackMap stack:
getstatic javax.sound.sampled.Port$Info.SPEAKER:Ljavax/sound/sampled/Port$Info;
areturn
7: StackMap locals:
StackMap stack:
getstatic javax.sound.sampled.Port$Info.HEADPHONE:Ljavax/sound/sampled/Port$Info;
areturn
8: StackMap locals:
StackMap stack:
getstatic javax.sound.sampled.Port$Info.LINE_OUT:Ljavax/sound/sampled/Port$Info;
areturn
9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/media/sound/PortMixer;
0 10 1 portIndex I
0 10 2 type I
MethodParameters:
Name Flags
portIndex
type
int getMixerIndex();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.PortMixer.getMixerInfo:()Ljavax/sound/sampled/Mixer$Info;
checkcast com.sun.media.sound.PortMixerProvider$PortMixerInfo
invokevirtual com.sun.media.sound.PortMixerProvider$PortMixerInfo.getIndex:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/PortMixer;
javax.sound.sampled.Port getPort(int);
descriptor: (I)Ljavax/sound/sampled/Port;
flags: (0x0000)
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.media.sound.PortMixer.ports:[Lcom/sun/media/sound/PortMixer$PortMixerPort;
ifnonnull 2
1: aload 0
aload 0
getfield com.sun.media.sound.PortMixer.portInfos:[Ljavax/sound/sampled/Port$Info;
arraylength
anewarray com.sun.media.sound.PortMixer$PortMixerPort
putfield com.sun.media.sound.PortMixer.ports:[Lcom/sun/media/sound/PortMixer$PortMixerPort;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.PortMixer.ports:[Lcom/sun/media/sound/PortMixer$PortMixerPort;
iload 1
aaload
ifnonnull 5
3: aload 0
getfield com.sun.media.sound.PortMixer.ports:[Lcom/sun/media/sound/PortMixer$PortMixerPort;
iload 1
new com.sun.media.sound.PortMixer$PortMixerPort
dup
aload 0
getfield com.sun.media.sound.PortMixer.portInfos:[Ljavax/sound/sampled/Port$Info;
iload 1
aaload
aload 0
iload 1
invokespecial com.sun.media.sound.PortMixer$PortMixerPort.<init>:(Ljavax/sound/sampled/Port$Info;Lcom/sun/media/sound/PortMixer;I)V
aastore
4: aload 0
getfield com.sun.media.sound.PortMixer.ports:[Lcom/sun/media/sound/PortMixer$PortMixerPort;
iload 1
aaload
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.PortMixer.ports:[Lcom/sun/media/sound/PortMixer$PortMixerPort;
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/media/sound/PortMixer;
0 6 1 index I
MethodParameters:
Name Flags
index
long getID();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.PortMixer.id:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/PortMixer;
private static native long nOpen(int);
descriptor: (I)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws javax.sound.sampled.LineUnavailableException
MethodParameters:
Name Flags
mixerIndex
private static native void nClose(long);
descriptor: (J)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
id
private static native int nGetPortCount(long);
descriptor: (J)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
id
private static native int nGetPortType(long, int);
descriptor: (JI)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
id
portIndex
private static native java.lang.String nGetPortName(long, int);
descriptor: (JI)Ljava/lang/String;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
id
portIndex
private static native void nGetControls(long, int, java.util.Vector);
descriptor: (JILjava/util/Vector;)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
id
portIndex
vector
private static native void nControlSetIntValue(long, int);
descriptor: (JI)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
controlID
value
private static native int nControlGetIntValue(long);
descriptor: (J)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
controlID
private static native void nControlSetFloatValue(long, float);
descriptor: (JF)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
controlID
value
private static native float nControlGetFloatValue(long);
descriptor: (J)F
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
controlID
}
SourceFile: "PortMixer.java"
NestMembers:
com.sun.media.sound.PortMixer$BoolCtrl com.sun.media.sound.PortMixer$BoolCtrl$BCT com.sun.media.sound.PortMixer$CompCtrl com.sun.media.sound.PortMixer$CompCtrl$CCT com.sun.media.sound.PortMixer$FloatCtrl com.sun.media.sound.PortMixer$FloatCtrl$FCT com.sun.media.sound.PortMixer$PortInfo com.sun.media.sound.PortMixer$PortMixerPort
InnerClasses:
private final BoolCtrl = com.sun.media.sound.PortMixer$BoolCtrl of com.sun.media.sound.PortMixer
private final CompCtrl = com.sun.media.sound.PortMixer$CompCtrl of com.sun.media.sound.PortMixer
private final FloatCtrl = com.sun.media.sound.PortMixer$FloatCtrl of com.sun.media.sound.PortMixer
private final PortInfo = com.sun.media.sound.PortMixer$PortInfo of com.sun.media.sound.PortMixer
private final PortMixerPort = com.sun.media.sound.PortMixer$PortMixerPort of com.sun.media.sound.PortMixer
final PortMixerInfo = com.sun.media.sound.PortMixerProvider$PortMixerInfo of com.sun.media.sound.PortMixerProvider
public Info = javax.sound.sampled.Line$Info of javax.sound.sampled.Line
public Info = javax.sound.sampled.Mixer$Info of javax.sound.sampled.Mixer
public Info = javax.sound.sampled.Port$Info of javax.sound.sampled.Port