ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/amstream.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 69660 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /*** Autogenerated by WIDL 6.4 from include/amstream.idl - Do not edit ***/
2
3 #ifdef _WIN32
4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
6 #endif
7 #include <rpc.h>
8 #include <rpcndr.h>
9 #endif
10
11 #ifndef COM_NO_WINDOWS_H
12 #include <windows.h>
13 #include <ole2.h>
14 #endif
15
16 #ifndef __amstream_h__
17 #define __amstream_h__
18
19 /* Forward declarations */
20
21 #ifndef __IDirectShowStream_FWD_DEFINED__
22 #define __IDirectShowStream_FWD_DEFINED__
23 typedef interface IDirectShowStream IDirectShowStream;
24 #ifdef __cplusplus
25 interface IDirectShowStream;
26 #endif /* __cplusplus */
27 #endif
28
29 #ifndef __IAMMultiMediaStream_FWD_DEFINED__
30 #define __IAMMultiMediaStream_FWD_DEFINED__
31 typedef interface IAMMultiMediaStream IAMMultiMediaStream;
32 #ifdef __cplusplus
33 interface IAMMultiMediaStream;
34 #endif /* __cplusplus */
35 #endif
36
37 #ifndef __IAMMediaStream_FWD_DEFINED__
38 #define __IAMMediaStream_FWD_DEFINED__
39 typedef interface IAMMediaStream IAMMediaStream;
40 #ifdef __cplusplus
41 interface IAMMediaStream;
42 #endif /* __cplusplus */
43 #endif
44
45 #ifndef __IMediaStreamFilter_FWD_DEFINED__
46 #define __IMediaStreamFilter_FWD_DEFINED__
47 typedef interface IMediaStreamFilter IMediaStreamFilter;
48 #ifdef __cplusplus
49 interface IMediaStreamFilter;
50 #endif /* __cplusplus */
51 #endif
52
53 #ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
54 #define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
55 typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator;
56 #ifdef __cplusplus
57 interface IDirectDrawMediaSampleAllocator;
58 #endif /* __cplusplus */
59 #endif
60
61 #ifndef __IDirectDrawMediaSample_FWD_DEFINED__
62 #define __IDirectDrawMediaSample_FWD_DEFINED__
63 typedef interface IDirectDrawMediaSample IDirectDrawMediaSample;
64 #ifdef __cplusplus
65 interface IDirectDrawMediaSample;
66 #endif /* __cplusplus */
67 #endif
68
69 #ifndef __IAMMediaTypeStream_FWD_DEFINED__
70 #define __IAMMediaTypeStream_FWD_DEFINED__
71 typedef interface IAMMediaTypeStream IAMMediaTypeStream;
72 #ifdef __cplusplus
73 interface IAMMediaTypeStream;
74 #endif /* __cplusplus */
75 #endif
76
77 #ifndef __IAMMediaTypeSample_FWD_DEFINED__
78 #define __IAMMediaTypeSample_FWD_DEFINED__
79 typedef interface IAMMediaTypeSample IAMMediaTypeSample;
80 #ifdef __cplusplus
81 interface IAMMediaTypeSample;
82 #endif /* __cplusplus */
83 #endif
84
85 #ifndef __AMMultiMediaStream_FWD_DEFINED__
86 #define __AMMultiMediaStream_FWD_DEFINED__
87 #ifdef __cplusplus
88 typedef class AMMultiMediaStream AMMultiMediaStream;
89 #else
90 typedef struct AMMultiMediaStream AMMultiMediaStream;
91 #endif /* defined __cplusplus */
92 #endif /* defined __AMMultiMediaStream_FWD_DEFINED__ */
93
94 /* Headers for imported files */
95
96 #include <unknwn.h>
97 #include <mmstream.h>
98 #include <strmif.h>
99
100 #ifdef __cplusplus
101 extern "C" {
102 #endif
103
104 #include <ddraw.h>
105 #include <mmsystem.h>
106 #include <mmstream.h>
107 #include <ddstream.h>
108 #include <austream.h>
109 #if 0
110 #ifndef __IDirectDraw_FWD_DEFINED__
111 #define __IDirectDraw_FWD_DEFINED__
112 typedef interface IDirectDraw IDirectDraw;
113 #ifdef __cplusplus
114 interface IDirectDraw;
115 #endif /* __cplusplus */
116 #endif
117
118 #ifndef __IDirectDrawSurface_FWD_DEFINED__
119 #define __IDirectDrawSurface_FWD_DEFINED__
120 typedef interface IDirectDrawSurface IDirectDrawSurface;
121 #ifdef __cplusplus
122 interface IDirectDrawSurface;
123 #endif /* __cplusplus */
124 #endif
125
126 #endif
127 #ifndef __IAMMultiMediaStream_FWD_DEFINED__
128 #define __IAMMultiMediaStream_FWD_DEFINED__
129 typedef interface IAMMultiMediaStream IAMMultiMediaStream;
130 #ifdef __cplusplus
131 interface IAMMultiMediaStream;
132 #endif /* __cplusplus */
133 #endif
134
135 #ifndef __IAMMediaStream_FWD_DEFINED__
136 #define __IAMMediaStream_FWD_DEFINED__
137 typedef interface IAMMediaStream IAMMediaStream;
138 #ifdef __cplusplus
139 interface IAMMediaStream;
140 #endif /* __cplusplus */
141 #endif
142
143 #ifndef __IMediaStreamFilter_FWD_DEFINED__
144 #define __IMediaStreamFilter_FWD_DEFINED__
145 typedef interface IMediaStreamFilter IMediaStreamFilter;
146 #ifdef __cplusplus
147 interface IMediaStreamFilter;
148 #endif /* __cplusplus */
149 #endif
150
151 #ifndef __IAMMediaTypeStream_FWD_DEFINED__
152 #define __IAMMediaTypeStream_FWD_DEFINED__
153 typedef interface IAMMediaTypeStream IAMMediaTypeStream;
154 #ifdef __cplusplus
155 interface IAMMediaTypeStream;
156 #endif /* __cplusplus */
157 #endif
158
159 #ifndef __IAMMediaTypeSample_FWD_DEFINED__
160 #define __IAMMediaTypeSample_FWD_DEFINED__
161 typedef interface IAMMediaTypeSample IAMMediaTypeSample;
162 #ifdef __cplusplus
163 interface IAMMediaTypeSample;
164 #endif /* __cplusplus */
165 #endif
166
167 enum {
168 AMMSF_NOGRAPHTHREAD = 0x1
169 };
170 enum {
171 AMMSF_ADDDEFAULTRENDERER = 0x1,
172 AMMSF_CREATEPEER = 0x2,
173 AMMSF_STOPIFNOSAMPLES = 0x4,
174 AMMSF_NOSTALL = 0x8
175 };
176 enum {
177 AMMSF_RENDERTYPEMASK = 0x3,
178 AMMSF_RENDERTOEXISTING = 0x0,
179 AMMSF_RENDERALLSTREAMS = 0x1,
180 AMMSF_NORENDER = 0x2,
181 AMMSF_NOCLOCK = 0x4,
182 AMMSF_RUN = 0x8
183 };
184 typedef enum __WIDL_amstream_generated_name_00000019 {
185 Disabled = 0,
186 ReadData = 1,
187 RenderData = 2
188 } OUTPUT_STATE;
189 /*****************************************************************************
190 * IDirectShowStream interface
191 */
192 #ifndef __IDirectShowStream_INTERFACE_DEFINED__
193 #define __IDirectShowStream_INTERFACE_DEFINED__
194
195 DEFINE_GUID(IID_IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
196 #if defined(__cplusplus) && !defined(CINTERFACE)
197 MIDL_INTERFACE("7db01c96-c0c3-11d0-8ff1-00c04fd9189d")
198 IDirectShowStream : public IDispatch
199 {
200 virtual HRESULT STDMETHODCALLTYPE get_FileName(
201 BSTR *pVal) = 0;
202
203 virtual HRESULT STDMETHODCALLTYPE put_FileName(
204 BSTR newVal) = 0;
205
206 virtual HRESULT STDMETHODCALLTYPE get_Video(
207 OUTPUT_STATE *pVal) = 0;
208
209 virtual HRESULT STDMETHODCALLTYPE put_Video(
210 OUTPUT_STATE newVal) = 0;
211
212 virtual HRESULT STDMETHODCALLTYPE get_Audio(
213 OUTPUT_STATE *pVal) = 0;
214
215 virtual HRESULT STDMETHODCALLTYPE put_Audio(
216 OUTPUT_STATE newVal) = 0;
217
218 };
219 #ifdef __CRT_UUID_DECL
220 __CRT_UUID_DECL(IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
221 #endif
222 #else
223 typedef struct IDirectShowStreamVtbl {
224 BEGIN_INTERFACE
225
226 /*** IUnknown methods ***/
227 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
228 IDirectShowStream *This,
229 REFIID riid,
230 void **ppvObject);
231
232 ULONG (STDMETHODCALLTYPE *AddRef)(
233 IDirectShowStream *This);
234
235 ULONG (STDMETHODCALLTYPE *Release)(
236 IDirectShowStream *This);
237
238 /*** IDispatch methods ***/
239 HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
240 IDirectShowStream *This,
241 UINT *pctinfo);
242
243 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
244 IDirectShowStream *This,
245 UINT iTInfo,
246 LCID lcid,
247 ITypeInfo **ppTInfo);
248
249 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
250 IDirectShowStream *This,
251 REFIID riid,
252 LPOLESTR *rgszNames,
253 UINT cNames,
254 LCID lcid,
255 DISPID *rgDispId);
256
257 HRESULT (STDMETHODCALLTYPE *Invoke)(
258 IDirectShowStream *This,
259 DISPID dispIdMember,
260 REFIID riid,
261 LCID lcid,
262 WORD wFlags,
263 DISPPARAMS *pDispParams,
264 VARIANT *pVarResult,
265 EXCEPINFO *pExcepInfo,
266 UINT *puArgErr);
267
268 /*** IDirectShowStream methods ***/
269 HRESULT (STDMETHODCALLTYPE *get_FileName)(
270 IDirectShowStream *This,
271 BSTR *pVal);
272
273 HRESULT (STDMETHODCALLTYPE *put_FileName)(
274 IDirectShowStream *This,
275 BSTR newVal);
276
277 HRESULT (STDMETHODCALLTYPE *get_Video)(
278 IDirectShowStream *This,
279 OUTPUT_STATE *pVal);
280
281 HRESULT (STDMETHODCALLTYPE *put_Video)(
282 IDirectShowStream *This,
283 OUTPUT_STATE newVal);
284
285 HRESULT (STDMETHODCALLTYPE *get_Audio)(
286 IDirectShowStream *This,
287 OUTPUT_STATE *pVal);
288
289 HRESULT (STDMETHODCALLTYPE *put_Audio)(
290 IDirectShowStream *This,
291 OUTPUT_STATE newVal);
292
293 END_INTERFACE
294 } IDirectShowStreamVtbl;
295
296 interface IDirectShowStream {
297 CONST_VTBL IDirectShowStreamVtbl* lpVtbl;
298 };
299
300 #ifdef COBJMACROS
301 #ifndef WIDL_C_INLINE_WRAPPERS
302 /*** IUnknown methods ***/
303 #define IDirectShowStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
304 #define IDirectShowStream_AddRef(This) (This)->lpVtbl->AddRef(This)
305 #define IDirectShowStream_Release(This) (This)->lpVtbl->Release(This)
306 /*** IDispatch methods ***/
307 #define IDirectShowStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
308 #define IDirectShowStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
309 #define IDirectShowStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
310 #define IDirectShowStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
311 /*** IDirectShowStream methods ***/
312 #define IDirectShowStream_get_FileName(This,pVal) (This)->lpVtbl->get_FileName(This,pVal)
313 #define IDirectShowStream_put_FileName(This,newVal) (This)->lpVtbl->put_FileName(This,newVal)
314 #define IDirectShowStream_get_Video(This,pVal) (This)->lpVtbl->get_Video(This,pVal)
315 #define IDirectShowStream_put_Video(This,newVal) (This)->lpVtbl->put_Video(This,newVal)
316 #define IDirectShowStream_get_Audio(This,pVal) (This)->lpVtbl->get_Audio(This,pVal)
317 #define IDirectShowStream_put_Audio(This,newVal) (This)->lpVtbl->put_Audio(This,newVal)
318 #else
319 /*** IUnknown methods ***/
320 static FORCEINLINE HRESULT IDirectShowStream_QueryInterface(IDirectShowStream* This,REFIID riid,void **ppvObject) {
321 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
322 }
323 static FORCEINLINE ULONG IDirectShowStream_AddRef(IDirectShowStream* This) {
324 return This->lpVtbl->AddRef(This);
325 }
326 static FORCEINLINE ULONG IDirectShowStream_Release(IDirectShowStream* This) {
327 return This->lpVtbl->Release(This);
328 }
329 /*** IDispatch methods ***/
330 static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfoCount(IDirectShowStream* This,UINT *pctinfo) {
331 return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
332 }
333 static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfo(IDirectShowStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
334 return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
335 }
336 static FORCEINLINE HRESULT IDirectShowStream_GetIDsOfNames(IDirectShowStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
337 return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
338 }
339 static FORCEINLINE HRESULT IDirectShowStream_Invoke(IDirectShowStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
340 return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
341 }
342 /*** IDirectShowStream methods ***/
343 static FORCEINLINE HRESULT IDirectShowStream_get_FileName(IDirectShowStream* This,BSTR *pVal) {
344 return This->lpVtbl->get_FileName(This,pVal);
345 }
346 static FORCEINLINE HRESULT IDirectShowStream_put_FileName(IDirectShowStream* This,BSTR newVal) {
347 return This->lpVtbl->put_FileName(This,newVal);
348 }
349 static FORCEINLINE HRESULT IDirectShowStream_get_Video(IDirectShowStream* This,OUTPUT_STATE *pVal) {
350 return This->lpVtbl->get_Video(This,pVal);
351 }
352 static FORCEINLINE HRESULT IDirectShowStream_put_Video(IDirectShowStream* This,OUTPUT_STATE newVal) {
353 return This->lpVtbl->put_Video(This,newVal);
354 }
355 static FORCEINLINE HRESULT IDirectShowStream_get_Audio(IDirectShowStream* This,OUTPUT_STATE *pVal) {
356 return This->lpVtbl->get_Audio(This,pVal);
357 }
358 static FORCEINLINE HRESULT IDirectShowStream_put_Audio(IDirectShowStream* This,OUTPUT_STATE newVal) {
359 return This->lpVtbl->put_Audio(This,newVal);
360 }
361 #endif
362 #endif
363
364 #endif
365
366
367 #endif /* __IDirectShowStream_INTERFACE_DEFINED__ */
368
369 /*****************************************************************************
370 * IAMMultiMediaStream interface
371 */
372 #ifndef __IAMMultiMediaStream_INTERFACE_DEFINED__
373 #define __IAMMultiMediaStream_INTERFACE_DEFINED__
374
375 DEFINE_GUID(IID_IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
376 #if defined(__cplusplus) && !defined(CINTERFACE)
377 MIDL_INTERFACE("bebe595c-9a6f-11d0-8fde-00c04fd9189d")
378 IAMMultiMediaStream : public IMultiMediaStream
379 {
380 virtual HRESULT STDMETHODCALLTYPE Initialize(
381 STREAM_TYPE StreamType,
382 DWORD dwFlags,
383 IGraphBuilder *pFilterGraph) = 0;
384
385 virtual HRESULT STDMETHODCALLTYPE GetFilterGraph(
386 IGraphBuilder **ppGraphBuilder) = 0;
387
388 virtual HRESULT STDMETHODCALLTYPE GetFilter(
389 IMediaStreamFilter **ppFilter) = 0;
390
391 virtual HRESULT STDMETHODCALLTYPE AddMediaStream(
392 IUnknown *pStreamObject,
393 const MSPID *PurposeId,
394 DWORD dwFlags,
395 IMediaStream **ppNewStream) = 0;
396
397 virtual HRESULT STDMETHODCALLTYPE OpenFile(
398 LPCWSTR pszFileName,
399 DWORD dwFlags) = 0;
400
401 virtual HRESULT STDMETHODCALLTYPE OpenMoniker(
402 IBindCtx *pCtx,
403 IMoniker *pMoniker,
404 DWORD dwFlags) = 0;
405
406 virtual HRESULT STDMETHODCALLTYPE Render(
407 DWORD dwFlags) = 0;
408
409 };
410 #ifdef __CRT_UUID_DECL
411 __CRT_UUID_DECL(IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
412 #endif
413 #else
414 typedef struct IAMMultiMediaStreamVtbl {
415 BEGIN_INTERFACE
416
417 /*** IUnknown methods ***/
418 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
419 IAMMultiMediaStream *This,
420 REFIID riid,
421 void **ppvObject);
422
423 ULONG (STDMETHODCALLTYPE *AddRef)(
424 IAMMultiMediaStream *This);
425
426 ULONG (STDMETHODCALLTYPE *Release)(
427 IAMMultiMediaStream *This);
428
429 /*** IMultiMediaStream methods ***/
430 HRESULT (STDMETHODCALLTYPE *GetInformation)(
431 IAMMultiMediaStream *This,
432 DWORD *pdwFlags,
433 STREAM_TYPE *pStreamType);
434
435 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
436 IAMMultiMediaStream *This,
437 REFMSPID idPurpose,
438 IMediaStream **ppMediaStream);
439
440 HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)(
441 IAMMultiMediaStream *This,
442 LONG Index,
443 IMediaStream **ppMediaStream);
444
445 HRESULT (STDMETHODCALLTYPE *GetState)(
446 IAMMultiMediaStream *This,
447 STREAM_STATE *pCurrentState);
448
449 HRESULT (STDMETHODCALLTYPE *SetState)(
450 IAMMultiMediaStream *This,
451 STREAM_STATE NewState);
452
453 HRESULT (STDMETHODCALLTYPE *GetTime)(
454 IAMMultiMediaStream *This,
455 STREAM_TIME *pCurrentTime);
456
457 HRESULT (STDMETHODCALLTYPE *GetDuration)(
458 IAMMultiMediaStream *This,
459 STREAM_TIME *pDuration);
460
461 HRESULT (STDMETHODCALLTYPE *Seek)(
462 IAMMultiMediaStream *This,
463 STREAM_TIME SeekTime);
464
465 HRESULT (STDMETHODCALLTYPE *GetEndOfStreamEventHandle)(
466 IAMMultiMediaStream *This,
467 HANDLE *phEOS);
468
469 /*** IAMMultiMediaStream methods ***/
470 HRESULT (STDMETHODCALLTYPE *Initialize)(
471 IAMMultiMediaStream *This,
472 STREAM_TYPE StreamType,
473 DWORD dwFlags,
474 IGraphBuilder *pFilterGraph);
475
476 HRESULT (STDMETHODCALLTYPE *GetFilterGraph)(
477 IAMMultiMediaStream *This,
478 IGraphBuilder **ppGraphBuilder);
479
480 HRESULT (STDMETHODCALLTYPE *GetFilter)(
481 IAMMultiMediaStream *This,
482 IMediaStreamFilter **ppFilter);
483
484 HRESULT (STDMETHODCALLTYPE *AddMediaStream)(
485 IAMMultiMediaStream *This,
486 IUnknown *pStreamObject,
487 const MSPID *PurposeId,
488 DWORD dwFlags,
489 IMediaStream **ppNewStream);
490
491 HRESULT (STDMETHODCALLTYPE *OpenFile)(
492 IAMMultiMediaStream *This,
493 LPCWSTR pszFileName,
494 DWORD dwFlags);
495
496 HRESULT (STDMETHODCALLTYPE *OpenMoniker)(
497 IAMMultiMediaStream *This,
498 IBindCtx *pCtx,
499 IMoniker *pMoniker,
500 DWORD dwFlags);
501
502 HRESULT (STDMETHODCALLTYPE *Render)(
503 IAMMultiMediaStream *This,
504 DWORD dwFlags);
505
506 END_INTERFACE
507 } IAMMultiMediaStreamVtbl;
508
509 interface IAMMultiMediaStream {
510 CONST_VTBL IAMMultiMediaStreamVtbl* lpVtbl;
511 };
512
513 #ifdef COBJMACROS
514 #ifndef WIDL_C_INLINE_WRAPPERS
515 /*** IUnknown methods ***/
516 #define IAMMultiMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
517 #define IAMMultiMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This)
518 #define IAMMultiMediaStream_Release(This) (This)->lpVtbl->Release(This)
519 /*** IMultiMediaStream methods ***/
520 #define IAMMultiMediaStream_GetInformation(This,pdwFlags,pStreamType) (This)->lpVtbl->GetInformation(This,pdwFlags,pStreamType)
521 #define IAMMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream)
522 #define IAMMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream)
523 #define IAMMultiMediaStream_GetState(This,pCurrentState) (This)->lpVtbl->GetState(This,pCurrentState)
524 #define IAMMultiMediaStream_SetState(This,NewState) (This)->lpVtbl->SetState(This,NewState)
525 #define IAMMultiMediaStream_GetTime(This,pCurrentTime) (This)->lpVtbl->GetTime(This,pCurrentTime)
526 #define IAMMultiMediaStream_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration)
527 #define IAMMultiMediaStream_Seek(This,SeekTime) (This)->lpVtbl->Seek(This,SeekTime)
528 #define IAMMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS) (This)->lpVtbl->GetEndOfStreamEventHandle(This,phEOS)
529 /*** IAMMultiMediaStream methods ***/
530 #define IAMMultiMediaStream_Initialize(This,StreamType,dwFlags,pFilterGraph) (This)->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph)
531 #define IAMMultiMediaStream_GetFilterGraph(This,ppGraphBuilder) (This)->lpVtbl->GetFilterGraph(This,ppGraphBuilder)
532 #define IAMMultiMediaStream_GetFilter(This,ppFilter) (This)->lpVtbl->GetFilter(This,ppFilter)
533 #define IAMMultiMediaStream_AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream) (This)->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream)
534 #define IAMMultiMediaStream_OpenFile(This,pszFileName,dwFlags) (This)->lpVtbl->OpenFile(This,pszFileName,dwFlags)
535 #define IAMMultiMediaStream_OpenMoniker(This,pCtx,pMoniker,dwFlags) (This)->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags)
536 #define IAMMultiMediaStream_Render(This,dwFlags) (This)->lpVtbl->Render(This,dwFlags)
537 #else
538 /*** IUnknown methods ***/
539 static FORCEINLINE HRESULT IAMMultiMediaStream_QueryInterface(IAMMultiMediaStream* This,REFIID riid,void **ppvObject) {
540 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
541 }
542 static FORCEINLINE ULONG IAMMultiMediaStream_AddRef(IAMMultiMediaStream* This) {
543 return This->lpVtbl->AddRef(This);
544 }
545 static FORCEINLINE ULONG IAMMultiMediaStream_Release(IAMMultiMediaStream* This) {
546 return This->lpVtbl->Release(This);
547 }
548 /*** IMultiMediaStream methods ***/
549 static FORCEINLINE HRESULT IAMMultiMediaStream_GetInformation(IAMMultiMediaStream* This,DWORD *pdwFlags,STREAM_TYPE *pStreamType) {
550 return This->lpVtbl->GetInformation(This,pdwFlags,pStreamType);
551 }
552 static FORCEINLINE HRESULT IAMMultiMediaStream_GetMediaStream(IAMMultiMediaStream* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) {
553 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream);
554 }
555 static FORCEINLINE HRESULT IAMMultiMediaStream_EnumMediaStreams(IAMMultiMediaStream* This,LONG Index,IMediaStream **ppMediaStream) {
556 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream);
557 }
558 static FORCEINLINE HRESULT IAMMultiMediaStream_GetState(IAMMultiMediaStream* This,STREAM_STATE *pCurrentState) {
559 return This->lpVtbl->GetState(This,pCurrentState);
560 }
561 static FORCEINLINE HRESULT IAMMultiMediaStream_SetState(IAMMultiMediaStream* This,STREAM_STATE NewState) {
562 return This->lpVtbl->SetState(This,NewState);
563 }
564 static FORCEINLINE HRESULT IAMMultiMediaStream_GetTime(IAMMultiMediaStream* This,STREAM_TIME *pCurrentTime) {
565 return This->lpVtbl->GetTime(This,pCurrentTime);
566 }
567 static FORCEINLINE HRESULT IAMMultiMediaStream_GetDuration(IAMMultiMediaStream* This,STREAM_TIME *pDuration) {
568 return This->lpVtbl->GetDuration(This,pDuration);
569 }
570 static FORCEINLINE HRESULT IAMMultiMediaStream_Seek(IAMMultiMediaStream* This,STREAM_TIME SeekTime) {
571 return This->lpVtbl->Seek(This,SeekTime);
572 }
573 static FORCEINLINE HRESULT IAMMultiMediaStream_GetEndOfStreamEventHandle(IAMMultiMediaStream* This,HANDLE *phEOS) {
574 return This->lpVtbl->GetEndOfStreamEventHandle(This,phEOS);
575 }
576 /*** IAMMultiMediaStream methods ***/
577 static FORCEINLINE HRESULT IAMMultiMediaStream_Initialize(IAMMultiMediaStream* This,STREAM_TYPE StreamType,DWORD dwFlags,IGraphBuilder *pFilterGraph) {
578 return This->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph);
579 }
580 static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilterGraph(IAMMultiMediaStream* This,IGraphBuilder **ppGraphBuilder) {
581 return This->lpVtbl->GetFilterGraph(This,ppGraphBuilder);
582 }
583 static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilter(IAMMultiMediaStream* This,IMediaStreamFilter **ppFilter) {
584 return This->lpVtbl->GetFilter(This,ppFilter);
585 }
586 static FORCEINLINE HRESULT IAMMultiMediaStream_AddMediaStream(IAMMultiMediaStream* This,IUnknown *pStreamObject,const MSPID *PurposeId,DWORD dwFlags,IMediaStream **ppNewStream) {
587 return This->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream);
588 }
589 static FORCEINLINE HRESULT IAMMultiMediaStream_OpenFile(IAMMultiMediaStream* This,LPCWSTR pszFileName,DWORD dwFlags) {
590 return This->lpVtbl->OpenFile(This,pszFileName,dwFlags);
591 }
592 static FORCEINLINE HRESULT IAMMultiMediaStream_OpenMoniker(IAMMultiMediaStream* This,IBindCtx *pCtx,IMoniker *pMoniker,DWORD dwFlags) {
593 return This->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags);
594 }
595 static FORCEINLINE HRESULT IAMMultiMediaStream_Render(IAMMultiMediaStream* This,DWORD dwFlags) {
596 return This->lpVtbl->Render(This,dwFlags);
597 }
598 #endif
599 #endif
600
601 #endif
602
603
604 #endif /* __IAMMultiMediaStream_INTERFACE_DEFINED__ */
605
606 /*****************************************************************************
607 * IAMMediaStream interface
608 */
609 #ifndef __IAMMediaStream_INTERFACE_DEFINED__
610 #define __IAMMediaStream_INTERFACE_DEFINED__
611
612 DEFINE_GUID(IID_IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
613 #if defined(__cplusplus) && !defined(CINTERFACE)
614 MIDL_INTERFACE("bebe595d-9a6f-11d0-8fde-00c04fd9189d")
615 IAMMediaStream : public IMediaStream
616 {
617 virtual HRESULT STDMETHODCALLTYPE Initialize(
618 IUnknown *pSourceObject,
619 DWORD dwFlags,
620 REFMSPID PurposeId,
621 const STREAM_TYPE StreamType) = 0;
622
623 virtual HRESULT STDMETHODCALLTYPE SetState(
624 FILTER_STATE State) = 0;
625
626 virtual HRESULT STDMETHODCALLTYPE JoinAMMultiMediaStream(
627 IAMMultiMediaStream *pAMMultiMediaStream) = 0;
628
629 virtual HRESULT STDMETHODCALLTYPE JoinFilter(
630 IMediaStreamFilter *pMediaStreamFilter) = 0;
631
632 virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(
633 IFilterGraph *pFilterGraph) = 0;
634
635 };
636 #ifdef __CRT_UUID_DECL
637 __CRT_UUID_DECL(IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
638 #endif
639 #else
640 typedef struct IAMMediaStreamVtbl {
641 BEGIN_INTERFACE
642
643 /*** IUnknown methods ***/
644 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
645 IAMMediaStream *This,
646 REFIID riid,
647 void **ppvObject);
648
649 ULONG (STDMETHODCALLTYPE *AddRef)(
650 IAMMediaStream *This);
651
652 ULONG (STDMETHODCALLTYPE *Release)(
653 IAMMediaStream *This);
654
655 /*** IMediaStream methods ***/
656 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
657 IAMMediaStream *This,
658 IMultiMediaStream **ppMultiMediaStream);
659
660 HRESULT (STDMETHODCALLTYPE *GetInformation)(
661 IAMMediaStream *This,
662 MSPID *pPurposeId,
663 STREAM_TYPE *pType);
664
665 HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
666 IAMMediaStream *This,
667 IMediaStream *pStreamThatHasDesiredFormat,
668 DWORD dwFlags);
669
670 HRESULT (STDMETHODCALLTYPE *AllocateSample)(
671 IAMMediaStream *This,
672 DWORD dwFlags,
673 IStreamSample **ppSample);
674
675 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
676 IAMMediaStream *This,
677 IStreamSample *pExistingSample,
678 DWORD dwFlags,
679 IStreamSample **ppNewSample);
680
681 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
682 IAMMediaStream *This,
683 DWORD dwFlags);
684
685 /*** IAMMediaStream methods ***/
686 HRESULT (STDMETHODCALLTYPE *Initialize)(
687 IAMMediaStream *This,
688 IUnknown *pSourceObject,
689 DWORD dwFlags,
690 REFMSPID PurposeId,
691 const STREAM_TYPE StreamType);
692
693 HRESULT (STDMETHODCALLTYPE *SetState)(
694 IAMMediaStream *This,
695 FILTER_STATE State);
696
697 HRESULT (STDMETHODCALLTYPE *JoinAMMultiMediaStream)(
698 IAMMediaStream *This,
699 IAMMultiMediaStream *pAMMultiMediaStream);
700
701 HRESULT (STDMETHODCALLTYPE *JoinFilter)(
702 IAMMediaStream *This,
703 IMediaStreamFilter *pMediaStreamFilter);
704
705 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)(
706 IAMMediaStream *This,
707 IFilterGraph *pFilterGraph);
708
709 END_INTERFACE
710 } IAMMediaStreamVtbl;
711
712 interface IAMMediaStream {
713 CONST_VTBL IAMMediaStreamVtbl* lpVtbl;
714 };
715
716 #ifdef COBJMACROS
717 #ifndef WIDL_C_INLINE_WRAPPERS
718 /*** IUnknown methods ***/
719 #define IAMMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
720 #define IAMMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This)
721 #define IAMMediaStream_Release(This) (This)->lpVtbl->Release(This)
722 /*** IMediaStream methods ***/
723 #define IAMMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream)
724 #define IAMMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType)
725 #define IAMMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
726 #define IAMMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample)
727 #define IAMMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
728 #define IAMMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags)
729 /*** IAMMediaStream methods ***/
730 #define IAMMediaStream_Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType) (This)->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType)
731 #define IAMMediaStream_SetState(This,State) (This)->lpVtbl->SetState(This,State)
732 #define IAMMediaStream_JoinAMMultiMediaStream(This,pAMMultiMediaStream) (This)->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream)
733 #define IAMMediaStream_JoinFilter(This,pMediaStreamFilter) (This)->lpVtbl->JoinFilter(This,pMediaStreamFilter)
734 #define IAMMediaStream_JoinFilterGraph(This,pFilterGraph) (This)->lpVtbl->JoinFilterGraph(This,pFilterGraph)
735 #else
736 /*** IUnknown methods ***/
737 static FORCEINLINE HRESULT IAMMediaStream_QueryInterface(IAMMediaStream* This,REFIID riid,void **ppvObject) {
738 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
739 }
740 static FORCEINLINE ULONG IAMMediaStream_AddRef(IAMMediaStream* This) {
741 return This->lpVtbl->AddRef(This);
742 }
743 static FORCEINLINE ULONG IAMMediaStream_Release(IAMMediaStream* This) {
744 return This->lpVtbl->Release(This);
745 }
746 /*** IMediaStream methods ***/
747 static FORCEINLINE HRESULT IAMMediaStream_GetMultiMediaStream(IAMMediaStream* This,IMultiMediaStream **ppMultiMediaStream) {
748 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
749 }
750 static FORCEINLINE HRESULT IAMMediaStream_GetInformation(IAMMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
751 return This->lpVtbl->GetInformation(This,pPurposeId,pType);
752 }
753 static FORCEINLINE HRESULT IAMMediaStream_SetSameFormat(IAMMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
754 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
755 }
756 static FORCEINLINE HRESULT IAMMediaStream_AllocateSample(IAMMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) {
757 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
758 }
759 static FORCEINLINE HRESULT IAMMediaStream_CreateSharedSample(IAMMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
760 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
761 }
762 static FORCEINLINE HRESULT IAMMediaStream_SendEndOfStream(IAMMediaStream* This,DWORD dwFlags) {
763 return This->lpVtbl->SendEndOfStream(This,dwFlags);
764 }
765 /*** IAMMediaStream methods ***/
766 static FORCEINLINE HRESULT IAMMediaStream_Initialize(IAMMediaStream* This,IUnknown *pSourceObject,DWORD dwFlags,REFMSPID PurposeId,const STREAM_TYPE StreamType) {
767 return This->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType);
768 }
769 static FORCEINLINE HRESULT IAMMediaStream_SetState(IAMMediaStream* This,FILTER_STATE State) {
770 return This->lpVtbl->SetState(This,State);
771 }
772 static FORCEINLINE HRESULT IAMMediaStream_JoinAMMultiMediaStream(IAMMediaStream* This,IAMMultiMediaStream *pAMMultiMediaStream) {
773 return This->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream);
774 }
775 static FORCEINLINE HRESULT IAMMediaStream_JoinFilter(IAMMediaStream* This,IMediaStreamFilter *pMediaStreamFilter) {
776 return This->lpVtbl->JoinFilter(This,pMediaStreamFilter);
777 }
778 static FORCEINLINE HRESULT IAMMediaStream_JoinFilterGraph(IAMMediaStream* This,IFilterGraph *pFilterGraph) {
779 return This->lpVtbl->JoinFilterGraph(This,pFilterGraph);
780 }
781 #endif
782 #endif
783
784 #endif
785
786
787 #endif /* __IAMMediaStream_INTERFACE_DEFINED__ */
788
789 /*****************************************************************************
790 * IMediaStreamFilter interface
791 */
792 #ifndef __IMediaStreamFilter_INTERFACE_DEFINED__
793 #define __IMediaStreamFilter_INTERFACE_DEFINED__
794
795 DEFINE_GUID(IID_IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
796 #if defined(__cplusplus) && !defined(CINTERFACE)
797 MIDL_INTERFACE("bebe595e-9a6f-11d0-8fde-00c04fd9189d")
798 IMediaStreamFilter : public IBaseFilter
799 {
800 virtual HRESULT STDMETHODCALLTYPE AddMediaStream(
801 IAMMediaStream *pAMMediaStream) = 0;
802
803 virtual HRESULT STDMETHODCALLTYPE GetMediaStream(
804 REFMSPID idPurpose,
805 IMediaStream **ppMediaStream) = 0;
806
807 virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams(
808 LONG Index,
809 IMediaStream **ppMediaStream) = 0;
810
811 virtual HRESULT STDMETHODCALLTYPE SupportSeeking(
812 WINBOOL bRenderer) = 0;
813
814 virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime(
815 REFERENCE_TIME *pTime) = 0;
816
817 virtual HRESULT STDMETHODCALLTYPE GetCurrentStreamTime(
818 REFERENCE_TIME *pCurrentStreamTime) = 0;
819
820 virtual HRESULT STDMETHODCALLTYPE WaitUntil(
821 REFERENCE_TIME WaitStreamTime) = 0;
822
823 virtual HRESULT STDMETHODCALLTYPE Flush(
824 WINBOOL bCancelEOS) = 0;
825
826 virtual HRESULT STDMETHODCALLTYPE EndOfStream(
827 ) = 0;
828
829 };
830 #ifdef __CRT_UUID_DECL
831 __CRT_UUID_DECL(IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
832 #endif
833 #else
834 typedef struct IMediaStreamFilterVtbl {
835 BEGIN_INTERFACE
836
837 /*** IUnknown methods ***/
838 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
839 IMediaStreamFilter *This,
840 REFIID riid,
841 void **ppvObject);
842
843 ULONG (STDMETHODCALLTYPE *AddRef)(
844 IMediaStreamFilter *This);
845
846 ULONG (STDMETHODCALLTYPE *Release)(
847 IMediaStreamFilter *This);
848
849 /*** IPersist methods ***/
850 HRESULT (STDMETHODCALLTYPE *GetClassID)(
851 IMediaStreamFilter *This,
852 CLSID *pClassID);
853
854 /*** IMediaFilter methods ***/
855 HRESULT (STDMETHODCALLTYPE *Stop)(
856 IMediaStreamFilter *This);
857
858 HRESULT (STDMETHODCALLTYPE *Pause)(
859 IMediaStreamFilter *This);
860
861 HRESULT (STDMETHODCALLTYPE *Run)(
862 IMediaStreamFilter *This,
863 REFERENCE_TIME tStart);
864
865 HRESULT (STDMETHODCALLTYPE *GetState)(
866 IMediaStreamFilter *This,
867 DWORD dwMilliSecsTimeout,
868 FILTER_STATE *State);
869
870 HRESULT (STDMETHODCALLTYPE *SetSyncSource)(
871 IMediaStreamFilter *This,
872 IReferenceClock *pClock);
873
874 HRESULT (STDMETHODCALLTYPE *GetSyncSource)(
875 IMediaStreamFilter *This,
876 IReferenceClock **pClock);
877
878 /*** IBaseFilter methods ***/
879 HRESULT (STDMETHODCALLTYPE *EnumPins)(
880 IMediaStreamFilter *This,
881 IEnumPins **ppEnum);
882
883 HRESULT (STDMETHODCALLTYPE *FindPin)(
884 IMediaStreamFilter *This,
885 LPCWSTR Id,
886 IPin **ppPin);
887
888 HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)(
889 IMediaStreamFilter *This,
890 FILTER_INFO *pInfo);
891
892 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)(
893 IMediaStreamFilter *This,
894 IFilterGraph *pGraph,
895 LPCWSTR pName);
896
897 HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)(
898 IMediaStreamFilter *This,
899 LPWSTR *pVendorInfo);
900
901 /*** IMediaStreamFilter methods ***/
902 HRESULT (STDMETHODCALLTYPE *AddMediaStream)(
903 IMediaStreamFilter *This,
904 IAMMediaStream *pAMMediaStream);
905
906 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
907 IMediaStreamFilter *This,
908 REFMSPID idPurpose,
909 IMediaStream **ppMediaStream);
910
911 HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)(
912 IMediaStreamFilter *This,
913 LONG Index,
914 IMediaStream **ppMediaStream);
915
916 HRESULT (STDMETHODCALLTYPE *SupportSeeking)(
917 IMediaStreamFilter *This,
918 WINBOOL bRenderer);
919
920 HRESULT (STDMETHODCALLTYPE *ReferenceTimeToStreamTime)(
921 IMediaStreamFilter *This,
922 REFERENCE_TIME *pTime);
923
924 HRESULT (STDMETHODCALLTYPE *GetCurrentStreamTime)(
925 IMediaStreamFilter *This,
926 REFERENCE_TIME *pCurrentStreamTime);
927
928 HRESULT (STDMETHODCALLTYPE *WaitUntil)(
929 IMediaStreamFilter *This,
930 REFERENCE_TIME WaitStreamTime);
931
932 HRESULT (STDMETHODCALLTYPE *Flush)(
933 IMediaStreamFilter *This,
934 WINBOOL bCancelEOS);
935
936 HRESULT (STDMETHODCALLTYPE *EndOfStream)(
937 IMediaStreamFilter *This);
938
939 END_INTERFACE
940 } IMediaStreamFilterVtbl;
941
942 interface IMediaStreamFilter {
943 CONST_VTBL IMediaStreamFilterVtbl* lpVtbl;
944 };
945
946 #ifdef COBJMACROS
947 #ifndef WIDL_C_INLINE_WRAPPERS
948 /*** IUnknown methods ***/
949 #define IMediaStreamFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
950 #define IMediaStreamFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
951 #define IMediaStreamFilter_Release(This) (This)->lpVtbl->Release(This)
952 /*** IPersist methods ***/
953 #define IMediaStreamFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
954 /*** IMediaFilter methods ***/
955 #define IMediaStreamFilter_Stop(This) (This)->lpVtbl->Stop(This)
956 #define IMediaStreamFilter_Pause(This) (This)->lpVtbl->Pause(This)
957 #define IMediaStreamFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
958 #define IMediaStreamFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
959 #define IMediaStreamFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
960 #define IMediaStreamFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
961 /*** IBaseFilter methods ***/
962 #define IMediaStreamFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum)
963 #define IMediaStreamFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin)
964 #define IMediaStreamFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo)
965 #define IMediaStreamFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName)
966 #define IMediaStreamFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo)
967 /*** IMediaStreamFilter methods ***/
968 #define IMediaStreamFilter_AddMediaStream(This,pAMMediaStream) (This)->lpVtbl->AddMediaStream(This,pAMMediaStream)
969 #define IMediaStreamFilter_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream)
970 #define IMediaStreamFilter_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream)
971 #define IMediaStreamFilter_SupportSeeking(This,bRenderer) (This)->lpVtbl->SupportSeeking(This,bRenderer)
972 #define IMediaStreamFilter_ReferenceTimeToStreamTime(This,pTime) (This)->lpVtbl->ReferenceTimeToStreamTime(This,pTime)
973 #define IMediaStreamFilter_GetCurrentStreamTime(This,pCurrentStreamTime) (This)->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime)
974 #define IMediaStreamFilter_WaitUntil(This,WaitStreamTime) (This)->lpVtbl->WaitUntil(This,WaitStreamTime)
975 #define IMediaStreamFilter_Flush(This,bCancelEOS) (This)->lpVtbl->Flush(This,bCancelEOS)
976 #define IMediaStreamFilter_EndOfStream(This) (This)->lpVtbl->EndOfStream(This)
977 #else
978 /*** IUnknown methods ***/
979 static FORCEINLINE HRESULT IMediaStreamFilter_QueryInterface(IMediaStreamFilter* This,REFIID riid,void **ppvObject) {
980 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
981 }
982 static FORCEINLINE ULONG IMediaStreamFilter_AddRef(IMediaStreamFilter* This) {
983 return This->lpVtbl->AddRef(This);
984 }
985 static FORCEINLINE ULONG IMediaStreamFilter_Release(IMediaStreamFilter* This) {
986 return This->lpVtbl->Release(This);
987 }
988 /*** IPersist methods ***/
989 static FORCEINLINE HRESULT IMediaStreamFilter_GetClassID(IMediaStreamFilter* This,CLSID *pClassID) {
990 return This->lpVtbl->GetClassID(This,pClassID);
991 }
992 /*** IMediaFilter methods ***/
993 static FORCEINLINE HRESULT IMediaStreamFilter_Stop(IMediaStreamFilter* This) {
994 return This->lpVtbl->Stop(This);
995 }
996 static FORCEINLINE HRESULT IMediaStreamFilter_Pause(IMediaStreamFilter* This) {
997 return This->lpVtbl->Pause(This);
998 }
999 static FORCEINLINE HRESULT IMediaStreamFilter_Run(IMediaStreamFilter* This,REFERENCE_TIME tStart) {
1000 return This->lpVtbl->Run(This,tStart);
1001 }
1002 static FORCEINLINE HRESULT IMediaStreamFilter_GetState(IMediaStreamFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) {
1003 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State);
1004 }
1005 static FORCEINLINE HRESULT IMediaStreamFilter_SetSyncSource(IMediaStreamFilter* This,IReferenceClock *pClock) {
1006 return This->lpVtbl->SetSyncSource(This,pClock);
1007 }
1008 static FORCEINLINE HRESULT IMediaStreamFilter_GetSyncSource(IMediaStreamFilter* This,IReferenceClock **pClock) {
1009 return This->lpVtbl->GetSyncSource(This,pClock);
1010 }
1011 /*** IBaseFilter methods ***/
1012 static FORCEINLINE HRESULT IMediaStreamFilter_EnumPins(IMediaStreamFilter* This,IEnumPins **ppEnum) {
1013 return This->lpVtbl->EnumPins(This,ppEnum);
1014 }
1015 static FORCEINLINE HRESULT IMediaStreamFilter_FindPin(IMediaStreamFilter* This,LPCWSTR Id,IPin **ppPin) {
1016 return This->lpVtbl->FindPin(This,Id,ppPin);
1017 }
1018 static FORCEINLINE HRESULT IMediaStreamFilter_QueryFilterInfo(IMediaStreamFilter* This,FILTER_INFO *pInfo) {
1019 return This->lpVtbl->QueryFilterInfo(This,pInfo);
1020 }
1021 static FORCEINLINE HRESULT IMediaStreamFilter_JoinFilterGraph(IMediaStreamFilter* This,IFilterGraph *pGraph,LPCWSTR pName) {
1022 return This->lpVtbl->JoinFilterGraph(This,pGraph,pName);
1023 }
1024 static FORCEINLINE HRESULT IMediaStreamFilter_QueryVendorInfo(IMediaStreamFilter* This,LPWSTR *pVendorInfo) {
1025 return This->lpVtbl->QueryVendorInfo(This,pVendorInfo);
1026 }
1027 /*** IMediaStreamFilter methods ***/
1028 static FORCEINLINE HRESULT IMediaStreamFilter_AddMediaStream(IMediaStreamFilter* This,IAMMediaStream *pAMMediaStream) {
1029 return This->lpVtbl->AddMediaStream(This,pAMMediaStream);
1030 }
1031 static FORCEINLINE HRESULT IMediaStreamFilter_GetMediaStream(IMediaStreamFilter* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) {
1032 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream);
1033 }
1034 static FORCEINLINE HRESULT IMediaStreamFilter_EnumMediaStreams(IMediaStreamFilter* This,LONG Index,IMediaStream **ppMediaStream) {
1035 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream);
1036 }
1037 static FORCEINLINE HRESULT IMediaStreamFilter_SupportSeeking(IMediaStreamFilter* This,WINBOOL bRenderer) {
1038 return This->lpVtbl->SupportSeeking(This,bRenderer);
1039 }
1040 static FORCEINLINE HRESULT IMediaStreamFilter_ReferenceTimeToStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pTime) {
1041 return This->lpVtbl->ReferenceTimeToStreamTime(This,pTime);
1042 }
1043 static FORCEINLINE HRESULT IMediaStreamFilter_GetCurrentStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pCurrentStreamTime) {
1044 return This->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime);
1045 }
1046 static FORCEINLINE HRESULT IMediaStreamFilter_WaitUntil(IMediaStreamFilter* This,REFERENCE_TIME WaitStreamTime) {
1047 return This->lpVtbl->WaitUntil(This,WaitStreamTime);
1048 }
1049 static FORCEINLINE HRESULT IMediaStreamFilter_Flush(IMediaStreamFilter* This,WINBOOL bCancelEOS) {
1050 return This->lpVtbl->Flush(This,bCancelEOS);
1051 }
1052 static FORCEINLINE HRESULT IMediaStreamFilter_EndOfStream(IMediaStreamFilter* This) {
1053 return This->lpVtbl->EndOfStream(This);
1054 }
1055 #endif
1056 #endif
1057
1058 #endif
1059
1060
1061 #endif /* __IMediaStreamFilter_INTERFACE_DEFINED__ */
1062
1063 /*****************************************************************************
1064 * IDirectDrawMediaSampleAllocator interface
1065 */
1066 #ifndef __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
1067 #define __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
1068
1069 DEFINE_GUID(IID_IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
1070 #if defined(__cplusplus) && !defined(CINTERFACE)
1071 MIDL_INTERFACE("ab6b4afc-f6e4-11d0-900d-00c04fd9189d")
1072 IDirectDrawMediaSampleAllocator : public IUnknown
1073 {
1074 virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
1075 IDirectDraw **ppDirectDraw) = 0;
1076
1077 };
1078 #ifdef __CRT_UUID_DECL
1079 __CRT_UUID_DECL(IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
1080 #endif
1081 #else
1082 typedef struct IDirectDrawMediaSampleAllocatorVtbl {
1083 BEGIN_INTERFACE
1084
1085 /*** IUnknown methods ***/
1086 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1087 IDirectDrawMediaSampleAllocator *This,
1088 REFIID riid,
1089 void **ppvObject);
1090
1091 ULONG (STDMETHODCALLTYPE *AddRef)(
1092 IDirectDrawMediaSampleAllocator *This);
1093
1094 ULONG (STDMETHODCALLTYPE *Release)(
1095 IDirectDrawMediaSampleAllocator *This);
1096
1097 /*** IDirectDrawMediaSampleAllocator methods ***/
1098 HRESULT (STDMETHODCALLTYPE *GetDirectDraw)(
1099 IDirectDrawMediaSampleAllocator *This,
1100 IDirectDraw **ppDirectDraw);
1101
1102 END_INTERFACE
1103 } IDirectDrawMediaSampleAllocatorVtbl;
1104
1105 interface IDirectDrawMediaSampleAllocator {
1106 CONST_VTBL IDirectDrawMediaSampleAllocatorVtbl* lpVtbl;
1107 };
1108
1109 #ifdef COBJMACROS
1110 #ifndef WIDL_C_INLINE_WRAPPERS
1111 /*** IUnknown methods ***/
1112 #define IDirectDrawMediaSampleAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1113 #define IDirectDrawMediaSampleAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
1114 #define IDirectDrawMediaSampleAllocator_Release(This) (This)->lpVtbl->Release(This)
1115 /*** IDirectDrawMediaSampleAllocator methods ***/
1116 #define IDirectDrawMediaSampleAllocator_GetDirectDraw(This,ppDirectDraw) (This)->lpVtbl->GetDirectDraw(This,ppDirectDraw)
1117 #else
1118 /*** IUnknown methods ***/
1119 static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_QueryInterface(IDirectDrawMediaSampleAllocator* This,REFIID riid,void **ppvObject) {
1120 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1121 }
1122 static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_AddRef(IDirectDrawMediaSampleAllocator* This) {
1123 return This->lpVtbl->AddRef(This);
1124 }
1125 static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_Release(IDirectDrawMediaSampleAllocator* This) {
1126 return This->lpVtbl->Release(This);
1127 }
1128 /*** IDirectDrawMediaSampleAllocator methods ***/
1129 static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_GetDirectDraw(IDirectDrawMediaSampleAllocator* This,IDirectDraw **ppDirectDraw) {
1130 return This->lpVtbl->GetDirectDraw(This,ppDirectDraw);
1131 }
1132 #endif
1133 #endif
1134
1135 #endif
1136
1137
1138 #endif /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */
1139
1140 /*****************************************************************************
1141 * IDirectDrawMediaSample interface
1142 */
1143 #ifndef __IDirectDrawMediaSample_INTERFACE_DEFINED__
1144 #define __IDirectDrawMediaSample_INTERFACE_DEFINED__
1145
1146 DEFINE_GUID(IID_IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
1147 #if defined(__cplusplus) && !defined(CINTERFACE)
1148 MIDL_INTERFACE("ab6b4afe-f6e4-11d0-900d-00c04fd9189d")
1149 IDirectDrawMediaSample : public IUnknown
1150 {
1151 virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock(
1152 IDirectDrawSurface **ppDirectDrawSurface,
1153 RECT *pRect) = 0;
1154
1155 virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer(
1156 ) = 0;
1157
1158 };
1159 #ifdef __CRT_UUID_DECL
1160 __CRT_UUID_DECL(IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
1161 #endif
1162 #else
1163 typedef struct IDirectDrawMediaSampleVtbl {
1164 BEGIN_INTERFACE
1165
1166 /*** IUnknown methods ***/
1167 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1168 IDirectDrawMediaSample *This,
1169 REFIID riid,
1170 void **ppvObject);
1171
1172 ULONG (STDMETHODCALLTYPE *AddRef)(
1173 IDirectDrawMediaSample *This);
1174
1175 ULONG (STDMETHODCALLTYPE *Release)(
1176 IDirectDrawMediaSample *This);
1177
1178 /*** IDirectDrawMediaSample methods ***/
1179 HRESULT (STDMETHODCALLTYPE *GetSurfaceAndReleaseLock)(
1180 IDirectDrawMediaSample *This,
1181 IDirectDrawSurface **ppDirectDrawSurface,
1182 RECT *pRect);
1183
1184 HRESULT (STDMETHODCALLTYPE *LockMediaSamplePointer)(
1185 IDirectDrawMediaSample *This);
1186
1187 END_INTERFACE
1188 } IDirectDrawMediaSampleVtbl;
1189
1190 interface IDirectDrawMediaSample {
1191 CONST_VTBL IDirectDrawMediaSampleVtbl* lpVtbl;
1192 };
1193
1194 #ifdef COBJMACROS
1195 #ifndef WIDL_C_INLINE_WRAPPERS
1196 /*** IUnknown methods ***/
1197 #define IDirectDrawMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1198 #define IDirectDrawMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This)
1199 #define IDirectDrawMediaSample_Release(This) (This)->lpVtbl->Release(This)
1200 /*** IDirectDrawMediaSample methods ***/
1201 #define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect) (This)->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect)
1202 #define IDirectDrawMediaSample_LockMediaSamplePointer(This) (This)->lpVtbl->LockMediaSamplePointer(This)
1203 #else
1204 /*** IUnknown methods ***/
1205 static FORCEINLINE HRESULT IDirectDrawMediaSample_QueryInterface(IDirectDrawMediaSample* This,REFIID riid,void **ppvObject) {
1206 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1207 }
1208 static FORCEINLINE ULONG IDirectDrawMediaSample_AddRef(IDirectDrawMediaSample* This) {
1209 return This->lpVtbl->AddRef(This);
1210 }
1211 static FORCEINLINE ULONG IDirectDrawMediaSample_Release(IDirectDrawMediaSample* This) {
1212 return This->lpVtbl->Release(This);
1213 }
1214 /*** IDirectDrawMediaSample methods ***/
1215 static FORCEINLINE HRESULT IDirectDrawMediaSample_GetSurfaceAndReleaseLock(IDirectDrawMediaSample* This,IDirectDrawSurface **ppDirectDrawSurface,RECT *pRect) {
1216 return This->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect);
1217 }
1218 static FORCEINLINE HRESULT IDirectDrawMediaSample_LockMediaSamplePointer(IDirectDrawMediaSample* This) {
1219 return This->lpVtbl->LockMediaSamplePointer(This);
1220 }
1221 #endif
1222 #endif
1223
1224 #endif
1225
1226
1227 #endif /* __IDirectDrawMediaSample_INTERFACE_DEFINED__ */
1228
1229 /*****************************************************************************
1230 * IAMMediaTypeStream interface
1231 */
1232 #ifndef __IAMMediaTypeStream_INTERFACE_DEFINED__
1233 #define __IAMMediaTypeStream_INTERFACE_DEFINED__
1234
1235 DEFINE_GUID(IID_IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
1236 #if defined(__cplusplus) && !defined(CINTERFACE)
1237 MIDL_INTERFACE("ab6b4afa-f6e4-11d0-900d-00c04fd9189d")
1238 IAMMediaTypeStream : public IMediaStream
1239 {
1240 virtual HRESULT STDMETHODCALLTYPE GetFormat(
1241 AM_MEDIA_TYPE *pMediaType,
1242 DWORD dwFlags) = 0;
1243
1244 virtual HRESULT STDMETHODCALLTYPE SetFormat(
1245 AM_MEDIA_TYPE *pMediaType,
1246 DWORD dwFlags) = 0;
1247
1248 virtual HRESULT STDMETHODCALLTYPE CreateSample(
1249 LONG lSampleSize,
1250 BYTE *pbBuffer,
1251 DWORD dwFlags,
1252 IUnknown *pUnkOuter,
1253 IAMMediaTypeSample **ppAMMediaTypeSample) = 0;
1254
1255 virtual HRESULT STDMETHODCALLTYPE GetStreamAllocatorRequirements(
1256 ALLOCATOR_PROPERTIES *pProps) = 0;
1257
1258 virtual HRESULT STDMETHODCALLTYPE SetStreamAllocatorRequirements(
1259 ALLOCATOR_PROPERTIES *pProps) = 0;
1260
1261 };
1262 #ifdef __CRT_UUID_DECL
1263 __CRT_UUID_DECL(IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
1264 #endif
1265 #else
1266 typedef struct IAMMediaTypeStreamVtbl {
1267 BEGIN_INTERFACE
1268
1269 /*** IUnknown methods ***/
1270 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1271 IAMMediaTypeStream *This,
1272 REFIID riid,
1273 void **ppvObject);
1274
1275 ULONG (STDMETHODCALLTYPE *AddRef)(
1276 IAMMediaTypeStream *This);
1277
1278 ULONG (STDMETHODCALLTYPE *Release)(
1279 IAMMediaTypeStream *This);
1280
1281 /*** IMediaStream methods ***/
1282 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
1283 IAMMediaTypeStream *This,
1284 IMultiMediaStream **ppMultiMediaStream);
1285
1286 HRESULT (STDMETHODCALLTYPE *GetInformation)(
1287 IAMMediaTypeStream *This,
1288 MSPID *pPurposeId,
1289 STREAM_TYPE *pType);
1290
1291 HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
1292 IAMMediaTypeStream *This,
1293 IMediaStream *pStreamThatHasDesiredFormat,
1294 DWORD dwFlags);
1295
1296 HRESULT (STDMETHODCALLTYPE *AllocateSample)(
1297 IAMMediaTypeStream *This,
1298 DWORD dwFlags,
1299 IStreamSample **ppSample);
1300
1301 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
1302 IAMMediaTypeStream *This,
1303 IStreamSample *pExistingSample,
1304 DWORD dwFlags,
1305 IStreamSample **ppNewSample);
1306
1307 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
1308 IAMMediaTypeStream *This,
1309 DWORD dwFlags);
1310
1311 /*** IAMMediaTypeStream methods ***/
1312 HRESULT (STDMETHODCALLTYPE *GetFormat)(
1313 IAMMediaTypeStream *This,
1314 AM_MEDIA_TYPE *pMediaType,
1315 DWORD dwFlags);
1316
1317 HRESULT (STDMETHODCALLTYPE *SetFormat)(
1318 IAMMediaTypeStream *This,
1319 AM_MEDIA_TYPE *pMediaType,
1320 DWORD dwFlags);
1321
1322 HRESULT (STDMETHODCALLTYPE *CreateSample)(
1323 IAMMediaTypeStream *This,
1324 LONG lSampleSize,
1325 BYTE *pbBuffer,
1326 DWORD dwFlags,
1327 IUnknown *pUnkOuter,
1328 IAMMediaTypeSample **ppAMMediaTypeSample);
1329
1330 HRESULT (STDMETHODCALLTYPE *GetStreamAllocatorRequirements)(
1331 IAMMediaTypeStream *This,
1332 ALLOCATOR_PROPERTIES *pProps);
1333
1334 HRESULT (STDMETHODCALLTYPE *SetStreamAllocatorRequirements)(
1335 IAMMediaTypeStream *This,
1336 ALLOCATOR_PROPERTIES *pProps);
1337
1338 END_INTERFACE
1339 } IAMMediaTypeStreamVtbl;
1340
1341 interface IAMMediaTypeStream {
1342 CONST_VTBL IAMMediaTypeStreamVtbl* lpVtbl;
1343 };
1344
1345 #ifdef COBJMACROS
1346 #ifndef WIDL_C_INLINE_WRAPPERS
1347 /*** IUnknown methods ***/
1348 #define IAMMediaTypeStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1349 #define IAMMediaTypeStream_AddRef(This) (This)->lpVtbl->AddRef(This)
1350 #define IAMMediaTypeStream_Release(This) (This)->lpVtbl->Release(This)
1351 /*** IMediaStream methods ***/
1352 #define IAMMediaTypeStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream)
1353 #define IAMMediaTypeStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType)
1354 #define IAMMediaTypeStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
1355 #define IAMMediaTypeStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample)
1356 #define IAMMediaTypeStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
1357 #define IAMMediaTypeStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags)
1358 /*** IAMMediaTypeStream methods ***/
1359 #define IAMMediaTypeStream_GetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->GetFormat(This,pMediaType,dwFlags)
1360 #define IAMMediaTypeStream_SetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->SetFormat(This,pMediaType,dwFlags)
1361 #define IAMMediaTypeStream_CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample) (This)->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample)
1362 #define IAMMediaTypeStream_GetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->GetStreamAllocatorRequirements(This,pProps)
1363 #define IAMMediaTypeStream_SetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->SetStreamAllocatorRequirements(This,pProps)
1364 #else
1365 /*** IUnknown methods ***/
1366 static FORCEINLINE HRESULT IAMMediaTypeStream_QueryInterface(IAMMediaTypeStream* This,REFIID riid,void **ppvObject) {
1367 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1368 }
1369 static FORCEINLINE ULONG IAMMediaTypeStream_AddRef(IAMMediaTypeStream* This) {
1370 return This->lpVtbl->AddRef(This);
1371 }
1372 static FORCEINLINE ULONG IAMMediaTypeStream_Release(IAMMediaTypeStream* This) {
1373 return This->lpVtbl->Release(This);
1374 }
1375 /*** IMediaStream methods ***/
1376 static FORCEINLINE HRESULT IAMMediaTypeStream_GetMultiMediaStream(IAMMediaTypeStream* This,IMultiMediaStream **ppMultiMediaStream) {
1377 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
1378 }
1379 static FORCEINLINE HRESULT IAMMediaTypeStream_GetInformation(IAMMediaTypeStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
1380 return This->lpVtbl->GetInformation(This,pPurposeId,pType);
1381 }
1382 static FORCEINLINE HRESULT IAMMediaTypeStream_SetSameFormat(IAMMediaTypeStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
1383 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
1384 }
1385 static FORCEINLINE HRESULT IAMMediaTypeStream_AllocateSample(IAMMediaTypeStream* This,DWORD dwFlags,IStreamSample **ppSample) {
1386 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
1387 }
1388 static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSharedSample(IAMMediaTypeStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
1389 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
1390 }
1391 static FORCEINLINE HRESULT IAMMediaTypeStream_SendEndOfStream(IAMMediaTypeStream* This,DWORD dwFlags) {
1392 return This->lpVtbl->SendEndOfStream(This,dwFlags);
1393 }
1394 /*** IAMMediaTypeStream methods ***/
1395 static FORCEINLINE HRESULT IAMMediaTypeStream_GetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) {
1396 return This->lpVtbl->GetFormat(This,pMediaType,dwFlags);
1397 }
1398 static FORCEINLINE HRESULT IAMMediaTypeStream_SetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) {
1399 return This->lpVtbl->SetFormat(This,pMediaType,dwFlags);
1400 }
1401 static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSample(IAMMediaTypeStream* This,LONG lSampleSize,BYTE *pbBuffer,DWORD dwFlags,IUnknown *pUnkOuter,IAMMediaTypeSample **ppAMMediaTypeSample) {
1402 return This->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample);
1403 }
1404 static FORCEINLINE HRESULT IAMMediaTypeStream_GetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) {
1405 return This->lpVtbl->GetStreamAllocatorRequirements(This,pProps);
1406 }
1407 static FORCEINLINE HRESULT IAMMediaTypeStream_SetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) {
1408 return This->lpVtbl->SetStreamAllocatorRequirements(This,pProps);
1409 }
1410 #endif
1411 #endif
1412
1413 #endif
1414
1415
1416 #endif /* __IAMMediaTypeStream_INTERFACE_DEFINED__ */
1417
1418 /*****************************************************************************
1419 * IAMMediaTypeSample interface
1420 */
1421 #ifndef __IAMMediaTypeSample_INTERFACE_DEFINED__
1422 #define __IAMMediaTypeSample_INTERFACE_DEFINED__
1423
1424 DEFINE_GUID(IID_IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
1425 #if defined(__cplusplus) && !defined(CINTERFACE)
1426 MIDL_INTERFACE("ab6b4afb-f6e4-11d0-900d-00c04fd9189d")
1427 IAMMediaTypeSample : public IStreamSample
1428 {
1429 virtual HRESULT STDMETHODCALLTYPE SetPointer(
1430 BYTE *pBuffer,
1431 LONG lSize) = 0;
1432
1433 virtual HRESULT STDMETHODCALLTYPE GetPointer(
1434 BYTE **ppBuffer) = 0;
1435
1436 virtual LONG STDMETHODCALLTYPE GetSize(
1437 ) = 0;
1438
1439 virtual HRESULT STDMETHODCALLTYPE GetTime(
1440 REFERENCE_TIME *pTimeStart,
1441 REFERENCE_TIME *pTimeEnd) = 0;
1442
1443 virtual HRESULT STDMETHODCALLTYPE SetTime(
1444 REFERENCE_TIME *pTimeStart,
1445 REFERENCE_TIME *pTimeEnd) = 0;
1446
1447 virtual HRESULT STDMETHODCALLTYPE IsSyncPoint(
1448 ) = 0;
1449
1450 virtual HRESULT STDMETHODCALLTYPE SetSyncPoint(
1451 WINBOOL bIsSyncPoint) = 0;
1452
1453 virtual HRESULT STDMETHODCALLTYPE IsPreroll(
1454 ) = 0;
1455
1456 virtual HRESULT STDMETHODCALLTYPE SetPreroll(
1457 WINBOOL bIsPreroll) = 0;
1458
1459 virtual LONG STDMETHODCALLTYPE GetActualDataLength(
1460 ) = 0;
1461
1462 virtual HRESULT STDMETHODCALLTYPE SetActualDataLength(
1463 LONG Len) = 0;
1464
1465 virtual HRESULT STDMETHODCALLTYPE GetMediaType(
1466 AM_MEDIA_TYPE **ppMediaType) = 0;
1467
1468 virtual HRESULT STDMETHODCALLTYPE SetMediaType(
1469 AM_MEDIA_TYPE *pMediaType) = 0;
1470
1471 virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity(
1472 ) = 0;
1473
1474 virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(
1475 WINBOOL bDiscontinuity) = 0;
1476
1477 virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
1478 LONGLONG *pTimeStart,
1479 LONGLONG *pTimeEnd) = 0;
1480
1481 virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
1482 LONGLONG *pTimeStart,
1483 LONGLONG *pTimeEnd) = 0;
1484
1485 };
1486 #ifdef __CRT_UUID_DECL
1487 __CRT_UUID_DECL(IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
1488 #endif
1489 #else
1490 typedef struct IAMMediaTypeSampleVtbl {
1491 BEGIN_INTERFACE
1492
1493 /*** IUnknown methods ***/
1494 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1495 IAMMediaTypeSample *This,
1496 REFIID riid,
1497 void **ppvObject);
1498
1499 ULONG (STDMETHODCALLTYPE *AddRef)(
1500 IAMMediaTypeSample *This);
1501
1502 ULONG (STDMETHODCALLTYPE *Release)(
1503 IAMMediaTypeSample *This);
1504
1505 /*** IStreamSample methods ***/
1506 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
1507 IAMMediaTypeSample *This,
1508 IMediaStream **ppMediaStream);
1509
1510 HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
1511 IAMMediaTypeSample *This,
1512 STREAM_TIME *pStartTime,
1513 STREAM_TIME *pEndTime,
1514 STREAM_TIME *pCurrentTime);
1515
1516 HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
1517 IAMMediaTypeSample *This,
1518 const STREAM_TIME *pStartTime,
1519 const STREAM_TIME *pEndTime);
1520
1521 HRESULT (STDMETHODCALLTYPE *Update)(
1522 IAMMediaTypeSample *This,
1523 DWORD dwFlags,
1524 HANDLE hEvent,
1525 PAPCFUNC pfnAPC,
1526 DWORD dwAPCData);
1527
1528 HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
1529 IAMMediaTypeSample *This,
1530 DWORD dwFlags,
1531 DWORD dwMilliseconds);
1532
1533 /*** IAMMediaTypeSample methods ***/
1534 HRESULT (STDMETHODCALLTYPE *SetPointer)(
1535 IAMMediaTypeSample *This,
1536 BYTE *pBuffer,
1537 LONG lSize);
1538
1539 HRESULT (STDMETHODCALLTYPE *GetPointer)(
1540 IAMMediaTypeSample *This,
1541 BYTE **ppBuffer);
1542
1543 LONG (STDMETHODCALLTYPE *GetSize)(
1544 IAMMediaTypeSample *This);
1545
1546 HRESULT (STDMETHODCALLTYPE *GetTime)(
1547 IAMMediaTypeSample *This,
1548 REFERENCE_TIME *pTimeStart,
1549 REFERENCE_TIME *pTimeEnd);
1550
1551 HRESULT (STDMETHODCALLTYPE *SetTime)(
1552 IAMMediaTypeSample *This,
1553 REFERENCE_TIME *pTimeStart,
1554 REFERENCE_TIME *pTimeEnd);
1555
1556 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)(
1557 IAMMediaTypeSample *This);
1558
1559 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)(
1560 IAMMediaTypeSample *This,
1561 WINBOOL bIsSyncPoint);
1562
1563 HRESULT (STDMETHODCALLTYPE *IsPreroll)(
1564 IAMMediaTypeSample *This);
1565
1566 HRESULT (STDMETHODCALLTYPE *SetPreroll)(
1567 IAMMediaTypeSample *This,
1568 WINBOOL bIsPreroll);
1569
1570 LONG (STDMETHODCALLTYPE *GetActualDataLength)(
1571 IAMMediaTypeSample *This);
1572
1573 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)(
1574 IAMMediaTypeSample *This,
1575 LONG Len);
1576
1577 HRESULT (STDMETHODCALLTYPE *GetMediaType)(
1578 IAMMediaTypeSample *This,
1579 AM_MEDIA_TYPE **ppMediaType);
1580
1581 HRESULT (STDMETHODCALLTYPE *SetMediaType)(
1582 IAMMediaTypeSample *This,
1583 AM_MEDIA_TYPE *pMediaType);
1584
1585 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)(
1586 IAMMediaTypeSample *This);
1587
1588 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)(
1589 IAMMediaTypeSample *This,
1590 WINBOOL bDiscontinuity);
1591
1592 HRESULT (STDMETHODCALLTYPE *GetMediaTime)(
1593 IAMMediaTypeSample *This,
1594 LONGLONG *pTimeStart,
1595 LONGLONG *pTimeEnd);
1596
1597 HRESULT (STDMETHODCALLTYPE *SetMediaTime)(
1598 IAMMediaTypeSample *This,
1599 LONGLONG *pTimeStart,
1600 LONGLONG *pTimeEnd);
1601
1602 END_INTERFACE
1603 } IAMMediaTypeSampleVtbl;
1604
1605 interface IAMMediaTypeSample {
1606 CONST_VTBL IAMMediaTypeSampleVtbl* lpVtbl;
1607 };
1608
1609 #ifdef COBJMACROS
1610 #ifndef WIDL_C_INLINE_WRAPPERS
1611 /*** IUnknown methods ***/
1612 #define IAMMediaTypeSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1613 #define IAMMediaTypeSample_AddRef(This) (This)->lpVtbl->AddRef(This)
1614 #define IAMMediaTypeSample_Release(This) (This)->lpVtbl->Release(This)
1615 /*** IStreamSample methods ***/
1616 #define IAMMediaTypeSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream)
1617 #define IAMMediaTypeSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
1618 #define IAMMediaTypeSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime)
1619 #define IAMMediaTypeSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
1620 #define IAMMediaTypeSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds)
1621 /*** IAMMediaTypeSample methods ***/
1622 #define IAMMediaTypeSample_SetPointer(This,pBuffer,lSize) (This)->lpVtbl->SetPointer(This,pBuffer,lSize)
1623 #define IAMMediaTypeSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
1624 #define IAMMediaTypeSample_GetSize(This) (This)->lpVtbl->GetSize(This)
1625 #define IAMMediaTypeSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
1626 #define IAMMediaTypeSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
1627 #define IAMMediaTypeSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
1628 #define IAMMediaTypeSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
1629 #define IAMMediaTypeSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
1630 #define IAMMediaTypeSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
1631 #define IAMMediaTypeSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
1632 #define IAMMediaTypeSample_SetActualDataLength(This,Len) (This)->lpVtbl->SetActualDataLength(This,Len)
1633 #define IAMMediaTypeSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
1634 #define IAMMediaTypeSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
1635 #define IAMMediaTypeSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
1636 #define IAMMediaTypeSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
1637 #define IAMMediaTypeSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
1638 #define IAMMediaTypeSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
1639 #else
1640 /*** IUnknown methods ***/
1641 static FORCEINLINE HRESULT IAMMediaTypeSample_QueryInterface(IAMMediaTypeSample* This,REFIID riid,void **ppvObject) {
1642 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1643 }
1644 static FORCEINLINE ULONG IAMMediaTypeSample_AddRef(IAMMediaTypeSample* This) {
1645 return This->lpVtbl->AddRef(This);
1646 }
1647 static FORCEINLINE ULONG IAMMediaTypeSample_Release(IAMMediaTypeSample* This) {
1648 return This->lpVtbl->Release(This);
1649 }
1650 /*** IStreamSample methods ***/
1651 static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaStream(IAMMediaTypeSample* This,IMediaStream **ppMediaStream) {
1652 return This->lpVtbl->GetMediaStream(This,ppMediaStream);
1653 }
1654 static FORCEINLINE HRESULT IAMMediaTypeSample_GetSampleTimes(IAMMediaTypeSample* This,STREAM_TIME *pStartTime,STREAM_TIME *pEndTime,STREAM_TIME *pCurrentTime) {
1655 return This->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime);
1656 }
1657 static FORCEINLINE HRESULT IAMMediaTypeSample_SetSampleTimes(IAMMediaTypeSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) {
1658 return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime);
1659 }
1660 static FORCEINLINE HRESULT IAMMediaTypeSample_Update(IAMMediaTypeSample* This,DWORD dwFlags,HANDLE hEvent,PAPCFUNC pfnAPC,DWORD dwAPCData) {
1661 return This->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData);
1662 }
1663 static FORCEINLINE HRESULT IAMMediaTypeSample_CompletionStatus(IAMMediaTypeSample* This,DWORD dwFlags,DWORD dwMilliseconds) {
1664 return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds);
1665 }
1666 /*** IAMMediaTypeSample methods ***/
1667 static FORCEINLINE HRESULT IAMMediaTypeSample_SetPointer(IAMMediaTypeSample* This,BYTE *pBuffer,LONG lSize) {
1668 return This->lpVtbl->SetPointer(This,pBuffer,lSize);
1669 }
1670 static FORCEINLINE HRESULT IAMMediaTypeSample_GetPointer(IAMMediaTypeSample* This,BYTE **ppBuffer) {
1671 return This->lpVtbl->GetPointer(This,ppBuffer);
1672 }
1673 static FORCEINLINE LONG IAMMediaTypeSample_GetSize(IAMMediaTypeSample* This) {
1674 return This->lpVtbl->GetSize(This);
1675 }
1676 static FORCEINLINE HRESULT IAMMediaTypeSample_GetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
1677 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd);
1678 }
1679 static FORCEINLINE HRESULT IAMMediaTypeSample_SetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
1680 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd);
1681 }
1682 static FORCEINLINE HRESULT IAMMediaTypeSample_IsSyncPoint(IAMMediaTypeSample* This) {
1683 return This->lpVtbl->IsSyncPoint(This);
1684 }
1685 static FORCEINLINE HRESULT IAMMediaTypeSample_SetSyncPoint(IAMMediaTypeSample* This,WINBOOL bIsSyncPoint) {
1686 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint);
1687 }
1688 static FORCEINLINE HRESULT IAMMediaTypeSample_IsPreroll(IAMMediaTypeSample* This) {
1689 return This->lpVtbl->IsPreroll(This);
1690 }
1691 static FORCEINLINE HRESULT IAMMediaTypeSample_SetPreroll(IAMMediaTypeSample* This,WINBOOL bIsPreroll) {
1692 return This->lpVtbl->SetPreroll(This,bIsPreroll);
1693 }
1694 static FORCEINLINE LONG IAMMediaTypeSample_GetActualDataLength(IAMMediaTypeSample* This) {
1695 return This->lpVtbl->GetActualDataLength(This);
1696 }
1697 static FORCEINLINE HRESULT IAMMediaTypeSample_SetActualDataLength(IAMMediaTypeSample* This,LONG Len) {
1698 return This->lpVtbl->SetActualDataLength(This,Len);
1699 }
1700 static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE **ppMediaType) {
1701 return This->lpVtbl->GetMediaType(This,ppMediaType);
1702 }
1703 static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE *pMediaType) {
1704 return This->lpVtbl->SetMediaType(This,pMediaType);
1705 }
1706 static FORCEINLINE HRESULT IAMMediaTypeSample_IsDiscontinuity(IAMMediaTypeSample* This) {
1707 return This->lpVtbl->IsDiscontinuity(This);
1708 }
1709 static FORCEINLINE HRESULT IAMMediaTypeSample_SetDiscontinuity(IAMMediaTypeSample* This,WINBOOL bDiscontinuity) {
1710 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity);
1711 }
1712 static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
1713 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd);
1714 }
1715 static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
1716 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd);
1717 }
1718 #endif
1719 #endif
1720
1721 #endif
1722
1723
1724 #endif /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */
1725
1726 /*****************************************************************************
1727 * AMMultiMediaStream coclass
1728 */
1729
1730 DEFINE_GUID(CLSID_AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
1731
1732 #ifdef __cplusplus
1733 class DECLSPEC_UUID("49c47ce5-9ba4-11d0-8212-00c04fc32c45") AMMultiMediaStream;
1734 #ifdef __CRT_UUID_DECL
1735 __CRT_UUID_DECL(AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45)
1736 #endif
1737 #endif
1738
1739 DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1740 DEFINE_GUID(CLSID_AMAudioStream, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1741 DEFINE_GUID(CLSID_AMAudioData, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1742 DEFINE_GUID(CLSID_AMMediaTypeStream, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
1743 DEFINE_GUID(CLSID_MediaStreamFilter, 0x49c47ce0, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1744 /* Begin additional prototypes for all interfaces */
1745
1746 ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
1747 unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
1748 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1749 void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
1750
1751 /* End additional prototypes */
1752
1753 #ifdef __cplusplus
1754 }
1755 #endif
1756
1757 #endif /* __amstream_h__ */