Graph-Building-Komponenten
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
DirectShow stellt mehrere Komponenten bereit, die zum Erstellen von Filterdiagrammen verwendet werden können. Dabei handelt es sich z. B. um:
- Graph-Manager filtern. Dieses Objekt steuert das Filterdiagramm. Es unterstützt unter anderem die Schnittstellen IGraphBuilder, IMediaControl und IMediaEventEx . Alle DirectShow-Anwendungen verwenden dieses Objekt irgendwann, obwohl in einigen Fällen ein anderes Objekt den Filter Graph-Manager für die Anwendung erstellt.
- Capture Graph Builder. Dieses Objekt stellt zusätzliche Methoden zum Erstellen von Filterdiagrammen bereit. Es wurde ursprünglich für die Erstellung von Graphen entwickelt, die Videoaufnahmen (daher der Name) durchführen, ist aber für viele andere Typen von benutzerdefinierten Filterdiagrammen nützlich. Sie unterstützt die ICaptureGraphBuilder2-Schnittstelle .
- Filterzuordnung und Systemgeräteenumerator. Diese Objekte suchen Filter, die auf dem System des Benutzers registriert sind oder Hardwaregeräte darstellen.
- DVD Graph Builder. Dieses Objekt erstellt Filterdiagramme für die DVD-Wiedergabe und -Navigation. Sie unterstützt die IDvdGraphBuilder-Schnittstelle .
Intelligent Connect
Der Begriff "Intelligent Connect" umfasst eine Reihe von Algorithmen, die der Filtergraph-Manager verwendet, um einen Filtergraphen ganz oder teilweise zu erstellen. Wenn der Graph-Filter-Manager zusätzliche Filter zum Abschließen des Graphen benötigt, führt er ungefähr folgendes aus:
- Wenn der Graph derzeit einen Filter mit mindestens einem nicht verbundenen Eingabestift enthält, versucht der Filtergraph-Manager, diesen Filter zu verwenden.
- Andernfalls sucht der Graph-Filter-Manager in der Registrierung nach Filtern, die den richtigen Medientyp für die Verbindung akzeptieren können. Jeder Filter verfügt über einen Registrierungswert namens "Merit", der ungefähr angibt, wie wahrscheinlich der Filter beim Abschließen des Diagramms nützlich ist. Der Filtergraph-Manager versucht, Filter in der Reihenfolge des Werts des Werts zu verwenden. Für jeden Streamtyp (z. B. Audio, Video oder MIDI) hat der Standardrenderer einen hohen Wert. Decoder haben auch ein hohes Verdienst. Spezialfilter haben einen geringen Wert.
Wenn der Graph-Filter-Manager nicht mehr funktioniert, wird er zurückgesetzt und eine andere Kombination von Filtern ausprobiert. Die genauen Details finden Sie im Thema Intelligent Connect.
Zugehörige Themen