Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un filtre est un groupe de nœuds qui encapsule une tâche de traitement à effectuer sur le flux de données. Les bornes agissent comme des 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 de réception des données, les traite à l'interne et écrit dans la broche de source des données. Dans la figure suivante, les broches sont présentées sous forme de segments de trait épais. En interne, le filtre connecte la broche de récepteur de données à une unité de traitement interne, un nœud connecté à son tour à la broche de source de données.
Un périphérique différent peut combiner ou fractionner des flux de données entre des broches. Par exemple, un mixeur audio prend en charge plusieurs broches réceptrices de données. Le mélangeur les combine en un seul flux et écrit ce flux vers une borne de source de données. L’illustration suivante présente le flux de données.
Le graphique décrit la relation interne entre les broches du filtre. Un filtre plus compliqué peut encapsuler plusieurs nœuds qui transforment les données qui transitent par le filtre.
Les filtres spécifient des 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 }
}