Compartilhar via


Filtros KS

Um filtro é um grupo de nós que encapsula uma tarefa de processamento a ser executada no fluxo de dados. Os pinos servem como conduítes de entrada e saída em um filtro.

Um filtro simples pode conter um pino de coletor de dados e um pino de fonte de dados. O filtro recebe dados de entrada no pin do coletor de dados, processa-os internamente e grava no pin da fonte de dados. Na figura a seguir, os pinos são mostrados como segmentos de linha pesada. Internamente, o filtro conecta o pino do coletor de dados a uma unidade de processamento interna, um que, por sua vez, está conectado ao pin da fonte de dados.

diagrama ilustrando um filtro ks simples.

Outro dispositivo pode combinar ou dividir fluxos de dados entre pinos. Por exemplo, um mixer de áudio dá suporte a vários pinos de coletor de dados. O mixer os combina em um único fluxo e grava esse fluxo em um pin de fonte de dados. A ilustração a seguir mostra o fluxo de dados.

diagrama ilustrando um mixer.

O grafo descreve a relação interna entre os pinos do filtro. Um filtro mais complicado pode encapsular vários nós que transformam os dados que fluem pelo filtro.

Os filtros especificam conexões internas entre pinos e nós internos usando o conjunto de propriedades KSPROPSETID_Topology.

A propriedade KSPROPERTY_TOPOLOGY_CONNECTIONS consulta todas as conexões entre nós de um filtro KS. Essa propriedade retorna uma matriz de KSTOPOLOGY_CONNECTION. Cada estrutura KSTOPOLOGY_CONNECTION representa uma única conexão de caminho de dados dentro de um filtro. No diagrama do mixer acima, a sequência de estruturas de KSTOPOLOGY_CONNECTION pode ser a seguinte:

//    FromNode,       FromNodePin,     ToNode,        ToNodePin,
{
 {  KSFILTER_NODE,        0,            0,               0     },
 {       0,               1,       KSFILTER_NODE,        1     }
}