structure KSAUDIO_MIXCAP_TABLE (ksmedia.h)

La structure KSAUDIO_MIXCAP_TABLE spécifie les fonctionnalités de mélange d’un nœud supermixeur (KSNODETYPE_SUPERMIX). Cette structure est utilisée pour obtenir ou 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

Contient la première entrée dans un tableau à deux dimensions de structures KSAUDIO_MIX_CAPS . Étant donné un nœud supermixeur avec des canaux d’entrée m 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 vers 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-by-N qui mappe les canaux d’entrée M dans les canaux de sortie N. Le tableau suivant montre le mappage des éléments de tableau De fonctionnalités aux chemins de sortie d’entrée M*N du nœud supermixeur.

Élément de tableau Chemin d’accès de sortie d’entrée
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 le canal de sortie N-1
Fonctionnalités[N] Canal d’entrée 1 pour le 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 pour le canal de sortie N-1
Fonctionnalités[M*N-1] Canal d’entrée M-1 pour le canal de sortie N-1

En d’autres termes, les majuscules du 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]. Si aucun chemin d’accès n’existe entre l’entrée i et la sortie j, définissez le membre Mute 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 requête de propriété get KSPROPERTY_AUDIO_MIX_LEVEL_CAPS . 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 et le tableau KSAUDIO_MIX_CAPS est calculé comme suit :

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

Si le client envoie une demande de KSPROPERTY_AUDIO_MIX_LEVEL_CAPS initiale dans laquelle la taille de propriété est spécifiée sous la forme 2*sizeof(ULONG), le pilote miniport ne doit remplir que 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

   
En-tête ksmedia.h (inclure Ksmedia.h)

Voir aussi

KSAUDIO_MIX_CAPS

KSNODETYPE_SUPERMIX

KSPROPERTY_AUDIO_MIX_LEVEL_CAPS

KSPROPERTY_AUDIO_MIX_LEVEL_TABLE