Condividi tramite


KSAUDIO_MIXCAP_TABLE struttura (ksmedia.h)

La struttura KSAUDIO_MIXCAP_TABLE specifica le funzionalità di combinazione di un nodo supermixer (KSNODETYPE_SUPERMIX). Questa struttura viene usata per ottenere o impostare il valore dei dati per la proprietà KSPROPERTY_AUDIO_MIX_LEVEL_CAPS .

Sintassi

typedef struct {
  ULONG            InputChannels;
  ULONG            OutputChannels;
  KSAUDIO_MIX_CAPS Capabilities[1];
} KSAUDIO_MIXCAP_TABLE, *PKSAUDIO_MIXCAP_TABLE;

Members

InputChannels

Specifica il numero di canali di input.

OutputChannels

Specifica il numero di canali di output.

Capabilities[1]

Contiene la prima voce in una matrice bidimensionale di strutture KSAUDIO_MIX_CAPS . Dato un nodo supermixer con canali di input m e n canali di output, la matrice contiene elementi m*. Ogni elemento descrive le funzionalità a livello di combinazione del percorso da un determinato canale di input a un determinato canale di output.

Commenti

La tabella Capabilities viene archiviata come matrice bidimensionale:

KSAUDIO_MIX_CAPS Capabilities[M*N];

La tabella è una matrice M-by-N che esegue il mapping dei canali di input M nei canali di output N. Nella tabella seguente viene illustrato il mapping degli elementi della matrice Capabilities ai percorsi M*N del nodo supermixer.

Elemento della matrice Percorso di output di input
Funzionalità[0] Canale di input 0 per il canale di output 0
Funzionalità[1] Canale di input 0 al canale di output 1
Funzionalità[N-1] Canale di input 0 per il canale di output N-1
Funzionalità[N] Canale di input 1 per il canale di output 0
Funzionalità[N+1] Canale di input 1 per il canale di output 1
Funzionalità[2N-1] Canale di input 1 per il canale di output N-1
Funzionalità[M*N-1] Canale di input M-1 per l'output del canale N-1

In altre parole, i limiti di mixer per il percorso dal canale di input i al canale di output j sono contenuti in Funzionalità[i * N + j]. Se non esiste alcun percorso dall'input i a output j, impostare il membro Mute dell'elemento matrice (i,j) su TRUE.

Le dimensioni della tabella vengono calcolate dalla struttura KSAUDIO_MIXCAP_TABLE recuperata da una richiesta di proprietà KSPROPERTY_AUDIO_MIX_LEVEL_CAPS get. Se i membri InputChannels e OutputChannels della struttura hanno i valori m e n, la risorsa di archiviazione totale necessaria per la struttura KSAUDIO_MIXCAP_TABLE e la matrice di KSAUDIO_MIX_CAPS viene calcolata come

sizeof(KSAUDIO_MIXCAP_TABLE) + (mn - 1)sizeof(KSAUDIO_MIX_CAPS)

Se il client invia una richiesta di KSPROPERTY_AUDIO_MIX_LEVEL_CAPS iniziale in cui le dimensioni della proprietà vengono specificate come 2*sizeof(ULONG), il driver miniport deve compilare solo i primi due membri della struttura KSAUDIO_MIXCAP_TABLE, InputChannels e OutputChannels. Il client può quindi inviare una seconda richiesta di proprietà con spazio di archiviazione sufficiente allocato per contenere le funzionalità di tutti i canali.

Requisiti

Requisito Valore
Intestazione ksmedia.h (includere Ksmedia.h)

Vedi anche

KSAUDIO_MIX_CAPS

KSNODETYPE_SUPERMIX

KSPROPERTY_AUDIO_MIX_LEVEL_CAPS

KSPROPERTY_AUDIO_MIX_LEVEL_TABLE