Partager via


Filtres KS

Un filtre est un groupe de nœuds qui encapsule une tâche de traitement à effectuer sur le flux de données. Les broches servent de conduits d’entrée et de sortie sur un filtre.

Un filtre simple peut contenir une broche de récepteur de données et une broche de source de données. Le filtre reçoit les données entrantes sur la broche du récepteur de données, les traite en interne et écrit dans la broche de source de données. Dans la figure suivante, les broches sont représentées sous forme de segments de trait lourds. En interne, le filtre connecte la broche du récepteur de données à une unité de traitement interne, un nœud, qui est à son tour connecté à la broche de source de données.

diagramme illustrant un filtre ks simple.

Un autre appareil peut combiner ou fractionner des flux de données entre des broches. Par exemple, un mixeur audio prend en charge plusieurs broches de récepteur de données. Le mélangeur les combine en un seul flux et écrit ce flux dans une broche de source de données. L’illustration suivante montre le flux de données.

diagramme illustrant un mélangeur.

Le graphique décrit la relation interne entre les broches du filtre. Un filtre plus complexe peut encapsuler plusieurs nœuds qui transforment les données qui transitent par le filtre.

Les filtres spécifient les connexions internes entre les broches et les nœuds internes à l’aide du jeu de propriétés KSPROPSETID_Topology .

La propriété KSPROPERTY_TOPOLOGY_CONNECTIONS interroge toutes les connexions entre les nœuds d’un filtre KS. Cette propriété retourne un tableau de KSTOPOLOGY_CONNECTION. Chaque structure KSTOPOLOGY_CONNECTION représente une connexion de chemin de données unique à l’intérieur d’un filtre. Dans le diagramme de mélangeur ci-dessus, la séquence de structures KSTOPOLOGY_CONNECTION peut être la suivante :

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