_MFT_OUTPUT_DATA_BUFFER_FLAGS-Enumeration (mftransform.h)

Definiert Flags für die METHODE IMFTransform::P rocessOutput .

Syntax

typedef enum _MFT_OUTPUT_DATA_BUFFER_FLAGS {
  MFT_OUTPUT_DATA_BUFFER_INCOMPLETE = 0x1000000,
  MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE = 0x100,
  MFT_OUTPUT_DATA_BUFFER_STREAM_END = 0x200,
  MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE = 0x300
} ;

Konstanten

 
MFT_OUTPUT_DATA_BUFFER_INCOMPLETE
Wert: 0x1000000
Der MFT kann weiterhin eine Ausgabe aus diesem Stream generieren, ohne weitere Eingaben zu erhalten. Rufen Sie ProcessOutput erneut auf, um den nächsten Batch mit Eingabedaten zu verarbeiten.
MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE
Wert: 0x100
Das Format wurde für diesen Ausgabestream geändert, oder es gibt ein neues bevorzugtes Format für diesen Stream. Wenn dieses Flag festgelegt ist, löscht der MFT den Medientyp für den Stream. Die ProcessOutput-Methode gibt MF_E_TRANSFORM_STREAM_CHANGE zurück und generiert keine Ausgabe für einen Stream. Weitere Aufrufe von IMFTransform::P rocessInput oder ProcessOutput schlagen fehl, bis der Client einen neuen Medientyp festlegt.
MFT_OUTPUT_DATA_BUFFER_STREAM_END
Wert: 0x200
Der MFT hat diesen Ausgabedatenstrom entfernt. Der Ausgabestream muss das MFT_OUTPUT_STREAM_REMOVABLE-Flag aufweisen. (Siehe IMFTransform::GetOutputStreamInfo.)

Wenn der MFT einen Ausgabedatenstrom entfernt, gibt der MFT diesen status Code beim nächsten Aufruf von ProcessOutput zurück, nachdem das letzte Ausgabebeispiel erstellt wurde. Wenn der MFT diesen status Code zurückgibt, ändert er kein Beispiel, das im pSample-Element der MFT_OUTPUT_DATA_BUFFER-Struktur enthalten ist, und weist auch kein neues Beispiel zu, wenn pSampleNULL ist.

Nachdem dieser status Code zurückgegeben wurde, ist der Streambezeichner für diesen Ausgabedatenstrom nicht mehr gültig. Der Client sollte keine MFT_OUTPUT_DATA_BUFFER-Struktur für diesen Stream mehr bereitstellen, wenn er ProcessOutput aufruft.

Die ProcessOutput-Methode gibt MF_E_TRANSFORM_STREAM_CHANGE nicht zurück, wenn ein Stream endet, es sei denn, es gibt eine Änderung in einem anderen Stream, die diesen Rückgabecode erfordert.
MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE
Wert: 0x300
Für diesen Stream ist kein Beispiel bereit. Dieses Flag kann festgelegt werden, wenn der MFT über mehrere Ausgabedatenströme verfügt, die Daten zu unterschiedlichen Zeiten erzeugen. Dieses Flag wird für jeden Stream festgelegt, der nicht bereit ist, Daten zu erzeugen. Das Ausgabebeispiel, das im pSample-Element der MFT_OUTPUT_DATA_BUFFER-Struktur enthalten ist, wird nicht geändert, noch wird ein neues Beispiel mit dem Wert pSamplenull zugeordnet.

Wenn keine Streams für die Ausgabe bereit sind, legt MFT dieses Flag nicht fest. Stattdessen gibt die ProcessOutput-Methode MF_E_TRANSFORM_NEED_MORE_INPUT zurück.

Hinweise

Die Werte in dieser Enumeration sind keine Bitflags, daher sollten sie nicht mit einem bitweisen OR kombiniert werden. Außerdem sollte der Aufrufer diese Flags mit dem Gleichheitsoperator und nicht mit einem bitweisen AND testen:

// Correct.
if (Buffer.dwStatus == MFT_OUTPUT_DATA_BUFFER_STREAM_END)
{
    ...
}

// Incorrect.
if ((Buffer.dwStatus & MFT_OUTPUT_DATA_BUFFER_STREAM_END) != 0)
{
    ...
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Kopfzeile mftransform.h

Weitere Informationen

Media Foundation-Enumerationen

Media Foundation-Transformationen