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 |
---|---|
|
Erfolg. |
|
Fehler. |
|
Unerwarteter Fehler. |
|
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 |
|
Bibliothek |
|