Freigeben über


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)

Weitere Informationen

KSAUDIO_MIX_CAPS

KSNODETYPE_SUPERMIX

KSPROPERTY_AUDIO_MIX_LEVEL_CAPS

KSPROPERTY_AUDIO_MIX_LEVEL_TABLE