Freigeben über


IMFDeviceTransform::P rocessOutput-Methode (mftransform.h)

Die ProcessOutput-Methode ruft die verarbeitete Ausgabe aus den Device MFT-Ausgabestreams ab.

Syntax

HRESULT ProcessOutput(
  [in] DWORD                  dwFlags,
  [in] DWORD                  cOutputBufferCount,
  [in] MFT_OUTPUT_DATA_BUFFER *pOutputSample,
  [in] DWORD                  *pdwStatus
);

Parameter

[in] dwFlags

Bitweise OR mit null oder mehr Flags aus der _MFT_PROCESS_OUTPUT_FLAGS-Enumeration .

[in] cOutputBufferCount

Anzahl der Elemente im pOutputSamples-Array . Der Wert muss mindestens 1 sein.

[in] pOutputSample

Zeiger auf ein Array von MFT_OUTPUT_DATA_BUFFER Strukturen, die vom Aufrufer zugeordnet werden. Das MFT verwendet dieses Array, um Ausgabedaten an den Aufrufer zurückzugeben.

[in] pdwStatus

Empfängt ein bitweises OR mit null oder mehr Flags von der _MFT_PROCESS_OUTPUT_STATUS-Enumeration .

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliche Werte sind u. a. Werte, die in der folgenden Tabelle angegeben sind.

Rückgabecode BESCHREIBUNG
S_OK
Methode war erfolgreich.
E_INVALIDARG
Ungültiges Argument übergeben.
MF_E_INVALIDREQUEST
Geräte-MFT konnte die Anforderung zu diesem Zeitpunkt nicht unterstützen.
MF_E_INVAILIDSTREAMNUMBER
Eine ungültige Stream-ID wurde übergeben.
MF_E_INVALID_STREAM_STATE
Der angeforderte Streamübergang ist nicht möglich.
MF_E_TRANSFORM_TYPE_NOT_SET
Der Eingabemedientyp wurde nicht festgelegt.

Hinweise

In den meisten Fällen speichert die Media Foundation-Transformation (MFT) das Beispiel und enthält eine Verweisanzahl auf dem IMFSample-Zeiger . Wenn der MFT das Beispiel verwendet, muss es freigegeben werden, um Speicherverluste zu vermeiden.

Nachdem der Gerätetransformations-Manager (DTM) gültige Medientypen für alle Datenströme festgelegt hat, sollte der MFT immer in der Lage sein, mehr Eingaben zu akzeptieren und mehr Ausgabe zu erzeugen.

Wenn bei einem MFT ein nicht schwerwiegender Fehler in den Eingabedaten auftritt, kann er einfach die Daten löschen und versuchen, wiederherzustellen, wenn er die mehr Eingabedaten erhält. Wenn der MFT Daten löscht, sollte er das attribut MFSampleExtension_Discontinuity im nächsten Ausgabebeispiel festlegen, um den Aufrufer darüber zu informieren, dass im Datenstrom eine Lücke vorhanden ist.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10, Version 1703
Zielplattform Windows
Kopfzeile mftransform.h

Weitere Informationen

IMFDeviceTransform