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