Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- include/mftransform.idl | 108 +++++++++++++++++++++++++++++++--------- 1 file changed, 84 insertions(+), 24 deletions(-)
diff --git a/include/mftransform.idl b/include/mftransform.idl index 8cc0ffbc50..59e40f95f7 100644 --- a/include/mftransform.idl +++ b/include/mftransform.idl @@ -18,6 +18,90 @@
import "mfobjects.idl";
+typedef [v1_enum] enum _MFT_MESSAGE_TYPE +{ + MFT_MESSAGE_COMMAND_FLUSH = 0x00000000, + MFT_MESSAGE_COMMAND_DRAIN = 0x00000001, + MFT_MESSAGE_SET_D3D_MANAGER = 0x00000002, + MFT_MESSAGE_DROP_SAMPLES = 0x00000003, + MFT_MESSAGE_COMMAND_TICK = 0x00000004, + MFT_MESSAGE_NOTIFY_BEGIN_STREAMING = 0x10000000, + MFT_MESSAGE_NOTIFY_END_STREAMING = 0x10000001, + MFT_MESSAGE_NOTIFY_END_OF_STREAM = 0x10000002, + MFT_MESSAGE_NOTIFY_START_OF_STREAM = 0x10000003, + MFT_MESSAGE_NOTIFY_RELEASE_RESOURCES = 0x10000004, + MFT_MESSAGE_NOTIFY_REACQUIRE_RESOURCES = 0x10000005, + MFT_MESSAGE_NOTIFY_EVENT = 0x10000006, + MFT_MESSAGE_COMMAND_SET_OUTPUT_STREAM_STATE = 0x10000007, + MFT_MESSAGE_COMMAND_FLUSH_OUTPUT_STREAM = 0x10000008, + MFT_MESSAGE_COMMAND_MARKER = 0x20000000 +} MFT_MESSAGE_TYPE; + +enum _MFT_SET_TYPE_FLAGS +{ + MFT_SET_TYPE_TEST_ONLY = 0x00000001, +}; + +enum _MFT_INPUT_STREAM_INFO_FLAGS +{ + MFT_INPUT_STREAM_WHOLE_SAMPLES = 0x00000001, + MFT_INPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER = 0x00000002, + MFT_INPUT_STREAM_FIXED_SAMPLE_SIZE = 0x00000004, + MFT_INPUT_STREAM_HOLDS_BUFFERS = 0x00000008, + MFT_INPUT_STREAM_DOES_NOT_ADDREF = 0x00000100, + MFT_INPUT_STREAM_REMOVABLE = 0x00000200, + MFT_INPUT_STREAM_OPTIONAL = 0x00000400, + MFT_INPUT_STREAM_PROCESSES_IN_PLACE = 0x00000800 +}; + +enum _MFT_INPUT_STATUS_FLAGS +{ + MFT_INPUT_STATUS_ACCEPT_DATA = 0x00000001, +}; + +enum _MFT_OUTPUT_STREAM_INFO_FLAGS +{ + MFT_OUTPUT_STREAM_WHOLE_SAMPLES = 0x00000001, + MFT_OUTPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER = 0x00000002, + MFT_OUTPUT_STREAM_FIXED_SAMPLE_SIZE = 0x00000004, + MFT_OUTPUT_STREAM_DISCARDABLE = 0x00000008, + MFT_OUTPUT_STREAM_OPTIONAL = 0x00000010, + MFT_OUTPUT_STREAM_PROVIDES_SAMPLES = 0x00000100, + MFT_OUTPUT_STREAM_CAN_PROVIDE_SAMPLES = 0x00000200, + MFT_OUTPUT_STREAM_LAZY_READ = 0x00000400, + MFT_OUTPUT_STREAM_REMOVABLE = 0x00000800 +}; + +enum _MFT_OUTPUT_DATA_BUFFER_FLAGS +{ + MFT_OUTPUT_DATA_BUFFER_INCOMPLETE = 0x01000000, + MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE = 0x00000100, + MFT_OUTPUT_DATA_BUFFER_STREAM_END = 0x00000200, + MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE = 0x00000300 +}; + +enum _MFT_OUTPUT_STATUS_FLAGS +{ + MFT_OUTPUT_STATUS_SAMPLE_READY = 0x00000001 +}; + +enum _MFT_PROCESS_OUTPUT_FLAGS +{ + MFT_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x00000001, + MFT_PROCESS_OUTPUT_REGENERATE_LAST_OUTPUT = 0x00000002 +}; + +enum _MFT_PROCESS_OUTPUT_STATUS +{ + MFT_PROCESS_OUTPUT_STATUS_NEW_STREAMS = 0x00000100 +}; + +enum _MFT_DRAIN_TYPE +{ + MFT_DRAIN_PRODUCE_TAILS = 0x00000000, + MFT_DRAIN_NO_TAILS = 0x00000001 +}; + typedef struct _MFT_INPUT_STREAM_INFO { LONGLONG hnsMaxLatency; @@ -42,30 +126,6 @@ typedef struct _MFT_OUTPUT_DATA_BUFFER IMFCollection *pEvents; } MFT_OUTPUT_DATA_BUFFER, *PMFT_OUTPUT_DATA_BUFFER;
-typedef [v1_enum] enum _MFT_MESSAGE_TYPE -{ - MFT_MESSAGE_COMMAND_FLUSH = 0x00000000, - MFT_MESSAGE_COMMAND_DRAIN = 0x00000001, - MFT_MESSAGE_SET_D3D_MANAGER = 0x00000002, - MFT_MESSAGE_DROP_SAMPLES = 0x00000003, - MFT_MESSAGE_COMMAND_TICK = 0x00000004, - MFT_MESSAGE_NOTIFY_BEGIN_STREAMING = 0x10000000, - MFT_MESSAGE_NOTIFY_END_STREAMING = 0x10000001, - MFT_MESSAGE_NOTIFY_END_OF_STREAM = 0x10000002, - MFT_MESSAGE_NOTIFY_START_OF_STREAM = 0x10000003, - MFT_MESSAGE_COMMAND_MARKER = 0x20000000 -} MFT_MESSAGE_TYPE; - -enum _MFT_SET_TYPE_FLAGS -{ - MFT_SET_TYPE_TEST_ONLY = 0x00000001, -}; - -enum _MFT_INPUT_STATUS_FLAGS -{ - MFT_INPUT_STATUS_ACCEPT_DATA = 0x00000001, -}; - [ object, uuid(bf94c121-5b05-4e6f-8000-ba598961414d)