8294
|
1 #ifndef DMO_H
|
|
2 #define DMO_H
|
|
3
|
|
4 /*
|
|
5 *
|
|
6 * Definition of important DMO interfaces.
|
|
7 * Created using freely-available DirectX 8.1 SDK
|
|
8 * ( http://msdn.microsoft.com )
|
|
9 *
|
|
10 */
|
|
11
|
|
12 #include "dshow/iunk.h"
|
|
13 #include "dshow/guids.h"
|
|
14
|
|
15 typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE;
|
|
16
|
|
17
|
|
18
|
|
19 enum _DMO_INPUT_DATA_BUFFER_FLAGS
|
|
20 {
|
|
21 DMO_INPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
|
|
22 DMO_INPUT_DATA_BUFFERF_TIME = 0x2,
|
|
23 DMO_INPUT_DATA_BUFFERF_TIMELENGTH = 0x4
|
|
24 };
|
|
25
|
|
26 enum _DMO_OUTPUT_DATA_BUFFER_FLAGS
|
|
27 {
|
|
28 DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
|
|
29 DMO_OUTPUT_DATA_BUFFERF_TIME = 0x2,
|
|
30 DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = 0x4,
|
|
31 DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = 0x1000000
|
|
32 };
|
|
33
|
|
34 enum _DMO_INPUT_STATUS_FLAGS
|
|
35 {
|
|
36 DMO_INPUT_STATUSF_ACCEPT_DATA = 0x1
|
|
37 };
|
|
38
|
|
39 enum _DMO_INPUT_STREAM_INFO_FLAGS
|
|
40 {
|
|
41 DMO_INPUT_STREAMF_WHOLE_SAMPLES = 0x1,
|
|
42 DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
|
|
43 DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
|
|
44 DMO_INPUT_STREAMF_HOLDS_BUFFERS = 0x8
|
|
45 };
|
|
46
|
|
47 enum _DMO_OUTPUT_STREAM_INFO_FLAGS
|
|
48 {
|
|
49 DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = 0x1,
|
|
50 DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
|
|
51 DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
|
|
52 DMO_OUTPUT_STREAMF_DISCARDABLE = 0x8,
|
|
53 DMO_OUTPUT_STREAMF_OPTIONAL = 0x10
|
|
54 };
|
|
55
|
|
56 enum _DMO_SET_TYPE_FLAGS
|
|
57 {
|
|
58 DMO_SET_TYPEF_TEST_ONLY = 0x1,
|
|
59 DMO_SET_TYPEF_CLEAR = 0x2
|
|
60 };
|
|
61
|
|
62 enum _DMO_PROCESS_OUTPUT_FLAGS
|
|
63 {
|
|
64 DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1
|
|
65 };
|
|
66
|
|
67 enum _DMO_VIDEO_OUTPUT_STREAM_FLAGS
|
|
68 {
|
|
69 DMO_VOSF_NEEDS_PREVIOUS_SAMPLE = 0x1
|
|
70 };
|
|
71
|
|
72
|
|
73 /* MediaErr.h */
|
|
74 #define DMO_E_INVALIDSTREAMINDEX 0x80040201
|
|
75 #define DMO_E_INVALIDTYPE 0x80040202
|
|
76 #define DMO_E_TYPE_NOT_SET 0x80040203
|
|
77 #define DMO_E_NOTACCEPTING 0x80040204
|
|
78 #define DMO_E_TYPE_NOT_ACCEPTED 0x80040205
|
|
79 #define DMO_E_NO_MORE_ITEMS 0x80040206
|
|
80
|
|
81 #endif /* DMO_H */
|