Freigeben über


CTransformFilter.Transform-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 Transform -Methode transformiert ein Eingabebeispiel, um ein Ausgabebeispiel zu erstellen.

Syntax

virtual HRESULT Transform(
   IMediaSample *pIn,
   IMediaSample *pOut
);

Parameter

Pin

Zeiger auf die IMediaSample-Schnittstelle des Eingabebeispiels.

Schmollen

Zeiger auf die IMediaSample-Schnittstelle des Ausgabebeispiels.

Rückgabewert

Die Basisklasse gibt E_UNEXPECTED zurück.

Die abgeleitete Klasse sollte einen HRESULT-Wert zurückgeben, der auf Erfolg oder Fehler hinweist. Mögliche Werte sind die in der folgenden Tabelle gezeigten Werte.

Rückgabecode Beschreibung
S_FALSE
Liefern Sie dieses Beispiel nicht.
S_OK
Erfolg.

Bemerkungen

Überschreiben Sie diese Methode, um Ausgabedaten zu erzeugen. Liest die Eingabedaten aus dem durch den pIn-Parameter angegebenen Beispiel, und schreibt die neuen Daten in das beispiel, das durch den pOut-Parameter angegeben wird.

Bevor der Filter diese Methode aufruft, kopiert er die Eigenschaften aus dem Eingabebeispiel in das Ausgabebeispiel. Die Transform -Methode sollte alle Eigenschaften festlegen, die sich zwischen den beiden Beispielen unterscheiden, indem IMediaSample-Methoden oder die IMediaSample2-Schnittstelle (falls verfügbar) verwendet werden.

Wenn der Filter dieses Beispiel nicht liefern soll (z. B. zur Unterstützung der Qualitätskontrolle), sollte die Methode S_FALSE zurückgeben.

Anforderungen

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

Siehe auch

CTransformFilter-Klasse