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.]
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 |
|
Bibliothek |
|