1 | #include "rpc.h"
|
---|
2 | //#include "rpcndr.h"
|
---|
3 | #ifndef COM_NO_WINDOWS_H
|
---|
4 | #include "windows.h"
|
---|
5 | #include "ole2.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | #ifndef __WINE_STRMIF_H_
|
---|
9 | #define __WINE_STRMIF_H_
|
---|
10 |
|
---|
11 | #include "ole2.h"
|
---|
12 |
|
---|
13 | /* undef GetTimeFormat - FIXME? */
|
---|
14 | #undef GetTimeFormat
|
---|
15 |
|
---|
16 | /* FIXME - far from complete. */
|
---|
17 |
|
---|
18 | /* forward decls. */
|
---|
19 |
|
---|
20 | typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
|
---|
21 | typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
|
---|
22 | typedef struct IAMAudioInputMixer IAMAudioInputMixer;
|
---|
23 | typedef struct IAMAudioRendererStats IAMAudioRendererStats;
|
---|
24 | typedef struct IAMBufferNegotiation IAMBufferNegotiation;
|
---|
25 | typedef struct IAMCameraControl IAMCameraControl;
|
---|
26 | typedef struct IAMClockAdjust IAMClockAdjust;
|
---|
27 | typedef struct IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
|
---|
28 | typedef struct IAMCrossbar IAMCrossbar;
|
---|
29 | typedef struct IAMDeviceRemoval IAMDeviceRemoval;
|
---|
30 | typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator;
|
---|
31 | typedef struct IAMDevMemoryControl IAMDevMemoryControl;
|
---|
32 | typedef struct IAMDroppedFrames IAMDroppedFrames;
|
---|
33 | typedef struct IAMExtDevice IAMExtDevice;
|
---|
34 | typedef struct IAMExtTransport IAMExtTransport;
|
---|
35 | typedef struct IAMFilterMiscFlags IAMFilterMiscFlags;
|
---|
36 | typedef struct IAMGraphStreams IAMGraphStreams;
|
---|
37 | typedef struct IAMLatency IAMLatency;
|
---|
38 | typedef struct IAMOpenProgress IAMOpenProgress;
|
---|
39 | typedef struct IAMOverlayFX IAMOverlayFX;
|
---|
40 | typedef struct IAMovie IAMovie;
|
---|
41 | typedef struct IAMovieSetup IAMovieSetup;
|
---|
42 | typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo;
|
---|
43 | typedef struct IAMPushSource IAMPushSource;
|
---|
44 | typedef struct IAMResourceControl IAMResourceControl;
|
---|
45 | typedef struct IAMStreamConfig IAMStreamConfig;
|
---|
46 | typedef struct IAMStreamControl IAMStreamControl;
|
---|
47 | typedef struct IAMStreamSelect IAMStreamSelect;
|
---|
48 | typedef struct IAMTimecodeDisplay IAMTimecodeDisplay;
|
---|
49 | typedef struct IAMTimecodeGenerator IAMTimecodeGenerator;
|
---|
50 | typedef struct IAMTimecodeReader IAMTimecodeReader;
|
---|
51 | typedef struct IAMTuner IAMTuner;
|
---|
52 | typedef struct IAMTunerNotification IAMTunerNotification;
|
---|
53 | typedef struct IAMTVAudio IAMTVAudio;
|
---|
54 | typedef struct IAMTVAudioNotification IAMTVAudioNotification;
|
---|
55 | typedef struct IAMTVTuner IAMTVTuner;
|
---|
56 | typedef struct IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
|
---|
57 | typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs;
|
---|
58 | typedef struct IAMVideoCompression IAMVideoCompression;
|
---|
59 | typedef struct IAMVideoControl IAMVideoControl;
|
---|
60 | typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties;
|
---|
61 | typedef struct IAMVideoProcAmp IAMVideoProcAmp;
|
---|
62 | typedef struct IAsyncReader IAsyncReader;
|
---|
63 | typedef struct IMediaFilter IMediaFilter;
|
---|
64 | typedef struct IBaseFilter IBaseFilter;
|
---|
65 | typedef struct IBPCSatelliteTuner IBPCSatelliteTuner;
|
---|
66 | typedef struct ICaptureGraphBuilder ICaptureGraphBuilder;
|
---|
67 | typedef struct ICaptureGraphBuilder2 ICaptureGraphBuilder2;
|
---|
68 | typedef struct IConfigAviMux IConfigAviMux;
|
---|
69 | typedef struct IConfigInterleaving IConfigInterleaving;
|
---|
70 | typedef struct ICreateDevEnum ICreateDevEnum;
|
---|
71 | typedef struct IDDrawExclModeVideo IDDrawExclModeVideo;
|
---|
72 | typedef struct IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
|
---|
73 | typedef struct IDecimateVideoImage IDecimateVideoImage;
|
---|
74 | typedef struct IDistributorNotify IDistributorNotify;
|
---|
75 | typedef struct IDrawVideoImage IDrawVideoImage;
|
---|
76 | typedef struct IDvdCmd IDvdCmd;
|
---|
77 | typedef struct IDvdControl IDvdControl;
|
---|
78 | typedef struct IDvdControl2 IDvdControl2;
|
---|
79 | typedef struct IDvdGraphBuilder IDvdGraphBuilder;
|
---|
80 | typedef struct IDvdInfo IDvdInfo;
|
---|
81 | typedef struct IDvdInfo2 IDvdInfo2;
|
---|
82 | typedef struct IDvdState IDvdState;
|
---|
83 | typedef struct IDVEnc IDVEnc;
|
---|
84 | typedef struct IDVSplitter IDVSplitter;
|
---|
85 | typedef struct IEnumFilters IEnumFilters;
|
---|
86 | typedef struct IEnumMediaTypes IEnumMediaTypes;
|
---|
87 | typedef struct IEnumPins IEnumPins;
|
---|
88 | typedef struct IEnumRegFilters IEnumRegFilters;
|
---|
89 | typedef struct IEnumStreamIdMap IEnumStreamIdMap;
|
---|
90 | typedef struct IFileSinkFilter IFileSinkFilter;
|
---|
91 | typedef struct IFileSinkFilter2 IFileSinkFilter2;
|
---|
92 | typedef struct IFileSourceFilter IFileSourceFilter;
|
---|
93 | typedef struct IFilterChain IFilterChain;
|
---|
94 | typedef struct IFilterGraph IFilterGraph;
|
---|
95 | typedef struct IFilterGraph2 IFilterGraph2;
|
---|
96 | typedef struct IFilterMapper IFilterMapper;
|
---|
97 | typedef struct IFilterMapper2 IFilterMapper2;
|
---|
98 | typedef struct IFilterMapper3 IFilterMapper3;
|
---|
99 | typedef struct IGraphBuilder IGraphBuilder;
|
---|
100 | typedef struct IGraphConfig IGraphConfig;
|
---|
101 | typedef struct IGraphConfigCallback IGraphConfigCallback;
|
---|
102 | typedef struct IGraphVersion IGraphVersion;
|
---|
103 | typedef struct IIPDVDec IIPDVDec;
|
---|
104 | typedef struct IMediaEventSink IMediaEventSink;
|
---|
105 | typedef struct IMediaPropertyBag IMediaPropertyBag;
|
---|
106 | typedef struct IMediaSample IMediaSample;
|
---|
107 | typedef struct IMediaSample2 IMediaSample2;
|
---|
108 | typedef struct IMediaSeeking IMediaSeeking;
|
---|
109 | typedef struct IMemAllocator IMemAllocator;
|
---|
110 | typedef struct IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
|
---|
111 | typedef struct IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
|
---|
112 | typedef struct IMemInputPin IMemInputPin;
|
---|
113 | typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer;
|
---|
114 | typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap;
|
---|
115 | typedef struct IOverlay IOverlay;
|
---|
116 | typedef struct IOverlayNotify IOverlayNotify;
|
---|
117 | typedef struct IOverlayNotify2 IOverlayNotify2;
|
---|
118 | typedef struct IPersistMediaPropertyBag IPersistMediaPropertyBag;
|
---|
119 | typedef struct IPin IPin;
|
---|
120 | typedef struct IPinConnection IPinConnection;
|
---|
121 | typedef struct IPinFlowControl IPinFlowControl;
|
---|
122 | typedef struct IQualityControl IQualityControl;
|
---|
123 | typedef struct IReferenceClock IReferenceClock;
|
---|
124 | typedef struct IReferenceClock2 IReferenceClock2;
|
---|
125 | typedef struct IResourceConsumer IResourceConsumer;
|
---|
126 | typedef struct IResourceManager IResourceManager;
|
---|
127 | typedef struct ISeekingPassThru ISeekingPassThru;
|
---|
128 | typedef struct IStreamBuilder IStreamBuilder;
|
---|
129 | typedef struct IVideoFrameStep IVideoFrameStep;
|
---|
130 |
|
---|
131 | /* GUIDs. */
|
---|
132 |
|
---|
133 | DEFINE_GUID(IID_IAMAnalogVideoDecoder,0xC6E13350,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
|
---|
134 | DEFINE_GUID(IID_IAMAnalogVideoEncoder,0xC6E133B0,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
|
---|
135 | DEFINE_GUID(IID_IAMAudioInputMixer,0x54C39221,0x8380,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
|
---|
136 | DEFINE_GUID(IID_IAMAudioRendererStats,0x22320CB2,0xD41A,0x11D2,0xBF,0x7C,0xD7,0xCB,0x9D,0xF0,0xBF,0x93);
|
---|
137 | DEFINE_GUID(IID_IAMBufferNegotiation,0x56ED71A0,0xAF5F,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
|
---|
138 | DEFINE_GUID(IID_IAMCameraControl,0xC6E13370,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
|
---|
139 | DEFINE_GUID(IID_IAMClockAdjust,0x4D5466B0,0xA49C,0x11D1,0xAB,0xE8,0x00,0xA0,0xC9,0x05,0xF3,0x75);
|
---|
140 | DEFINE_GUID(IID_IAMCopyCaptureFileProgress,0x670D1D20,0xA068,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
|
---|
141 | DEFINE_GUID(IID_IAMCrossbar,0xC6E13380,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
|
---|
142 | DEFINE_GUID(IID_IAMDeviceRemoval,0xF90A6130,0xB658,0x11D2,0xAE,0x49,0x00,0x00,0xF8,0x75,0x4B,0x99);
|
---|
143 | DEFINE_GUID(IID_IAMDevMemoryAllocator,0xC6545BF0,0xE76B,0x11D0,0xBD,0x52,0x00,0xA0,0xC9,0x11,0xCE,0x86);
|
---|
144 | DEFINE_GUID(IID_IAMDevMemoryControl,0xC6545BF1,0xE76B,0x11D0,0xBD,0x52,0x00,0xA0,0xC9,0x11,0xCE,0x86);
|
---|
145 | DEFINE_GUID(IID_IAMDroppedFrames,0xC6E13344,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
|
---|
146 | DEFINE_GUID(IID_IAMExtDevice,0xB5730A90,0x1A2C,0x11CF,0x8C,0x23,0x00,0xAA,0x00,0x6B,0x68,0x14);
|
---|
147 | DEFINE_GUID(IID_IAMExtTransport,0xA03CD5F0,0x3045,0x11CF,0x8C,0x44,0x00,0xAA,0x00,0x6B,0x68,0x14);
|
---|
148 | DEFINE_GUID(IID_IAMFilterMiscFlags,0x2DD74950,0xA890,0x11D1,0xAB,0xE8,0x00,0xA0,0xC9,0x05,0xF3,0x75);
|
---|
149 | DEFINE_GUID(IID_IAMGraphStreams,0x632105FA,0x072E,0x11D3,0x8A,0xF9,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
|
---|
150 | DEFINE_GUID(IID_IAMLatency,0x62EA93BA,0xEC62,0x11D2,0xB7,0x70,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
|
---|
151 | DEFINE_GUID(IID_IAMOpenProgress,0x8E1C39A1,0xDE53,0x11CF,0xAA,0x63,0x00,0x80,0xC7,0x44,0x52,0x8D);
|
---|
152 | DEFINE_GUID(IID_IAMOverlayFX,0x62FAE250,0x7E65,0x4460,0xBF,0xC9,0x63,0x98,0xB3,0x22,0x07,0x3C);
|
---|
153 | DEFINE_GUID(IID_IAMovie,0x359ACE10,0x7688,0x11CF,0x8B,0x23,0x00,0x80,0x5F,0x6C,0xEF,0x60);
|
---|
154 | DEFINE_GUID(IID_IAMovieSetup,0xA3D8CEC0,0x7E5A,0x11CF,0xBB,0xC5,0x00,0x80,0x5F,0x6C,0xEF,0x20);
|
---|
155 | DEFINE_GUID(IID_IAMPhysicalPinInfo,0xF938C991,0x3029,0x11CF,0x8C,0x44,0x00,0xAA,0x00,0x6B,0x68,0x14);
|
---|
156 | DEFINE_GUID(IID_IAMPushSource,0xF185FE76,0xE64E,0x11D2,0xB7,0x6E,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
|
---|
157 | DEFINE_GUID(IID_IAMResourceControl,0x8389D2D0,0x77D7,0x11D1,0xAB,0xE6,0x00,0xA0,0xC9,0x05,0xF3,0x75);
|
---|
158 | DEFINE_GUID(IID_IAMStreamConfig,0xC6E13340,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
|
---|
159 | DEFINE_GUID(IID_IAMStreamControl,0x36B73881,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
|
---|
160 | DEFINE_GUID(IID_IAMStreamSelect,0xC1960960,0x17F5,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
|
---|
161 | DEFINE_GUID(IID_IAMTimecodeDisplay,0x9B496CE2,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
|
---|
162 | DEFINE_GUID(IID_IAMTimecodeGenerator,0x9B496CE0,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
|
---|
163 | DEFINE_GUID(IID_IAMTimecodeReader,0x9B496CE1,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
|
---|
164 | DEFINE_GUID(IID_IAMTuner,0x211A8761,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
|
---|
165 | DEFINE_GUID(IID_IAMTunerNotification,0x211A8760,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
|
---|
166 | DEFINE_GUID(IID_IAMTVAudio,0x83EC1C30,0x23D1,0x11D1,0x99,0xE6,0x00,0xA0,0xC9,0x56,0x02,0x66);
|
---|
167 | DEFINE_GUID(IID_IAMTVAudioNotification,0x83EC1C33,0x23D1,0x11D1,0x99,0xE6,0x00,0xA0,0xC9,0x56,0x02,0x66);
|
---|
168 | DEFINE_GUID(IID_IAMTVTuner,0x211A8766,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
|
---|
169 | DEFINE_GUID(IID_IAMVfwCaptureDialogs,0xD8D715A0,0x6E5E,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
|
---|
170 | DEFINE_GUID(IID_IAMVfwCompressDialogs,0xD8D715A3,0x6E5E,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
|
---|
171 | DEFINE_GUID(IID_IAMVideoCompression,0xC6E13343,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
|
---|
172 | DEFINE_GUID(IID_IAMVideoControl,0x6A2E0670,0x28E4,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
|
---|
173 | DEFINE_GUID(IID_IAMVideoDecimationProperties,0x60D32930,0x13DA,0x11D3,0x9E,0xC6,0xC4,0xFC,0xAE,0xF5,0xC7,0xBE);
|
---|
174 | DEFINE_GUID(IID_IAMVideoProcAmp,0xC6E13360,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
|
---|
175 | DEFINE_GUID(IID_IAsyncReader,0x56A868AA,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
176 | DEFINE_GUID(IID_IMediaFilter,0x56A86899,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
177 | DEFINE_GUID(IID_IBaseFilter,0x56A86895,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
178 | DEFINE_GUID(IID_IBPCSatelliteTuner,0x211A8765,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
|
---|
179 | DEFINE_GUID(IID_ICaptureGraphBuilder,0xBF87B6E0,0x8C27,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
|
---|
180 | DEFINE_GUID(IID_ICaptureGraphBuilder2,0x93E5A4E0,0x2D50,0x11D2,0xAB,0xFA,0x00,0xA0,0xC9,0xC6,0xE3,0x8D);
|
---|
181 | DEFINE_GUID(IID_IConfigAviMux,0x5ACD6AA0,0xF482,0x11CE,0x8B,0x67,0x00,0xAA,0x00,0xA3,0xF1,0xA6);
|
---|
182 | DEFINE_GUID(IID_IConfigInterleaving,0xBEE3D220,0x157B,0x11D0,0xBD,0x23,0x00,0xA0,0xC9,0x11,0xCE,0x86);
|
---|
183 | DEFINE_GUID(IID_ICreateDevEnum,0x29840822,0x5B84,0x11D0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86);
|
---|
184 | DEFINE_GUID(IID_IDDrawExclModeVideo,0x153ACC21,0xD83B,0x11D1,0x82,0xBF,0x00,0xA0,0xC9,0x69,0x6C,0x8F);
|
---|
185 | DEFINE_GUID(IID_IDDrawExclModeVideoCallback,0x913C24A0,0x20AB,0x11D2,0x90,0x38,0x00,0xA0,0xC9,0x69,0x72,0x98);
|
---|
186 | DEFINE_GUID(IID_IDecimateVideoImage,0x2E5EA3E0,0xE924,0x11D2,0xB6,0xDA,0x00,0xA0,0xC9,0x95,0xE8,0xDF);
|
---|
187 | DEFINE_GUID(IID_IDistributorNotify,0x56A868AF,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
188 | DEFINE_GUID(IID_IDrawVideoImage,0x48EFB120,0xAB49,0x11D2,0xAE,0xD2,0x00,0xA0,0xC9,0x95,0xE8,0xD5);
|
---|
189 | DEFINE_GUID(IID_IDvdCmd,0x5A4A97E4,0x94EE,0x4A55,0x97,0x51,0x74,0xB5,0x64,0x3A,0xA2,0x7D);
|
---|
190 | DEFINE_GUID(IID_IDvdControl,0xA70EFE61,0xE2A3,0x11D0,0xA9,0xBE,0x00,0xAA,0x00,0x61,0xBE,0x93);
|
---|
191 | DEFINE_GUID(IID_IDvdControl2,0x33BC7430,0xEEC0,0x11D2,0x82,0x01,0x00,0xA0,0xC9,0xD7,0x48,0x42);
|
---|
192 | DEFINE_GUID(IID_IDvdGraphBuilder,0xFCC152B6,0xF372,0x11D0,0x8E,0x00,0x00,0xC0,0x4F,0xD7,0xC0,0x8B);
|
---|
193 | DEFINE_GUID(IID_IDvdInfo,0xA70EFE60,0xE2A3,0x11D0,0xA9,0xBE,0x00,0xAA,0x00,0x61,0xBE,0x93);
|
---|
194 | DEFINE_GUID(IID_IDvdInfo2,0x34151510,0xEEC0,0x11D2,0x82,0x01,0x00,0xA0,0xC9,0xD7,0x48,0x42);
|
---|
195 | DEFINE_GUID(IID_IDvdState,0x86303D6D,0x1C4A,0x4087,0xAB,0x42,0xF7,0x11,0x16,0x70,0x48,0xEF);
|
---|
196 | DEFINE_GUID(IID_IDVEnc,0xD18E17A0,0xAACB,0x11D0,0xAF,0xB0,0x00,0xAA,0x00,0xB6,0x7A,0x42);
|
---|
197 | DEFINE_GUID(IID_IDVSplitter,0x92A3A302,0xDA7C,0x4A1F,0xBA,0x7E,0x18,0x02,0xBB,0x5D,0x2D,0x02);
|
---|
198 | DEFINE_GUID(IID_IEnumFilters,0x56A86893,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
199 | DEFINE_GUID(IID_IEnumMediaTypes,0x89C31040,0x846B,0x11CE,0x97,0xD3,0x00,0xAA,0x00,0x55,0x59,0x5A);
|
---|
200 | DEFINE_GUID(IID_IEnumPins,0x56A86892,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
201 | DEFINE_GUID(IID_IEnumRegFilters,0x56A868A4,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
202 | DEFINE_GUID(IID_IEnumStreamIdMap,0x945C1566,0x6202,0x46FC,0x96,0xC7,0xD8,0x7F,0x28,0x9C,0x65,0x34);
|
---|
203 | DEFINE_GUID(IID_IFileSinkFilter,0xA2104830,0x7C70,0x11CF,0x8B,0xCE,0x00,0xAA,0x00,0xA3,0xF1,0xA6);
|
---|
204 | DEFINE_GUID(IID_IFileSinkFilter2,0x00855B90,0xCE1B,0x11D0,0xBD,0x4F,0x00,0xA0,0xC9,0x11,0xCE,0x86);
|
---|
205 | DEFINE_GUID(IID_IFileSourceFilter,0x56A868A6,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
206 | DEFINE_GUID(IID_IFilterChain,0xDCFBDCF6,0x0DC2,0x45F5,0x9A,0xB2,0x7C,0x33,0x0E,0xA0,0x9C,0x29);
|
---|
207 | DEFINE_GUID(IID_IFilterGraph,0x56A8689F,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
208 | DEFINE_GUID(IID_IFilterGraph2,0x36B73882,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
|
---|
209 | DEFINE_GUID(IID_IFilterMapper,0x56A868A3,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
210 | DEFINE_GUID(IID_IFilterMapper2,0xB79BB0B0,0x33C1,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
|
---|
211 | DEFINE_GUID(IID_IFilterMapper3,0xB79BB0B1,0x33C1,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
|
---|
212 | DEFINE_GUID(IID_IGraphBuilder,0x56A868A9,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
213 | DEFINE_GUID(IID_IGraphConfig,0x03A1EB8E,0x32BF,0x4245,0x85,0x02,0x11,0x4D,0x08,0xA9,0xCB,0x88);
|
---|
214 | DEFINE_GUID(IID_IGraphConfigCallback,0xADE0FD60,0xD19D,0x11D2,0xAB,0xF6,0x00,0xA0,0xC9,0x05,0xF3,0x75);
|
---|
215 | DEFINE_GUID(IID_IGraphVersion,0x56A868AB,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
216 | DEFINE_GUID(IID_IIPDVDec,0xB8E8BD60,0x0BFE,0x11D0,0xAF,0x91,0x00,0xAA,0x00,0xB6,0x7A,0x42);
|
---|
217 | DEFINE_GUID(IID_IMediaEventSink,0x56A868A2,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
218 | DEFINE_GUID(IID_IMediaPropertyBag,0x6025A880,0xC0D5,0x11D0,0xBD,0x4E,0x00,0xA0,0xC9,0x11,0xCE,0x86);
|
---|
219 | DEFINE_GUID(IID_IMediaSample,0x56A8689A,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
220 | DEFINE_GUID(IID_IMediaSample2,0x36B73884,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
|
---|
221 | DEFINE_GUID(IID_IMediaSeeking,0x36B73880,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
|
---|
222 | DEFINE_GUID(IID_IMemAllocator,0x56A8689C,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
223 | DEFINE_GUID(IID_IMemAllocatorCallbackTemp,0x379A0CF0,0xC1DE,0x11D2,0xAB,0xF5,0x00,0xA0,0xC9,0x05,0xF3,0x75);
|
---|
224 | DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp,0x92980B30,0xC1DE,0x11D2,0xAB,0xF5,0x00,0xA0,0xC9,0x05,0xF3,0x75);
|
---|
225 | DEFINE_GUID(IID_IMemInputPin,0x56A8689D,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
226 | DEFINE_GUID(IID_IMpeg2Demultiplexer,0x436EEE9C,0x264F,0x4242,0x90,0xE1,0x4E,0x33,0x0C,0x10,0x75,0x12);
|
---|
227 | DEFINE_GUID(IID_IMPEG2StreamIdMap,0xD0E04C47,0x25B8,0x4369,0x92,0x5A,0x36,0x2A,0x01,0xD9,0x54,0x44);
|
---|
228 | DEFINE_GUID(IID_IOverlay,0x56A868A1,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
229 | DEFINE_GUID(IID_IOverlayNotify,0x56A868A0,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
230 | DEFINE_GUID(IID_IOverlayNotify2,0x680EFA10,0xD535,0x11D1,0x87,0xC8,0x00,0xA0,0xC9,0x22,0x31,0x96);
|
---|
231 | DEFINE_GUID(IID_IPersistMediaPropertyBag,0x5738E040,0xB67F,0x11D0,0xBD,0x4D,0x00,0xA0,0xC9,0x11,0xCE,0x86);
|
---|
232 | DEFINE_GUID(IID_IPin,0x56A86891,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
233 | DEFINE_GUID(IID_IPinConnection,0x4A9A62D3,0x27D4,0x403D,0x91,0xE9,0x89,0xF5,0x40,0xE5,0x55,0x34);
|
---|
234 | DEFINE_GUID(IID_IPinFlowControl,0xC56E9858,0xDBF3,0x4F6B,0x81,0x19,0x38,0x4A,0xF2,0x06,0x0D,0xEB);
|
---|
235 | DEFINE_GUID(IID_IQualityControl,0x56A868A5,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
236 | DEFINE_GUID(IID_IReferenceClock,0x56A86897,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
237 | DEFINE_GUID(IID_IReferenceClock2,0x36B73885,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
|
---|
238 | DEFINE_GUID(IID_IResourceConsumer,0x56A868AD,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
239 | DEFINE_GUID(IID_IResourceManager,0x56A868AC,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
240 | DEFINE_GUID(IID_ISeekingPassThru,0x36B73883,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
|
---|
241 | DEFINE_GUID(IID_IStreamBuilder,0x56A868BF,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
|
---|
242 | DEFINE_GUID(IID_IVideoFrameStep,0xE46A9787,0x2B71,0x444D,0xA4,0xB5,0x1F,0xAB,0x7B,0x70,0x8D,0x6A);
|
---|
243 |
|
---|
244 |
|
---|
245 | #ifndef __WINE_REFTIME_DEFINED_
|
---|
246 | #define __WINE_REFTIME_DEFINED_
|
---|
247 | typedef double REFTIME;
|
---|
248 | #endif /* __WINE_REFTIME_DEFINED_ */
|
---|
249 |
|
---|
250 | typedef LONGLONG REFERENCE_TIME;
|
---|
251 | typedef DWORD HSEMAPHORE;
|
---|
252 | typedef DWORD HEVENT;
|
---|
253 |
|
---|
254 | /* enums. */
|
---|
255 |
|
---|
256 | typedef enum
|
---|
257 | {
|
---|
258 | PINDIR_INPUT = 0,
|
---|
259 | PINDIR_OUTPUT = 1,
|
---|
260 | } PIN_DIRECTION;
|
---|
261 |
|
---|
262 | typedef enum
|
---|
263 | {
|
---|
264 | State_Stopped = 0,
|
---|
265 | State_Paused = 1,
|
---|
266 | State_Running = 2,
|
---|
267 | } FILTER_STATE;
|
---|
268 |
|
---|
269 | /* structs. */
|
---|
270 |
|
---|
271 | typedef struct
|
---|
272 | {
|
---|
273 | GUID majortype;
|
---|
274 | GUID subtype;
|
---|
275 | BOOL bFixedSizeSamples;
|
---|
276 | BOOL bTemporalCompression;
|
---|
277 | ULONG lSampleSize;
|
---|
278 | GUID formattype;
|
---|
279 | IUnknown* pUnk;
|
---|
280 | ULONG cbFormat;
|
---|
281 | BYTE* pbFormat;
|
---|
282 | } AM_MEDIA_TYPE;
|
---|
283 |
|
---|
284 | typedef struct
|
---|
285 | {
|
---|
286 | long cBuffers;
|
---|
287 | long cbBuffer;
|
---|
288 | long cbAlign;
|
---|
289 | long cbPrefix;
|
---|
290 | } ALLOCATOR_PROPERTIES;
|
---|
291 |
|
---|
292 | typedef struct
|
---|
293 | {
|
---|
294 | IBaseFilter* pFilter;
|
---|
295 | PIN_DIRECTION dir;
|
---|
296 | WCHAR achName[ 128 ];
|
---|
297 | } PIN_INFO;
|
---|
298 |
|
---|
299 | typedef struct
|
---|
300 | {
|
---|
301 | WCHAR achName[ 128 ];
|
---|
302 | IFilterGraph* pGraph;
|
---|
303 | } FILTER_INFO;
|
---|
304 |
|
---|
305 | typedef struct
|
---|
306 | {
|
---|
307 | REFERENCE_TIME tStart;
|
---|
308 | REFERENCE_TIME tStop;
|
---|
309 | DWORD dwStartCookie;
|
---|
310 | DWORD dwStopCookie;
|
---|
311 | DWORD dwFlags;
|
---|
312 | } AM_STREAM_INFO;
|
---|
313 |
|
---|
314 | typedef struct tagCOLORKEY
|
---|
315 | {
|
---|
316 | DWORD KeyType;
|
---|
317 | DWORD PaletteIndex;
|
---|
318 | COLORREF LowColorValue;
|
---|
319 | COLORREF HighColorValue;
|
---|
320 | } COLORKEY;
|
---|
321 |
|
---|
322 |
|
---|
323 |
|
---|
324 | /* defines. */
|
---|
325 |
|
---|
326 | #define CHARS_IN_GUID 39
|
---|
327 | #define MAX_PIN_NAME 128
|
---|
328 | #define MAX_FILTER_NAME 128
|
---|
329 |
|
---|
330 |
|
---|
331 | /* interfaces. */
|
---|
332 |
|
---|
333 | /**************************************************************************
|
---|
334 | *
|
---|
335 | * IMediaFilter interface
|
---|
336 | *
|
---|
337 | */
|
---|
338 |
|
---|
339 | #define ICOM_INTERFACE IMediaFilter
|
---|
340 | #define IMediaFilter_METHODS \
|
---|
341 | ICOM_METHOD (HRESULT,Stop) \
|
---|
342 | ICOM_METHOD (HRESULT,Pause) \
|
---|
343 | ICOM_METHOD1(HRESULT,Run,REFERENCE_TIME,a1) \
|
---|
344 | ICOM_METHOD2(HRESULT,GetState,DWORD,a1,FILTER_STATE*,a2) \
|
---|
345 | ICOM_METHOD1(HRESULT,SetSyncSource,IReferenceClock*,a1) \
|
---|
346 | ICOM_METHOD1(HRESULT,GetSyncSource,IReferenceClock**,a1)
|
---|
347 |
|
---|
348 | #define IMediaFilter_IMETHODS \
|
---|
349 | IPersist_IMETHODS \
|
---|
350 | IMediaFilter_METHODS
|
---|
351 |
|
---|
352 | ICOM_DEFINE(IMediaFilter,IPersist)
|
---|
353 | #undef ICOM_INTERFACE
|
---|
354 |
|
---|
355 | /*** IUnknown methods ***/
|
---|
356 | #define IMediaFilter_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
357 | #define IMediaFilter_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
358 | #define IMediaFilter_Release(p) ICOM_CALL (Release,p)
|
---|
359 | /*** IPersist methods ***/
|
---|
360 | #define IMediaFilter_GetClassID(p,a1) ICOM_CALL1(GetClassID,p,a1)
|
---|
361 | /*** IMediaFilter methods ***/
|
---|
362 | #define IMediaFilter_Stop(p) ICOM_CALL (Stop,p)
|
---|
363 | #define IMediaFilter_Pause(p) ICOM_CALL (Pause,p)
|
---|
364 | #define IMediaFilter_Run(p,a1) ICOM_CALL1(Run,p,a1)
|
---|
365 | #define IMediaFilter_GetState(p,a1,a2) ICOM_CALL2(GetState,p,a1,a2)
|
---|
366 | #define IMediaFilter_SetSyncSource(p,a1) ICOM_CALL1(SetSyncSource,p,a1)
|
---|
367 | #define IMediaFilter_GetSyncSource(p,a1) ICOM_CALL1(GetSyncSource,p,a1)
|
---|
368 |
|
---|
369 | /**************************************************************************
|
---|
370 | *
|
---|
371 | * IBaseFilter interface
|
---|
372 | *
|
---|
373 | */
|
---|
374 |
|
---|
375 | #define ICOM_INTERFACE IBaseFilter
|
---|
376 | #define IBaseFilter_METHODS \
|
---|
377 | ICOM_METHOD1(HRESULT,EnumPins,IEnumPins**,a1) \
|
---|
378 | ICOM_METHOD2(HRESULT,FindPin,LPCWSTR,a1,IPin**,a2) \
|
---|
379 | ICOM_METHOD1(HRESULT,QueryFilterInfo,FILTER_INFO*,a1) \
|
---|
380 | ICOM_METHOD2(HRESULT,JoinFilterGraph,IFilterGraph*,a1,LPCWSTR,a2) \
|
---|
381 | ICOM_METHOD1(HRESULT,QueryVendorInfo,LPWSTR*,a1)
|
---|
382 |
|
---|
383 | #define IBaseFilter_IMETHODS \
|
---|
384 | IMediaFilter_IMETHODS \
|
---|
385 | IBaseFilter_METHODS
|
---|
386 |
|
---|
387 | ICOM_DEFINE(IBaseFilter,IMediaFilter)
|
---|
388 | #undef ICOM_INTERFACE
|
---|
389 |
|
---|
390 | /*** IUnknown methods ***/
|
---|
391 | #define IBaseFilter_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
392 | #define IBaseFilter_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
393 | #define IBaseFilter_Release(p) ICOM_CALL (Release,p)
|
---|
394 | /*** IPersist methods ***/
|
---|
395 | #define IBaseFilter_GetClassID(p,a1) ICOM_CALL1(GetClassID,p,a1)
|
---|
396 | /*** IMediaFilter methods ***/
|
---|
397 | #define IBaseFilter_Stop(p,a1) ICOM_CALL1(Stop,p,a1)
|
---|
398 | #define IBaseFilter_Pause(p,a1) ICOM_CALL1(Pause,p,a1)
|
---|
399 | #define IBaseFilter_Run(p,a1) ICOM_CALL1(Run,p,a1)
|
---|
400 | #define IBaseFilter_GetState(p,a1,a2) ICOM_CALL2(GetState,p,a1,a2)
|
---|
401 | #define IBaseFilter_SetSyncSource(p,a1) ICOM_CALL1(SetSyncSource,p,a1)
|
---|
402 | #define IBaseFilter_GetSyncSource(p,a1) ICOM_CALL1(GetSyncSource,p,a1)
|
---|
403 | /*** IBaseFilter methods ***/
|
---|
404 | #define IBaseFilter_EnumPins(p,a1) ICOM_CALL1(EnumPins,p,a1)
|
---|
405 | #define IBaseFilter_FindPin(p,a1,a2) ICOM_CALL2(FindPin,p,a1,a2)
|
---|
406 | #define IBaseFilter_QueryFilterInfo(p,a1) ICOM_CALL1(QueryFilterInfo,p,a1)
|
---|
407 | #define IBaseFilter_JoinFilterGraph(p,a1,a2) ICOM_CALL2(JoinFilterGraph,p,a1,a2)
|
---|
408 | #define IBaseFilter_QueryVendorInfo(p,a1) ICOM_CALL1(QueryVendorInfo,p,a1)
|
---|
409 |
|
---|
410 | /**************************************************************************
|
---|
411 | *
|
---|
412 | * IEnumFilters interface
|
---|
413 | *
|
---|
414 | */
|
---|
415 |
|
---|
416 | #define ICOM_INTERFACE IEnumFilters
|
---|
417 | #define IEnumFilters_METHODS \
|
---|
418 | ICOM_METHOD3(HRESULT,Next,ULONG,a1,IBaseFilter**,a2,ULONG*,a3) \
|
---|
419 | ICOM_METHOD1(HRESULT,Skip,ULONG,a1) \
|
---|
420 | ICOM_METHOD (HRESULT,Reset) \
|
---|
421 | ICOM_METHOD1(HRESULT,Clone,IEnumFilters**,a1)
|
---|
422 |
|
---|
423 | #define IEnumFilters_IMETHODS \
|
---|
424 | IUnknown_IMETHODS \
|
---|
425 | IEnumFilters_METHODS
|
---|
426 |
|
---|
427 | ICOM_DEFINE(IEnumFilters,IUnknown)
|
---|
428 | #undef ICOM_INTERFACE
|
---|
429 |
|
---|
430 | /*** IUnknown methods ***/
|
---|
431 | #define IEnumFilters_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
432 | #define IEnumFilters_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
433 | #define IEnumFilters_Release(p) ICOM_CALL (Release,p)
|
---|
434 | /*** IEnumFilters methods ***/
|
---|
435 | #define IEnumFilters_Next(p,a1,a2,a3) ICOM_CALL3(Next,p,a1,a2,a3)
|
---|
436 | #define IEnumFilters_Skip(p,a1) ICOM_CALL1(Skip,p,a1)
|
---|
437 | #define IEnumFilters_Reset(p) ICOM_CALL (Reset,p)
|
---|
438 | #define IEnumFilters_Clone(p,a1) ICOM_CALL1(Clone,p,a1)
|
---|
439 |
|
---|
440 | /**************************************************************************
|
---|
441 | *
|
---|
442 | * IEnumMediaTypes interface
|
---|
443 | *
|
---|
444 | */
|
---|
445 |
|
---|
446 | #define ICOM_INTERFACE IEnumMediaTypes
|
---|
447 | #define IEnumMediaTypes_METHODS \
|
---|
448 | ICOM_METHOD3(HRESULT,Next,ULONG,a1,AM_MEDIA_TYPE**,a2,ULONG*,a3) \
|
---|
449 | ICOM_METHOD1(HRESULT,Skip,ULONG,a1) \
|
---|
450 | ICOM_METHOD (HRESULT,Reset) \
|
---|
451 | ICOM_METHOD1(HRESULT,Clone,IEnumMediaTypes**,a1)
|
---|
452 |
|
---|
453 | #define IEnumMediaTypes_IMETHODS \
|
---|
454 | IUnknown_IMETHODS \
|
---|
455 | IEnumMediaTypes_METHODS
|
---|
456 |
|
---|
457 | ICOM_DEFINE(IEnumMediaTypes,IUnknown)
|
---|
458 | #undef ICOM_INTERFACE
|
---|
459 |
|
---|
460 | /*** IUnknown methods ***/
|
---|
461 | #define IEnumMediaTypes_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
462 | #define IEnumMediaTypes_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
463 | #define IEnumMediaTypes_Release(p) ICOM_CALL (Release,p)
|
---|
464 | /*** IEnumMediaTypes methods ***/
|
---|
465 | #define IEnumMediaTypes_Next(p,a1,a2,a3) ICOM_CALL3(Next,p,a1,a2,a3)
|
---|
466 | #define IEnumMediaTypes_Skip(p,a1) ICOM_CALL1(Skip,p,a1)
|
---|
467 | #define IEnumMediaTypes_Reset(p) ICOM_CALL (Reset,p)
|
---|
468 | #define IEnumMediaTypes_Clone(p,a1) ICOM_CALL1(Clone,p,a1)
|
---|
469 |
|
---|
470 | /**************************************************************************
|
---|
471 | *
|
---|
472 | * IEnumPins interface
|
---|
473 | *
|
---|
474 | */
|
---|
475 |
|
---|
476 | #define ICOM_INTERFACE IEnumPins
|
---|
477 | #define IEnumPins_METHODS \
|
---|
478 | ICOM_METHOD3(HRESULT,Next,ULONG,a1,IPin**,a2,ULONG*,a3) \
|
---|
479 | ICOM_METHOD1(HRESULT,Skip,ULONG,a1) \
|
---|
480 | ICOM_METHOD (HRESULT,Reset) \
|
---|
481 | ICOM_METHOD1(HRESULT,Clone,IEnumPins**,a1)
|
---|
482 |
|
---|
483 | #define IEnumPins_IMETHODS \
|
---|
484 | IUnknown_IMETHODS \
|
---|
485 | IEnumPins_METHODS
|
---|
486 |
|
---|
487 | ICOM_DEFINE(IEnumPins,IUnknown)
|
---|
488 | #undef ICOM_INTERFACE
|
---|
489 |
|
---|
490 | /*** IUnknown methods ***/
|
---|
491 | #define IEnumPins_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
492 | #define IEnumPins_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
493 | #define IEnumPins_Release(p) ICOM_CALL (Release,p)
|
---|
494 | /*** IEnumPins methods ***/
|
---|
495 | #define IEnumPins_Next(p,a1,a2,a3) ICOM_CALL3(Next,p,a1,a2,a3)
|
---|
496 | #define IEnumPins_Skip(p,a1) ICOM_CALL1(Skip,p,a1)
|
---|
497 | #define IEnumPins_Reset(p) ICOM_CALL (Reset,p)
|
---|
498 | #define IEnumPins_Clone(p,a1) ICOM_CALL1(Clone,p,a1)
|
---|
499 |
|
---|
500 | /**************************************************************************
|
---|
501 | *
|
---|
502 | * IFileSourceFilter interface
|
---|
503 | *
|
---|
504 | */
|
---|
505 |
|
---|
506 | #define ICOM_INTERFACE IFileSourceFilter
|
---|
507 | #define IFileSourceFilter_METHODS \
|
---|
508 | ICOM_METHOD2(HRESULT,Load,LPCOLESTR,a1,const AM_MEDIA_TYPE*,a2) \
|
---|
509 | ICOM_METHOD2(HRESULT,GetCurFile,LPOLESTR*,a1,AM_MEDIA_TYPE*,a2)
|
---|
510 |
|
---|
511 | #define IFileSourceFilter_IMETHODS \
|
---|
512 | IUnknown_IMETHODS \
|
---|
513 | IFileSourceFilter_METHODS
|
---|
514 |
|
---|
515 | ICOM_DEFINE(IFileSourceFilter,IUnknown)
|
---|
516 | #undef ICOM_INTERFACE
|
---|
517 |
|
---|
518 | /*** IUnknown methods ***/
|
---|
519 | #define IFileSourceFilter_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
520 | #define IFileSourceFilter_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
521 | #define IFileSourceFilter_Release(p) ICOM_CALL (Release,p)
|
---|
522 | /*** IFileSourceFilter methods ***/
|
---|
523 | #define IFileSourceFilter_Load(p,a1,a2) ICOM_CALL2(Load,p,a1,a2)
|
---|
524 | #define IFileSourceFilter_GetCurFile(p,a1,a2) ICOM_CALL2(GetCurFile,p,a1,a2)
|
---|
525 |
|
---|
526 | /**************************************************************************
|
---|
527 | *
|
---|
528 | * IFilterGraph interface
|
---|
529 | *
|
---|
530 | */
|
---|
531 |
|
---|
532 | #define ICOM_INTERFACE IFilterGraph
|
---|
533 | #define IFilterGraph_METHODS \
|
---|
534 | ICOM_METHOD2(HRESULT,AddFilter,IBaseFilter*,a1,LPCWSTR,a2) \
|
---|
535 | ICOM_METHOD1(HRESULT,RemoveFilter,IBaseFilter*,a1) \
|
---|
536 | ICOM_METHOD1(HRESULT,EnumFilters,IEnumFilters**,a1) \
|
---|
537 | ICOM_METHOD2(HRESULT,FindFilterByName,LPCWSTR,a1,IBaseFilter**,a2) \
|
---|
538 | ICOM_METHOD3(HRESULT,ConnectDirect,IPin*,a1,IPin*,a2,const AM_MEDIA_TYPE*,a3) \
|
---|
539 | ICOM_METHOD1(HRESULT,Reconnect,IPin*,a1) \
|
---|
540 | ICOM_METHOD1(HRESULT,Disconnect,IPin*,a1) \
|
---|
541 | ICOM_METHOD (HRESULT,SetDefaultSyncSource)
|
---|
542 |
|
---|
543 | #define IFilterGraph_IMETHODS \
|
---|
544 | IUnknown_IMETHODS \
|
---|
545 | IFilterGraph_METHODS
|
---|
546 |
|
---|
547 | ICOM_DEFINE(IFilterGraph,IUnknown)
|
---|
548 | #undef ICOM_INTERFACE
|
---|
549 |
|
---|
550 | /*** IUnknown methods ***/
|
---|
551 | #define IFilterGraph_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
552 | #define IFilterGraph_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
553 | #define IFilterGraph_Release(p) ICOM_CALL (Release,p)
|
---|
554 | /*** IFilterGraph methods ***/
|
---|
555 | #define IFilterGraph_AddFilter(p,a1,a2) ICOM_CALL2(AddFilter,p,a1,a2)
|
---|
556 | #define IFilterGraph_RemoveFilter(p,a1) ICOM_CALL1(RemoveFilter,p,a1)
|
---|
557 | #define IFilterGraph_EnumFilters(p,a1) ICOM_CALL1(EnumFilters,p,a1)
|
---|
558 | #define IFilterGraph_FindFilterByName(p,a1,a2) ICOM_CALL2(FindFilterByName,p,a1,a2)
|
---|
559 | #define IFilterGraph_ConnectDirect(p,a1,a2,a3) ICOM_CALL3(ConnectDirect,p,a1,a2,a3)
|
---|
560 | #define IFilterGraph_Reconnect(p,a1) ICOM_CALL1(Reconnect,p,a1)
|
---|
561 | #define IFilterGraph_Disconnect(p,a1) ICOM_CALL1(Disconnect,p,a1)
|
---|
562 | #define IFilterGraph_SetDefaultSyncSource(p) ICOM_CALL (SetDefaultSyncSource,p)
|
---|
563 |
|
---|
564 | /**************************************************************************
|
---|
565 | *
|
---|
566 | * IGraphBuilder interface
|
---|
567 | *
|
---|
568 | */
|
---|
569 |
|
---|
570 | #define ICOM_INTERFACE IGraphBuilder
|
---|
571 | #define IGraphBuilder_METHODS \
|
---|
572 | ICOM_METHOD2(HRESULT,Connect,IPin*,a1,IPin*,a2) \
|
---|
573 | ICOM_METHOD1(HRESULT,Render,IPin*,a1) \
|
---|
574 | ICOM_METHOD2(HRESULT,RenderFile,LPCWSTR,a1,LPCWSTR,a2) \
|
---|
575 | ICOM_METHOD3(HRESULT,AddSourceFilter,LPCWSTR,a1,LPCWSTR,a2,IBaseFilter**,a3) \
|
---|
576 | ICOM_METHOD1(HRESULT,SetLogFile,DWORD_PTR,a1) \
|
---|
577 | ICOM_METHOD (HRESULT,Abort) \
|
---|
578 | ICOM_METHOD (HRESULT,ShouldOperationContinue)
|
---|
579 |
|
---|
580 | #define IGraphBuilder_IMETHODS \
|
---|
581 | IFilterGraph_IMETHODS \
|
---|
582 | IGraphBuilder_METHODS
|
---|
583 |
|
---|
584 | ICOM_DEFINE(IGraphBuilder,IFilterGraph)
|
---|
585 | #undef ICOM_INTERFACE
|
---|
586 |
|
---|
587 | /*** IUnknown methods ***/
|
---|
588 | #define IGraphBuilder_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
589 | #define IGraphBuilder_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
590 | #define IGraphBuilder_Release(p) ICOM_CALL (Release,p)
|
---|
591 | /*** IFilterGraph methods ***/
|
---|
592 | #define IGraphBuilder_AddFilter(p,a1,a2) ICOM_CALL2(AddFilter,p,a1,a2)
|
---|
593 | #define IGraphBuilder_RemoveFilter(p,a1) ICOM_CALL1(RemoveFilter,p,a1)
|
---|
594 | #define IGraphBuilder_EnumFilters(p,a1) ICOM_CALL1(EnumFilters,p,a1)
|
---|
595 | #define IGraphBuilder_FindFilterByName(p,a1,a2) ICOM_CALL2(FindFilterByName,p,a1,a2)
|
---|
596 | #define IGraphBuilder_ConnectDirect(p,a1,a2,a3) ICOM_CALL3(ConnectDirect,p,a1,a2,a3)
|
---|
597 | #define IGraphBuilder_Reconnect(p,a1) ICOM_CALL1(Reconnect,p,a1)
|
---|
598 | #define IGraphBuilder_Disconnect(p,a1) ICOM_CALL1(Disconnect,p,a1)
|
---|
599 | #define IGraphBuilder_SetDefaultSyncSource(p,a1) ICOM_CALL1(SetDefaultSyncSource,p,a1)
|
---|
600 | /*** IGraphBuilder methods ***/
|
---|
601 | #define IGraphBuilder_Connect(p,a1,a2) ICOM_CALL2(Connect,p,a1,a2)
|
---|
602 | #define IGraphBuilder_Render(p,a1) ICOM_CALL1(Render,p,a1)
|
---|
603 | #define IGraphBuilder_RenderFile(p,a1,a2) ICOM_CALL2(RenderFile,p,a1,a2)
|
---|
604 | #define IGraphBuilder_AddSourceFilter(p,a1,a2,a3) ICOM_CALL3(AddSourceFilter,p,a1,a2,a3)
|
---|
605 | #define IGraphBuilder_SetLogFile(p,a1) ICOM_CALL1(SetLogFile,p,a1)
|
---|
606 | #define IGraphBuilder_Abort(p) ICOM_CALL (Abort,p)
|
---|
607 | #define IGraphBuilder_ShouldOperationContinue(p) ICOM_CALL (ShouldOperationContinue,p)
|
---|
608 |
|
---|
609 | /**************************************************************************
|
---|
610 | *
|
---|
611 | * IFilterGraph2 interface
|
---|
612 | *
|
---|
613 | */
|
---|
614 |
|
---|
615 | #define ICOM_INTERFACE IFilterGraph2
|
---|
616 | #define IFilterGraph2_METHODS \
|
---|
617 | ICOM_METHOD4(HRESULT,AddSourceFilterForMoniker,IMoniker*,a1,IBindCtx*,a2,LPCWSTR,a3,IBaseFilter**,a4) \
|
---|
618 | ICOM_METHOD2(HRESULT,ReconnectEx,IPin*,a1,const AM_MEDIA_TYPE*,a2) \
|
---|
619 | ICOM_METHOD3(HRESULT,RenderEx,IPin*,a1,DWORD,a2,DWORD*,a3)
|
---|
620 |
|
---|
621 | #define IFilterGraph2_IMETHODS \
|
---|
622 | IGraphBuilder_IMETHODS \
|
---|
623 | IFilterGraph2_METHODS
|
---|
624 |
|
---|
625 | ICOM_DEFINE(IFilterGraph2,IGraphBuilder)
|
---|
626 | #undef ICOM_INTERFACE
|
---|
627 |
|
---|
628 | /*** IUnknown methods ***/
|
---|
629 | #define IFilterGraph2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
630 | #define IFilterGraph2_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
631 | #define IFilterGraph2_Release(p) ICOM_CALL (Release,p)
|
---|
632 | /*** IFilterGraph methods ***/
|
---|
633 | #define IFilterGraph2_AddFilter(p,a1,a2) ICOM_CALL2(AddFilter,p,a1,a2)
|
---|
634 | #define IFilterGraph2_RemoveFilter(p,a1) ICOM_CALL1(RemoveFilter,p,a1)
|
---|
635 | #define IFilterGraph2_EnumFilters(p,a1) ICOM_CALL1(EnumFilters,p,a1)
|
---|
636 | #define IFilterGraph2_FindFilterByName(p,a1,a2) ICOM_CALL2(FindFilterByName,p,a1,a2)
|
---|
637 | #define IFilterGraph2_ConnectDirect(p,a1,a2,a3) ICOM_CALL3(ConnectDirect,p,a1,a2,a3)
|
---|
638 | #define IFilterGraph2_Reconnect(p,a1) ICOM_CALL1(Reconnect,p,a1)
|
---|
639 | #define IFilterGraph2_Disconnect(p,a1) ICOM_CALL1(Disconnect,p,a1)
|
---|
640 | #define IFilterGraph2_SetDefaultSyncSource(p,a1) ICOM_CALL1(SetDefaultSyncSource,p,a1)
|
---|
641 | /*** IGraphBuilder methods ***/
|
---|
642 | #define IFilterGraph2_Connect(p,a1,a2) ICOM_CALL2(Connect,p,a1,a2)
|
---|
643 | #define IFilterGraph2_Render(p,a1) ICOM_CALL1(Render,p,a1)
|
---|
644 | #define IFilterGraph2_RenderFile(p,a1,a2) ICOM_CALL2(RenderFile,p,a1,a2)
|
---|
645 | #define IFilterGraph2_AddSourceFilter(p,a1,a2,a3) ICOM_CALL3(AddSourceFilter,p,a1,a2,a3)
|
---|
646 | #define IFilterGraph2_SetLogFile(p,a1) ICOM_CALL1(SetLogFile,p,a1)
|
---|
647 | #define IFilterGraph2_Abort(p) ICOM_CALL (Abort,p)
|
---|
648 | #define IFilterGraph2_ShouldOperationContinue(p) ICOM_CALL (ShouldOperationContinue,p)
|
---|
649 | /*** IFilterGraph2 methods ***/
|
---|
650 | #define IFilterGraph2_AddSourceFilterForMoniker(p,a1,a2,a3,a4) ICOM_CALL4(AddSourceFilterForMoniker,p,a1,a2,a3,a4)
|
---|
651 | #define IFilterGraph2_ReconnectEx(p,a1,a2) ICOM_CALL2(ReconnectEx,p,a1,a2)
|
---|
652 | #define IFilterGraph2_RenderEx(p,a1,a2,a3) ICOM_CALL3(RenderEx,p,a1,a2,a3)
|
---|
653 |
|
---|
654 | /**************************************************************************
|
---|
655 | *
|
---|
656 | * IMediaSample interface
|
---|
657 | *
|
---|
658 | */
|
---|
659 |
|
---|
660 | #define ICOM_INTERFACE IMediaSample
|
---|
661 | #define IMediaSample_METHODS \
|
---|
662 | ICOM_METHOD1(HRESULT,GetPointer,BYTE**,a1) \
|
---|
663 | ICOM_METHOD (long,GetSize) \
|
---|
664 | ICOM_METHOD2(HRESULT,GetTime,REFERENCE_TIME*,a1,REFERENCE_TIME*,a2) \
|
---|
665 | ICOM_METHOD2(HRESULT,SetTime,REFERENCE_TIME*,a1,REFERENCE_TIME*,a2) \
|
---|
666 | ICOM_METHOD (HRESULT,IsSyncPoint) \
|
---|
667 | ICOM_METHOD1(HRESULT,SetSyncPoint,BOOL,a1) \
|
---|
668 | ICOM_METHOD (HRESULT,IsPreroll) \
|
---|
669 | ICOM_METHOD1(HRESULT,SetPreroll,BOOL,a1) \
|
---|
670 | ICOM_METHOD (long,GetActualDataLength) \
|
---|
671 | ICOM_METHOD1(HRESULT,SetActualDataLength,long,a1) \
|
---|
672 | ICOM_METHOD1(HRESULT,GetMediaType,AM_MEDIA_TYPE**,a1) \
|
---|
673 | ICOM_METHOD1(HRESULT,SetMediaType,AM_MEDIA_TYPE*,a1) \
|
---|
674 | ICOM_METHOD (HRESULT,IsDiscontinuity) \
|
---|
675 | ICOM_METHOD1(HRESULT,SetDiscontinuity,BOOL,a1) \
|
---|
676 | ICOM_METHOD2(HRESULT,GetMediaTime,LONGLONG*,a1,LONGLONG*,a2) \
|
---|
677 | ICOM_METHOD2(HRESULT,SetMediaTime,LONGLONG*,a1,LONGLONG*,a2)
|
---|
678 |
|
---|
679 | #define IMediaSample_IMETHODS \
|
---|
680 | IUnknown_IMETHODS \
|
---|
681 | IMediaSample_METHODS
|
---|
682 |
|
---|
683 | ICOM_DEFINE(IMediaSample,IUnknown)
|
---|
684 | #undef ICOM_INTERFACE
|
---|
685 |
|
---|
686 | /*** IUnknown methods ***/
|
---|
687 | #define IMediaSample_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
688 | #define IMediaSample_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
689 | #define IMediaSample_Release(p) ICOM_CALL (Release,p)
|
---|
690 | /*** IMediaSample methods ***/
|
---|
691 | #define IMediaSample_GetPointer(p,a1) ICOM_CALL1(GetPointer,p,a1)
|
---|
692 | #define IMediaSample_GetSize(p) ICOM_CALL (GetSize,p)
|
---|
693 | #define IMediaSample_GetTime(p,a1,a2) ICOM_CALL2(GetTime,p,a1,a2)
|
---|
694 | #define IMediaSample_SetTime(p,a1,a2) ICOM_CALL2(SetTime,p,a1,a2)
|
---|
695 | #define IMediaSample_IsSyncPoint(p) ICOM_CALL (IsSyncPoint,p)
|
---|
696 | #define IMediaSample_SetSyncPoint(p,a1) ICOM_CALL1(SetSyncPoint,p,a1)
|
---|
697 | #define IMediaSample_IsPreroll(p) ICOM_CALL (IsPreroll,p)
|
---|
698 | #define IMediaSample_SetPreroll(p,a1) ICOM_CALL1(SetPreroll,p,a1)
|
---|
699 | #define IMediaSample_GetActualDataLength(p,a1) ICOM_CALL1(GetActualDataLength,p,a1)
|
---|
700 | #define IMediaSample_SetActualDataLength(p,a1) ICOM_CALL1(SetActualDataLength,p,a1)
|
---|
701 | #define IMediaSample_GetMediaType(p,a1) ICOM_CALL1(GetMediaType,p,a1)
|
---|
702 | #define IMediaSample_SetMediaType(p,a1) ICOM_CALL1(SetMediaType,p,a1)
|
---|
703 | #define IMediaSample_IsDiscontinuity(p) ICOM_CALL (IsDiscontinuity,p)
|
---|
704 | #define IMediaSample_SetDiscontinuity(p,a1) ICOM_CALL1(SetDiscontinuity,p,a1)
|
---|
705 | #define IMediaSample_GetMediaTime(p,a1,a2) ICOM_CALL2(GetMediaTime,p,a1,a2)
|
---|
706 | #define IMediaSample_SetMediaTime(p,a1,a2) ICOM_CALL2(SetMediaTime,p,a1,a2)
|
---|
707 |
|
---|
708 | /**************************************************************************
|
---|
709 | *
|
---|
710 | * IMediaSample2 interface
|
---|
711 | *
|
---|
712 | */
|
---|
713 |
|
---|
714 | #define ICOM_INTERFACE IMediaSample2
|
---|
715 | #define IMediaSample2_METHODS \
|
---|
716 | ICOM_METHOD2(HRESULT,GetProperties,DWORD,a1,BYTE*,a2) \
|
---|
717 | ICOM_METHOD2(HRESULT,SetProperties,DWORD,a1,const BYTE*,a2)
|
---|
718 |
|
---|
719 | #define IMediaSample2_IMETHODS \
|
---|
720 | IMediaSample_IMETHODS \
|
---|
721 | IMediaSample2_METHODS
|
---|
722 |
|
---|
723 | ICOM_DEFINE(IMediaSample2,IMediaSample)
|
---|
724 | #undef ICOM_INTERFACE
|
---|
725 |
|
---|
726 | /*** IUnknown methods ***/
|
---|
727 | #define IMediaSample2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
728 | #define IMediaSample2_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
729 | #define IMediaSample2_Release(p) ICOM_CALL (Release,p)
|
---|
730 | /*** IMediaSample methods ***/
|
---|
731 | #define IMediaSample2_GetPointer(p,a1) ICOM_CALL1(GetPointer,p,a1)
|
---|
732 | #define IMediaSample2_GetSize(p,a1) ICOM_CALL1(GetSize,p,a1)
|
---|
733 | #define IMediaSample2_GetTime(p,a1,a2) ICOM_CALL2(GetTime,p,a1,a2)
|
---|
734 | #define IMediaSample2_SetTime(p,a1,a2) ICOM_CALL2(SetTime,p,a1,a2)
|
---|
735 | #define IMediaSample2_IsSyncPoint(p,a1) ICOM_CALL1(IsSyncPoint,p,a1)
|
---|
736 | #define IMediaSample2_SetSyncPoint(p,a1) ICOM_CALL1(SetSyncPoint,p,a1)
|
---|
737 | #define IMediaSample2_IsPreroll(p,a1) ICOM_CALL1(IsPreroll,p,a1)
|
---|
738 | #define IMediaSample2_SetPreroll(p,a1) ICOM_CALL1(SetPreroll,p,a1)
|
---|
739 | #define IMediaSample2_GetActualDataLength(p,a1) ICOM_CALL1(GetActualDataLength,p,a1)
|
---|
740 | #define IMediaSample2_SetActualDataLength(p,a1) ICOM_CALL1(SetActualDataLength,p,a1)
|
---|
741 | #define IMediaSample2_GetMediaType(p,a1) ICOM_CALL1(GetMediaType,p,a1)
|
---|
742 | #define IMediaSample2_SetMediaType(p,a1) ICOM_CALL1(SetMediaType,p,a1)
|
---|
743 | #define IMediaSample2_IsDiscontinuity(p,a1) ICOM_CALL1(IsDiscontinuity,p,a1)
|
---|
744 | #define IMediaSample2_SetDiscontinuity(p,a1) ICOM_CALL1(SetDiscontinuity,p,a1)
|
---|
745 | #define IMediaSample2_GetMediaTime(p,a1,a2) ICOM_CALL2(GetMediaTime,p,a1,a2)
|
---|
746 | #define IMediaSample2_SetMediaTime(p,a1,a2) ICOM_CALL2(SetMediaTime,p,a1,a2)
|
---|
747 | /*** IMediaSample2 methods ***/
|
---|
748 | #define IMediaSample2_GetProperties(p,a1,a2) ICOM_CALL2(GetProperties,p,a1,a2)
|
---|
749 | #define IMediaSample2_SetProperties(p,a1,a2) ICOM_CALL2(SetProperties,p,a1,a2)
|
---|
750 |
|
---|
751 | /**************************************************************************
|
---|
752 | *
|
---|
753 | * IMediaSeeking interface
|
---|
754 | *
|
---|
755 | */
|
---|
756 |
|
---|
757 | #define ICOM_INTERFACE IMediaSeeking
|
---|
758 | #define IMediaSeeking_METHODS \
|
---|
759 | ICOM_METHOD1(HRESULT,GetCapabilities,DWORD*,a1) \
|
---|
760 | ICOM_METHOD1(HRESULT,CheckCapabilities,DWORD*,a1) \
|
---|
761 | ICOM_METHOD1(HRESULT,IsFormatSupported,const GUID*,a1) \
|
---|
762 | ICOM_METHOD1(HRESULT,QueryPreferredFormat,GUID*,a1) \
|
---|
763 | ICOM_METHOD1(HRESULT,GetTimeFormat,GUID*,a1) \
|
---|
764 | ICOM_METHOD1(HRESULT,IsUsingTimeFormat,const GUID*,a1) \
|
---|
765 | ICOM_METHOD1(HRESULT,SetTimeFormat,const GUID*,a1) \
|
---|
766 | ICOM_METHOD1(HRESULT,GetDuration,LONGLONG*,a1) \
|
---|
767 | ICOM_METHOD1(HRESULT,GetStopPosition,LONGLONG*,a1) \
|
---|
768 | ICOM_METHOD1(HRESULT,GetCurrentPosition,LONGLONG*,a1) \
|
---|
769 | ICOM_METHOD4(HRESULT,ConvertTimeFormat,LONGLONG*,a1,const GUID*,a2,LONGLONG,a3,const GUID*,a4) \
|
---|
770 | ICOM_METHOD4(HRESULT,SetPositions,LONGLONG*,a1,DWORD,a2,LONGLONG*,a3,DWORD,a4) \
|
---|
771 | ICOM_METHOD2(HRESULT,GetPositions,LONGLONG*,a1,LONGLONG*,a2) \
|
---|
772 | ICOM_METHOD2(HRESULT,GetAvailable,LONGLONG*,a1,LONGLONG*,a2) \
|
---|
773 | ICOM_METHOD1(HRESULT,SetRate,double,a1) \
|
---|
774 | ICOM_METHOD1(HRESULT,GetRate,double*,a1) \
|
---|
775 | ICOM_METHOD1(HRESULT,GetPreroll,LONGLONG*,a1)
|
---|
776 |
|
---|
777 | #define IMediaSeeking_IMETHODS \
|
---|
778 | IUnknown_IMETHODS \
|
---|
779 | IMediaSeeking_METHODS
|
---|
780 |
|
---|
781 | ICOM_DEFINE(IMediaSeeking,IUnknown)
|
---|
782 | #undef ICOM_INTERFACE
|
---|
783 |
|
---|
784 | /*** IUnknown methods ***/
|
---|
785 | #define IMediaSeeking_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
786 | #define IMediaSeeking_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
787 | #define IMediaSeeking_Release(p) ICOM_CALL (Release,p)
|
---|
788 | /*** IMediaSeeking methods ***/
|
---|
789 | #define IMediaSeeking_GetCapabilities(p,a1) ICOM_CALL1(GetCapabilities,p,a1)
|
---|
790 | #define IMediaSeeking_CheckCapabilities(p,a1) ICOM_CALL1(CheckCapabilities,p,a1)
|
---|
791 | #define IMediaSeeking_IsFormatSupported(p,a1) ICOM_CALL1(IsFormatSupported,p,a1)
|
---|
792 | #define IMediaSeeking_QueryPreferredFormat(p,a1) ICOM_CALL1(QueryPreferredFormat,p,a1)
|
---|
793 | #define IMediaSeeking_GetTimeFormat(p,a1) ICOM_CALL1(GetTimeFormat,p,a1)
|
---|
794 | #define IMediaSeeking_IsUsingTimeFormat(p,a1) ICOM_CALL1(IsUsingTimeFormat,p,a1)
|
---|
795 | #define IMediaSeeking_SetTimeFormat(p,a1) ICOM_CALL1(SetTimeFormat,p,a1)
|
---|
796 | #define IMediaSeeking_GetDuration(p,a1) ICOM_CALL1(GetDuration,p,a1)
|
---|
797 | #define IMediaSeeking_GetStopPosition(p,a1) ICOM_CALL1(GetStopPosition,p,a1)
|
---|
798 | #define IMediaSeeking_GetCurrentPosition(p,a1) ICOM_CALL1(GetCurrentPosition,p,a1)
|
---|
799 | #define IMediaSeeking_ConvertTimeFormat(p,a1,a2,a3,a4) ICOM_CALL4(ConvertTimeFormat,p,a1,a2,a3,a4)
|
---|
800 | #define IMediaSeeking_SetPositions(p,a1,a2,a3,a4) ICOM_CALL4(SetPositions,p,a1,a2,a3,a4)
|
---|
801 | #define IMediaSeeking_GetPositions(p,a1,a2) ICOM_CALL2(GetPositions,p,a1,a2)
|
---|
802 | #define IMediaSeeking_GetAvailable(p,a1,a2) ICOM_CALL2(GetAvailable,p,a1,a2)
|
---|
803 | #define IMediaSeeking_SetRate(p,a1) ICOM_CALL1(SetRate,p,a1)
|
---|
804 | #define IMediaSeeking_GetRate(p,a1) ICOM_CALL1(GetRate,p,a1)
|
---|
805 | #define IMediaSeeking_GetPreroll(p,a1) ICOM_CALL1(GetPreroll,p,a1)
|
---|
806 |
|
---|
807 | /**************************************************************************
|
---|
808 | *
|
---|
809 | * IMemAllocator interface
|
---|
810 | *
|
---|
811 | */
|
---|
812 |
|
---|
813 | #define ICOM_INTERFACE IMemAllocator
|
---|
814 | #define IMemAllocator_METHODS \
|
---|
815 | ICOM_METHOD2(HRESULT,SetProperties,ALLOCATOR_PROPERTIES*,a1,ALLOCATOR_PROPERTIES*,a2) \
|
---|
816 | ICOM_METHOD1(HRESULT,GetProperties,ALLOCATOR_PROPERTIES*,a1) \
|
---|
817 | ICOM_METHOD (HRESULT,Commit) \
|
---|
818 | ICOM_METHOD (HRESULT,Decommit) \
|
---|
819 | ICOM_METHOD4(HRESULT,GetBuffer,IMediaSample**,a1,REFERENCE_TIME*,a2,REFERENCE_TIME*,a3,DWORD,a4) \
|
---|
820 | ICOM_METHOD1(HRESULT,ReleaseBuffer,IMediaSample*,a1)
|
---|
821 |
|
---|
822 | #define IMemAllocator_IMETHODS \
|
---|
823 | IUnknown_IMETHODS \
|
---|
824 | IMemAllocator_METHODS
|
---|
825 |
|
---|
826 | ICOM_DEFINE(IMemAllocator,IUnknown)
|
---|
827 | #undef ICOM_INTERFACE
|
---|
828 |
|
---|
829 | /*** IUnknown methods ***/
|
---|
830 | #define IMemAllocator_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
831 | #define IMemAllocator_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
832 | #define IMemAllocator_Release(p) ICOM_CALL (Release,p)
|
---|
833 | /*** IMemAllocator methods ***/
|
---|
834 | #define IMemAllocator_SetProperties(p,a1,a2) ICOM_CALL2(SetProperties,p,a1,a2)
|
---|
835 | #define IMemAllocator_GetProperties(p,a1) ICOM_CALL1(GetProperties,p,a1)
|
---|
836 | #define IMemAllocator_Commit(p) ICOM_CALL (Commit,p)
|
---|
837 | #define IMemAllocator_Decommit(p) ICOM_CALL (Decommit,p)
|
---|
838 | #define IMemAllocator_GetBuffer(p,a1,a2,a3,a4) ICOM_CALL4(GetBuffer,p,a1,a2,a3,a4)
|
---|
839 | #define IMemAllocator_ReleaseBuffer(p,a1) ICOM_CALL1(ReleaseBuffer,p,a1)
|
---|
840 |
|
---|
841 | /**************************************************************************
|
---|
842 | *
|
---|
843 | * IMemAllocatorCallbackTemp interface
|
---|
844 | *
|
---|
845 | */
|
---|
846 |
|
---|
847 | #define ICOM_INTERFACE IMemAllocatorCallbackTemp
|
---|
848 | #define IMemAllocatorCallbackTemp_METHODS \
|
---|
849 | ICOM_METHOD1(HRESULT,SetNotify,IMemAllocatorNotifyCallbackTemp*,a1) \
|
---|
850 | ICOM_METHOD1(HRESULT,GetFreeCount,LONG*,a1)
|
---|
851 |
|
---|
852 | #define IMemAllocatorCallbackTemp_IMETHODS \
|
---|
853 | IMemAllocator_IMETHODS \
|
---|
854 | IMemAllocatorCallbackTemp_METHODS
|
---|
855 |
|
---|
856 | ICOM_DEFINE(IMemAllocatorCallbackTemp,IMemAllocator)
|
---|
857 | #undef ICOM_INTERFACE
|
---|
858 |
|
---|
859 | /*** IUnknown methods ***/
|
---|
860 | #define IMemAllocatorCallbackTemp_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
861 | #define IMemAllocatorCallbackTemp_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
862 | #define IMemAllocatorCallbackTemp_Release(p) ICOM_CALL (Release,p)
|
---|
863 | /*** IMemAllocator methods ***/
|
---|
864 | #define IMemAllocatorCallbackTemp_SetProperties(p,a1,a2) ICOM_CALL2(SetProperties,p,a1,a2)
|
---|
865 | #define IMemAllocatorCallbackTemp_GetProperties(p,a1) ICOM_CALL1(GetProperties,p,a1)
|
---|
866 | #define IMemAllocatorCallbackTemp_Commit(p,a1) ICOM_CALL1(Commit,p,a1)
|
---|
867 | #define IMemAllocatorCallbackTemp_Decommit(p,a1) ICOM_CALL1(Decommit,p,a1)
|
---|
868 | #define IMemAllocatorCallbackTemp_GetBuffer(p,a1,a2,a3,a4) ICOM_CALL4(GetBuffer,p,a1,a2,a3,a4)
|
---|
869 | #define IMemAllocatorCallbackTemp_ReleaseBuffer(p,a1) ICOM_CALL1(ReleaseBuffer,p,a1)
|
---|
870 | /*** IMemAllocatorCallbackTemp methods ***/
|
---|
871 | #define IMemAllocatorCallbackTemp_SetNotify(p,a1) ICOM_CALL1(SetNotify,p,a1)
|
---|
872 | #define IMemAllocatorCallbackTemp_GetFreeCount(p,a1) ICOM_CALL1(GetFreeCount,p,a1)
|
---|
873 |
|
---|
874 | /**************************************************************************
|
---|
875 | *
|
---|
876 | * IMemAllocatorNotifyCallbackTemp interface
|
---|
877 | *
|
---|
878 | */
|
---|
879 |
|
---|
880 | #define ICOM_INTERFACE IMemAllocatorNotifyCallbackTemp
|
---|
881 | #define IMemAllocatorNotifyCallbackTemp_METHODS \
|
---|
882 | ICOM_METHOD (HRESULT,NotifyRelease)
|
---|
883 |
|
---|
884 | #define IMemAllocatorNotifyCallbackTemp_IMETHODS \
|
---|
885 | IUnknown_IMETHODS \
|
---|
886 | IMemAllocatorNotifyCallbackTemp_METHODS
|
---|
887 |
|
---|
888 | ICOM_DEFINE(IMemAllocatorNotifyCallbackTemp,IUnknown)
|
---|
889 | #undef ICOM_INTERFACE
|
---|
890 |
|
---|
891 | /*** IUnknown methods ***/
|
---|
892 | #define IMemAllocatorNotifyCallbackTemp_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
893 | #define IMemAllocatorNotifyCallbackTemp_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
894 | #define IMemAllocatorNotifyCallbackTemp_Release(p) ICOM_CALL (Release,p)
|
---|
895 | /*** IMemAllocatorNotifyCallbackTemp methods ***/
|
---|
896 | #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(p) ICOM_CALL (NotifyRelease,p)
|
---|
897 |
|
---|
898 | /**************************************************************************
|
---|
899 | *
|
---|
900 | * IMemInputPin interface
|
---|
901 | *
|
---|
902 | */
|
---|
903 |
|
---|
904 | #define ICOM_INTERFACE IMemInputPin
|
---|
905 | #define IMemInputPin_METHODS \
|
---|
906 | ICOM_METHOD1(HRESULT,GetAllocator,IMemAllocator**,a1) \
|
---|
907 | ICOM_METHOD2(HRESULT,NotifyAllocator,IMemAllocator*,a1,BOOL,a2) \
|
---|
908 | ICOM_METHOD1(HRESULT,GetAllocatorRequirements,ALLOCATOR_PROPERTIES*,a1) \
|
---|
909 | ICOM_METHOD1(HRESULT,Receive,IMediaSample*,a1) \
|
---|
910 | ICOM_METHOD3(HRESULT,ReceiveMultiple,IMediaSample**,a1,long,a2,long*,a3) \
|
---|
911 | ICOM_METHOD (HRESULT,ReceiveCanBlock)
|
---|
912 |
|
---|
913 | #define IMemInputPin_IMETHODS \
|
---|
914 | IUnknown_IMETHODS \
|
---|
915 | IMemInputPin_METHODS
|
---|
916 |
|
---|
917 | ICOM_DEFINE(IMemInputPin,IUnknown)
|
---|
918 | #undef ICOM_INTERFACE
|
---|
919 |
|
---|
920 | /*** IUnknown methods ***/
|
---|
921 | #define IMemInputPin_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
922 | #define IMemInputPin_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
923 | #define IMemInputPin_Release(p) ICOM_CALL (Release,p)
|
---|
924 | /*** IMemInputPin methods ***/
|
---|
925 | #define IMemInputPin_GetAllocator(p,a1) ICOM_CALL1(GetAllocator,p,a1)
|
---|
926 | #define IMemInputPin_NotifyAllocator(p,a1,a2) ICOM_CALL2(NotifyAllocator,p,a1,a2)
|
---|
927 | #define IMemInputPin_GetAllocatorRequirements(p,a1) ICOM_CALL1(GetAllocatorRequirements,p,a1)
|
---|
928 | #define IMemInputPin_Receive(p,a1) ICOM_CALL1(Receive,p,a1)
|
---|
929 | #define IMemInputPin_ReceiveMultiple(p,a1,a2,a3) ICOM_CALL3(ReceiveMultiple,p,a1,a2,a3)
|
---|
930 | #define IMemInputPin_ReceiveCanBlock(p) ICOM_CALL (ReceiveCanBlock,p)
|
---|
931 |
|
---|
932 | /**************************************************************************
|
---|
933 | *
|
---|
934 | * IPin interface
|
---|
935 | *
|
---|
936 | */
|
---|
937 |
|
---|
938 | #define ICOM_INTERFACE IPin
|
---|
939 | #define IPin_METHODS \
|
---|
940 | ICOM_METHOD2(HRESULT,Connect,IPin*,a1,const AM_MEDIA_TYPE*,a2) \
|
---|
941 | ICOM_METHOD2(HRESULT,ReceiveConnection,IPin*,a1,const AM_MEDIA_TYPE*,a2) \
|
---|
942 | ICOM_METHOD (HRESULT,Disconnect) \
|
---|
943 | ICOM_METHOD1(HRESULT,ConnectedTo,IPin**,a1) \
|
---|
944 | ICOM_METHOD1(HRESULT,ConnectionMediaType,AM_MEDIA_TYPE*,a1) \
|
---|
945 | ICOM_METHOD1(HRESULT,QueryPinInfo,PIN_INFO*,a1) \
|
---|
946 | ICOM_METHOD1(HRESULT,QueryDirection,PIN_DIRECTION*,a1) \
|
---|
947 | ICOM_METHOD1(HRESULT,QueryId,LPWSTR*,a1) \
|
---|
948 | ICOM_METHOD1(HRESULT,QueryAccept,const AM_MEDIA_TYPE*,a1) \
|
---|
949 | ICOM_METHOD1(HRESULT,EnumMediaTypes,IEnumMediaTypes**,a1) \
|
---|
950 | ICOM_METHOD2(HRESULT,QueryInternalConnections,IPin**,a1,ULONG*,a2) \
|
---|
951 | ICOM_METHOD (HRESULT,EndOfStream) \
|
---|
952 | ICOM_METHOD (HRESULT,BeginFlush) \
|
---|
953 | ICOM_METHOD (HRESULT,EndFlush) \
|
---|
954 | ICOM_METHOD3(HRESULT,NewSegment,REFERENCE_TIME,a1,REFERENCE_TIME,a2,double,a3)
|
---|
955 |
|
---|
956 | #define IPin_IMETHODS \
|
---|
957 | IUnknown_IMETHODS \
|
---|
958 | IPin_METHODS
|
---|
959 |
|
---|
960 | ICOM_DEFINE(IPin,IUnknown)
|
---|
961 | #undef ICOM_INTERFACE
|
---|
962 |
|
---|
963 | /*** IUnknown methods ***/
|
---|
964 | #define IPin_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
965 | #define IPin_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
966 | #define IPin_Release(p) ICOM_CALL (Release,p)
|
---|
967 | /*** IPin methods ***/
|
---|
968 | #define IPin_Connect(p,a1,a2) ICOM_CALL2(Connect,p,a1,a2)
|
---|
969 | #define IPin_ReceiveConnection(p,a1,a2) ICOM_CALL2(ReceiveConnection,p,a1,a2)
|
---|
970 | #define IPin_Disconnect(p) ICOM_CALL (Disconnect,p)
|
---|
971 | #define IPin_ConnectedTo(p,a1) ICOM_CALL1(ConnectedTo,p,a1)
|
---|
972 | #define IPin_ConnectionMediaType(p,a1) ICOM_CALL1(ConnectionMediaType,p,a1)
|
---|
973 | #define IPin_QueryPinInfo(p,a1) ICOM_CALL1(QueryPinInfo,p,a1)
|
---|
974 | #define IPin_QueryDirection(p,a1) ICOM_CALL1(QueryDirection,p,a1)
|
---|
975 | #define IPin_QueryId(p,a1) ICOM_CALL1(QueryId,p,a1)
|
---|
976 | #define IPin_QueryAccept(p,a1) ICOM_CALL1(QueryAccept,p,a1)
|
---|
977 | #define IPin_EnumMediaTypes(p,a1) ICOM_CALL1(EnumMediaTypes,p,a1)
|
---|
978 | #define IPin_QueryInternalConnections(p,a1,a2) ICOM_CALL2(QueryInternalConnections,p,a1,a2)
|
---|
979 | #define IPin_EndOfStream(p) ICOM_CALL (EndOfStream,p)
|
---|
980 | #define IPin_BeginFlush(p) ICOM_CALL (BeginFlush,p)
|
---|
981 | #define IPin_EndFlush(p) ICOM_CALL (EndFlush,p)
|
---|
982 | #define IPin_NewSegment(p,a1,a2,a3) ICOM_CALL3(NewSegment,p,a1,a2,a3)
|
---|
983 |
|
---|
984 | /**************************************************************************
|
---|
985 | *
|
---|
986 | * IReferenceClock interface
|
---|
987 | *
|
---|
988 | */
|
---|
989 |
|
---|
990 | #define ICOM_INTERFACE IReferenceClock
|
---|
991 | #define IReferenceClock_METHODS \
|
---|
992 | ICOM_METHOD1(HRESULT,GetTime,REFERENCE_TIME*,a1) \
|
---|
993 | ICOM_METHOD4(HRESULT,AdviseTime,REFERENCE_TIME,a1,REFERENCE_TIME,a2,HEVENT,a3,DWORD_PTR*,a4) \
|
---|
994 | ICOM_METHOD4(HRESULT,AdvisePeriodic,REFERENCE_TIME,a1,REFERENCE_TIME,a2,HSEMAPHORE,a3,DWORD_PTR*,a4) \
|
---|
995 | ICOM_METHOD1(HRESULT,Unadvise,DWORD_PTR,a1)
|
---|
996 |
|
---|
997 | #define IReferenceClock_IMETHODS \
|
---|
998 | IUnknown_IMETHODS \
|
---|
999 | IReferenceClock_METHODS
|
---|
1000 |
|
---|
1001 | ICOM_DEFINE(IReferenceClock,IUnknown)
|
---|
1002 | #undef ICOM_INTERFACE
|
---|
1003 |
|
---|
1004 | /*** IUnknown methods ***/
|
---|
1005 | #define IReferenceClock_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
1006 | #define IReferenceClock_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
1007 | #define IReferenceClock_Release(p) ICOM_CALL (Release,p)
|
---|
1008 | /*** IReferenceClock methods ***/
|
---|
1009 | #define IReferenceClock_GetTime(p,a1) ICOM_CALL1(GetTime,p,a1)
|
---|
1010 | #define IReferenceClock_AdviseTime(p,a1,a2,a3,a4) ICOM_CALL4(AdviseTime,p,a1,a2,a3,a4)
|
---|
1011 | #define IReferenceClock_AdvisePeriodic(p,a1,a2,a3,a4) ICOM_CALL4(AdvisePeriodic,p,a1,a2,a3,a4)
|
---|
1012 | #define IReferenceClock_Unadvise(p,a1) ICOM_CALL1(Unadvise,p,a1)
|
---|
1013 |
|
---|
1014 | /**************************************************************************
|
---|
1015 | *
|
---|
1016 | * IReferenceClock2 interface
|
---|
1017 | *
|
---|
1018 | */
|
---|
1019 |
|
---|
1020 | #define ICOM_INTERFACE IReferenceClock2
|
---|
1021 | #define IReferenceClock2_METHODS
|
---|
1022 |
|
---|
1023 | #define IReferenceClock2_IMETHODS \
|
---|
1024 | IReferenceClock_IMETHODS \
|
---|
1025 | IReferenceClock2_METHODS
|
---|
1026 |
|
---|
1027 | ICOM_DEFINE(IReferenceClock2,IReferenceClock)
|
---|
1028 | #undef ICOM_INTERFACE
|
---|
1029 |
|
---|
1030 | /*** IUnknown methods ***/
|
---|
1031 | #define IReferenceClock2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
|
---|
1032 | #define IReferenceClock2_AddRef(p) ICOM_CALL (AddRef,p)
|
---|
1033 | #define IReferenceClock2_Release(p) ICOM_CALL (Release,p)
|
---|
1034 | /*** IReferenceClock methods ***/
|
---|
1035 | #define IReferenceClock2_GetTime(p,a1) ICOM_CALL1(GetTime,p,a1)
|
---|
1036 | #define IReferenceClock2_AdviseTime(p,a1,a2,a3,a4) ICOM_CALL4(AdviseTime,p,a1,a2,a3,a4)
|
---|
1037 | #define IReferenceClock2_AdvisePeriodic(p,a1,a2,a3,a4) ICOM_CALL4(AdvisePeriodic,p,a1,a2,a3,a4)
|
---|
1038 | #define IReferenceClock2_Unadvise(p,a1) ICOM_CALL1(Unadvise,p,a1)
|
---|
1039 | /*** IReferenceClock2 methods ***/
|
---|
1040 |
|
---|
1041 | #endif /* __WINE_STRMIF_H_ */
|
---|