Freigeben über


CBaseRenderer.PrepareReceive-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 PrepareReceive -Methode bereitet den Filter zum Rendern eines Beispiels vor.

Syntax

virtual HRESULT PrepareReceive(
   IMediaSample *pMediaSample
);

Parameter

pMediaSample

Zeiger auf die IMediaSample-Schnittstelle des Beispiels.

Rückgabewert

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

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
E_FAIL
Fehler.
E_UNEXPECTED
Unerwarteter Fehler.
VFW_E_SAMPLE_REJECTED
Filter löscht dieses Beispiel.

Bemerkungen

Der Filter ruft diese Methode aus der CBaseRenderer::Receive-Methode auf, bevor ein Beispiel gerendert wird. Wenn der Filter ausgeführt wird, plant diese Methode das Rendern des Beispiels.

Wenn der Filter bereits über ein ausstehendes Beispiel verfügt oder das Datenstromende bereits erreicht wurde, gibt die Methode E_UNEXPECTED zurück. Möglicherweise serialisiert der Upstream Filter seine Streamingaufrufe nicht ordnungsgemäß.

Wenn der Planungsalgorithmus bestimmt, dass das Beispiel gelöscht werden soll (siehe CBaseRenderer::ScheduleSample), gibt die Methode VFW_E_SAMPLE_REJECTED zurück. Die IMemInputPin::Receive-Methode des Eingabenadels übergibt diesen Fehlercode jedoch nicht an den Upstream Filter, da das Löschen eines Beispiels kein Fehler ist.

Anforderungen

Anforderung Wert
Header
Renbase.h (streams.h einschließen)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBaseRenderer-Klasse