CBaseOutputPin-Klasse

cbaseoutputpin-Klassenhierarchie

Die CBaseOutputPin -Klasse ist eine abstrakte Basisklasse, die einen Ausgabepin implementiert.

Diese Klasse wird von CBasePin ableiten. Sie unterscheidet sich von CBasePin in folgenden Hinsicht:

  • Es wird nur eine Verbindung mit Eingabepins herstellt, die die IMemInputPin-Schnittstelle unterstützen.
  • Er unterstützt den lokalen Speichertransport über die IMemAllocator-Schnittstelle.
  • Sie lehnt Benachrichtigungen zum Ende des Streams, zum Leeren und zu neuen Segmenten ab. (Diese sollten nicht an einen Ausgabepin gesendet werden.)
  • Es stellt Methoden für die Nachverarbeitung von Beispielen zur Verfügung.

Wenn der Pin eine Verbindung herstellt, fordert er eine Speicherzuweisung vom Eingabepin an. Wenn dies nicht der Fehler ist, wird ein neues Zuweisungsobjekt erstellt. Der Ausgabepin ist für das Festlegen der Zuweisungseigenschaften verantwortlich. Dies wird mit der reinen virtuellen Methode CBaseOutputPin::D ecideBufferSize ausgeführt. Überschreiben Sie diese Methode in der abgeleiteten Klasse. Wenn der Eingabepin Pufferanforderungen hat, werden sie an die DecideBufferSize-Methode übergeben.

Rufen Sie die CBaseOutputPin::GetDeliveryBuffer-Methode auf, um ein leeres Medienbeispiel zu erhalten. Rufen Sie die CBaseOutputPin::D eliver-Methode auf, um Nachgelagerte Beispiele zu liefern.

Die abgeleitete Klasse muss die rein virtuelle CBasePin::CheckMediaType-Methode überschreiben, um den Medientyp während pin-Verbindungen zu überprüfen.

Geschützte Membervariablen Beschreibung
m _ pAllocator Zeiger auf die Speicherzuweisung.
m _ pInputPin Zeiger auf den Eingabepin, der mit diesem Pin verbunden ist.
Öffentliche Methoden Beschreibung
CBaseOutputPin Konstruktormethode.
CompleteConnect Schließt eine Verbindung mit einem Eingabepin ab. Virtuellen.
DecideAllocator Wählt eine Speicherzuweisung aus. Virtuellen.
GetDeliveryBuffer Ruft ein Medienbeispiel ab, das einen leeren Puffer enthält. Virtuellen.
Bereitstellen Übergibt ein Medienbeispiel an den verbundenen Eingabepin. Virtuellen.
InitAllocator Erstellt eine Speicherzuweisung. Virtuellen.
CheckConnect Bestimmt, ob eine Stecknadelverbindung geeignet ist.
BreakConnect Gibt den Pin von einer Verbindung frei.
Aktiv Benachrichtigt den Pin, dass der Filter jetzt aktiv ist.
Inaktiv Benachrichtigt den Pin, dass der Filter nicht mehr aktiv ist.
DeliverEndOfStream Übergibt eine Benachrichtigung am Ende des Streams an den verbundenen Eingabepin. Virtuellen.
DeliverBeginFlush Fordert den verbundenen Eingabepin an, um einen Leerungsvorgang zu starten. Virtuellen.
DeliverEndFlush Fordert den verbundenen Eingabepin an, um einen Leerungsvorgang zu beenden. Virtuellen.
DeliverNewSegment Übergibt eine Benachrichtigung für ein neues Segment an den verbundenen Eingabepin. Virtuellen.
Rein virtuelle Methoden Beschreibung
DecideBufferSize Legt die Pufferanforderungen fest.
IPin-Methoden Beschreibung
BeginFlush Startet einen Leerungsvorgang.
EndFlush Beendet einen Leerungsvorgang.
EndOfStream Benachrichtigt den Pin, dass keine zusätzlichen Daten erwartet werden.

Anforderungen

Anforderung Wert
Header
Amfilter.h (include Streams.h)
Bibliothek
Strmbase.lib (Einzelhandels-Builds);
Strmbasd.lib (Debugbuilds)