Mercurial > mplayer.hg
diff loader/dmo/dmo.h @ 8294:8e00b6a9e40b
DMO interfaces (copied/converted(c++->c) from avifile)
author | arpi |
---|---|
date | Tue, 26 Nov 2002 22:54:11 +0000 |
parents | |
children | 2c8cdb9123b8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/loader/dmo/dmo.h Tue Nov 26 22:54:11 2002 +0000 @@ -0,0 +1,81 @@ +#ifndef DMO_H +#define DMO_H + +/* + * + * Definition of important DMO interfaces. + * Created using freely-available DirectX 8.1 SDK + * ( http://msdn.microsoft.com ) + * + */ + +#include "dshow/iunk.h" +#include "dshow/guids.h" + +typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE; + + + +enum _DMO_INPUT_DATA_BUFFER_FLAGS +{ + DMO_INPUT_DATA_BUFFERF_SYNCPOINT = 0x1, + DMO_INPUT_DATA_BUFFERF_TIME = 0x2, + DMO_INPUT_DATA_BUFFERF_TIMELENGTH = 0x4 +}; + +enum _DMO_OUTPUT_DATA_BUFFER_FLAGS +{ + DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = 0x1, + DMO_OUTPUT_DATA_BUFFERF_TIME = 0x2, + DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = 0x4, + DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = 0x1000000 +}; + +enum _DMO_INPUT_STATUS_FLAGS +{ + DMO_INPUT_STATUSF_ACCEPT_DATA = 0x1 +}; + +enum _DMO_INPUT_STREAM_INFO_FLAGS +{ + DMO_INPUT_STREAMF_WHOLE_SAMPLES = 0x1, + DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2, + DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4, + DMO_INPUT_STREAMF_HOLDS_BUFFERS = 0x8 +}; + +enum _DMO_OUTPUT_STREAM_INFO_FLAGS +{ + DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = 0x1, + DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2, + DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4, + DMO_OUTPUT_STREAMF_DISCARDABLE = 0x8, + DMO_OUTPUT_STREAMF_OPTIONAL = 0x10 +}; + +enum _DMO_SET_TYPE_FLAGS +{ + DMO_SET_TYPEF_TEST_ONLY = 0x1, + DMO_SET_TYPEF_CLEAR = 0x2 +}; + +enum _DMO_PROCESS_OUTPUT_FLAGS +{ + DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1 +}; + +enum _DMO_VIDEO_OUTPUT_STREAM_FLAGS +{ + DMO_VOSF_NEEDS_PREVIOUS_SAMPLE = 0x1 +}; + + +/* MediaErr.h */ +#define DMO_E_INVALIDSTREAMINDEX 0x80040201 +#define DMO_E_INVALIDTYPE 0x80040202 +#define DMO_E_TYPE_NOT_SET 0x80040203 +#define DMO_E_NOTACCEPTING 0x80040204 +#define DMO_E_TYPE_NOT_ACCEPTED 0x80040205 +#define DMO_E_NO_MORE_ITEMS 0x80040206 + +#endif /* DMO_H */