source: trunk/include/win/strmif.h@ 6564

Last change on this file since 6564 was 6564, checked in by sandervl, 24 years ago

header updates

File size: 47.0 KB
Line 
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
20typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
21typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
22typedef struct IAMAudioInputMixer IAMAudioInputMixer;
23typedef struct IAMAudioRendererStats IAMAudioRendererStats;
24typedef struct IAMBufferNegotiation IAMBufferNegotiation;
25typedef struct IAMCameraControl IAMCameraControl;
26typedef struct IAMClockAdjust IAMClockAdjust;
27typedef struct IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
28typedef struct IAMCrossbar IAMCrossbar;
29typedef struct IAMDeviceRemoval IAMDeviceRemoval;
30typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator;
31typedef struct IAMDevMemoryControl IAMDevMemoryControl;
32typedef struct IAMDroppedFrames IAMDroppedFrames;
33typedef struct IAMExtDevice IAMExtDevice;
34typedef struct IAMExtTransport IAMExtTransport;
35typedef struct IAMFilterMiscFlags IAMFilterMiscFlags;
36typedef struct IAMGraphStreams IAMGraphStreams;
37typedef struct IAMLatency IAMLatency;
38typedef struct IAMOpenProgress IAMOpenProgress;
39typedef struct IAMOverlayFX IAMOverlayFX;
40typedef struct IAMovie IAMovie;
41typedef struct IAMovieSetup IAMovieSetup;
42typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo;
43typedef struct IAMPushSource IAMPushSource;
44typedef struct IAMResourceControl IAMResourceControl;
45typedef struct IAMStreamConfig IAMStreamConfig;
46typedef struct IAMStreamControl IAMStreamControl;
47typedef struct IAMStreamSelect IAMStreamSelect;
48typedef struct IAMTimecodeDisplay IAMTimecodeDisplay;
49typedef struct IAMTimecodeGenerator IAMTimecodeGenerator;
50typedef struct IAMTimecodeReader IAMTimecodeReader;
51typedef struct IAMTuner IAMTuner;
52typedef struct IAMTunerNotification IAMTunerNotification;
53typedef struct IAMTVAudio IAMTVAudio;
54typedef struct IAMTVAudioNotification IAMTVAudioNotification;
55typedef struct IAMTVTuner IAMTVTuner;
56typedef struct IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
57typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs;
58typedef struct IAMVideoCompression IAMVideoCompression;
59typedef struct IAMVideoControl IAMVideoControl;
60typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties;
61typedef struct IAMVideoProcAmp IAMVideoProcAmp;
62typedef struct IAsyncReader IAsyncReader;
63typedef struct IMediaFilter IMediaFilter;
64typedef struct IBaseFilter IBaseFilter;
65typedef struct IBPCSatelliteTuner IBPCSatelliteTuner;
66typedef struct ICaptureGraphBuilder ICaptureGraphBuilder;
67typedef struct ICaptureGraphBuilder2 ICaptureGraphBuilder2;
68typedef struct IConfigAviMux IConfigAviMux;
69typedef struct IConfigInterleaving IConfigInterleaving;
70typedef struct ICreateDevEnum ICreateDevEnum;
71typedef struct IDDrawExclModeVideo IDDrawExclModeVideo;
72typedef struct IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
73typedef struct IDecimateVideoImage IDecimateVideoImage;
74typedef struct IDistributorNotify IDistributorNotify;
75typedef struct IDrawVideoImage IDrawVideoImage;
76typedef struct IDvdCmd IDvdCmd;
77typedef struct IDvdControl IDvdControl;
78typedef struct IDvdControl2 IDvdControl2;
79typedef struct IDvdGraphBuilder IDvdGraphBuilder;
80typedef struct IDvdInfo IDvdInfo;
81typedef struct IDvdInfo2 IDvdInfo2;
82typedef struct IDvdState IDvdState;
83typedef struct IDVEnc IDVEnc;
84typedef struct IDVSplitter IDVSplitter;
85typedef struct IEnumFilters IEnumFilters;
86typedef struct IEnumMediaTypes IEnumMediaTypes;
87typedef struct IEnumPins IEnumPins;
88typedef struct IEnumRegFilters IEnumRegFilters;
89typedef struct IEnumStreamIdMap IEnumStreamIdMap;
90typedef struct IFileSinkFilter IFileSinkFilter;
91typedef struct IFileSinkFilter2 IFileSinkFilter2;
92typedef struct IFileSourceFilter IFileSourceFilter;
93typedef struct IFilterChain IFilterChain;
94typedef struct IFilterGraph IFilterGraph;
95typedef struct IFilterGraph2 IFilterGraph2;
96typedef struct IFilterMapper IFilterMapper;
97typedef struct IFilterMapper2 IFilterMapper2;
98typedef struct IFilterMapper3 IFilterMapper3;
99typedef struct IGraphBuilder IGraphBuilder;
100typedef struct IGraphConfig IGraphConfig;
101typedef struct IGraphConfigCallback IGraphConfigCallback;
102typedef struct IGraphVersion IGraphVersion;
103typedef struct IIPDVDec IIPDVDec;
104typedef struct IMediaEventSink IMediaEventSink;
105typedef struct IMediaPropertyBag IMediaPropertyBag;
106typedef struct IMediaSample IMediaSample;
107typedef struct IMediaSample2 IMediaSample2;
108typedef struct IMediaSeeking IMediaSeeking;
109typedef struct IMemAllocator IMemAllocator;
110typedef struct IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
111typedef struct IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
112typedef struct IMemInputPin IMemInputPin;
113typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer;
114typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap;
115typedef struct IOverlay IOverlay;
116typedef struct IOverlayNotify IOverlayNotify;
117typedef struct IOverlayNotify2 IOverlayNotify2;
118typedef struct IPersistMediaPropertyBag IPersistMediaPropertyBag;
119typedef struct IPin IPin;
120typedef struct IPinConnection IPinConnection;
121typedef struct IPinFlowControl IPinFlowControl;
122typedef struct IQualityControl IQualityControl;
123typedef struct IReferenceClock IReferenceClock;
124typedef struct IReferenceClock2 IReferenceClock2;
125typedef struct IResourceConsumer IResourceConsumer;
126typedef struct IResourceManager IResourceManager;
127typedef struct ISeekingPassThru ISeekingPassThru;
128typedef struct IStreamBuilder IStreamBuilder;
129typedef struct IVideoFrameStep IVideoFrameStep;
130
131/* GUIDs. */
132
133DEFINE_GUID(IID_IAMAnalogVideoDecoder,0xC6E13350,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
134DEFINE_GUID(IID_IAMAnalogVideoEncoder,0xC6E133B0,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
135DEFINE_GUID(IID_IAMAudioInputMixer,0x54C39221,0x8380,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
136DEFINE_GUID(IID_IAMAudioRendererStats,0x22320CB2,0xD41A,0x11D2,0xBF,0x7C,0xD7,0xCB,0x9D,0xF0,0xBF,0x93);
137DEFINE_GUID(IID_IAMBufferNegotiation,0x56ED71A0,0xAF5F,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
138DEFINE_GUID(IID_IAMCameraControl,0xC6E13370,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
139DEFINE_GUID(IID_IAMClockAdjust,0x4D5466B0,0xA49C,0x11D1,0xAB,0xE8,0x00,0xA0,0xC9,0x05,0xF3,0x75);
140DEFINE_GUID(IID_IAMCopyCaptureFileProgress,0x670D1D20,0xA068,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
141DEFINE_GUID(IID_IAMCrossbar,0xC6E13380,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
142DEFINE_GUID(IID_IAMDeviceRemoval,0xF90A6130,0xB658,0x11D2,0xAE,0x49,0x00,0x00,0xF8,0x75,0x4B,0x99);
143DEFINE_GUID(IID_IAMDevMemoryAllocator,0xC6545BF0,0xE76B,0x11D0,0xBD,0x52,0x00,0xA0,0xC9,0x11,0xCE,0x86);
144DEFINE_GUID(IID_IAMDevMemoryControl,0xC6545BF1,0xE76B,0x11D0,0xBD,0x52,0x00,0xA0,0xC9,0x11,0xCE,0x86);
145DEFINE_GUID(IID_IAMDroppedFrames,0xC6E13344,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
146DEFINE_GUID(IID_IAMExtDevice,0xB5730A90,0x1A2C,0x11CF,0x8C,0x23,0x00,0xAA,0x00,0x6B,0x68,0x14);
147DEFINE_GUID(IID_IAMExtTransport,0xA03CD5F0,0x3045,0x11CF,0x8C,0x44,0x00,0xAA,0x00,0x6B,0x68,0x14);
148DEFINE_GUID(IID_IAMFilterMiscFlags,0x2DD74950,0xA890,0x11D1,0xAB,0xE8,0x00,0xA0,0xC9,0x05,0xF3,0x75);
149DEFINE_GUID(IID_IAMGraphStreams,0x632105FA,0x072E,0x11D3,0x8A,0xF9,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
150DEFINE_GUID(IID_IAMLatency,0x62EA93BA,0xEC62,0x11D2,0xB7,0x70,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
151DEFINE_GUID(IID_IAMOpenProgress,0x8E1C39A1,0xDE53,0x11CF,0xAA,0x63,0x00,0x80,0xC7,0x44,0x52,0x8D);
152DEFINE_GUID(IID_IAMOverlayFX,0x62FAE250,0x7E65,0x4460,0xBF,0xC9,0x63,0x98,0xB3,0x22,0x07,0x3C);
153DEFINE_GUID(IID_IAMovie,0x359ACE10,0x7688,0x11CF,0x8B,0x23,0x00,0x80,0x5F,0x6C,0xEF,0x60);
154DEFINE_GUID(IID_IAMovieSetup,0xA3D8CEC0,0x7E5A,0x11CF,0xBB,0xC5,0x00,0x80,0x5F,0x6C,0xEF,0x20);
155DEFINE_GUID(IID_IAMPhysicalPinInfo,0xF938C991,0x3029,0x11CF,0x8C,0x44,0x00,0xAA,0x00,0x6B,0x68,0x14);
156DEFINE_GUID(IID_IAMPushSource,0xF185FE76,0xE64E,0x11D2,0xB7,0x6E,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
157DEFINE_GUID(IID_IAMResourceControl,0x8389D2D0,0x77D7,0x11D1,0xAB,0xE6,0x00,0xA0,0xC9,0x05,0xF3,0x75);
158DEFINE_GUID(IID_IAMStreamConfig,0xC6E13340,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
159DEFINE_GUID(IID_IAMStreamControl,0x36B73881,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
160DEFINE_GUID(IID_IAMStreamSelect,0xC1960960,0x17F5,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
161DEFINE_GUID(IID_IAMTimecodeDisplay,0x9B496CE2,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
162DEFINE_GUID(IID_IAMTimecodeGenerator,0x9B496CE0,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
163DEFINE_GUID(IID_IAMTimecodeReader,0x9B496CE1,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
164DEFINE_GUID(IID_IAMTuner,0x211A8761,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
165DEFINE_GUID(IID_IAMTunerNotification,0x211A8760,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
166DEFINE_GUID(IID_IAMTVAudio,0x83EC1C30,0x23D1,0x11D1,0x99,0xE6,0x00,0xA0,0xC9,0x56,0x02,0x66);
167DEFINE_GUID(IID_IAMTVAudioNotification,0x83EC1C33,0x23D1,0x11D1,0x99,0xE6,0x00,0xA0,0xC9,0x56,0x02,0x66);
168DEFINE_GUID(IID_IAMTVTuner,0x211A8766,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
169DEFINE_GUID(IID_IAMVfwCaptureDialogs,0xD8D715A0,0x6E5E,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
170DEFINE_GUID(IID_IAMVfwCompressDialogs,0xD8D715A3,0x6E5E,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
171DEFINE_GUID(IID_IAMVideoCompression,0xC6E13343,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
172DEFINE_GUID(IID_IAMVideoControl,0x6A2E0670,0x28E4,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
173DEFINE_GUID(IID_IAMVideoDecimationProperties,0x60D32930,0x13DA,0x11D3,0x9E,0xC6,0xC4,0xFC,0xAE,0xF5,0xC7,0xBE);
174DEFINE_GUID(IID_IAMVideoProcAmp,0xC6E13360,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
175DEFINE_GUID(IID_IAsyncReader,0x56A868AA,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
176DEFINE_GUID(IID_IMediaFilter,0x56A86899,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
177DEFINE_GUID(IID_IBaseFilter,0x56A86895,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
178DEFINE_GUID(IID_IBPCSatelliteTuner,0x211A8765,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
179DEFINE_GUID(IID_ICaptureGraphBuilder,0xBF87B6E0,0x8C27,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
180DEFINE_GUID(IID_ICaptureGraphBuilder2,0x93E5A4E0,0x2D50,0x11D2,0xAB,0xFA,0x00,0xA0,0xC9,0xC6,0xE3,0x8D);
181DEFINE_GUID(IID_IConfigAviMux,0x5ACD6AA0,0xF482,0x11CE,0x8B,0x67,0x00,0xAA,0x00,0xA3,0xF1,0xA6);
182DEFINE_GUID(IID_IConfigInterleaving,0xBEE3D220,0x157B,0x11D0,0xBD,0x23,0x00,0xA0,0xC9,0x11,0xCE,0x86);
183DEFINE_GUID(IID_ICreateDevEnum,0x29840822,0x5B84,0x11D0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86);
184DEFINE_GUID(IID_IDDrawExclModeVideo,0x153ACC21,0xD83B,0x11D1,0x82,0xBF,0x00,0xA0,0xC9,0x69,0x6C,0x8F);
185DEFINE_GUID(IID_IDDrawExclModeVideoCallback,0x913C24A0,0x20AB,0x11D2,0x90,0x38,0x00,0xA0,0xC9,0x69,0x72,0x98);
186DEFINE_GUID(IID_IDecimateVideoImage,0x2E5EA3E0,0xE924,0x11D2,0xB6,0xDA,0x00,0xA0,0xC9,0x95,0xE8,0xDF);
187DEFINE_GUID(IID_IDistributorNotify,0x56A868AF,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
188DEFINE_GUID(IID_IDrawVideoImage,0x48EFB120,0xAB49,0x11D2,0xAE,0xD2,0x00,0xA0,0xC9,0x95,0xE8,0xD5);
189DEFINE_GUID(IID_IDvdCmd,0x5A4A97E4,0x94EE,0x4A55,0x97,0x51,0x74,0xB5,0x64,0x3A,0xA2,0x7D);
190DEFINE_GUID(IID_IDvdControl,0xA70EFE61,0xE2A3,0x11D0,0xA9,0xBE,0x00,0xAA,0x00,0x61,0xBE,0x93);
191DEFINE_GUID(IID_IDvdControl2,0x33BC7430,0xEEC0,0x11D2,0x82,0x01,0x00,0xA0,0xC9,0xD7,0x48,0x42);
192DEFINE_GUID(IID_IDvdGraphBuilder,0xFCC152B6,0xF372,0x11D0,0x8E,0x00,0x00,0xC0,0x4F,0xD7,0xC0,0x8B);
193DEFINE_GUID(IID_IDvdInfo,0xA70EFE60,0xE2A3,0x11D0,0xA9,0xBE,0x00,0xAA,0x00,0x61,0xBE,0x93);
194DEFINE_GUID(IID_IDvdInfo2,0x34151510,0xEEC0,0x11D2,0x82,0x01,0x00,0xA0,0xC9,0xD7,0x48,0x42);
195DEFINE_GUID(IID_IDvdState,0x86303D6D,0x1C4A,0x4087,0xAB,0x42,0xF7,0x11,0x16,0x70,0x48,0xEF);
196DEFINE_GUID(IID_IDVEnc,0xD18E17A0,0xAACB,0x11D0,0xAF,0xB0,0x00,0xAA,0x00,0xB6,0x7A,0x42);
197DEFINE_GUID(IID_IDVSplitter,0x92A3A302,0xDA7C,0x4A1F,0xBA,0x7E,0x18,0x02,0xBB,0x5D,0x2D,0x02);
198DEFINE_GUID(IID_IEnumFilters,0x56A86893,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
199DEFINE_GUID(IID_IEnumMediaTypes,0x89C31040,0x846B,0x11CE,0x97,0xD3,0x00,0xAA,0x00,0x55,0x59,0x5A);
200DEFINE_GUID(IID_IEnumPins,0x56A86892,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
201DEFINE_GUID(IID_IEnumRegFilters,0x56A868A4,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
202DEFINE_GUID(IID_IEnumStreamIdMap,0x945C1566,0x6202,0x46FC,0x96,0xC7,0xD8,0x7F,0x28,0x9C,0x65,0x34);
203DEFINE_GUID(IID_IFileSinkFilter,0xA2104830,0x7C70,0x11CF,0x8B,0xCE,0x00,0xAA,0x00,0xA3,0xF1,0xA6);
204DEFINE_GUID(IID_IFileSinkFilter2,0x00855B90,0xCE1B,0x11D0,0xBD,0x4F,0x00,0xA0,0xC9,0x11,0xCE,0x86);
205DEFINE_GUID(IID_IFileSourceFilter,0x56A868A6,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
206DEFINE_GUID(IID_IFilterChain,0xDCFBDCF6,0x0DC2,0x45F5,0x9A,0xB2,0x7C,0x33,0x0E,0xA0,0x9C,0x29);
207DEFINE_GUID(IID_IFilterGraph,0x56A8689F,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
208DEFINE_GUID(IID_IFilterGraph2,0x36B73882,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
209DEFINE_GUID(IID_IFilterMapper,0x56A868A3,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
210DEFINE_GUID(IID_IFilterMapper2,0xB79BB0B0,0x33C1,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
211DEFINE_GUID(IID_IFilterMapper3,0xB79BB0B1,0x33C1,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
212DEFINE_GUID(IID_IGraphBuilder,0x56A868A9,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
213DEFINE_GUID(IID_IGraphConfig,0x03A1EB8E,0x32BF,0x4245,0x85,0x02,0x11,0x4D,0x08,0xA9,0xCB,0x88);
214DEFINE_GUID(IID_IGraphConfigCallback,0xADE0FD60,0xD19D,0x11D2,0xAB,0xF6,0x00,0xA0,0xC9,0x05,0xF3,0x75);
215DEFINE_GUID(IID_IGraphVersion,0x56A868AB,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
216DEFINE_GUID(IID_IIPDVDec,0xB8E8BD60,0x0BFE,0x11D0,0xAF,0x91,0x00,0xAA,0x00,0xB6,0x7A,0x42);
217DEFINE_GUID(IID_IMediaEventSink,0x56A868A2,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
218DEFINE_GUID(IID_IMediaPropertyBag,0x6025A880,0xC0D5,0x11D0,0xBD,0x4E,0x00,0xA0,0xC9,0x11,0xCE,0x86);
219DEFINE_GUID(IID_IMediaSample,0x56A8689A,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
220DEFINE_GUID(IID_IMediaSample2,0x36B73884,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
221DEFINE_GUID(IID_IMediaSeeking,0x36B73880,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
222DEFINE_GUID(IID_IMemAllocator,0x56A8689C,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
223DEFINE_GUID(IID_IMemAllocatorCallbackTemp,0x379A0CF0,0xC1DE,0x11D2,0xAB,0xF5,0x00,0xA0,0xC9,0x05,0xF3,0x75);
224DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp,0x92980B30,0xC1DE,0x11D2,0xAB,0xF5,0x00,0xA0,0xC9,0x05,0xF3,0x75);
225DEFINE_GUID(IID_IMemInputPin,0x56A8689D,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
226DEFINE_GUID(IID_IMpeg2Demultiplexer,0x436EEE9C,0x264F,0x4242,0x90,0xE1,0x4E,0x33,0x0C,0x10,0x75,0x12);
227DEFINE_GUID(IID_IMPEG2StreamIdMap,0xD0E04C47,0x25B8,0x4369,0x92,0x5A,0x36,0x2A,0x01,0xD9,0x54,0x44);
228DEFINE_GUID(IID_IOverlay,0x56A868A1,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
229DEFINE_GUID(IID_IOverlayNotify,0x56A868A0,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
230DEFINE_GUID(IID_IOverlayNotify2,0x680EFA10,0xD535,0x11D1,0x87,0xC8,0x00,0xA0,0xC9,0x22,0x31,0x96);
231DEFINE_GUID(IID_IPersistMediaPropertyBag,0x5738E040,0xB67F,0x11D0,0xBD,0x4D,0x00,0xA0,0xC9,0x11,0xCE,0x86);
232DEFINE_GUID(IID_IPin,0x56A86891,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
233DEFINE_GUID(IID_IPinConnection,0x4A9A62D3,0x27D4,0x403D,0x91,0xE9,0x89,0xF5,0x40,0xE5,0x55,0x34);
234DEFINE_GUID(IID_IPinFlowControl,0xC56E9858,0xDBF3,0x4F6B,0x81,0x19,0x38,0x4A,0xF2,0x06,0x0D,0xEB);
235DEFINE_GUID(IID_IQualityControl,0x56A868A5,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
236DEFINE_GUID(IID_IReferenceClock,0x56A86897,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
237DEFINE_GUID(IID_IReferenceClock2,0x36B73885,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
238DEFINE_GUID(IID_IResourceConsumer,0x56A868AD,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
239DEFINE_GUID(IID_IResourceManager,0x56A868AC,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
240DEFINE_GUID(IID_ISeekingPassThru,0x36B73883,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
241DEFINE_GUID(IID_IStreamBuilder,0x56A868BF,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
242DEFINE_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_
247typedef double REFTIME;
248#endif /* __WINE_REFTIME_DEFINED_ */
249
250typedef LONGLONG REFERENCE_TIME;
251typedef DWORD HSEMAPHORE;
252typedef DWORD HEVENT;
253
254/* enums. */
255
256typedef enum
257{
258 PINDIR_INPUT = 0,
259 PINDIR_OUTPUT = 1,
260} PIN_DIRECTION;
261
262typedef enum
263{
264 State_Stopped = 0,
265 State_Paused = 1,
266 State_Running = 2,
267} FILTER_STATE;
268
269/* structs. */
270
271typedef 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
284typedef struct
285{
286 long cBuffers;
287 long cbBuffer;
288 long cbAlign;
289 long cbPrefix;
290} ALLOCATOR_PROPERTIES;
291
292typedef struct
293{
294 IBaseFilter* pFilter;
295 PIN_DIRECTION dir;
296 WCHAR achName[ 128 ];
297} PIN_INFO;
298
299typedef struct
300{
301 WCHAR achName[ 128 ];
302 IFilterGraph* pGraph;
303} FILTER_INFO;
304
305typedef struct
306{
307 REFERENCE_TIME tStart;
308 REFERENCE_TIME tStop;
309 DWORD dwStartCookie;
310 DWORD dwStopCookie;
311 DWORD dwFlags;
312} AM_STREAM_INFO;
313
314typedef 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
352ICOM_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
387ICOM_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
427ICOM_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
457ICOM_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
487ICOM_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
515ICOM_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
547ICOM_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
584ICOM_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
625ICOM_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
683ICOM_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
723ICOM_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
781ICOM_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
826ICOM_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
856ICOM_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
888ICOM_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
917ICOM_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
960ICOM_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
1001ICOM_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
1027ICOM_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_ */
Note: See TracBrowser for help on using the repository browser.