Freigeben über


CTransformInputPin.Receive-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die Receive -Methode empfängt das nächste Medienbeispiel im Stream. Diese Methode implementiert die IMemInputPin::Receive-Methode .

Syntax

HRESULT Receive(
   IMediaSample *pSample
);

Parameter

pSample

Zeiger auf die IMediaSample-Schnittstelle des Beispiels.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die in der folgenden Tabelle gezeigten Werte.

Rückgabecode Beschreibung
S_FALSE
Der Pin wird derzeit geleert; das Beispiel wurde abgelehnt.
S_OK
Erfolg.

Bemerkungen

Diese Methode ruft die CBaseInputPin::Receive-Methode des Pins auf, die den Streamingstatus der Pin überprüft und auf Formatänderungen im Medientyp überprüft. Anschließend wird die CTransformFilter::Receive-Methode des Filters aufgerufen, die das Beispiel verarbeitet und nachgeschaltet übermittelt.

Wenn der Filter nach der Rückgabe dieser Methode auf das Beispiel zugreifen muss, sollte er eine Verweisanzahl enthalten, indem die IUnknown::AddRef-Methode für das Beispiel aufgerufen wird. Beispielsweise benötigen einige Decoderfilter das aktuelle Beispiel, um das nächste Beispiel zu decodieren.

Anforderungen

Anforderung Wert
Header
Transfrm.h (Einschließen von Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)