Freigeben über


CBaseOutputPin-Klasse

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

cbaseoutputpin-Klassenhierarchie

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

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

  • Es stellt nur eine Verbindung mit Eingabenadeln her, die die IMemInputPin-Schnittstelle unterstützen.
  • Es unterstützt den lokalen Speichertransport über die IMemAllocator-Schnittstelle .
  • Benachrichtigungen zum Ende des Datenstroms, zum Leeren und zum Neuen Segment werden abgelehnt. (Diese sollten nicht an einen Ausgabenadel gesendet werden.)
  • Es stellt Methoden zum Übermitteln von Beispielen nach unten bereit.

Wenn der Pin eine Verbindung herstellt, fordert er einen Speicherzuordnungsgeber vom Eingabenadel an. Andernfalls wird ein neues Zuordnungsobjekt erstellt. Der Ausgabenadel ist für das Festlegen der Zuteilungseigenschaften verantwortlich. Dies erfolgt über die reine virtuelle Methode CBaseOutputPin::D ecideBufferSize. Überschreiben Sie diese Methode in Ihrer abgeleiteten Klasse. Wenn der Eingabenadel Pufferanforderungen aufweist, 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 nachgeschaltete Beispiele zu liefern.

Ihre abgeleitete Klasse muss die reine virtuelle CBasePin::CheckMediaType-Methode außer Kraft setzen, um den Medientyp bei Anheftverbindungen zu überprüfen.

Geschützte Membervariablen BESCHREIBUNG
m_pAllocator Zeiger auf den Speicherzuteilungsator.
m_pInputPin Zeiger auf den Eingabenadel, der mit diesem Pin verbunden ist.
Öffentliche Methoden BESCHREIBUNG
CBaseOutputPin Konstruktormethode.
CompleteConnect Schließt eine Verbindung mit einem Eingabenadel ab. Virtuellen.
DecideAllocator Wählt einen Speicherzuordnungsator aus. Virtuellen.
GetDeliveryBuffer Ruft ein Medienbeispiel ab, das einen leeren Puffer enthält. Virtuellen.
Bereitstellen Sendet ein Medienbeispiel an den verbundenen Eingabenadel. Virtuellen.
InitAllocator Erstellt einen Speicherzuordnungsator. Virtuellen.
CheckConnect Bestimmt, ob eine Pinverbindung geeignet ist.
BreakConnect Löst den Pin von einer Verbindung.
Aktiv Benachrichtigt den Pin, dass der Filter jetzt aktiv ist.
Inaktiv Benachrichtigt den Pin, dass der Filter nicht mehr aktiv ist.
DeliverEndOfStream Sendet eine Benachrichtigung zum Streamende an den verbundenen Eingabenadel. Virtuellen.
DeliverBeginFlush Fordert den verbundenen Eingabenadel an, um einen Löschvorgang zu starten. Virtuellen.
DeliverEndFlush Fordert den verbundenen Eingabenadel an, um einen Löschvorgang zu beenden. Virtuellen.
DeliverNewSegment Sendet eine New-Segment-Benachrichtigung an den verbundenen Eingabenadel. Virtuellen.
Reine virtuelle Methoden BESCHREIBUNG
EntscheidenBufferSize Legt die Pufferanforderungen fest.
IPin-Methoden BESCHREIBUNG
BeginFlush Startet einen Löschvorgang.
EndFlush Beendet einen Löschvorgang.
EndOfStream Benachrichtigt den Pin, dass keine zusätzlichen Daten erwartet werden.

Anforderungen

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