Compartir a través de


estructura KSAUDIO_MIXCAP_TABLE (ksmedia.h)

La estructura KSAUDIO_MIXCAP_TABLE especifica las funciones de mezcla de un nodo supermezclador (KSNODETYPE_SUPERMIX). Esta estructura se usa para obtener o establecer el valor de datos de la propiedad KSPROPERTY_AUDIO_MIX_LEVEL_CAPS .

Sintaxis

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

Miembros

InputChannels

Especifica el número de canales de entrada.

OutputChannels

Especifica el número de canales de salida.

Capabilities[1]

Contiene la primera entrada en una matriz bidimensional de estructuras de KSAUDIO_MIX_CAPS . Dada una supermezcladora con canales de entrada m y n canales de salida, la matriz contiene elementos m*. Cada elemento describe las funcionalidades de nivel de combinación de la ruta de acceso de un canal de entrada determinado a un canal de salida determinado.

Comentarios

La tabla Capabilities se almacena como una matriz bidimensional:

KSAUDIO_MIX_CAPS Capabilities[M*N];

La tabla es una matriz M-by-N que asigna canales de entrada M a N canales de salida. En la tabla siguiente se muestra la asignación de elementos de matriz Capabilities a las rutas de acceso de salida de entrada M*N del nodo supermezclador.

Elemento de matriz Ruta de acceso de entrada y salida
Capacidades[0] Canal de entrada 0 al canal de salida 0
Capacidades[1] Canal de entrada 0 al canal de salida 1
Capacidades[N-1] Canal de entrada 0 al canal de salida N-1
Capacidades[N] Canal de entrada 1 al canal de salida 0
Funcionalidades[N+1] Canal de entrada 1 al canal de salida 1
Capacidades[2N-1] Canal de entrada 1 al canal de salida N-1
Capacidades[M*N-1] Canal de entrada M-1 al canal de salida N-1

En otras palabras, los límites del mezclador para la ruta de acceso del canal de entrada i al canal de salida j se encuentran en Capabilities[i * N + j]. Si no existe ninguna ruta de acceso de la entrada i a la salida j, establezca el miembro Silenciar del elemento de matriz (i,j) en TRUE.

El tamaño de la tabla se calcula a partir de la estructura KSAUDIO_MIXCAP_TABLE recuperada por una solicitud de propiedad get de KSPROPERTY_AUDIO_MIX_LEVEL_CAPS . Si los miembros InputChannels y OutputChannels de la estructura tienen los valores m y n, el almacenamiento total necesario para la estructura de KSAUDIO_MIXCAP_TABLE más la matriz KSAUDIO_MIX_CAPS se calcula como

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

Si el cliente envía una solicitud de KSPROPERTY_AUDIO_MIX_LEVEL_CAPS inicial en la que el tamaño de la propiedad se especifica como 2*sizeof(ULONG), el controlador de miniporte debe rellenar solo los dos primeros miembros de la estructura de KSAUDIO_MIXCAP_TABLE, InputChannels y OutputChannels. A continuación, el cliente puede enviar una segunda solicitud de propiedad con suficiente almacenamiento asignado para contener las funcionalidades de todos los canales.

Requisitos

Requisito Valor
Header ksmedia.h (incluya Ksmedia.h)

Consulte también

KSAUDIO_MIX_CAPS

KSNODETYPE_SUPERMIX

KSPROPERTY_AUDIO_MIX_LEVEL_CAPS

KSPROPERTY_AUDIO_MIX_LEVEL_TABLE