source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/axcore.idl@ 1172

Last change on this file since 1172 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 13.5 KB
Line 
1cpp_quote("/**")
2cpp_quote(" * This file is part of the mingw-w64 runtime package.")
3cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
4cpp_quote(" */")
5cpp_quote("")
6cpp_quote("#include <winapifamily.h>")
7cpp_quote("")
8cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
9cpp_quote("")
10
11#define CHARS_IN_GUID 39
12
13cpp_quote("#define CHARS_IN_GUID 39")
14cpp_quote("")
15
16/* GetTimeFormat is defined in winnls.h as
17 * either the W or A suffixed version */
18cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
19cpp_quote("#undef GetTimeFormat")
20cpp_quote("#endif")
21cpp_quote("")
22
23typedef struct _AMMediaType {
24 GUID majortype;
25 GUID subtype;
26 BOOL bFixedSizeSamples;
27 BOOL bTemporalCompression;
28 ULONG lSampleSize;
29 GUID formattype;
30 IUnknown *pUnk;
31 ULONG cbFormat;
32 [size_is (cbFormat)] BYTE *pbFormat;
33} AM_MEDIA_TYPE;
34
35cpp_quote("")
36typedef enum _PinDirection {
37 PINDIR_INPUT,
38 PINDIR_OUTPUT
39} PIN_DIRECTION;
40
41#define MAX_PIN_NAME 128
42#define MAX_FILTER_NAME 128
43
44cpp_quote("")
45cpp_quote("#define MAX_PIN_NAME 128")
46cpp_quote("#define MAX_FILTER_NAME 128")
47
48cpp_quote("")
49cpp_quote("#ifndef REFERENCE_TIME_DEFINED")
50cpp_quote("#define REFERENCE_TIME_DEFINED")
51typedef LONGLONG REFERENCE_TIME;
52cpp_quote("#endif")
53cpp_quote("")
54cpp_quote("#ifndef REFTIME_DEFINED")
55cpp_quote("#define REFTIME_DEFINED")
56typedef double REFTIME;
57cpp_quote("#endif")
58cpp_quote("")
59typedef DWORD_PTR HSEMAPHORE;
60typedef DWORD_PTR HEVENT;
61
62cpp_quote("")
63typedef struct _AllocatorProperties {
64 long cBuffers;
65 long cbBuffer;
66 long cbAlign;
67 long cbPrefix;
68} ALLOCATOR_PROPERTIES;
69
70cpp_quote("")
71interface IAMovieSetup;
72interface IEnumFilters;
73interface IEnumMediaTypes;
74interface IEnumPins;
75interface IBaseFilter;
76interface IFilterGraph;
77interface IMediaFilter;
78interface IMediaSample;
79interface IMemAllocator;
80interface IMemAllocatorCallbackTemp;
81interface IMemAllocatorNotifyCallbackTemp;
82interface IMemInputPin;
83interface IPin;
84interface IReferenceClock;
85
86cpp_quote("")
87[object, local, uuid (56a86891-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
88interface IPin : IUnknown {
89 typedef struct _PinInfo {
90 IBaseFilter *pFilter;
91 PIN_DIRECTION dir;
92 WCHAR achName[MAX_PIN_NAME];
93 } PIN_INFO;
94cpp_quote("")
95 HRESULT Connect ([in] IPin *pReceivePin, [in] const AM_MEDIA_TYPE *pmt);
96 HRESULT ReceiveConnection ([in] IPin *pConnector, [in] const AM_MEDIA_TYPE *pmt);
97 HRESULT Disconnect (void);
98 HRESULT ConnectedTo ([out] IPin **pPin);
99 HRESULT ConnectionMediaType ([out] AM_MEDIA_TYPE *pmt);
100 HRESULT QueryPinInfo ([out] PIN_INFO *pInfo);
101 HRESULT QueryDirection ([out] PIN_DIRECTION *pPinDir);
102 HRESULT QueryId ([out] LPWSTR *Id);
103 HRESULT QueryAccept ([in] const AM_MEDIA_TYPE *pmt);
104 HRESULT EnumMediaTypes ([out] IEnumMediaTypes **ppEnum);
105 HRESULT QueryInternalConnections ([out] IPin **apPin, [in, out] ULONG *nPin);
106 HRESULT EndOfStream (void);
107 HRESULT BeginFlush (void);
108 HRESULT EndFlush (void);
109 HRESULT NewSegment ([in] REFERENCE_TIME tStart, [in] REFERENCE_TIME tStop, [in] double dRate);
110}
111typedef IPin *PPIN;
112
113cpp_quote("")
114[object, local, uuid (56a86892-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
115interface IEnumPins : IUnknown {
116 HRESULT Next ([in] ULONG cPins, [out, size_is (cPins)] IPin **ppPins, [out] ULONG *pcFetched);
117 HRESULT Skip ([in] ULONG cPins);
118 HRESULT Reset (void);
119 HRESULT Clone ([out] IEnumPins **ppEnum);
120}
121typedef IEnumPins *PENUMPINS;
122
123cpp_quote("")
124[object, local, uuid (89c31040-846b-11ce-97d3-00aa0055595a), pointer_default (unique)]
125interface IEnumMediaTypes : IUnknown {
126 HRESULT Next ([in] ULONG cMediaTypes, [out, size_is (cMediaTypes)] AM_MEDIA_TYPE **ppMediaTypes, [out] ULONG *pcFetched);
127 HRESULT Skip ([in] ULONG cMediaTypes);
128 HRESULT Reset (void);
129 HRESULT Clone ([out] IEnumMediaTypes **ppEnum);
130}
131typedef IEnumMediaTypes *PENUMMEDIATYPES;
132
133cpp_quote("")
134[object, local, uuid (56a8689f-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
135interface IFilterGraph : IUnknown {
136 HRESULT AddFilter ([in] IBaseFilter *pFilter, [in, string] LPCWSTR pName);
137 HRESULT RemoveFilter ([in] IBaseFilter *pFilter);
138 HRESULT EnumFilters ([out] IEnumFilters **ppEnum);
139 HRESULT FindFilterByName ([in, string] LPCWSTR pName, [out] IBaseFilter **ppFilter);
140 HRESULT ConnectDirect ([in] IPin *ppinOut, [in] IPin *ppinIn, [in, unique] const AM_MEDIA_TYPE *pmt);
141 HRESULT Reconnect ([in] IPin *ppin);
142 HRESULT Disconnect ([in] IPin *ppin);
143 HRESULT SetDefaultSyncSource (void);
144}
145typedef IFilterGraph *PFILTERGRAPH;
146
147cpp_quote("")
148[object, local, uuid (56a86893-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
149interface IEnumFilters : IUnknown {
150 HRESULT Next ([in] ULONG cFilters, [out] IBaseFilter **ppFilter, [out] ULONG *pcFetched);
151 HRESULT Skip ([in] ULONG cFilters);
152 HRESULT Reset (void);
153 HRESULT Clone ([out] IEnumFilters **ppEnum);
154}
155typedef IEnumFilters *PENUMFILTERS;
156
157cpp_quote("")
158[object, local, uuid (56a86899-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
159interface IMediaFilter : IPersist {
160 typedef enum _FilterState {
161 State_Stopped,
162 State_Paused,
163 State_Running
164 } FILTER_STATE;
165cpp_quote("")
166 HRESULT Stop (void);
167 HRESULT Pause (void);
168 HRESULT Run (REFERENCE_TIME tStart);
169 HRESULT GetState ([in] DWORD dwMilliSecsTimeout, [out] FILTER_STATE *State);
170 HRESULT SetSyncSource ([in] IReferenceClock *pClock);
171 HRESULT GetSyncSource ([out] IReferenceClock **pClock);
172}
173typedef IMediaFilter *PMEDIAFILTER;
174
175cpp_quote("")
176[object, local, uuid (56a86895-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
177interface IBaseFilter : IMediaFilter {
178 typedef struct _FilterInfo {
179 WCHAR achName[MAX_FILTER_NAME];
180 IFilterGraph *pGraph;
181 } FILTER_INFO;
182cpp_quote("")
183 HRESULT EnumPins ([out] IEnumPins **ppEnum);
184 HRESULT FindPin ([in, string] LPCWSTR Id, [out] IPin **ppPin);
185 HRESULT QueryFilterInfo ([out] FILTER_INFO *pInfo);
186 HRESULT JoinFilterGraph ([in] IFilterGraph *pGraph, [in, string] LPCWSTR pName);
187 HRESULT QueryVendorInfo ([out, string] LPWSTR *pVendorInfo);
188}
189typedef IBaseFilter *PFILTER;
190
191cpp_quote("")
192[object, local, uuid (56a86897-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
193interface IReferenceClock : IUnknown {
194 HRESULT GetTime ([out] REFERENCE_TIME *pTime);
195 HRESULT AdviseTime ([in] REFERENCE_TIME baseTime, [in] REFERENCE_TIME streamTime, [in] HEVENT hEvent, [out] DWORD_PTR *pdwAdviseCookie);
196 HRESULT AdvisePeriodic ([in] REFERENCE_TIME startTime, [in] REFERENCE_TIME periodTime, [in] HSEMAPHORE hSemaphore, [out] DWORD_PTR *pdwAdviseCookie);
197 HRESULT Unadvise ([in] DWORD_PTR dwAdviseCookie);
198}
199typedef IReferenceClock *PREFERENCECLOCK;
200
201cpp_quote("")
202[object, local, uuid (ebec459c-2eca-4d42-a8af-30df557614b8), pointer_default (unique)]
203interface IReferenceClockTimerControl : IUnknown {
204 HRESULT SetDefaultTimerResolution (REFERENCE_TIME timerResolution);
205 HRESULT GetDefaultTimerResolution (REFERENCE_TIME *pTimerResolution);
206}
207
208cpp_quote("")
209[object, local, uuid (36b73885-c2c8-11cf-8b46-00805f6cef60), pointer_default (unique)]
210interface IReferenceClock2 : IReferenceClock {
211}
212typedef IReferenceClock2 *PREFERENCECLOCK2;
213
214cpp_quote("")
215[object, local, uuid (56a8689a-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
216interface IMediaSample : IUnknown {
217 HRESULT GetPointer ([out] BYTE **ppBuffer);
218 long GetSize (void);
219 HRESULT GetTime ([out] REFERENCE_TIME *pTimeStart, [out] REFERENCE_TIME *pTimeEnd);
220 HRESULT SetTime ([in] REFERENCE_TIME *pTimeStart, [in] REFERENCE_TIME *pTimeEnd);
221 HRESULT IsSyncPoint (void);
222 HRESULT SetSyncPoint (BOOL bIsSyncPoint);
223 HRESULT IsPreroll (void);
224 HRESULT SetPreroll (BOOL bIsPreroll);
225 long GetActualDataLength (void);
226 HRESULT SetActualDataLength (long);
227 HRESULT GetMediaType ([out] AM_MEDIA_TYPE **ppMediaType);
228 HRESULT SetMediaType ([in] AM_MEDIA_TYPE *pMediaType);
229 HRESULT IsDiscontinuity (void);
230 HRESULT SetDiscontinuity (BOOL bDiscontinuity);
231 HRESULT GetMediaTime ([out] LONGLONG *pTimeStart, [out] LONGLONG *pTimeEnd);
232 HRESULT SetMediaTime ([in] LONGLONG *pTimeStart, [in] LONGLONG *pTimeEnd);
233}
234typedef IMediaSample *PMEDIASAMPLE;
235
236cpp_quote("")
237enum tagAM_SAMPLE_PROPERTY_FLAGS {
238 AM_SAMPLE_SPLICEPOINT = 0x1,
239 AM_SAMPLE_PREROLL = 0x2,
240 AM_SAMPLE_DATADISCONTINUITY = 0x4,
241 AM_SAMPLE_TYPECHANGED = 0x8,
242 AM_SAMPLE_TIMEVALID = 0x10,
243 AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
244 AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
245 AM_SAMPLE_STOPVALID = 0x100,
246 AM_SAMPLE_ENDOFSTREAM = 0x200,
247 AM_STREAM_MEDIA = 0,
248 AM_STREAM_CONTROL = 1
249};
250
251cpp_quote("")
252typedef struct tagAM_SAMPLE2_PROPERTIES {
253 DWORD cbData;
254 DWORD dwTypeSpecificFlags;
255 DWORD dwSampleFlags;
256 LONG lActual;
257 REFERENCE_TIME tStart;
258 REFERENCE_TIME tStop;
259 DWORD dwStreamId;
260 AM_MEDIA_TYPE *pMediaType;
261 BYTE *pbBuffer;
262 LONG cbBuffer;
263} AM_SAMPLE2_PROPERTIES;
264
265cpp_quote("")
266[object, local, uuid (36b73884-c2c8-11cf-8b46-00805f6cef60), pointer_default (unique)]
267interface IMediaSample2 : IMediaSample {
268 HRESULT GetProperties ([in] DWORD cbProperties, [out, size_is (cbProperties)] BYTE *pbProperties);
269 HRESULT SetProperties ([in] DWORD cbProperties, [in, size_is (cbProperties)] const BYTE *pbProperties);
270}
271typedef IMediaSample2 *PMEDIASAMPLE2;
272
273cpp_quote("")
274[object, uuid (68961e68-832b-41ea-BC91-63593f3e70e3), pointer_default (unique)]
275interface IMediaSample2Config : IUnknown {
276 HRESULT GetSurface ([out] IUnknown **ppDirect3DSurface9);
277};
278
279#define AM_GBF_PREVFRAMESKIPPED 1
280#define AM_GBF_NOTASYNCPOINT 2
281
282cpp_quote("")
283cpp_quote("#define AM_GBF_PREVFRAMESKIPPED 1")
284cpp_quote("#define AM_GBF_NOTASYNCPOINT 2")
285cpp_quote("#define AM_GBF_NOWAIT 4")
286cpp_quote("#define AM_GBF_NODDSURFACELOCK 8")
287
288cpp_quote("")
289[object, local, uuid (56a8689c-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
290interface IMemAllocator : IUnknown {
291 HRESULT SetProperties ([in] ALLOCATOR_PROPERTIES *pRequest, [out] ALLOCATOR_PROPERTIES *pActual);
292 HRESULT GetProperties ([out] ALLOCATOR_PROPERTIES *pProps);
293 HRESULT Commit (void);
294 HRESULT Decommit (void);
295 HRESULT GetBuffer ([out] IMediaSample **ppBuffer, [in, unique] REFERENCE_TIME *pStartTime, [in, unique] REFERENCE_TIME *pEndTime, [in] DWORD dwFlags);
296 HRESULT ReleaseBuffer ([in] IMediaSample *pBuffer);
297}
298typedef IMemAllocator *PMEMALLOCATOR;
299
300cpp_quote("")
301[object, local, uuid (379a0cf0-c1de-11d2-abf5-00a0c905f375), pointer_default (unique)]
302interface IMemAllocatorCallbackTemp : IMemAllocator {
303 HRESULT SetNotify ([in] IMemAllocatorNotifyCallbackTemp *pNotify);
304 HRESULT GetFreeCount ([out] LONG *plBuffersFree);
305}
306
307cpp_quote("")
308[object, local, uuid (92980b30-c1de-11d2-abf5-00a0c905f375), pointer_default (unique)]
309interface IMemAllocatorNotifyCallbackTemp : IUnknown {
310 HRESULT NotifyRelease ();
311}
312
313cpp_quote("")
314[object, local, uuid (56a8689d-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
315interface IMemInputPin : IUnknown {
316 HRESULT GetAllocator ([out] IMemAllocator **ppAllocator);
317 HRESULT NotifyAllocator ([in] IMemAllocator *pAllocator, [in] BOOL bReadOnly);
318 HRESULT GetAllocatorRequirements ([out] ALLOCATOR_PROPERTIES *pProps);
319 HRESULT Receive ([in] IMediaSample *pSample);
320 HRESULT ReceiveMultiple ([in, size_is (nSamples)] IMediaSample **pSamples, [in] long nSamples, [out] long *nSamplesProcessed);
321 HRESULT ReceiveCanBlock ();
322}
323typedef IMemInputPin *PMEMINPUTPIN;
324
325cpp_quote("")
326[object, local, uuid (a3d8cec0-7e5a-11cf-bbc5-00805f6cef20), pointer_default (unique)]
327interface IAMovieSetup : IUnknown {
328 HRESULT Register ();
329 HRESULT Unregister ();
330}
331typedef IAMovieSetup *PAMOVIESETUP;
332
333cpp_quote("")
334typedef enum AM_SEEKING_SeekingFlags {
335 AM_SEEKING_NoPositioning = 0x0,
336 AM_SEEKING_AbsolutePositioning = 0x1,
337 AM_SEEKING_RelativePositioning = 0x2,
338 AM_SEEKING_IncrementalPositioning = 0x3,
339 AM_SEEKING_PositioningBitsMask = 0x3,
340 AM_SEEKING_SeekToKeyFrame = 0x4,
341 AM_SEEKING_ReturnTime = 0x8,
342 AM_SEEKING_Segment = 0x10,
343 AM_SEEKING_NoFlush = 0x20
344} AM_SEEKING_SEEKING_FLAGS;
345
346cpp_quote("")
347typedef enum AM_SEEKING_SeekingCapabilities {
348 AM_SEEKING_CanSeekAbsolute = 0x1,
349 AM_SEEKING_CanSeekForwards = 0x2,
350 AM_SEEKING_CanSeekBackwards = 0x4,
351 AM_SEEKING_CanGetCurrentPos = 0x8,
352 AM_SEEKING_CanGetStopPos = 0x10,
353 AM_SEEKING_CanGetDuration = 0x20,
354 AM_SEEKING_CanPlayBackwards = 0x40,
355 AM_SEEKING_CanDoSegments = 0x80,
356 AM_SEEKING_Source = 0x100
357} AM_SEEKING_SEEKING_CAPABILITIES;
358
359cpp_quote("")
360[object, local, uuid (36b73880-c2c8-11cf-8b46-00805f6cef60), pointer_default (unique)]
361interface IMediaSeeking : IUnknown {
362 HRESULT GetCapabilities ([out] DWORD *pCapabilities);
363 HRESULT CheckCapabilities ([in, out] DWORD *pCapabilities);
364 HRESULT IsFormatSupported ([in] const GUID *pFormat);
365 HRESULT QueryPreferredFormat ([out] GUID *pFormat);
366 HRESULT GetTimeFormat ([out] GUID *pFormat);
367 HRESULT IsUsingTimeFormat ([in] const GUID *pFormat);
368 HRESULT SetTimeFormat ([in] const GUID *pFormat);
369 HRESULT GetDuration ([out] LONGLONG *pDuration);
370 HRESULT GetStopPosition ([out] LONGLONG *pStop);
371 HRESULT GetCurrentPosition ([out] LONGLONG *pCurrent);
372 HRESULT ConvertTimeFormat ([out] LONGLONG *pTarget, [in] const GUID *pTargetFormat, [in] LONGLONG Source, [in] const GUID *pSourceFormat);
373 HRESULT SetPositions ([in, out] LONGLONG *pCurrent, [in] DWORD dwCurrentFlags, [in, out] LONGLONG *pStop, [in] DWORD dwStopFlags);
374 HRESULT GetPositions ([out] LONGLONG *pCurrent, [out] LONGLONG *pStop);
375 HRESULT GetAvailable ([out] LONGLONG *pEarliest, [out] LONGLONG *pLatest);
376 HRESULT SetRate ([in] double dRate);
377 HRESULT GetRate ([out] double *pdRate);
378 HRESULT GetPreroll ([out] LONGLONG *pllPreroll);
379}
380typedef IMediaSeeking *PMEDIASEEKING;
381cpp_quote("")
382cpp_quote("enum tagAM_MEDIAEVENT_FLAGS {")
383cpp_quote(" AM_MEDIAEVENT_NONOTIFY = 0x1")
384cpp_quote("};")
385
386cpp_quote("")
387cpp_quote("#endif")
Note: See TracBrowser for help on using the repository browser.