4 #ifndef COM_NO_WINDOWS_H
10 #ifndef __WINE_STRMIF_H_
11 #define __WINE_STRMIF_H_
15 /* FIXME - far from complete. */
19 typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder
;
20 typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder
;
21 typedef struct IAMAudioInputMixer IAMAudioInputMixer
;
22 typedef struct IAMAudioRendererStats IAMAudioRendererStats
;
23 typedef struct IAMBufferNegotiation IAMBufferNegotiation
;
24 typedef struct IAMCameraControl IAMCameraControl
;
25 typedef struct IAMClockAdjust IAMClockAdjust
;
26 typedef struct IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress
;
27 typedef struct IAMCrossbar IAMCrossbar
;
28 typedef struct IAMDeviceRemoval IAMDeviceRemoval
;
29 typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator
;
30 typedef struct IAMDevMemoryControl IAMDevMemoryControl
;
31 typedef struct IAMDroppedFrames IAMDroppedFrames
;
32 typedef struct IAMExtDevice IAMExtDevice
;
33 typedef struct IAMExtTransport IAMExtTransport
;
34 typedef struct IAMFilterMiscFlags IAMFilterMiscFlags
;
35 typedef struct IAMGraphStreams IAMGraphStreams
;
36 typedef struct IAMLatency IAMLatency
;
37 typedef struct IAMOpenProgress IAMOpenProgress
;
38 typedef struct IAMOverlayFX IAMOverlayFX
;
39 typedef struct IAMovie IAMovie
;
40 typedef struct IAMovieSetup IAMovieSetup
;
41 typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo
;
42 typedef struct IAMPushSource IAMPushSource
;
43 typedef struct IAMResourceControl IAMResourceControl
;
44 typedef struct IAMStreamConfig IAMStreamConfig
;
45 typedef struct IAMStreamControl IAMStreamControl
;
46 typedef struct IAMStreamSelect IAMStreamSelect
;
47 typedef struct IAMTimecodeDisplay IAMTimecodeDisplay
;
48 typedef struct IAMTimecodeGenerator IAMTimecodeGenerator
;
49 typedef struct IAMTimecodeReader IAMTimecodeReader
;
50 typedef struct IAMTuner IAMTuner
;
51 typedef struct IAMTunerNotification IAMTunerNotification
;
52 typedef struct IAMTVAudio IAMTVAudio
;
53 typedef struct IAMTVAudioNotification IAMTVAudioNotification
;
54 typedef struct IAMTVTuner IAMTVTuner
;
55 typedef struct IAMVfwCaptureDialogs IAMVfwCaptureDialogs
;
56 typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs
;
57 typedef struct IAMVideoCompression IAMVideoCompression
;
58 typedef struct IAMVideoControl IAMVideoControl
;
59 typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties
;
60 typedef struct IAMVideoProcAmp IAMVideoProcAmp
;
61 typedef struct IAsyncReader IAsyncReader
;
62 typedef struct IMediaFilter IMediaFilter
;
63 typedef struct IBaseFilter IBaseFilter
;
64 typedef struct IBPCSatelliteTuner IBPCSatelliteTuner
;
65 typedef struct ICaptureGraphBuilder ICaptureGraphBuilder
;
66 typedef struct ICaptureGraphBuilder2 ICaptureGraphBuilder2
;
67 typedef struct IConfigAviMux IConfigAviMux
;
68 typedef struct IConfigInterleaving IConfigInterleaving
;
69 typedef struct ICreateDevEnum ICreateDevEnum
;
70 typedef struct IDDrawExclModeVideo IDDrawExclModeVideo
;
71 typedef struct IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback
;
72 typedef struct IDecimateVideoImage IDecimateVideoImage
;
73 typedef struct IDistributorNotify IDistributorNotify
;
74 typedef struct IDrawVideoImage IDrawVideoImage
;
75 typedef struct IDvdCmd IDvdCmd
;
76 typedef struct IDvdControl IDvdControl
;
77 typedef struct IDvdControl2 IDvdControl2
;
78 typedef struct IDvdGraphBuilder IDvdGraphBuilder
;
79 typedef struct IDvdInfo IDvdInfo
;
80 typedef struct IDvdInfo2 IDvdInfo2
;
81 typedef struct IDvdState IDvdState
;
82 typedef struct IDVEnc IDVEnc
;
83 typedef struct IDVSplitter IDVSplitter
;
84 typedef struct IEnumFilters IEnumFilters
;
85 typedef struct IEnumMediaTypes IEnumMediaTypes
;
86 typedef struct IEnumPins IEnumPins
;
87 typedef struct IEnumRegFilters IEnumRegFilters
;
88 typedef struct IEnumStreamIdMap IEnumStreamIdMap
;
89 typedef struct IFileSinkFilter IFileSinkFilter
;
90 typedef struct IFileSinkFilter2 IFileSinkFilter2
;
91 typedef struct IFileSourceFilter IFileSourceFilter
;
92 typedef struct IFilterChain IFilterChain
;
93 typedef struct IFilterGraph IFilterGraph
;
94 typedef struct IFilterGraph2 IFilterGraph2
;
95 typedef struct IFilterMapper IFilterMapper
;
96 typedef struct IFilterMapper2 IFilterMapper2
;
97 typedef struct IFilterMapper3 IFilterMapper3
;
98 typedef struct IGraphBuilder IGraphBuilder
;
99 typedef struct IGraphConfig IGraphConfig
;
100 typedef struct IGraphConfigCallback IGraphConfigCallback
;
101 typedef struct IGraphVersion IGraphVersion
;
102 typedef struct IIPDVDec IIPDVDec
;
103 typedef struct IMediaEventSink IMediaEventSink
;
104 typedef struct IMediaPropertyBag IMediaPropertyBag
;
105 typedef struct IMediaSample IMediaSample
;
106 typedef struct IMediaSample2 IMediaSample2
;
107 typedef struct IMediaSeeking IMediaSeeking
;
108 typedef struct IMemAllocator IMemAllocator
;
109 typedef struct IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp
;
110 typedef struct IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp
;
111 typedef struct IMemInputPin IMemInputPin
;
112 typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer
;
113 typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap
;
114 typedef struct IOverlay IOverlay
;
115 typedef struct IOverlayNotify IOverlayNotify
;
116 typedef struct IOverlayNotify2 IOverlayNotify2
;
117 typedef struct IPersistMediaPropertyBag IPersistMediaPropertyBag
;
118 typedef struct IPin IPin
;
119 typedef struct IPinConnection IPinConnection
;
120 typedef struct IPinFlowControl IPinFlowControl
;
121 typedef struct IQualityControl IQualityControl
;
122 typedef struct IReferenceClock IReferenceClock
;
123 typedef struct IReferenceClock2 IReferenceClock2
;
124 typedef struct IResourceConsumer IResourceConsumer
;
125 typedef struct IResourceManager IResourceManager
;
126 typedef struct ISeekingPassThru ISeekingPassThru
;
127 typedef struct IStreamBuilder IStreamBuilder
;
128 typedef struct IVideoFrameStep IVideoFrameStep
;
132 DEFINE_GUID(IID_IAMAnalogVideoDecoder
,0xC6E13350,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
133 DEFINE_GUID(IID_IAMAnalogVideoEncoder
,0xC6E133B0,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
134 DEFINE_GUID(IID_IAMAudioInputMixer
,0x54C39221,0x8380,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
135 DEFINE_GUID(IID_IAMAudioRendererStats
,0x22320CB2,0xD41A,0x11D2,0xBF,0x7C,0xD7,0xCB,0x9D,0xF0,0xBF,0x93);
136 DEFINE_GUID(IID_IAMBufferNegotiation
,0x56ED71A0,0xAF5F,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
137 DEFINE_GUID(IID_IAMCameraControl
,0xC6E13370,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
138 DEFINE_GUID(IID_IAMClockAdjust
,0x4D5466B0,0xA49C,0x11D1,0xAB,0xE8,0x00,0xA0,0xC9,0x05,0xF3,0x75);
139 DEFINE_GUID(IID_IAMCopyCaptureFileProgress
,0x670D1D20,0xA068,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
140 DEFINE_GUID(IID_IAMCrossbar
,0xC6E13380,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
141 DEFINE_GUID(IID_IAMDeviceRemoval
,0xF90A6130,0xB658,0x11D2,0xAE,0x49,0x00,0x00,0xF8,0x75,0x4B,0x99);
142 DEFINE_GUID(IID_IAMDevMemoryAllocator
,0xC6545BF0,0xE76B,0x11D0,0xBD,0x52,0x00,0xA0,0xC9,0x11,0xCE,0x86);
143 DEFINE_GUID(IID_IAMDevMemoryControl
,0xC6545BF1,0xE76B,0x11D0,0xBD,0x52,0x00,0xA0,0xC9,0x11,0xCE,0x86);
144 DEFINE_GUID(IID_IAMDroppedFrames
,0xC6E13344,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
145 DEFINE_GUID(IID_IAMExtDevice
,0xB5730A90,0x1A2C,0x11CF,0x8C,0x23,0x00,0xAA,0x00,0x6B,0x68,0x14);
146 DEFINE_GUID(IID_IAMExtTransport
,0xA03CD5F0,0x3045,0x11CF,0x8C,0x44,0x00,0xAA,0x00,0x6B,0x68,0x14);
147 DEFINE_GUID(IID_IAMFilterMiscFlags
,0x2DD74950,0xA890,0x11D1,0xAB,0xE8,0x00,0xA0,0xC9,0x05,0xF3,0x75);
148 DEFINE_GUID(IID_IAMGraphStreams
,0x632105FA,0x072E,0x11D3,0x8A,0xF9,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
149 DEFINE_GUID(IID_IAMLatency
,0x62EA93BA,0xEC62,0x11D2,0xB7,0x70,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
150 DEFINE_GUID(IID_IAMOpenProgress
,0x8E1C39A1,0xDE53,0x11CF,0xAA,0x63,0x00,0x80,0xC7,0x44,0x52,0x8D);
151 DEFINE_GUID(IID_IAMOverlayFX
,0x62FAE250,0x7E65,0x4460,0xBF,0xC9,0x63,0x98,0xB3,0x22,0x07,0x3C);
152 DEFINE_GUID(IID_IAMovie
,0x359ACE10,0x7688,0x11CF,0x8B,0x23,0x00,0x80,0x5F,0x6C,0xEF,0x60);
153 DEFINE_GUID(IID_IAMovieSetup
,0xA3D8CEC0,0x7E5A,0x11CF,0xBB,0xC5,0x00,0x80,0x5F,0x6C,0xEF,0x20);
154 DEFINE_GUID(IID_IAMPhysicalPinInfo
,0xF938C991,0x3029,0x11CF,0x8C,0x44,0x00,0xAA,0x00,0x6B,0x68,0x14);
155 DEFINE_GUID(IID_IAMPushSource
,0xF185FE76,0xE64E,0x11D2,0xB7,0x6E,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
156 DEFINE_GUID(IID_IAMResourceControl
,0x8389D2D0,0x77D7,0x11D1,0xAB,0xE6,0x00,0xA0,0xC9,0x05,0xF3,0x75);
157 DEFINE_GUID(IID_IAMStreamConfig
,0xC6E13340,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
158 DEFINE_GUID(IID_IAMStreamControl
,0x36B73881,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
159 DEFINE_GUID(IID_IAMStreamSelect
,0xC1960960,0x17F5,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
160 DEFINE_GUID(IID_IAMTimecodeDisplay
,0x9B496CE2,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
161 DEFINE_GUID(IID_IAMTimecodeGenerator
,0x9B496CE0,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
162 DEFINE_GUID(IID_IAMTimecodeReader
,0x9B496CE1,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
163 DEFINE_GUID(IID_IAMTuner
,0x211A8761,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
164 DEFINE_GUID(IID_IAMTunerNotification
,0x211A8760,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
165 DEFINE_GUID(IID_IAMTVAudio
,0x83EC1C30,0x23D1,0x11D1,0x99,0xE6,0x00,0xA0,0xC9,0x56,0x02,0x66);
166 DEFINE_GUID(IID_IAMTVAudioNotification
,0x83EC1C33,0x23D1,0x11D1,0x99,0xE6,0x00,0xA0,0xC9,0x56,0x02,0x66);
167 DEFINE_GUID(IID_IAMTVTuner
,0x211A8766,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
168 DEFINE_GUID(IID_IAMVfwCaptureDialogs
,0xD8D715A0,0x6E5E,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
169 DEFINE_GUID(IID_IAMVfwCompressDialogs
,0xD8D715A3,0x6E5E,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
170 DEFINE_GUID(IID_IAMVideoCompression
,0xC6E13343,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
171 DEFINE_GUID(IID_IAMVideoControl
,0x6A2E0670,0x28E4,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
172 DEFINE_GUID(IID_IAMVideoDecimationProperties
,0x60D32930,0x13DA,0x11D3,0x9E,0xC6,0xC4,0xFC,0xAE,0xF5,0xC7,0xBE);
173 DEFINE_GUID(IID_IAMVideoProcAmp
,0xC6E13360,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
174 DEFINE_GUID(IID_IAsyncReader
,0x56A868AA,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
175 DEFINE_GUID(IID_IMediaFilter
,0x56A86899,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
176 DEFINE_GUID(IID_IBaseFilter
,0x56A86895,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
177 DEFINE_GUID(IID_IBPCSatelliteTuner
,0x211A8765,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
178 DEFINE_GUID(IID_ICaptureGraphBuilder
,0xBF87B6E0,0x8C27,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
179 DEFINE_GUID(IID_ICaptureGraphBuilder2
,0x93E5A4E0,0x2D50,0x11D2,0xAB,0xFA,0x00,0xA0,0xC9,0xC6,0xE3,0x8D);
180 DEFINE_GUID(IID_IConfigAviMux
,0x5ACD6AA0,0xF482,0x11CE,0x8B,0x67,0x00,0xAA,0x00,0xA3,0xF1,0xA6);
181 DEFINE_GUID(IID_IConfigInterleaving
,0xBEE3D220,0x157B,0x11D0,0xBD,0x23,0x00,0xA0,0xC9,0x11,0xCE,0x86);
182 DEFINE_GUID(IID_ICreateDevEnum
,0x29840822,0x5B84,0x11D0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86);
183 DEFINE_GUID(IID_IDDrawExclModeVideo
,0x153ACC21,0xD83B,0x11D1,0x82,0xBF,0x00,0xA0,0xC9,0x69,0x6C,0x8F);
184 DEFINE_GUID(IID_IDDrawExclModeVideoCallback
,0x913C24A0,0x20AB,0x11D2,0x90,0x38,0x00,0xA0,0xC9,0x69,0x72,0x98);
185 DEFINE_GUID(IID_IDecimateVideoImage
,0x2E5EA3E0,0xE924,0x11D2,0xB6,0xDA,0x00,0xA0,0xC9,0x95,0xE8,0xDF);
186 DEFINE_GUID(IID_IDistributorNotify
,0x56A868AF,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
187 DEFINE_GUID(IID_IDrawVideoImage
,0x48EFB120,0xAB49,0x11D2,0xAE,0xD2,0x00,0xA0,0xC9,0x95,0xE8,0xD5);
188 DEFINE_GUID(IID_IDvdCmd
,0x5A4A97E4,0x94EE,0x4A55,0x97,0x51,0x74,0xB5,0x64,0x3A,0xA2,0x7D);
189 DEFINE_GUID(IID_IDvdControl
,0xA70EFE61,0xE2A3,0x11D0,0xA9,0xBE,0x00,0xAA,0x00,0x61,0xBE,0x93);
190 DEFINE_GUID(IID_IDvdControl2
,0x33BC7430,0xEEC0,0x11D2,0x82,0x01,0x00,0xA0,0xC9,0xD7,0x48,0x42);
191 DEFINE_GUID(IID_IDvdGraphBuilder
,0xFCC152B6,0xF372,0x11D0,0x8E,0x00,0x00,0xC0,0x4F,0xD7,0xC0,0x8B);
192 DEFINE_GUID(IID_IDvdInfo
,0xA70EFE60,0xE2A3,0x11D0,0xA9,0xBE,0x00,0xAA,0x00,0x61,0xBE,0x93);
193 DEFINE_GUID(IID_IDvdInfo2
,0x34151510,0xEEC0,0x11D2,0x82,0x01,0x00,0xA0,0xC9,0xD7,0x48,0x42);
194 DEFINE_GUID(IID_IDvdState
,0x86303D6D,0x1C4A,0x4087,0xAB,0x42,0xF7,0x11,0x16,0x70,0x48,0xEF);
195 DEFINE_GUID(IID_IDVEnc
,0xD18E17A0,0xAACB,0x11D0,0xAF,0xB0,0x00,0xAA,0x00,0xB6,0x7A,0x42);
196 DEFINE_GUID(IID_IDVSplitter
,0x92A3A302,0xDA7C,0x4A1F,0xBA,0x7E,0x18,0x02,0xBB,0x5D,0x2D,0x02);
197 DEFINE_GUID(IID_IEnumFilters
,0x56A86893,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
198 DEFINE_GUID(IID_IEnumMediaTypes
,0x89C31040,0x846B,0x11CE,0x97,0xD3,0x00,0xAA,0x00,0x55,0x59,0x5A);
199 DEFINE_GUID(IID_IEnumPins
,0x56A86892,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
200 DEFINE_GUID(IID_IEnumRegFilters
,0x56A868A4,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
201 DEFINE_GUID(IID_IEnumStreamIdMap
,0x945C1566,0x6202,0x46FC,0x96,0xC7,0xD8,0x7F,0x28,0x9C,0x65,0x34);
202 DEFINE_GUID(IID_IFileSinkFilter
,0xA2104830,0x7C70,0x11CF,0x8B,0xCE,0x00,0xAA,0x00,0xA3,0xF1,0xA6);
203 DEFINE_GUID(IID_IFileSinkFilter2
,0x00855B90,0xCE1B,0x11D0,0xBD,0x4F,0x00,0xA0,0xC9,0x11,0xCE,0x86);
204 DEFINE_GUID(IID_IFileSourceFilter
,0x56A868A6,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
205 DEFINE_GUID(IID_IFilterChain
,0xDCFBDCF6,0x0DC2,0x45F5,0x9A,0xB2,0x7C,0x33,0x0E,0xA0,0x9C,0x29);
206 DEFINE_GUID(IID_IFilterGraph
,0x56A8689F,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
207 DEFINE_GUID(IID_IFilterGraph2
,0x36B73882,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
208 DEFINE_GUID(IID_IFilterMapper
,0x56A868A3,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
209 DEFINE_GUID(IID_IFilterMapper2
,0xB79BB0B0,0x33C1,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
210 DEFINE_GUID(IID_IFilterMapper3
,0xB79BB0B1,0x33C1,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
211 DEFINE_GUID(IID_IGraphBuilder
,0x56A868A9,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
212 DEFINE_GUID(IID_IGraphConfig
,0x03A1EB8E,0x32BF,0x4245,0x85,0x02,0x11,0x4D,0x08,0xA9,0xCB,0x88);
213 DEFINE_GUID(IID_IGraphConfigCallback
,0xADE0FD60,0xD19D,0x11D2,0xAB,0xF6,0x00,0xA0,0xC9,0x05,0xF3,0x75);
214 DEFINE_GUID(IID_IGraphVersion
,0x56A868AB,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
215 DEFINE_GUID(IID_IIPDVDec
,0xB8E8BD60,0x0BFE,0x11D0,0xAF,0x91,0x00,0xAA,0x00,0xB6,0x7A,0x42);
216 DEFINE_GUID(IID_IMediaEventSink
,0x56A868A2,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
217 DEFINE_GUID(IID_IMediaPropertyBag
,0x6025A880,0xC0D5,0x11D0,0xBD,0x4E,0x00,0xA0,0xC9,0x11,0xCE,0x86);
218 DEFINE_GUID(IID_IMediaSample
,0x56A8689A,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
219 DEFINE_GUID(IID_IMediaSample2
,0x36B73884,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
220 DEFINE_GUID(IID_IMediaSeeking
,0x36B73880,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
221 DEFINE_GUID(IID_IMemAllocator
,0x56A8689C,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
222 DEFINE_GUID(IID_IMemAllocatorCallbackTemp
,0x379A0CF0,0xC1DE,0x11D2,0xAB,0xF5,0x00,0xA0,0xC9,0x05,0xF3,0x75);
223 DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp
,0x92980B30,0xC1DE,0x11D2,0xAB,0xF5,0x00,0xA0,0xC9,0x05,0xF3,0x75);
224 DEFINE_GUID(IID_IMemInputPin
,0x56A8689D,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
225 DEFINE_GUID(IID_IMpeg2Demultiplexer
,0x436EEE9C,0x264F,0x4242,0x90,0xE1,0x4E,0x33,0x0C,0x10,0x75,0x12);
226 DEFINE_GUID(IID_IMPEG2StreamIdMap
,0xD0E04C47,0x25B8,0x4369,0x92,0x5A,0x36,0x2A,0x01,0xD9,0x54,0x44);
227 DEFINE_GUID(IID_IOverlay
,0x56A868A1,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
228 DEFINE_GUID(IID_IOverlayNotify
,0x56A868A0,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
229 DEFINE_GUID(IID_IOverlayNotify2
,0x680EFA10,0xD535,0x11D1,0x87,0xC8,0x00,0xA0,0xC9,0x22,0x31,0x96);
230 DEFINE_GUID(IID_IPersistMediaPropertyBag
,0x5738E040,0xB67F,0x11D0,0xBD,0x4D,0x00,0xA0,0xC9,0x11,0xCE,0x86);
231 DEFINE_GUID(IID_IPin
,0x56A86891,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
232 DEFINE_GUID(IID_IPinConnection
,0x4A9A62D3,0x27D4,0x403D,0x91,0xE9,0x89,0xF5,0x40,0xE5,0x55,0x34);
233 DEFINE_GUID(IID_IPinFlowControl
,0xC56E9858,0xDBF3,0x4F6B,0x81,0x19,0x38,0x4A,0xF2,0x06,0x0D,0xEB);
234 DEFINE_GUID(IID_IQualityControl
,0x56A868A5,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
235 DEFINE_GUID(IID_IReferenceClock
,0x56A86897,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
236 DEFINE_GUID(IID_IReferenceClock2
,0x36B73885,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
237 DEFINE_GUID(IID_IResourceConsumer
,0x56A868AD,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
238 DEFINE_GUID(IID_IResourceManager
,0x56A868AC,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
239 DEFINE_GUID(IID_ISeekingPassThru
,0x36B73883,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
240 DEFINE_GUID(IID_IStreamBuilder
,0x56A868BF,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
241 DEFINE_GUID(IID_IVideoFrameStep
,0xE46A9787,0x2B71,0x444D,0xA4,0xB5,0x1F,0xAB,0x7B,0x70,0x8D,0x6A);
244 #ifndef __WINE_REFTIME_DEFINED_
245 #define __WINE_REFTIME_DEFINED_
246 typedef double REFTIME
;
247 #endif /* __WINE_REFTIME_DEFINED_ */
249 typedef LONGLONG REFERENCE_TIME
;
250 typedef DWORD_PTR HSEMAPHORE
;
251 typedef DWORD_PTR HEVENT
;
274 BOOL bFixedSizeSamples
;
275 BOOL bTemporalCompression
;
289 } ALLOCATOR_PROPERTIES
;
293 IBaseFilter
* pFilter
;
295 WCHAR achName
[ 128 ];
300 WCHAR achName
[ 128 ];
301 IFilterGraph
* pGraph
;
306 REFERENCE_TIME tStart
;
307 REFERENCE_TIME tStop
;
313 typedef struct tagCOLORKEY
317 COLORREF LowColorValue
;
318 COLORREF HighColorValue
;
325 #define CHARS_IN_GUID 39
326 #define MAX_PIN_NAME 128
327 #define MAX_FILTER_NAME 128
332 /**************************************************************************
334 * IMediaFilter interface
338 #define ICOM_INTERFACE IMediaFilter
339 #define IMediaFilter_METHODS \
340 ICOM_METHOD (HRESULT,Stop) \
341 ICOM_METHOD (HRESULT,Pause) \
342 ICOM_METHOD1(HRESULT,Run,REFERENCE_TIME,a1) \
343 ICOM_METHOD2(HRESULT,GetState,DWORD,a1,FILTER_STATE*,a2) \
344 ICOM_METHOD1(HRESULT,SetSyncSource,IReferenceClock*,a1) \
345 ICOM_METHOD1(HRESULT,GetSyncSource,IReferenceClock**,a1)
347 #define IMediaFilter_IMETHODS \
351 ICOM_DEFINE(IMediaFilter
,IPersist
)
352 #undef ICOM_INTERFACE
354 /*** IUnknown methods ***/
355 #define IMediaFilter_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
356 #define IMediaFilter_AddRef(p) ICOM_CALL (AddRef,p)
357 #define IMediaFilter_Release(p) ICOM_CALL (Release,p)
358 /*** IPersist methods ***/
359 #define IMediaFilter_GetClassID(p,a1) ICOM_CALL1(GetClassID,p,a1)
360 /*** IMediaFilter methods ***/
361 #define IMediaFilter_Stop(p) ICOM_CALL (Stop,p)
362 #define IMediaFilter_Pause(p) ICOM_CALL (Pause,p)
363 #define IMediaFilter_Run(p,a1) ICOM_CALL1(Run,p,a1)
364 #define IMediaFilter_GetState(p,a1,a2) ICOM_CALL2(GetState,p,a1,a2)
365 #define IMediaFilter_SetSyncSource(p,a1) ICOM_CALL1(SetSyncSource,p,a1)
366 #define IMediaFilter_GetSyncSource(p,a1) ICOM_CALL1(GetSyncSource,p,a1)
368 /**************************************************************************
370 * IBaseFilter interface
374 #define ICOM_INTERFACE IBaseFilter
375 #define IBaseFilter_METHODS \
376 ICOM_METHOD1(HRESULT,EnumPins,IEnumPins**,a1) \
377 ICOM_METHOD2(HRESULT,FindPin,LPCWSTR,a1,IPin**,a2) \
378 ICOM_METHOD1(HRESULT,QueryFilterInfo,FILTER_INFO*,a1) \
379 ICOM_METHOD2(HRESULT,JoinFilterGraph,IFilterGraph*,a1,LPCWSTR,a2) \
380 ICOM_METHOD1(HRESULT,QueryVendorInfo,LPWSTR*,a1)
382 #define IBaseFilter_IMETHODS \
383 IMediaFilter_IMETHODS \
386 ICOM_DEFINE(IBaseFilter
,IMediaFilter
)
387 #undef ICOM_INTERFACE
389 /*** IUnknown methods ***/
390 #define IBaseFilter_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
391 #define IBaseFilter_AddRef(p) ICOM_CALL (AddRef,p)
392 #define IBaseFilter_Release(p) ICOM_CALL (Release,p)
393 /*** IPersist methods ***/
394 #define IBaseFilter_GetClassID(p,a1) ICOM_CALL1(GetClassID,p,a1)
395 /*** IMediaFilter methods ***/
396 #define IBaseFilter_Stop(p,a1) ICOM_CALL1(Stop,p,a1)
397 #define IBaseFilter_Pause(p,a1) ICOM_CALL1(Pause,p,a1)
398 #define IBaseFilter_Run(p,a1) ICOM_CALL1(Run,p,a1)
399 #define IBaseFilter_GetState(p,a1,a2) ICOM_CALL2(GetState,p,a1,a2)
400 #define IBaseFilter_SetSyncSource(p,a1) ICOM_CALL1(SetSyncSource,p,a1)
401 #define IBaseFilter_GetSyncSource(p,a1) ICOM_CALL1(GetSyncSource,p,a1)
402 /*** IBaseFilter methods ***/
403 #define IBaseFilter_EnumPins(p,a1) ICOM_CALL1(EnumPins,p,a1)
404 #define IBaseFilter_FindPin(p,a1,a2) ICOM_CALL2(FindPin,p,a1,a2)
405 #define IBaseFilter_QueryFilterInfo(p,a1) ICOM_CALL1(QueryFilterInfo,p,a1)
406 #define IBaseFilter_JoinFilterGraph(p,a1,a2) ICOM_CALL2(JoinFilterGraph,p,a1,a2)
407 #define IBaseFilter_QueryVendorInfo(p,a1) ICOM_CALL1(QueryVendorInfo,p,a1)
409 /**************************************************************************
411 * IEnumFilters interface
415 #define ICOM_INTERFACE IEnumFilters
416 #define IEnumFilters_METHODS \
417 ICOM_METHOD3(HRESULT,Next,ULONG,a1,IBaseFilter**,a2,ULONG*,a3) \
418 ICOM_METHOD1(HRESULT,Skip,ULONG,a1) \
419 ICOM_METHOD (HRESULT,Reset) \
420 ICOM_METHOD1(HRESULT,Clone,IEnumFilters**,a1)
422 #define IEnumFilters_IMETHODS \
426 ICOM_DEFINE(IEnumFilters
,IUnknown
)
427 #undef ICOM_INTERFACE
429 /*** IUnknown methods ***/
430 #define IEnumFilters_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
431 #define IEnumFilters_AddRef(p) ICOM_CALL (AddRef,p)
432 #define IEnumFilters_Release(p) ICOM_CALL (Release,p)
433 /*** IEnumFilters methods ***/
434 #define IEnumFilters_Next(p,a1,a2,a3) ICOM_CALL3(Next,p,a1,a2,a3)
435 #define IEnumFilters_Skip(p,a1) ICOM_CALL1(Skip,p,a1)
436 #define IEnumFilters_Reset(p) ICOM_CALL (Reset,p)
437 #define IEnumFilters_Clone(p,a1) ICOM_CALL1(Clone,p,a1)
439 /**************************************************************************
441 * IEnumMediaTypes interface
445 #define ICOM_INTERFACE IEnumMediaTypes
446 #define IEnumMediaTypes_METHODS \
447 ICOM_METHOD3(HRESULT,Next,ULONG,a1,AM_MEDIA_TYPE**,a2,ULONG*,a3) \
448 ICOM_METHOD1(HRESULT,Skip,ULONG,a1) \
449 ICOM_METHOD (HRESULT,Reset) \
450 ICOM_METHOD1(HRESULT,Clone,IEnumMediaTypes**,a1)
452 #define IEnumMediaTypes_IMETHODS \
454 IEnumMediaTypes_METHODS
456 ICOM_DEFINE(IEnumMediaTypes
,IUnknown
)
457 #undef ICOM_INTERFACE
459 /*** IUnknown methods ***/
460 #define IEnumMediaTypes_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
461 #define IEnumMediaTypes_AddRef(p) ICOM_CALL (AddRef,p)
462 #define IEnumMediaTypes_Release(p) ICOM_CALL (Release,p)
463 /*** IEnumMediaTypes methods ***/
464 #define IEnumMediaTypes_Next(p,a1,a2,a3) ICOM_CALL3(Next,p,a1,a2,a3)
465 #define IEnumMediaTypes_Skip(p,a1) ICOM_CALL1(Skip,p,a1)
466 #define IEnumMediaTypes_Reset(p) ICOM_CALL (Reset,p)
467 #define IEnumMediaTypes_Clone(p,a1) ICOM_CALL1(Clone,p,a1)
469 /**************************************************************************
471 * IEnumPins interface
475 #define ICOM_INTERFACE IEnumPins
476 #define IEnumPins_METHODS \
477 ICOM_METHOD3(HRESULT,Next,ULONG,a1,IPin**,a2,ULONG*,a3) \
478 ICOM_METHOD1(HRESULT,Skip,ULONG,a1) \
479 ICOM_METHOD (HRESULT,Reset) \
480 ICOM_METHOD1(HRESULT,Clone,IEnumPins**,a1)
482 #define IEnumPins_IMETHODS \
486 ICOM_DEFINE(IEnumPins
,IUnknown
)
487 #undef ICOM_INTERFACE
489 /*** IUnknown methods ***/
490 #define IEnumPins_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
491 #define IEnumPins_AddRef(p) ICOM_CALL (AddRef,p)
492 #define IEnumPins_Release(p) ICOM_CALL (Release,p)
493 /*** IEnumPins methods ***/
494 #define IEnumPins_Next(p,a1,a2,a3) ICOM_CALL3(Next,p,a1,a2,a3)
495 #define IEnumPins_Skip(p,a1) ICOM_CALL1(Skip,p,a1)
496 #define IEnumPins_Reset(p) ICOM_CALL (Reset,p)
497 #define IEnumPins_Clone(p,a1) ICOM_CALL1(Clone,p,a1)
499 /**************************************************************************
501 * IFileSourceFilter interface
505 #define ICOM_INTERFACE IFileSourceFilter
506 #define IFileSourceFilter_METHODS \
507 ICOM_METHOD2(HRESULT,Load,LPCOLESTR,a1,const AM_MEDIA_TYPE*,a2) \
508 ICOM_METHOD2(HRESULT,GetCurFile,LPOLESTR*,a1,AM_MEDIA_TYPE*,a2)
510 #define IFileSourceFilter_IMETHODS \
512 IFileSourceFilter_METHODS
514 ICOM_DEFINE(IFileSourceFilter
,IUnknown
)
515 #undef ICOM_INTERFACE
517 /*** IUnknown methods ***/
518 #define IFileSourceFilter_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
519 #define IFileSourceFilter_AddRef(p) ICOM_CALL (AddRef,p)
520 #define IFileSourceFilter_Release(p) ICOM_CALL (Release,p)
521 /*** IFileSourceFilter methods ***/
522 #define IFileSourceFilter_Load(p,a1,a2) ICOM_CALL2(Load,p,a1,a2)
523 #define IFileSourceFilter_GetCurFile(p,a1,a2) ICOM_CALL2(GetCurFile,p,a1,a2)
525 /**************************************************************************
527 * IFilterGraph interface
531 #define ICOM_INTERFACE IFilterGraph
532 #define IFilterGraph_METHODS \
533 ICOM_METHOD2(HRESULT,AddFilter,IBaseFilter*,a1,LPCWSTR,a2) \
534 ICOM_METHOD1(HRESULT,RemoveFilter,IBaseFilter*,a1) \
535 ICOM_METHOD1(HRESULT,EnumFilters,IEnumFilters**,a1) \
536 ICOM_METHOD2(HRESULT,FindFilterByName,LPCWSTR,a1,IBaseFilter**,a2) \
537 ICOM_METHOD3(HRESULT,ConnectDirect,IPin*,a1,IPin*,a2,const AM_MEDIA_TYPE*,a3) \
538 ICOM_METHOD1(HRESULT,Reconnect,IPin*,a1) \
539 ICOM_METHOD1(HRESULT,Disconnect,IPin*,a1) \
540 ICOM_METHOD (HRESULT,SetDefaultSyncSource)
542 #define IFilterGraph_IMETHODS \
546 ICOM_DEFINE(IFilterGraph
,IUnknown
)
547 #undef ICOM_INTERFACE
549 /*** IUnknown methods ***/
550 #define IFilterGraph_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
551 #define IFilterGraph_AddRef(p) ICOM_CALL (AddRef,p)
552 #define IFilterGraph_Release(p) ICOM_CALL (Release,p)
553 /*** IFilterGraph methods ***/
554 #define IFilterGraph_AddFilter(p,a1,a2) ICOM_CALL2(AddFilter,p,a1,a2)
555 #define IFilterGraph_RemoveFilter(p,a1) ICOM_CALL1(RemoveFilter,p,a1)
556 #define IFilterGraph_EnumFilters(p,a1) ICOM_CALL1(EnumFilters,p,a1)
557 #define IFilterGraph_FindFilterByName(p,a1,a2) ICOM_CALL2(FindFilterByName,p,a1,a2)
558 #define IFilterGraph_ConnectDirect(p,a1,a2,a3) ICOM_CALL3(ConnectDirect,p,a1,a2,a3)
559 #define IFilterGraph_Reconnect(p,a1) ICOM_CALL1(Reconnect,p,a1)
560 #define IFilterGraph_Disconnect(p,a1) ICOM_CALL1(Disconnect,p,a1)
561 #define IFilterGraph_SetDefaultSyncSource(p) ICOM_CALL (SetDefaultSyncSource,p)
563 /**************************************************************************
565 * IMediaSample interface
569 #define ICOM_INTERFACE IMediaSample
570 #define IMediaSample_METHODS \
571 ICOM_METHOD1(HRESULT,GetPointer,BYTE**,a1) \
572 ICOM_METHOD (long,GetSize) \
573 ICOM_METHOD2(HRESULT,GetTime,REFERENCE_TIME*,a1,REFERENCE_TIME*,a2) \
574 ICOM_METHOD2(HRESULT,SetTime,REFERENCE_TIME*,a1,REFERENCE_TIME*,a2) \
575 ICOM_METHOD (HRESULT,IsSyncPoint) \
576 ICOM_METHOD1(HRESULT,SetSyncPoint,BOOL,a1) \
577 ICOM_METHOD (HRESULT,IsPreroll) \
578 ICOM_METHOD1(HRESULT,SetPreroll,BOOL,a1) \
579 ICOM_METHOD (long,GetActualDataLength) \
580 ICOM_METHOD1(HRESULT,SetActualDataLength,long,a1) \
581 ICOM_METHOD1(HRESULT,GetMediaType,AM_MEDIA_TYPE**,a1) \
582 ICOM_METHOD1(HRESULT,SetMediaType,AM_MEDIA_TYPE*,a1) \
583 ICOM_METHOD (HRESULT,IsDiscontinuity) \
584 ICOM_METHOD1(HRESULT,SetDiscontinuity,BOOL,a1) \
585 ICOM_METHOD2(HRESULT,GetMediaTime,LONGLONG*,a1,LONGLONG*,a2) \
586 ICOM_METHOD2(HRESULT,SetMediaTime,LONGLONG*,a1,LONGLONG*,a2)
588 #define IMediaSample_IMETHODS \
592 ICOM_DEFINE(IMediaSample
,IUnknown
)
593 #undef ICOM_INTERFACE
595 /*** IUnknown methods ***/
596 #define IMediaSample_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
597 #define IMediaSample_AddRef(p) ICOM_CALL (AddRef,p)
598 #define IMediaSample_Release(p) ICOM_CALL (Release,p)
599 /*** IMediaSample methods ***/
600 #define IMediaSample_GetPointer(p,a1) ICOM_CALL1(GetPointer,p,a1)
601 #define IMediaSample_GetSize(p) ICOM_CALL (GetSize,p)
602 #define IMediaSample_GetTime(p,a1,a2) ICOM_CALL2(GetTime,p,a1,a2)
603 #define IMediaSample_SetTime(p,a1,a2) ICOM_CALL2(SetTime,p,a1,a2)
604 #define IMediaSample_IsSyncPoint(p) ICOM_CALL (IsSyncPoint,p)
605 #define IMediaSample_SetSyncPoint(p,a1) ICOM_CALL1(SetSyncPoint,p,a1)
606 #define IMediaSample_IsPreroll(p) ICOM_CALL (IsPreroll,p)
607 #define IMediaSample_SetPreroll(p,a1) ICOM_CALL1(SetPreroll,p,a1)
608 #define IMediaSample_GetActualDataLength(p,a1) ICOM_CALL1(GetActualDataLength,p,a1)
609 #define IMediaSample_SetActualDataLength(p,a1) ICOM_CALL1(SetActualDataLength,p,a1)
610 #define IMediaSample_GetMediaType(p,a1) ICOM_CALL1(GetMediaType,p,a1)
611 #define IMediaSample_SetMediaType(p,a1) ICOM_CALL1(SetMediaType,p,a1)
612 #define IMediaSample_IsDiscontinuity(p) ICOM_CALL (IsDiscontinuity,p)
613 #define IMediaSample_SetDiscontinuity(p,a1) ICOM_CALL1(SetDiscontinuity,p,a1)
614 #define IMediaSample_GetMediaTime(p,a1,a2) ICOM_CALL2(GetMediaTime,p,a1,a2)
615 #define IMediaSample_SetMediaTime(p,a1,a2) ICOM_CALL2(SetMediaTime,p,a1,a2)
617 /**************************************************************************
619 * IMediaSample2 interface
623 #define ICOM_INTERFACE IMediaSample2
624 #define IMediaSample2_METHODS \
625 ICOM_METHOD2(HRESULT,GetProperties,DWORD,a1,BYTE*,a2) \
626 ICOM_METHOD2(HRESULT,SetProperties,DWORD,a1,const BYTE*,a2)
628 #define IMediaSample2_IMETHODS \
629 IMediaSample_IMETHODS \
630 IMediaSample2_METHODS
632 ICOM_DEFINE(IMediaSample2
,IMediaSample
)
633 #undef ICOM_INTERFACE
635 /*** IUnknown methods ***/
636 #define IMediaSample2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
637 #define IMediaSample2_AddRef(p) ICOM_CALL (AddRef,p)
638 #define IMediaSample2_Release(p) ICOM_CALL (Release,p)
639 /*** IMediaSample methods ***/
640 #define IMediaSample2_GetPointer(p,a1) ICOM_CALL1(GetPointer,p,a1)
641 #define IMediaSample2_GetSize(p,a1) ICOM_CALL1(GetSize,p,a1)
642 #define IMediaSample2_GetTime(p,a1,a2) ICOM_CALL2(GetTime,p,a1,a2)
643 #define IMediaSample2_SetTime(p,a1,a2) ICOM_CALL2(SetTime,p,a1,a2)
644 #define IMediaSample2_IsSyncPoint(p,a1) ICOM_CALL1(IsSyncPoint,p,a1)
645 #define IMediaSample2_SetSyncPoint(p,a1) ICOM_CALL1(SetSyncPoint,p,a1)
646 #define IMediaSample2_IsPreroll(p,a1) ICOM_CALL1(IsPreroll,p,a1)
647 #define IMediaSample2_SetPreroll(p,a1) ICOM_CALL1(SetPreroll,p,a1)
648 #define IMediaSample2_GetActualDataLength(p,a1) ICOM_CALL1(GetActualDataLength,p,a1)
649 #define IMediaSample2_SetActualDataLength(p,a1) ICOM_CALL1(SetActualDataLength,p,a1)
650 #define IMediaSample2_GetMediaType(p,a1) ICOM_CALL1(GetMediaType,p,a1)
651 #define IMediaSample2_SetMediaType(p,a1) ICOM_CALL1(SetMediaType,p,a1)
652 #define IMediaSample2_IsDiscontinuity(p,a1) ICOM_CALL1(IsDiscontinuity,p,a1)
653 #define IMediaSample2_SetDiscontinuity(p,a1) ICOM_CALL1(SetDiscontinuity,p,a1)
654 #define IMediaSample2_GetMediaTime(p,a1,a2) ICOM_CALL2(GetMediaTime,p,a1,a2)
655 #define IMediaSample2_SetMediaTime(p,a1,a2) ICOM_CALL2(SetMediaTime,p,a1,a2)
656 /*** IMediaSample2 methods ***/
657 #define IMediaSample2_GetProperties(p,a1,a2) ICOM_CALL2(GetProperties,p,a1,a2)
658 #define IMediaSample2_SetProperties(p,a1,a2) ICOM_CALL2(SetProperties,p,a1,a2)
660 /**************************************************************************
662 * IMemAllocator interface
666 #define ICOM_INTERFACE IMemAllocator
667 #define IMemAllocator_METHODS \
668 ICOM_METHOD2(HRESULT,SetProperties,ALLOCATOR_PROPERTIES*,a1,ALLOCATOR_PROPERTIES*,a2) \
669 ICOM_METHOD1(HRESULT,GetProperties,ALLOCATOR_PROPERTIES*,a1) \
670 ICOM_METHOD (HRESULT,Commit) \
671 ICOM_METHOD (HRESULT,Decommit) \
672 ICOM_METHOD4(HRESULT,GetBuffer,IMediaSample**,a1,REFERENCE_TIME*,a2,REFERENCE_TIME*,a3,DWORD,a4) \
673 ICOM_METHOD1(HRESULT,ReleaseBuffer,IMediaSample*,a1)
675 #define IMemAllocator_IMETHODS \
677 IMemAllocator_METHODS
679 ICOM_DEFINE(IMemAllocator
,IUnknown
)
680 #undef ICOM_INTERFACE
682 /*** IUnknown methods ***/
683 #define IMemAllocator_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
684 #define IMemAllocator_AddRef(p) ICOM_CALL (AddRef,p)
685 #define IMemAllocator_Release(p) ICOM_CALL (Release,p)
686 /*** IMemAllocator methods ***/
687 #define IMemAllocator_SetProperties(p,a1,a2) ICOM_CALL2(SetProperties,p,a1,a2)
688 #define IMemAllocator_GetProperties(p,a1) ICOM_CALL1(GetProperties,p,a1)
689 #define IMemAllocator_Commit(p) ICOM_CALL (Commit,p)
690 #define IMemAllocator_Decommit(p) ICOM_CALL (Decommit,p)
691 #define IMemAllocator_GetBuffer(p,a1,a2,a3,a4) ICOM_CALL4(GetBuffer,p,a1,a2,a3,a4)
692 #define IMemAllocator_ReleaseBuffer(p,a1) ICOM_CALL1(ReleaseBuffer,p,a1)
694 /**************************************************************************
696 * IMemAllocatorCallbackTemp interface
700 #define ICOM_INTERFACE IMemAllocatorCallbackTemp
701 #define IMemAllocatorCallbackTemp_METHODS \
702 ICOM_METHOD1(HRESULT,SetNotify,IMemAllocatorNotifyCallbackTemp*,a1) \
703 ICOM_METHOD1(HRESULT,GetFreeCount,LONG*,a1)
705 #define IMemAllocatorCallbackTemp_IMETHODS \
706 IMemAllocator_IMETHODS \
707 IMemAllocatorCallbackTemp_METHODS
709 ICOM_DEFINE(IMemAllocatorCallbackTemp
,IMemAllocator
)
710 #undef ICOM_INTERFACE
712 /*** IUnknown methods ***/
713 #define IMemAllocatorCallbackTemp_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
714 #define IMemAllocatorCallbackTemp_AddRef(p) ICOM_CALL (AddRef,p)
715 #define IMemAllocatorCallbackTemp_Release(p) ICOM_CALL (Release,p)
716 /*** IMemAllocator methods ***/
717 #define IMemAllocatorCallbackTemp_SetProperties(p,a1,a2) ICOM_CALL2(SetProperties,p,a1,a2)
718 #define IMemAllocatorCallbackTemp_GetProperties(p,a1) ICOM_CALL1(GetProperties,p,a1)
719 #define IMemAllocatorCallbackTemp_Commit(p,a1) ICOM_CALL1(Commit,p,a1)
720 #define IMemAllocatorCallbackTemp_Decommit(p,a1) ICOM_CALL1(Decommit,p,a1)
721 #define IMemAllocatorCallbackTemp_GetBuffer(p,a1,a2,a3,a4) ICOM_CALL4(GetBuffer,p,a1,a2,a3,a4)
722 #define IMemAllocatorCallbackTemp_ReleaseBuffer(p,a1) ICOM_CALL1(ReleaseBuffer,p,a1)
723 /*** IMemAllocatorCallbackTemp methods ***/
724 #define IMemAllocatorCallbackTemp_SetNotify(p,a1) ICOM_CALL1(SetNotify,p,a1)
725 #define IMemAllocatorCallbackTemp_GetFreeCount(p,a1) ICOM_CALL1(GetFreeCount,p,a1)
727 /**************************************************************************
729 * IMemAllocatorNotifyCallbackTemp interface
733 #define ICOM_INTERFACE IMemAllocatorNotifyCallbackTemp
734 #define IMemAllocatorNotifyCallbackTemp_METHODS \
735 ICOM_METHOD (HRESULT,NotifyRelease)
737 #define IMemAllocatorNotifyCallbackTemp_IMETHODS \
739 IMemAllocatorNotifyCallbackTemp_METHODS
741 ICOM_DEFINE(IMemAllocatorNotifyCallbackTemp
,IUnknown
)
742 #undef ICOM_INTERFACE
744 /*** IUnknown methods ***/
745 #define IMemAllocatorNotifyCallbackTemp_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
746 #define IMemAllocatorNotifyCallbackTemp_AddRef(p) ICOM_CALL (AddRef,p)
747 #define IMemAllocatorNotifyCallbackTemp_Release(p) ICOM_CALL (Release,p)
748 /*** IMemAllocatorNotifyCallbackTemp methods ***/
749 #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(p) ICOM_CALL (NotifyRelease,p)
751 /**************************************************************************
753 * IMemInputPin interface
757 #define ICOM_INTERFACE IMemInputPin
758 #define IMemInputPin_METHODS \
759 ICOM_METHOD1(HRESULT,GetAllocator,IMemAllocator**,a1) \
760 ICOM_METHOD2(HRESULT,NotifyAllocator,IMemAllocator*,a1,BOOL,a2) \
761 ICOM_METHOD1(HRESULT,GetAllocatorRequirements,ALLOCATOR_PROPERTIES*,a1) \
762 ICOM_METHOD1(HRESULT,Receive,IMediaSample*,a1) \
763 ICOM_METHOD3(HRESULT,ReceiveMultiple,IMediaSample**,a1,long,a2,long*,a3) \
764 ICOM_METHOD (HRESULT,ReceiveCanBlock)
766 #define IMemInputPin_IMETHODS \
770 ICOM_DEFINE(IMemInputPin
,IUnknown
)
771 #undef ICOM_INTERFACE
773 /*** IUnknown methods ***/
774 #define IMemInputPin_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
775 #define IMemInputPin_AddRef(p) ICOM_CALL (AddRef,p)
776 #define IMemInputPin_Release(p) ICOM_CALL (Release,p)
777 /*** IMemInputPin methods ***/
778 #define IMemInputPin_GetAllocator(p,a1) ICOM_CALL1(GetAllocator,p,a1)
779 #define IMemInputPin_NotifyAllocator(p,a1,a2) ICOM_CALL2(NotifyAllocator,p,a1,a2)
780 #define IMemInputPin_GetAllocatorRequirements(p,a1) ICOM_CALL1(GetAllocatorRequirements,p,a1)
781 #define IMemInputPin_Receive(p,a1) ICOM_CALL1(Receive,p,a1)
782 #define IMemInputPin_ReceiveMultiple(p,a1,a2,a3) ICOM_CALL3(ReceiveMultiple,p,a1,a2,a3)
783 #define IMemInputPin_ReceiveCanBlock(p) ICOM_CALL (ReceiveCanBlock,p)
785 /**************************************************************************
791 #define ICOM_INTERFACE IPin
792 #define IPin_METHODS \
793 ICOM_METHOD2(HRESULT,Connect,IPin*,a1,const AM_MEDIA_TYPE*,a2) \
794 ICOM_METHOD2(HRESULT,ReceiveConnection,IPin*,a1,const AM_MEDIA_TYPE*,a2) \
795 ICOM_METHOD (HRESULT,Disconnect) \
796 ICOM_METHOD1(HRESULT,ConnectedTo,IPin**,a1) \
797 ICOM_METHOD1(HRESULT,ConnectionMediaType,AM_MEDIA_TYPE*,a1) \
798 ICOM_METHOD1(HRESULT,QueryPinInfo,PIN_INFO*,a1) \
799 ICOM_METHOD1(HRESULT,QueryDirection,PIN_DIRECTION*,a1) \
800 ICOM_METHOD1(HRESULT,QueryId,LPWSTR*,a1) \
801 ICOM_METHOD1(HRESULT,QueryAccept,const AM_MEDIA_TYPE*,a1) \
802 ICOM_METHOD1(HRESULT,EnumMediaTypes,IEnumMediaTypes**,a1) \
803 ICOM_METHOD2(HRESULT,QueryInternalConnections,IPin**,a1,ULONG*,a2) \
804 ICOM_METHOD (HRESULT,EndOfStream) \
805 ICOM_METHOD (HRESULT,BeginFlush) \
806 ICOM_METHOD (HRESULT,EndFlush) \
807 ICOM_METHOD3(HRESULT,NewSegment,REFERENCE_TIME,a1,REFERENCE_TIME,a2,double,a3)
809 #define IPin_IMETHODS \
813 ICOM_DEFINE(IPin
,IUnknown
)
814 #undef ICOM_INTERFACE
816 /*** IUnknown methods ***/
817 #define IPin_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
818 #define IPin_AddRef(p) ICOM_CALL (AddRef,p)
819 #define IPin_Release(p) ICOM_CALL (Release,p)
820 /*** IPin methods ***/
821 #define IPin_Connect(p,a1,a2) ICOM_CALL2(Connect,p,a1,a2)
822 #define IPin_ReceiveConnection(p,a1,a2) ICOM_CALL2(ReceiveConnection,p,a1,a2)
823 #define IPin_Disconnect(p) ICOM_CALL (Disconnect,p)
824 #define IPin_ConnectedTo(p,a1) ICOM_CALL1(ConnectedTo,p,a1)
825 #define IPin_ConnectionMediaType(p,a1) ICOM_CALL1(ConnectionMediaType,p,a1)
826 #define IPin_QueryPinInfo(p,a1) ICOM_CALL1(QueryPinInfo,p,a1)
827 #define IPin_QueryDirection(p,a1) ICOM_CALL1(QueryDirection,p,a1)
828 #define IPin_QueryId(p,a1) ICOM_CALL1(QueryId,p,a1)
829 #define IPin_QueryAccept(p,a1) ICOM_CALL1(QueryAccept,p,a1)
830 #define IPin_EnumMediaTypes(p,a1) ICOM_CALL1(EnumMediaTypes,p,a1)
831 #define IPin_QueryInternalConnections(p,a1,a2) ICOM_CALL2(QueryInternalConnections,p,a1,a2)
832 #define IPin_EndOfStream(p) ICOM_CALL (EndOfStream,p)
833 #define IPin_BeginFlush(p) ICOM_CALL (BeginFlush,p)
834 #define IPin_EndFlush(p) ICOM_CALL (EndFlush,p)
835 #define IPin_NewSegment(p,a1,a2,a3) ICOM_CALL3(NewSegment,p,a1,a2,a3)
837 /**************************************************************************
839 * IReferenceClock interface
843 #define ICOM_INTERFACE IReferenceClock
844 #define IReferenceClock_METHODS \
845 ICOM_METHOD1(HRESULT,GetTime,REFERENCE_TIME*,a1) \
846 ICOM_METHOD4(HRESULT,AdviseTime,REFERENCE_TIME,a1,REFERENCE_TIME,a2,HEVENT,a3,DWORD_PTR*,a4) \
847 ICOM_METHOD4(HRESULT,AdvisePeriodic,REFERENCE_TIME,a1,REFERENCE_TIME,a2,HSEMAPHORE,a3,DWORD_PTR*,a4) \
848 ICOM_METHOD1(HRESULT,Unadvise,DWORD_PTR,a1)
850 #define IReferenceClock_IMETHODS \
852 IReferenceClock_METHODS
854 ICOM_DEFINE(IReferenceClock
,IUnknown
)
855 #undef ICOM_INTERFACE
857 /*** IUnknown methods ***/
858 #define IReferenceClock_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
859 #define IReferenceClock_AddRef(p) ICOM_CALL (AddRef,p)
860 #define IReferenceClock_Release(p) ICOM_CALL (Release,p)
861 /*** IReferenceClock methods ***/
862 #define IReferenceClock_GetTime(p,a1) ICOM_CALL1(GetTime,p,a1)
863 #define IReferenceClock_AdviseTime(p,a1,a2,a3,a4) ICOM_CALL4(AdviseTime,p,a1,a2,a3,a4)
864 #define IReferenceClock_AdvisePeriodic(p,a1,a2,a3,a4) ICOM_CALL4(AdvisePeriodic,p,a1,a2,a3,a4)
865 #define IReferenceClock_Unadvise(p,a1) ICOM_CALL1(Unadvise,p,a1)
867 /**************************************************************************
869 * IReferenceClock2 interface
873 #define ICOM_INTERFACE IReferenceClock2
874 #define IReferenceClock2_METHODS
876 #define IReferenceClock2_IMETHODS \
877 IReferenceClock_IMETHODS \
878 IReferenceClock2_METHODS
880 ICOM_DEFINE(IReferenceClock2
,IReferenceClock
)
881 #undef ICOM_INTERFACE
883 /*** IUnknown methods ***/
884 #define IReferenceClock2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
885 #define IReferenceClock2_AddRef(p) ICOM_CALL (AddRef,p)
886 #define IReferenceClock2_Release(p) ICOM_CALL (Release,p)
887 /*** IReferenceClock methods ***/
888 #define IReferenceClock2_GetTime(p,a1) ICOM_CALL1(GetTime,p,a1)
889 #define IReferenceClock2_AdviseTime(p,a1,a2,a3,a4) ICOM_CALL4(AdviseTime,p,a1,a2,a3,a4)
890 #define IReferenceClock2_AdvisePeriodic(p,a1,a2,a3,a4) ICOM_CALL4(AdvisePeriodic,p,a1,a2,a3,a4)
891 #define IReferenceClock2_Unadvise(p,a1) ICOM_CALL1(Unadvise,p,a1)
892 /*** IReferenceClock2 methods ***/
894 #endif /* __WINE_STRMIF_H_ */