CTransformFilter.Receive-Methode
[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 Receive
-Methode empfängt ein Medienbeispiel, verarbeitet es und übermittelt ein Ausgabebeispiel an den nachgeschalteten Filter.
Syntax
HRESULT Receive(
IMediaSample *pSample
);
Parameter
-
pSample
-
Zeiger auf die IMediaSample-Schnittstelle im Eingabebeispiel.
Rückgabewert
Gibt einen HRESULT-Wert zurück. Folgende Werte sind möglich:
Rückgabecode | Beschreibung |
---|---|
|
Der Upstream-Filter sollte das Senden von Beispielen beenden. |
|
Erfolg. |
Bemerkungen
Der Eingabenadel des Filters ruft diese Methode auf, wenn er ein Beispiel empfängt. Diese Methode ruft die CTransformFilter::InitializeOutputSample-Methode auf, die ein neues Ausgabebeispiel vorbereitet. Anschließend wird die CTransformFilter::Transform-Methode aufgerufen, die von der abgeleiteten Klasse implementiert werden muss. Die Transform-Methode verarbeitet die Eingabedaten und erzeugt Ausgabedaten.
Wenn die Transform-Methode S_FALSE zurückgibt, löscht die Receive
Methode dieses Beispiel. Beim ersten gelöschten Beispiel sendet der Filter ein EC_QUALITY_CHANGE-Ereignis an den Filterdiagramm-Manager. Andernfalls liefert der Filter das Ausgabebeispiel, wenn die Transform-Methode S_OK zurückgibt. Dazu wird die IMemInputPin::Receive-Methode auf dem Downstreameingabenadel aufgerufen.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|