comparison 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
comparison
equal deleted inserted replaced
8293:f436f419e5ab 8294:8e00b6a9e40b
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 */