1 | cpp_quote("/**")
|
---|
2 | cpp_quote(" * This file is part of the mingw-w64 runtime package.")
|
---|
3 | cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
|
---|
4 | cpp_quote(" */")
|
---|
5 | cpp_quote("")
|
---|
6 | cpp_quote("#include <winapifamily.h>")
|
---|
7 | cpp_quote("")
|
---|
8 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
9 | cpp_quote("")
|
---|
10 |
|
---|
11 | #define CHARS_IN_GUID 39
|
---|
12 |
|
---|
13 | cpp_quote("#define CHARS_IN_GUID 39")
|
---|
14 | cpp_quote("")
|
---|
15 |
|
---|
16 | /* GetTimeFormat is defined in winnls.h as
|
---|
17 | * either the W or A suffixed version */
|
---|
18 | cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
|
---|
19 | cpp_quote("#undef GetTimeFormat")
|
---|
20 | cpp_quote("#endif")
|
---|
21 | cpp_quote("")
|
---|
22 |
|
---|
23 | typedef 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 |
|
---|
35 | cpp_quote("")
|
---|
36 | typedef 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 |
|
---|
44 | cpp_quote("")
|
---|
45 | cpp_quote("#define MAX_PIN_NAME 128")
|
---|
46 | cpp_quote("#define MAX_FILTER_NAME 128")
|
---|
47 |
|
---|
48 | cpp_quote("")
|
---|
49 | cpp_quote("#ifndef REFERENCE_TIME_DEFINED")
|
---|
50 | cpp_quote("#define REFERENCE_TIME_DEFINED")
|
---|
51 | typedef LONGLONG REFERENCE_TIME;
|
---|
52 | cpp_quote("#endif")
|
---|
53 | cpp_quote("")
|
---|
54 | cpp_quote("#ifndef REFTIME_DEFINED")
|
---|
55 | cpp_quote("#define REFTIME_DEFINED")
|
---|
56 | typedef double REFTIME;
|
---|
57 | cpp_quote("#endif")
|
---|
58 | cpp_quote("")
|
---|
59 | typedef DWORD_PTR HSEMAPHORE;
|
---|
60 | typedef DWORD_PTR HEVENT;
|
---|
61 |
|
---|
62 | cpp_quote("")
|
---|
63 | typedef struct _AllocatorProperties {
|
---|
64 | long cBuffers;
|
---|
65 | long cbBuffer;
|
---|
66 | long cbAlign;
|
---|
67 | long cbPrefix;
|
---|
68 | } ALLOCATOR_PROPERTIES;
|
---|
69 |
|
---|
70 | cpp_quote("")
|
---|
71 | interface IAMovieSetup;
|
---|
72 | interface IEnumFilters;
|
---|
73 | interface IEnumMediaTypes;
|
---|
74 | interface IEnumPins;
|
---|
75 | interface IBaseFilter;
|
---|
76 | interface IFilterGraph;
|
---|
77 | interface IMediaFilter;
|
---|
78 | interface IMediaSample;
|
---|
79 | interface IMemAllocator;
|
---|
80 | interface IMemAllocatorCallbackTemp;
|
---|
81 | interface IMemAllocatorNotifyCallbackTemp;
|
---|
82 | interface IMemInputPin;
|
---|
83 | interface IPin;
|
---|
84 | interface IReferenceClock;
|
---|
85 |
|
---|
86 | cpp_quote("")
|
---|
87 | [object, local, uuid (56a86891-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
|
---|
88 | interface IPin : IUnknown {
|
---|
89 | typedef struct _PinInfo {
|
---|
90 | IBaseFilter *pFilter;
|
---|
91 | PIN_DIRECTION dir;
|
---|
92 | WCHAR achName[MAX_PIN_NAME];
|
---|
93 | } PIN_INFO;
|
---|
94 | cpp_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 | }
|
---|
111 | typedef IPin *PPIN;
|
---|
112 |
|
---|
113 | cpp_quote("")
|
---|
114 | [object, local, uuid (56a86892-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
|
---|
115 | interface 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 | }
|
---|
121 | typedef IEnumPins *PENUMPINS;
|
---|
122 |
|
---|
123 | cpp_quote("")
|
---|
124 | [object, local, uuid (89c31040-846b-11ce-97d3-00aa0055595a), pointer_default (unique)]
|
---|
125 | interface 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 | }
|
---|
131 | typedef IEnumMediaTypes *PENUMMEDIATYPES;
|
---|
132 |
|
---|
133 | cpp_quote("")
|
---|
134 | [object, local, uuid (56a8689f-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
|
---|
135 | interface 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 | }
|
---|
145 | typedef IFilterGraph *PFILTERGRAPH;
|
---|
146 |
|
---|
147 | cpp_quote("")
|
---|
148 | [object, local, uuid (56a86893-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
|
---|
149 | interface 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 | }
|
---|
155 | typedef IEnumFilters *PENUMFILTERS;
|
---|
156 |
|
---|
157 | cpp_quote("")
|
---|
158 | [object, local, uuid (56a86899-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
|
---|
159 | interface IMediaFilter : IPersist {
|
---|
160 | typedef enum _FilterState {
|
---|
161 | State_Stopped,
|
---|
162 | State_Paused,
|
---|
163 | State_Running
|
---|
164 | } FILTER_STATE;
|
---|
165 | cpp_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 | }
|
---|
173 | typedef IMediaFilter *PMEDIAFILTER;
|
---|
174 |
|
---|
175 | cpp_quote("")
|
---|
176 | [object, local, uuid (56a86895-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
|
---|
177 | interface IBaseFilter : IMediaFilter {
|
---|
178 | typedef struct _FilterInfo {
|
---|
179 | WCHAR achName[MAX_FILTER_NAME];
|
---|
180 | IFilterGraph *pGraph;
|
---|
181 | } FILTER_INFO;
|
---|
182 | cpp_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 | }
|
---|
189 | typedef IBaseFilter *PFILTER;
|
---|
190 |
|
---|
191 | cpp_quote("")
|
---|
192 | [object, local, uuid (56a86897-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
|
---|
193 | interface 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 | }
|
---|
199 | typedef IReferenceClock *PREFERENCECLOCK;
|
---|
200 |
|
---|
201 | cpp_quote("")
|
---|
202 | [object, local, uuid (ebec459c-2eca-4d42-a8af-30df557614b8), pointer_default (unique)]
|
---|
203 | interface IReferenceClockTimerControl : IUnknown {
|
---|
204 | HRESULT SetDefaultTimerResolution (REFERENCE_TIME timerResolution);
|
---|
205 | HRESULT GetDefaultTimerResolution (REFERENCE_TIME *pTimerResolution);
|
---|
206 | }
|
---|
207 |
|
---|
208 | cpp_quote("")
|
---|
209 | [object, local, uuid (36b73885-c2c8-11cf-8b46-00805f6cef60), pointer_default (unique)]
|
---|
210 | interface IReferenceClock2 : IReferenceClock {
|
---|
211 | }
|
---|
212 | typedef IReferenceClock2 *PREFERENCECLOCK2;
|
---|
213 |
|
---|
214 | cpp_quote("")
|
---|
215 | [object, local, uuid (56a8689a-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
|
---|
216 | interface 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 | }
|
---|
234 | typedef IMediaSample *PMEDIASAMPLE;
|
---|
235 |
|
---|
236 | cpp_quote("")
|
---|
237 | enum 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 |
|
---|
251 | cpp_quote("")
|
---|
252 | typedef 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 |
|
---|
265 | cpp_quote("")
|
---|
266 | [object, local, uuid (36b73884-c2c8-11cf-8b46-00805f6cef60), pointer_default (unique)]
|
---|
267 | interface 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 | }
|
---|
271 | typedef IMediaSample2 *PMEDIASAMPLE2;
|
---|
272 |
|
---|
273 | cpp_quote("")
|
---|
274 | [object, uuid (68961e68-832b-41ea-BC91-63593f3e70e3), pointer_default (unique)]
|
---|
275 | interface IMediaSample2Config : IUnknown {
|
---|
276 | HRESULT GetSurface ([out] IUnknown **ppDirect3DSurface9);
|
---|
277 | };
|
---|
278 |
|
---|
279 | #define AM_GBF_PREVFRAMESKIPPED 1
|
---|
280 | #define AM_GBF_NOTASYNCPOINT 2
|
---|
281 |
|
---|
282 | cpp_quote("")
|
---|
283 | cpp_quote("#define AM_GBF_PREVFRAMESKIPPED 1")
|
---|
284 | cpp_quote("#define AM_GBF_NOTASYNCPOINT 2")
|
---|
285 | cpp_quote("#define AM_GBF_NOWAIT 4")
|
---|
286 | cpp_quote("#define AM_GBF_NODDSURFACELOCK 8")
|
---|
287 |
|
---|
288 | cpp_quote("")
|
---|
289 | [object, local, uuid (56a8689c-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
|
---|
290 | interface 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 | }
|
---|
298 | typedef IMemAllocator *PMEMALLOCATOR;
|
---|
299 |
|
---|
300 | cpp_quote("")
|
---|
301 | [object, local, uuid (379a0cf0-c1de-11d2-abf5-00a0c905f375), pointer_default (unique)]
|
---|
302 | interface IMemAllocatorCallbackTemp : IMemAllocator {
|
---|
303 | HRESULT SetNotify ([in] IMemAllocatorNotifyCallbackTemp *pNotify);
|
---|
304 | HRESULT GetFreeCount ([out] LONG *plBuffersFree);
|
---|
305 | }
|
---|
306 |
|
---|
307 | cpp_quote("")
|
---|
308 | [object, local, uuid (92980b30-c1de-11d2-abf5-00a0c905f375), pointer_default (unique)]
|
---|
309 | interface IMemAllocatorNotifyCallbackTemp : IUnknown {
|
---|
310 | HRESULT NotifyRelease ();
|
---|
311 | }
|
---|
312 |
|
---|
313 | cpp_quote("")
|
---|
314 | [object, local, uuid (56a8689d-0ad4-11ce-b03a-0020af0ba770), pointer_default (unique)]
|
---|
315 | interface 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 | }
|
---|
323 | typedef IMemInputPin *PMEMINPUTPIN;
|
---|
324 |
|
---|
325 | cpp_quote("")
|
---|
326 | [object, local, uuid (a3d8cec0-7e5a-11cf-bbc5-00805f6cef20), pointer_default (unique)]
|
---|
327 | interface IAMovieSetup : IUnknown {
|
---|
328 | HRESULT Register ();
|
---|
329 | HRESULT Unregister ();
|
---|
330 | }
|
---|
331 | typedef IAMovieSetup *PAMOVIESETUP;
|
---|
332 |
|
---|
333 | cpp_quote("")
|
---|
334 | typedef 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 |
|
---|
346 | cpp_quote("")
|
---|
347 | typedef 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 |
|
---|
359 | cpp_quote("")
|
---|
360 | [object, local, uuid (36b73880-c2c8-11cf-8b46-00805f6cef60), pointer_default (unique)]
|
---|
361 | interface 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 | }
|
---|
380 | typedef IMediaSeeking *PMEDIASEEKING;
|
---|
381 | cpp_quote("")
|
---|
382 | cpp_quote("enum tagAM_MEDIAEVENT_FLAGS {")
|
---|
383 | cpp_quote(" AM_MEDIAEVENT_NONOTIFY = 0x1")
|
---|
384 | cpp_quote("};")
|
---|
385 |
|
---|
386 | cpp_quote("")
|
---|
387 | cpp_quote("#endif")
|
---|