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)

Confira também

KSAUDIO_MIX_CAPS

KSNODETYPE_SUPERMIX

KSPROPERTY_AUDIO_MIX_LEVEL_CAPS

KSPROPERTY_AUDIO_MIX_LEVEL_TABLE