Compartir a través de


Filtros KS

Un filtro es un grupo de nodos que encapsula una tarea de procesamiento que se va a realizar en el flujo de datos. Los pines sirven como conductos de entrada y salida en un filtro.

Un filtro simple podría contener un pin de destino de datos y un pin de fuente de datos. El filtro recibe datos entrantes en el pin de sumidero de datos, los procesa internamente y escribe en el pin de fuente de datos. En la ilustración siguiente, los pines se muestran como segmentos de línea gruesos. Internamente, el filtro conecta el pin del sumidero de datos a una unidad de procesamiento interna, un nodo que, a su vez, está conectado al pin del origen de datos.

diagrama que ilustra un filtro ks simple.

Otro dispositivo puede combinar o dividir flujos de datos entre pines. Por ejemplo, un mezclador de audio admite varios pines de entrada de datos. El mezclador los combina en una sola secuencia y escribe esa secuencia en un pin de origen de datos. La ilustración siguientes muestran el flujo de datos.

diagrama que ilustra un mezclador.

El diagrama describe la relación interna entre las patillas del filtro. Un filtro más complicado podría encapsular varios nodos que transforman los datos que fluyen a través del filtro.

Los filtros especifican conexiones internas entre patillas y nodos internos mediante el conjunto de propiedades KSPROPSETID_Topology.

La propiedad KSPROPERTY_TOPOLOGY_CONNECTIONS consulta todas las conexiones entre nodos de un filtro KS. Esta propiedad devuelve una matriz de KSTOPOLOGY_CONNECTION. Cada estructura KSTOPOLOGY_CONNECTION representa una única conexión de ruta de datos dentro de un filtro. En el diagrama de mezclador anterior, la secuencia de estructuras KSTOPOLOGY_CONNECTION podría ser la siguiente:

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