estrutura KSAUDIO_MIXCAP_TABLE (ksmedia.h)
A estrutura KSAUDIO_MIXCAP_TABLE especifica os recursos de combinação de um nó de supermixador (KSNODETYPE_SUPERMIX). Essa estrutura é usada para obter ou definir o valor de dados da propriedade KSPROPERTY_AUDIO_MIX_LEVEL_CAPS.
Sintaxe
typedef struct {
ULONG InputChannels;
ULONG OutputChannels;
KSAUDIO_MIX_CAPS Capabilities[1];
} KSAUDIO_MIXCAP_TABLE, *PKSAUDIO_MIXCAP_TABLE;
Membros
InputChannels
Especifica o número de canais de entrada.
OutputChannels
Especifica o número de canais de saída.
Capabilities[1]
Contém a primeira entrada em uma matriz bidimensional de estruturas KSAUDIO_MIX_CAPS. Dado um nó de supermixador com canais de entrada m e n canais de saída, a matriz contém elementos m* . Cada elemento descreve as funcionalidades de nível de mistura do caminho de um canal de entrada específico para um canal de saída específico.
Observações
A tabela recursos é armazenada como uma matriz bidimensional:
KSAUDIO_MIX_CAPS Capabilities[M*N];
A tabela é uma matriz M-by-N que mapeia canais de entrada M em canais de saída N. A tabela a seguir mostra o mapeamento de recursos de elementos de matriz para os caminhos de entrada/saída M*N do nó do supermixador.
Elemento Array | Caminho de saída de entrada |
---|---|
Recursos[0] | Canal de entrada 0 para o canal de saída 0 |
Recursos[1] | Canal de entrada 0 para o canal de saída 1 |
Recursos[N-1] | Canal de entrada 0 para o canal de saída N-1 |
Recursos[N] | Canal de entrada 1 para o canal de saída 0 |
Recursos[N+1] | Canal de entrada 1 para o canal de saída 1 |
Recursos[2N-1] | Canal de entrada 1 para o canal de saída N-1 |
Recursos[M*N-1] | Canal de entrada M-1 para o canal de saída N-1 |
Em outras palavras, as tampas do mixer para o caminho do canal de entrada i para o canal de saída j estão contidas em Capabilities[i * N + j]. Se nenhum caminho existir da entrada i à saída j, defina o mute membro do elemento de matriz (i,j) como TRUE.
O tamanho da tabela é calculado a partir da estrutura de KSAUDIO_MIXCAP_TABLE que é recuperada por uma solicitação de propriedade de obtenção de KSPROPERTY_AUDIO_MIX_LEVEL_CAPS. Se os InputChannels da estrutura e OutputChannels membros tiverem os valores m e n, o armazenamento total necessário para a estrutura KSAUDIO_MIXCAP_TABLE mais a matriz de KSAUDIO_MIX_CAPS será calculado como
sizeof(KSAUDIO_MIXCAP_TABLE) + (mn - 1)sizeof(KSAUDIO_MIX_CAPS)
Se o cliente enviar uma solicitação de KSPROPERTY_AUDIO_MIX_LEVEL_CAPS inicial na qual o tamanho da propriedade é especificado como 2*tamanho de(ULONG), o driver de miniporto deverá preencher apenas os dois primeiros membros da estrutura KSAUDIO_MIXCAP_TABLE, InputChannels e OutputChannels. Em seguida, o cliente pode enviar uma segunda solicitação de propriedade com armazenamento suficiente alocado para conter os recursos de todos os canais.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | ksmedia.h (inclua Ksmedia.h) |