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) |