CBaseOutputPin-Klasse

cbaseoutputpin class hierarchy

Die CBaseOutputPin Klasse ist eine abstrakte Basisklasse, die eine Ausgabehefte implementiert.

Diese Klasse wird von CBasePin abgeleitet. Es unterscheidet sich von CBasePin in den folgenden Aspekten:

  • Es verbindet sich nur mit Eingabeheften, die die IMemInputPin-Schnittstelle unterstützen.
  • Er unterstützt den lokalen Speichertransport über die IMemAllocator-Schnittstelle .
  • Es lehnt End-of-Stream-, Flush- und New-Segment-Benachrichtigungen ab. (Diese sollten nicht an eine Ausgabehefte gesendet werden.)
  • Es bietet Methoden zum Bereitstellen von Beispielen nach unten.

Wenn die Pin eine Verbindung herstellt, fordert sie einen Speicher-Allocator aus der Eingabehefte an. Fehler darin, wird ein neues Allocator-Objekt erstellt. Die Ausgabehefte sind für das Festlegen der Allocatoreigenschaften verantwortlich. Dies erfolgt über die reine virtuelle Methode CBaseOutputPin::D ecideBufferSize. Überschreiben Sie diese Methode in Ihrer abgeleiteten Klasse. Wenn die Eingabehefte über alle Pufferanforderungen verfügen, werden sie an die DecideBufferSize-Methode übergeben.

Rufen Sie die CBaseOutputPin::GetDeliveryBuffer-Methode auf, um ein leeres Medienbeispiel abzurufen. Rufen Sie die CBaseOutputPin::D eliver-Methode auf, um Nachlaufbeispiele bereitzustellen.

Ihre abgeleitete Klasse muss die reine virtuelle CBasePin::CheckMediaType-Methode außer Kraft setzen, um den Medientyp während pin-Verbindungen zu überprüfen.

Geschützte Membervariablen BESCHREIBUNG
m_pAllocator Zeiger auf den Speicher-Allocator.
m_pInputPin Zeiger auf die Eingabehefte, die mit dieser Pin verbunden sind.
Öffentliche Methoden BESCHREIBUNG
CBaseOutputPin Konstruktormethode.
CompleteConnect Schließt eine Verbindung mit einer Eingabehefte ab. Virtuellen.
DecideAllocator Wählt einen Speicher-Allocator aus. Virtuellen.
GetDeliveryBuffer Ruft ein Medienbeispiel ab, das einen leeren Puffer enthält. Virtuellen.
Liefern Stellt ein Medienbeispiel an die verbundene Eingabehefte bereit. Virtuellen.
InitAllocator Erstellt einen Speicher-Allocator. Virtuellen.
CheckConnect Bestimmt, ob eine Pinverbindung geeignet ist.
BreakConnect Gibt die Pin aus einer Verbindung ab.
Aktiv Benachrichtigt die Pin, dass der Filter jetzt aktiv ist.
Inaktiv Benachrichtigt die Pin, dass der Filter nicht mehr aktiv ist.
DeliverEndOfStream Stellt eine End-of-Stream-Benachrichtigung an die verbundene Eingabehefte bereit. Virtuellen.
DeliverBeginFlush Fordert die verbundene Eingabehefte an, um einen Spülvorgang zu starten. Virtuellen.
DeliverEndFlush Fordert die verbundene Eingabehefte an, um einen Spülvorgang zu beenden. Virtuellen.
DeliverNewSegment Stellt eine neue Segmentbenachrichtigung an die verbundene Eingabehefte bereit. Virtuellen.
Reine virtuelle Methoden BESCHREIBUNG
DecideBufferSize Legt die Pufferanforderungen fest.
IPin-Methoden BESCHREIBUNG
BeginFlush Beginnt einen Spülvorgang.
EndFlush Beendet einen Spülvorgang.
EndOfStream Benachrichtigt die Pin, dass keine zusätzlichen Daten erwartet werden.

Requirements (Anforderungen)

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