Compartilhar via


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)

Consulte também

KSAUDIO_MIX_CAPS

KSNODETYPE_SUPERMIX

KSPROPERTY_AUDIO_MIX_LEVEL_CAPS

KSPROPERTY_AUDIO_MIX_LEVEL_TABLE