Audiofilter
Ein KS-Filter ist ein Kernelobjekt und wird durch ein Kernelobjekthandle identifiziert. In der folgenden Abbildung ist das große Feld in der Mitte ein KS-Filter, der ein Audiogerät darstellt. Der Datenstrom fließt von links in den Filter, durchläuft zur Verarbeitung einige Knoten und beendet den Filter auf der rechten Seite. Der Filter wird von einer Filterfactory erstellt, die als Feld mit gestrichelten Kanten am unteren Rand des Filters angezeigt wird.
In der Abbildung werden zwei Pins für den Filter instanziiert. Der Pin auf der linken Seite ist eine Datensenke, und die Pin auf der rechten Seite ist eine Datenquelle. Daten fließen über die Senkennadel in den Filter und fließen aus dem Filter über den Quellnadel.
Gemäß Konvention ist die Verwendung der Begriffe Quelle und Senke in KS pufferzentriert (oder vielleicht, allgemeiner, verbindungszentriert). Ein Datenpuffer ist häufig an dem Punkt erforderlich, an dem ein Quellpin an einem Filter eine Verbindung mit dem Senkenpin eines anderen herstellt. Der Puffer glättet Unregelmäßigkeiten in den Raten, bei denen Daten vom Quellnadel eingehen und in den Senkenstift austreten. (Natürlich ist nicht für alle Verbindungen eine Pufferung erforderlich. Eine pufferlose Verbindung kann zwischen zwei Geräten auf demselben Adapter Karte auftreten, z. B. bei denen die Senke und die Quelldatenraten leichter übereinstimmen können.)
Im Gegensatz dazu ist die Terminologie der Mixer-API für SRC- und DST-Mischlinien (Quelle und Ziel) gerätezentriert:
Der Stream gelangt über die SRC-Mischerlinie in ein Mixergerät.
Der Stream verlässt ein Mixergerät über die DST-Mischerlinie.
Anders ausgedrückt: Eine SRC-Mixerlinie wird einem Datensenke-Pin auf einem KS-Filter zugeordnet, und eine DST-Mixerlinie wird einem Datenquellen-Pin zugeordnet. Weitere Informationen finden Sie unter Übersetzung der Kernelstreamingtopologie in die Audiomixer-API.
Der Einfachheit halber werden in der Abbildung die Pin-Factorys des Filters weggelassen, die die Pininstanzen erstellen.
Neben Datensenken und Datenquellen können Pins und Filter auch IRP-Senken und IRP-Quellen sein. Pins und Filter können nicht nur IRPs empfangen, sie können auch IRPs senden. Die drei dunklen Pfeile in der Abbildung stellen IRPs dar. Der Stift auf der linken Seite der Abbildung ist eine IRP-Senke. Der Pin auf der rechten Seite ist eine IRP-Quelle. Die Abbildung zeigt auch, dass ein IRP an das Filterobjekt selbst gesendet wird.