CBaseFilter-Klasse
[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.]
Die CBaseFilter
-Klasse ist eine abstrakte Klasse zum Implementieren von Filtern. Um einen Filter mit dieser Klasse zu implementieren, müssen Sie mindestens die folgenden Schritte ausführen:
- Leiten Sie eine neue Klasse von ab
CBaseFilter
. - Schließen Sie Membervariablen ein, die die Pins für den Filter definieren. Die Pins müssen von der CBasePin-Klasse erben.
- Überschreiben Sie die reine virtuelle Methode CBaseFilter::GetPin, die Pins für den Filter abruft.
- Überschreiben Sie die reine virtuelle Methode CBaseFilter::GetPinCount, die die Anzahl der Pins abruft.
- Stellen Sie Methoden zum Generieren, Verarbeiten oder Rendern von Medienbeispielen bereit.
Mehrere Basisklassen werden von CBaseFilter
abgeleitet, einschließlich CSource, CBaseRenderer und CTransformFilter. Es ist in der Regel einfacher, einen Filter mit einer dieser spezialisierten Klassen zu implementieren, anstatt direkt zu verwenden CBaseFilter
.
Geschützte Membervariablen | BESCHREIBUNG |
---|---|
m_State | Aktueller Status des Filters. |
m_pClock | Zeiger auf die Referenzuhr des Filters. |
m_tStart | Referenzzeit, die der Streamzeit 0 entspricht. |
m_clsid | Klassenbezeichner (CLSID) des Filters. |
m_pLock | Zeiger auf einen kritischen Abschnitt, der zum Serialisieren von Zustandsänderungen verwendet wird. |
m_pName | Filtername. |
m_pGraph | Zeiger auf den Filtergraph-Manager. |
m_pSink | Zeiger auf die IMediaEventSink-Schnittstelle im Filtergraph-Manager. |
m_PinVersion | Aktuelle Version der Pins für diesen Filter. |
Öffentliche Methoden | BESCHREIBUNG |
CBaseFilter | Konstruktormethode. |
~ CBaseFilter | Destruktormethode. |
StreamTime | Ruft die aktuelle Streamzeit ab. Virtuellen. |
IsActive | Bestimmt, ob der Filter derzeit aktiv ist (ausgeführt oder angehalten). |
IsStopped | Bestimmt, ob der Filter derzeit beendet ist. |
NotifyEvent | Sendet eine Ereignisbenachrichtigung an den Filtergraph-Manager. |
GetFilterGraph | Ruft einen Zeiger auf den Filtergraph-Manager ab. |
Wiederherstellen der VerbindungPin | Unterbricht eine vorhandene Pinverbindung und verbindet sie erneut mit demselben Pin, wobei ein angegebener Medientyp verwendet wird. |
GetPinVersion | Ruft eine Versionsnummer für den Satz von Pins für diesen Filter ab. Virtuellen. |
IncrementPinVersion | Erhöht die Versionsnummer für die Pins. |
GetSetupData | Ruft die Registrierungsdaten für den Filter ab. Virtuellen. |
Reine virtuelle Methoden | BESCHREIBUNG |
GetPinCount | Ruft die Anzahl der Pins ab. |
GetPin | Ruft eine Stecknadel ab. |
IPersist-Methoden | BESCHREIBUNG |
Getclassid | Ruft den Klassenbezeichner ab. |
IMediaFilter-Methoden | BESCHREIBUNG |
GetState | Ruft den Status des Filters ab (wird ausgeführt, beendet oder angehalten). |
SetSyncSource | Legt eine Verweisuhr für den Filter fest. |
GetSyncSource | Ruft die Referenzuhr ab, die der Filter verwendet. |
Beenden | Beendet den Filter. |
Anhalten | Hält den Filter an. |
Ausführung | Führt den Filter aus. |
IBaseFilter-Methoden | BESCHREIBUNG |
EnumPins | Listet die Pins für diesen Filter auf. |
FindPin | Ruft die Pin mit dem angegebenen Bezeichner ab. |
QueryFilterInfo | Ruft Informationen zum Filter ab. |
JoinFilterGraph | Benachrichtigt den Filter, dass er ein Filterdiagramm verknüpft oder verlassen hat. |
QueryVendorInfo | Ruft eine Zeichenfolge ab, die Anbieterinformationen enthält. |
IAMovieSetup-Methoden | BESCHREIBUNG |
Registrieren | Fügt den Filter der Registrierung hinzu. |
Unregister | Entfernt den Filter aus der Registrierung. |
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|