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 entrada de dados e um pino de saída 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 espessa. Internamente, o filtro conecta o pino de entrada de dados a uma unidade de processamento interna, um , que, por sua vez, está conectado ao pino 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 saída de dados. O mixer combina esses elementos em um único fluxo e grava esse fluxo em um pino de saída 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 pelo uso do 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     }
}