Delen via


KS-filters

Een filter is een groep knooppunten die een verwerkingstaak inkapselt die moet worden uitgevoerd op de gegevensstroom. Pinnen fungeren als invoer- en uitvoerconduits op een filter.

Een eenvoudig filter kan één gegevenssinkpin en één gegevensbronpin bevatten. Het filter ontvangt inkomende data op de data-invoerpinnetje, verwerkt het intern en schrijft naar de data-uitvoerpinnetje. In de volgende afbeelding worden de pinnen weergegeven als zware lijnsegmenten. Intern verbindt het filter de gegevensuitgangspin met een interne verwerkingseenheid, een knooppunt dat op zijn beurt is verbonden met de gegevensingangspin.

diagram met een eenvoudig ks-filter.

Een ander apparaat kan gegevensstromen tussen pinnen combineren of splitsen. Een audiomixer ondersteunt bijvoorbeeld verschillende gegevenssinkpinnen. De mixer combineert deze tot een enkele stroom en schrijft die stroom naar een gegevensbronpin. In de volgende afbeelding wordt de gegevensstroom weergegeven.

diagram met een mixer.

In de grafiek wordt de interne relatie tussen de pinnen van het filter beschreven. Een ingewikkelder filter kan verschillende knooppunten inkapselen waarmee gegevens die door het filter stromen, worden getransformeerd.

Filters geven interne verbindingen tussen pinnen en interne knooppunten op met behulp van de KSPROPSETID_Topology eigenschappenset.

Met de eigenschap KSPROPERTY_TOPOLOGY_CONNECTIONS worden alle verbindingen tussen knooppunten van een KS-filter opgevraagd. Met deze eigenschap wordt een matrix van KSTOPOLOGY_CONNECTION geretourneerd. Elke KSTOPOLOGY_CONNECTION structuur vertegenwoordigt één gegevenspadverbinding binnen een filter. In het bovenstaande mixerdiagram kan de volgorde van KSTOPOLOGY_CONNECTION structuren als volgt zijn:

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