_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 |