KSAUDIO_MIXCAP_TABLE structure (ksmedia.h)

La structure KSAUDIO_MIXCAP_TABLE spécifie les fonctionnalités de mélange d’un nœud de supermixeur (KSNODETYPE_SUPERMIX). Cette structure permet d’obtenir ou de définir la valeur de données de la propriété KSPROPERTY_AUDIO_MIX_LEVEL_CAPS .

Syntaxe

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

Membres

InputChannels

Spécifie le nombre de canaux d’entrée.

OutputChannels

Spécifie le nombre de canaux de sortie.

Capabilities[1]

Contient la première entrée d’un tableau à deux dimensions de structures KSAUDIO_MIX_CAPS . Étant donné un nœud de supermixeur avec m canaux d’entrée et n canaux de sortie, le tableau contient des éléments m*. Chaque élément décrit les fonctionnalités de niveau mix du chemin d’accès d’un canal d’entrée particulier à un canal de sortie particulier.

Remarques

La table Capabilities est stockée sous la forme d’un tableau à deux dimensions :

KSAUDIO_MIX_CAPS Capabilities[M*N];

La table est une matrice M par N qui mappe les canaux d’entrée M en N canaux de sortie. Le tableau suivant montre le mappage des éléments du tableau Capabilities aux chemins d’entrée-sortie M*N du nœud de supermixeur.

Élément de tableau Chemin d’entrée-sortie
Fonctionnalités[0] Canal d’entrée 0 vers canal de sortie 0
Fonctionnalités[1] Canal d’entrée 0 vers canal de sortie 1
Fonctionnalités[N-1] Canal d’entrée 0 vers canal de sortie N-1
Fonctionnalités[N] Canal d’entrée 1 vers canal de sortie 0
Fonctionnalités[N+1] Canal d’entrée 1 vers canal de sortie 1
Fonctionnalités[2N-1] Canal d’entrée 1 vers canal de sortie N-1
Fonctionnalités[M*N-1] Canal d’entrée M-1 vers canal de sortie N-1

En d’autres termes, les majuscules de mélangeur pour le chemin d’accès du canal d’entrée i au canal de sortie j sont contenues dans Capabilities[i * N + j]. S’il n’existe aucun chemin d’accès entre l’entrée i et la sortie j, définissez le membre Muet de l’élément de matrice (i,j) sur TRUE.

La taille de la table est calculée à partir de la structure KSAUDIO_MIXCAP_TABLE récupérée par une demande de propriété KSPROPERTY_AUDIO_MIX_LEVEL_CAPS obtenir. Si les membres InputChannels et OutputChannels de la structure ont les valeurs m et n, le stockage total requis pour la structure KSAUDIO_MIXCAP_TABLE plus le tableau KSAUDIO_MIX_CAPS est calculé comme suit :

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

Si le client envoie une requête KSPROPERTY_AUDIO_MIX_LEVEL_CAPS initiale dans laquelle la taille de propriété est spécifiée comme 2*sizeof(ULONG), le pilote miniport doit renseigner uniquement les deux premiers membres de la structure KSAUDIO_MIXCAP_TABLE, InputChannels et OutputChannels. Le client peut ensuite envoyer une deuxième demande de propriété avec suffisamment de stockage alloué pour contenir les fonctionnalités de tous les canaux.

Configuration requise

Condition requise Valeur
En-tête ksmedia.h (incluez Ksmedia.h)

Voir aussi

KSAUDIO_MIX_CAPS

KSNODETYPE_SUPERMIX

KSPROPERTY_AUDIO_MIX_LEVEL_CAPS

KSPROPERTY_AUDIO_MIX_LEVEL_TABLE