KSAUDIO_MIXCAP_TABLE-Struktur (ksmedia.h)
Die KSAUDIO_MIXCAP_TABLE-Struktur gibt die Mischfunktionen eines Supermixerknotens (KSNODETYPE_SUPERMIX) an. Diese Struktur wird verwendet, um den Datenwert für die eigenschaft KSPROPERTY_AUDIO_MIX_LEVEL_CAPS abzurufen oder festzulegen.
Syntax
typedef struct {
ULONG InputChannels;
ULONG OutputChannels;
KSAUDIO_MIX_CAPS Capabilities[1];
} KSAUDIO_MIXCAP_TABLE, *PKSAUDIO_MIXCAP_TABLE;
Member
InputChannels
Gibt die Anzahl der Eingabekanäle an.
OutputChannels
Gibt die Anzahl der Ausgabekanäle an.
Capabilities[1]
Enthält den ersten Eintrag in einem zweidimensionalen Array von KSAUDIO_MIX_CAPS Strukturen. Bei einem Supermixerknoten mit m-Eingabekanälen und n Ausgabekanälen enthält das Array m*-Elemente. Jedes Element beschreibt die Mischebenenfunktionen des Pfads von einem bestimmten Eingabekanal zu einem bestimmten Ausgabekanal.
Hinweise
Die Tabelle Capabilities wird als zweidimensionales Array gespeichert:
KSAUDIO_MIX_CAPS Capabilities[M*N];
Die Tabelle ist eine M-by-N-Matrix, die M-Eingabekanälen N-Ausgabekanälen zuordnet. Die folgende Tabelle zeigt die Zuordnung der Capabilities-Arrayelemente zu den M*N-Eingabe-Ausgabepfaden des Supermixerknotens.
Arrayelement | Eingabe-Ausgabepfad |
---|---|
Funktionen[0] | Eingabekanal 0 zum Ausgabekanal 0 |
Funktionen[1] | Eingabekanal 0 zum Ausgabekanal 1 |
Funktionen[N-1] | Eingabekanal 0 zum Ausgabekanal N-1 |
Funktionen[N] | Eingabekanal 1 zum Ausgabekanal 0 |
Funktionen[N+1] | Eingabekanal 1 bis Ausgabekanal 1 |
Funktionen[2N-1] | Eingabekanal 1 zum Ausgabekanal N-1 |
Funktionen[M*N-1] | Eingabekanal M-1 zum Ausgabekanal N-1 |
Anders ausgedrückt: Die Mischerkappen für den Pfad vom Eingabekanal i zum Ausgabekanal j sind in Capabilities[i * N + j] enthalten. Wenn von eingabe i bis ausgabe j kein Pfad vorhanden ist, legen Sie den Mute-Member des Matrixelements (i,j) auf TRUE fest.
Die Größe der Tabelle wird aus der KSAUDIO_MIXCAP_TABLE-Struktur berechnet, die von einer KSPROPERTY_AUDIO_MIX_LEVEL_CAPS get-Eigenschaftsanforderung abgerufen wird. Wenn die Elemente InputChannels und OutputChannels der Struktur die Werte m und n aufweisen, wird der für die KSAUDIO_MIXCAP_TABLE-Struktur erforderliche Gesamtspeicher sowie das KSAUDIO_MIX_CAPS Array als berechnet.
sizeof(KSAUDIO_MIXCAP_TABLE) + (mn - 1)sizeof(KSAUDIO_MIX_CAPS)
Wenn der Client eine anfängliche KSPROPERTY_AUDIO_MIX_LEVEL_CAPS Anforderung sendet, in der die Eigenschaftsgröße als 2*sizeof(ULONG) angegeben wird, sollte der Miniporttreiber nur die ersten beiden Member der KSAUDIO_MIXCAP_TABLE-Struktur ausfüllen, InputChannels und OutputChannels. Der Client kann dann eine zweite Eigenschaftsanforderung mit genügend Speicherplatz senden, um die Funktionen aller Kanäle zu enthalten.
Anforderungen
Anforderung | Wert |
---|---|
Header | ksmedia.h (include Ksmedia.h) |