estrutura KSAUDIO_MIXCAP_TABLE (ksmedia.h)
A estrutura KSAUDIO_MIXCAP_TABLE especifica os recursos de combinação de um nó supermixer (KSNODETYPE_SUPERMIX). Essa estrutura é usada para obter ou definir o valor de dados para a 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ó supermixer com canais de entrada m e n canais de saída, a matriz contém elementos m*. Cada elemento descreve os recursos de nível misto do caminho de um canal de entrada específico para um canal de saída específico.
Comentários
A tabela Funcionalidades é 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 N canais de saída. A tabela a seguir mostra o mapeamento de elementos da matriz Capabilities para os caminhos de entrada/saída M*N do nó supermixer.
Elemento Array | Caminho de entrada-saída |
---|---|
Funcionalidades[0] | Canal de entrada 0 para o canal de saída 0 |
Funcionalidades[1] | Canal de entrada 0 para o canal de saída 1 |
Funcionalidades[N-1] | Canal de entrada 0 para o canal de saída N-1 |
Funcionalidades[N] | Canal de entrada 1 para o canal de saída 0 |
Funcionalidades[N+1] | Canal de entrada 1 para o canal de saída 1 |
Funcionalidades[2N-1] | Canal de entrada 1 para o canal de saída N-1 |
Funcionalidades[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 para a saída j, defina o membro Mute do elemento matrix (i,j) como TRUE.
O tamanho da tabela é calculado a partir da estrutura de KSAUDIO_MIXCAP_TABLE que é recuperada por um KSPROPERTY_AUDIO_MIX_LEVEL_CAPS obter solicitação de propriedade. Se os membros InputChannels e OutputChannels da estrutura tiverem os valores m e n, o armazenamento total necessário para a estrutura KSAUDIO_MIXCAP_TABLE mais a matriz 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*sizeof(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) |