CBaseFilter-Klasse

cbasefilter class hierarchy

Die Klasse ist eine abstrakte Klasse für die CBaseFilter Implementierung von Filtern. Um einen Filter mithilfe dieser Klasse zu implementieren, müssen Sie mindestens die folgenden Schritte ausführen:

  • Ableiten einer neuen Klasse von CBaseFilter.
  • Fügen Sie Membervariablen ein, die die Pins im Filter definieren. Die Pins müssen von der CBasePin-Klasse erben.
  • Überschreiben Sie die reine virtuelle Methode CBaseFilter::GetPin, die Pins auf dem 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 beziehen sich auf CBaseFilterCSource, 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 Filterdiagramm-Manager.
m_pSink Zeiger auf die IMediaEventSink-Schnittstelle im Filterdiagramm-Manager.
m_PinVersion Aktuelle Version der Pins auf diesem Filter.
Öffentliche Methoden BESCHREIBUNG
CBaseFilter Konstruktormethode.
~ CBaseFilter Destructor-Methode.
StreamTime Ruft die aktuelle Streamzeit ab. Virtuellen.
Isactive Bestimmt, ob der Filter aktuell aktiv ist (ausgeführt oder angehalten).
IsStopped Bestimmt, ob der Filter derzeit beendet wird.
NotifyEvent Sendet eine Ereignisbenachrichtigung an den Filterdiagramm-Manager.
GetFilterGraph Ruft einen Zeiger auf den Filterdiagramm-Manager ab.
ReconnectPin Durchbricht eine vorhandene Pinverbindung und verbindet sie erneut mit demselben Pin, indem Sie einen angegebenen Medientyp verwenden.
GetPinVersion Ruft eine Versionsnummer für den Satz von Pins auf diesem Filter ab. Virtuellen.
IncrementPinVersion Erhöht die Versionsnummer auf der Gruppe von 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 Pin ab.
IPersist-Methoden BESCHREIBUNG
Getclassid Ruft den Klassenbezeichner ab.
IMediaFilter-Methoden BESCHREIBUNG
GetState Ruft den Status des Filters ab (ausgeführt, beendet oder angehalten).
SetSyncSource Legt eine Referenzuhr 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
Aufzählungspins Aufzählt die Pins auf diesem Filter.
FindPin Ruft die Pin mit dem angegebenen Bezeichner ab.
QueryFilterInfo Ruft Informationen zum Filter ab.
JoinFilterGraph Benachrichtigt den Filter, dass er einem Filterdiagramm beitreten oder verlassen hat.
QueryVendorInfo Ruft eine Zeichenfolge mit Lieferanteninformationen ab.
IAMovieSetup-Methoden BESCHREIBUNG
Registrieren Fügt dem Registrierungsfilter den Filter hinzu.
Unregister Entfernt den Filter aus der Registrierung.

Requirements (Anforderungen)

Anforderung Wert
Header
Amfilter.h (enthalten Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)