/[cvs]/api/include/mediaobj.h
ViewVC logotype

Annotation of /api/include/mediaobj.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Sun Jul 1 20:47:59 2001 UTC (22 years, 10 months ago) by bearsoft
Branch point for: lazy, MAIN
File MIME type: text/plain
Initial revision

1 bearsoft 1.1
2     #pragma warning( disable: 4049 ) /* more than 64k source lines */
3    
4     /* this ALWAYS GENERATED file contains the definitions for the interfaces */
5    
6    
7     /* File created by MIDL compiler version 6.00.0338 */
8     /* Compiler settings for mediaobj.idl:
9     Oicf, W1, Zp8, env=Win32 (32b run)
10     protocol : dce , ms_ext, c_ext, robust
11     error checks: allocation ref bounds_check enum stub_data
12     VC __declspec() decoration level:
13     __declspec(uuid()), __declspec(selectany), __declspec(novtable)
14     DECLSPEC_UUID(), MIDL_INTERFACE()
15     */
16     //@@MIDL_FILE_HEADING( )
17    
18    
19     /* verify that the <rpcndr.h> version is high enough to compile this file*/
20     #ifndef __REQUIRED_RPCNDR_H_VERSION__
21     #define __REQUIRED_RPCNDR_H_VERSION__ 475
22     #endif
23    
24     #include "rpc.h"
25     #include "rpcndr.h"
26    
27     #ifndef __RPCNDR_H_VERSION__
28     #error this stub requires an updated version of <rpcndr.h>
29     #endif // __RPCNDR_H_VERSION__
30    
31     #ifndef COM_NO_WINDOWS_H
32     #include "windows.h"
33     #include "ole2.h"
34     #endif /*COM_NO_WINDOWS_H*/
35    
36     #ifndef __mediaobj_h__
37     #define __mediaobj_h__
38    
39     #if defined(_MSC_VER) && (_MSC_VER >= 1020)
40     #pragma once
41     #endif
42    
43     /* Forward Declarations */
44    
45     #ifndef __IMediaBuffer_FWD_DEFINED__
46     #define __IMediaBuffer_FWD_DEFINED__
47     typedef interface IMediaBuffer IMediaBuffer;
48     #endif /* __IMediaBuffer_FWD_DEFINED__ */
49    
50    
51     #ifndef __IMediaObject_FWD_DEFINED__
52     #define __IMediaObject_FWD_DEFINED__
53     typedef interface IMediaObject IMediaObject;
54     #endif /* __IMediaObject_FWD_DEFINED__ */
55    
56    
57     #ifndef __IEnumDMO_FWD_DEFINED__
58     #define __IEnumDMO_FWD_DEFINED__
59     typedef interface IEnumDMO IEnumDMO;
60     #endif /* __IEnumDMO_FWD_DEFINED__ */
61    
62    
63     #ifndef __IMediaObjectInPlace_FWD_DEFINED__
64     #define __IMediaObjectInPlace_FWD_DEFINED__
65     typedef interface IMediaObjectInPlace IMediaObjectInPlace;
66     #endif /* __IMediaObjectInPlace_FWD_DEFINED__ */
67    
68    
69     #ifndef __IDMOQualityControl_FWD_DEFINED__
70     #define __IDMOQualityControl_FWD_DEFINED__
71     typedef interface IDMOQualityControl IDMOQualityControl;
72     #endif /* __IDMOQualityControl_FWD_DEFINED__ */
73    
74    
75     #ifndef __IDMOVideoOutputOptimizations_FWD_DEFINED__
76     #define __IDMOVideoOutputOptimizations_FWD_DEFINED__
77     typedef interface IDMOVideoOutputOptimizations IDMOVideoOutputOptimizations;
78     #endif /* __IDMOVideoOutputOptimizations_FWD_DEFINED__ */
79    
80    
81     /* header files for imported files */
82     #include "unknwn.h"
83     #include "objidl.h"
84    
85     #ifdef __cplusplus
86     extern "C"{
87     #endif
88    
89     void * __RPC_USER MIDL_user_allocate(size_t);
90     void __RPC_USER MIDL_user_free( void * );
91    
92     /* interface __MIDL_itf_mediaobj_0000 */
93     /* [local] */
94    
95     #ifdef __strmif_h__
96     typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE;
97     #else
98     typedef struct _DMOMediaType
99     {
100     GUID majortype;
101     GUID subtype;
102     BOOL bFixedSizeSamples;
103     BOOL bTemporalCompression;
104     ULONG lSampleSize;
105     GUID formattype;
106     IUnknown *pUnk;
107     ULONG cbFormat;
108     /* [size_is] */ BYTE *pbFormat;
109     } DMO_MEDIA_TYPE;
110    
111     typedef LONGLONG REFERENCE_TIME;
112    
113     #endif
114    
115     enum _DMO_INPUT_DATA_BUFFER_FLAGS
116     { DMO_INPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
117     DMO_INPUT_DATA_BUFFERF_TIME = 0x2,
118     DMO_INPUT_DATA_BUFFERF_TIMELENGTH = 0x4
119     } ;
120    
121     enum _DMO_OUTPUT_DATA_BUFFER_FLAGS
122     { DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
123     DMO_OUTPUT_DATA_BUFFERF_TIME = 0x2,
124     DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = 0x4,
125     DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = 0x1000000
126     } ;
127    
128     enum _DMO_INPUT_STATUS_FLAGS
129     { DMO_INPUT_STATUSF_ACCEPT_DATA = 0x1
130     } ;
131    
132     enum _DMO_INPUT_STREAM_INFO_FLAGS
133     { DMO_INPUT_STREAMF_WHOLE_SAMPLES = 0x1,
134     DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
135     DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
136     DMO_INPUT_STREAMF_HOLDS_BUFFERS = 0x8
137     } ;
138    
139     enum _DMO_OUTPUT_STREAM_INFO_FLAGS
140     { DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = 0x1,
141     DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
142     DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
143     DMO_OUTPUT_STREAMF_DISCARDABLE = 0x8,
144     DMO_OUTPUT_STREAMF_OPTIONAL = 0x10
145     } ;
146    
147     enum _DMO_SET_TYPE_FLAGS
148     { DMO_SET_TYPEF_TEST_ONLY = 0x1,
149     DMO_SET_TYPEF_CLEAR = 0x2
150     } ;
151    
152     enum _DMO_PROCESS_OUTPUT_FLAGS
153     { DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1
154     } ;
155    
156    
157     extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0000_v0_0_c_ifspec;
158     extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0000_v0_0_s_ifspec;
159    
160     #ifndef __IMediaBuffer_INTERFACE_DEFINED__
161     #define __IMediaBuffer_INTERFACE_DEFINED__
162    
163     /* interface IMediaBuffer */
164     /* [uuid][object] */
165    
166    
167     EXTERN_C const IID IID_IMediaBuffer;
168    
169     #if defined(__cplusplus) && !defined(CINTERFACE)
170    
171     MIDL_INTERFACE("59eff8b9-938c-4a26-82f2-95cb84cdc837")
172     IMediaBuffer : public IUnknown
173     {
174     public:
175     virtual HRESULT STDMETHODCALLTYPE SetLength(
176     DWORD cbLength) = 0;
177    
178     virtual HRESULT STDMETHODCALLTYPE GetMaxLength(
179     /* [out] */ DWORD *pcbMaxLength) = 0;
180    
181     virtual HRESULT STDMETHODCALLTYPE GetBufferAndLength(
182     /* [out] */ BYTE **ppBuffer,
183     /* [out] */ DWORD *pcbLength) = 0;
184    
185     };
186    
187     #else /* C style interface */
188    
189     typedef struct IMediaBufferVtbl
190     {
191     BEGIN_INTERFACE
192    
193     HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
194     IMediaBuffer * This,
195     /* [in] */ REFIID riid,
196     /* [iid_is][out] */ void **ppvObject);
197    
198     ULONG ( STDMETHODCALLTYPE *AddRef )(
199     IMediaBuffer * This);
200    
201     ULONG ( STDMETHODCALLTYPE *Release )(
202     IMediaBuffer * This);
203    
204     HRESULT ( STDMETHODCALLTYPE *SetLength )(
205     IMediaBuffer * This,
206     DWORD cbLength);
207    
208     HRESULT ( STDMETHODCALLTYPE *GetMaxLength )(
209     IMediaBuffer * This,
210     /* [out] */ DWORD *pcbMaxLength);
211    
212     HRESULT ( STDMETHODCALLTYPE *GetBufferAndLength )(
213     IMediaBuffer * This,
214     /* [out] */ BYTE **ppBuffer,
215     /* [out] */ DWORD *pcbLength);
216    
217     END_INTERFACE
218     } IMediaBufferVtbl;
219    
220     interface IMediaBuffer
221     {
222     CONST_VTBL struct IMediaBufferVtbl *lpVtbl;
223     };
224    
225    
226    
227     #ifdef COBJMACROS
228    
229    
230     #define IMediaBuffer_QueryInterface(This,riid,ppvObject) \
231     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
232    
233     #define IMediaBuffer_AddRef(This) \
234     (This)->lpVtbl -> AddRef(This)
235    
236     #define IMediaBuffer_Release(This) \
237     (This)->lpVtbl -> Release(This)
238    
239    
240     #define IMediaBuffer_SetLength(This,cbLength) \
241     (This)->lpVtbl -> SetLength(This,cbLength)
242    
243     #define IMediaBuffer_GetMaxLength(This,pcbMaxLength) \
244     (This)->lpVtbl -> GetMaxLength(This,pcbMaxLength)
245    
246     #define IMediaBuffer_GetBufferAndLength(This,ppBuffer,pcbLength) \
247     (This)->lpVtbl -> GetBufferAndLength(This,ppBuffer,pcbLength)
248    
249     #endif /* COBJMACROS */
250    
251    
252     #endif /* C style interface */
253    
254    
255    
256     HRESULT STDMETHODCALLTYPE IMediaBuffer_SetLength_Proxy(
257     IMediaBuffer * This,
258     DWORD cbLength);
259    
260    
261     void __RPC_STUB IMediaBuffer_SetLength_Stub(
262     IRpcStubBuffer *This,
263     IRpcChannelBuffer *_pRpcChannelBuffer,
264     PRPC_MESSAGE _pRpcMessage,
265     DWORD *_pdwStubPhase);
266    
267    
268     HRESULT STDMETHODCALLTYPE IMediaBuffer_GetMaxLength_Proxy(
269     IMediaBuffer * This,
270     /* [out] */ DWORD *pcbMaxLength);
271    
272    
273     void __RPC_STUB IMediaBuffer_GetMaxLength_Stub(
274     IRpcStubBuffer *This,
275     IRpcChannelBuffer *_pRpcChannelBuffer,
276     PRPC_MESSAGE _pRpcMessage,
277     DWORD *_pdwStubPhase);
278    
279    
280     HRESULT STDMETHODCALLTYPE IMediaBuffer_GetBufferAndLength_Proxy(
281     IMediaBuffer * This,
282     /* [out] */ BYTE **ppBuffer,
283     /* [out] */ DWORD *pcbLength);
284    
285    
286     void __RPC_STUB IMediaBuffer_GetBufferAndLength_Stub(
287     IRpcStubBuffer *This,
288     IRpcChannelBuffer *_pRpcChannelBuffer,
289     PRPC_MESSAGE _pRpcMessage,
290     DWORD *_pdwStubPhase);
291    
292    
293    
294     #endif /* __IMediaBuffer_INTERFACE_DEFINED__ */
295    
296    
297     /* interface __MIDL_itf_mediaobj_0085 */
298     /* [local] */
299    
300     typedef struct _DMO_OUTPUT_DATA_BUFFER
301     {
302     IMediaBuffer *pBuffer;
303     DWORD dwStatus;
304     REFERENCE_TIME rtTimestamp;
305     REFERENCE_TIME rtTimelength;
306     } DMO_OUTPUT_DATA_BUFFER;
307    
308     typedef struct _DMO_OUTPUT_DATA_BUFFER *PDMO_OUTPUT_DATA_BUFFER;
309    
310    
311    
312     extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0085_v0_0_c_ifspec;
313     extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0085_v0_0_s_ifspec;
314    
315     #ifndef __IMediaObject_INTERFACE_DEFINED__
316     #define __IMediaObject_INTERFACE_DEFINED__
317    
318     /* interface IMediaObject */
319     /* [uuid][object] */
320    
321    
322     EXTERN_C const IID IID_IMediaObject;
323    
324     #if defined(__cplusplus) && !defined(CINTERFACE)
325    
326     MIDL_INTERFACE("d8ad0f58-5494-4102-97c5-ec798e59bcf4")
327     IMediaObject : public IUnknown
328     {
329     public:
330     virtual HRESULT STDMETHODCALLTYPE GetStreamCount(
331     /* [out] */ DWORD *pcInputStreams,
332     /* [out] */ DWORD *pcOutputStreams) = 0;
333    
334     virtual HRESULT STDMETHODCALLTYPE GetInputStreamInfo(
335     DWORD dwInputStreamIndex,
336     /* [out] */ DWORD *pdwFlags) = 0;
337    
338     virtual HRESULT STDMETHODCALLTYPE GetOutputStreamInfo(
339     DWORD dwOutputStreamIndex,
340     /* [out] */ DWORD *pdwFlags) = 0;
341    
342     virtual HRESULT STDMETHODCALLTYPE GetInputType(
343     DWORD dwInputStreamIndex,
344     DWORD dwTypeIndex,
345     /* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
346    
347     virtual HRESULT STDMETHODCALLTYPE GetOutputType(
348     DWORD dwOutputStreamIndex,
349     DWORD dwTypeIndex,
350     /* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
351    
352     virtual HRESULT STDMETHODCALLTYPE SetInputType(
353     DWORD dwInputStreamIndex,
354     /* [in] */ const DMO_MEDIA_TYPE *pmt,
355     DWORD dwFlags) = 0;
356    
357     virtual HRESULT STDMETHODCALLTYPE SetOutputType(
358     DWORD dwOutputStreamIndex,
359     /* [in] */ const DMO_MEDIA_TYPE *pmt,
360     DWORD dwFlags) = 0;
361    
362     virtual HRESULT STDMETHODCALLTYPE GetInputCurrentType(
363     DWORD dwInputStreamIndex,
364     /* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
365    
366     virtual HRESULT STDMETHODCALLTYPE GetOutputCurrentType(
367     DWORD dwOutputStreamIndex,
368     /* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
369    
370     virtual HRESULT STDMETHODCALLTYPE GetInputSizeInfo(
371     DWORD dwInputStreamIndex,
372     /* [out] */ DWORD *pcbSize,
373     /* [out] */ DWORD *pcbMaxLookahead,
374     /* [out] */ DWORD *pcbAlignment) = 0;
375    
376     virtual HRESULT STDMETHODCALLTYPE GetOutputSizeInfo(
377     DWORD dwOutputStreamIndex,
378     /* [out] */ DWORD *pcbSize,
379     /* [out] */ DWORD *pcbAlignment) = 0;
380    
381     virtual HRESULT STDMETHODCALLTYPE GetInputMaxLatency(
382     DWORD dwInputStreamIndex,
383     /* [out] */ REFERENCE_TIME *prtMaxLatency) = 0;
384    
385     virtual HRESULT STDMETHODCALLTYPE SetInputMaxLatency(
386     DWORD dwInputStreamIndex,
387     REFERENCE_TIME rtMaxLatency) = 0;
388    
389     virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
390    
391     virtual HRESULT STDMETHODCALLTYPE Discontinuity(
392     DWORD dwInputStreamIndex) = 0;
393    
394     virtual HRESULT STDMETHODCALLTYPE AllocateStreamingResources( void) = 0;
395    
396     virtual HRESULT STDMETHODCALLTYPE FreeStreamingResources( void) = 0;
397    
398     virtual HRESULT STDMETHODCALLTYPE GetInputStatus(
399     DWORD dwInputStreamIndex,
400     /* [out] */ DWORD *dwFlags) = 0;
401    
402     virtual HRESULT STDMETHODCALLTYPE ProcessInput(
403     DWORD dwInputStreamIndex,
404     IMediaBuffer *pBuffer,
405     DWORD dwFlags,
406     REFERENCE_TIME rtTimestamp,
407     REFERENCE_TIME rtTimelength) = 0;
408    
409     virtual HRESULT STDMETHODCALLTYPE ProcessOutput(
410     DWORD dwFlags,
411     DWORD cOutputBufferCount,
412     /* [size_is][out][in] */ DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,
413     /* [out] */ DWORD *pdwStatus) = 0;
414    
415     virtual HRESULT STDMETHODCALLTYPE Lock(
416     LONG bLock) = 0;
417    
418     };
419    
420     #else /* C style interface */
421    
422     typedef struct IMediaObjectVtbl
423     {
424     BEGIN_INTERFACE
425    
426     HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
427     IMediaObject * This,
428     /* [in] */ REFIID riid,
429     /* [iid_is][out] */ void **ppvObject);
430    
431     ULONG ( STDMETHODCALLTYPE *AddRef )(
432     IMediaObject * This);
433    
434     ULONG ( STDMETHODCALLTYPE *Release )(
435     IMediaObject * This);
436    
437     HRESULT ( STDMETHODCALLTYPE *GetStreamCount )(
438     IMediaObject * This,
439     /* [out] */ DWORD *pcInputStreams,
440     /* [out] */ DWORD *pcOutputStreams);
441    
442     HRESULT ( STDMETHODCALLTYPE *GetInputStreamInfo )(
443     IMediaObject * This,
444     DWORD dwInputStreamIndex,
445     /* [out] */ DWORD *pdwFlags);
446    
447     HRESULT ( STDMETHODCALLTYPE *GetOutputStreamInfo )(
448     IMediaObject * This,
449     DWORD dwOutputStreamIndex,
450     /* [out] */ DWORD *pdwFlags);
451    
452     HRESULT ( STDMETHODCALLTYPE *GetInputType )(
453     IMediaObject * This,
454     DWORD dwInputStreamIndex,
455     DWORD dwTypeIndex,
456     /* [out] */ DMO_MEDIA_TYPE *pmt);
457    
458     HRESULT ( STDMETHODCALLTYPE *GetOutputType )(
459     IMediaObject * This,
460     DWORD dwOutputStreamIndex,
461     DWORD dwTypeIndex,
462     /* [out] */ DMO_MEDIA_TYPE *pmt);
463    
464     HRESULT ( STDMETHODCALLTYPE *SetInputType )(
465     IMediaObject * This,
466     DWORD dwInputStreamIndex,
467     /* [in] */ const DMO_MEDIA_TYPE *pmt,
468     DWORD dwFlags);
469    
470     HRESULT ( STDMETHODCALLTYPE *SetOutputType )(
471     IMediaObject * This,
472     DWORD dwOutputStreamIndex,
473     /* [in] */ const DMO_MEDIA_TYPE *pmt,
474     DWORD dwFlags);
475    
476     HRESULT ( STDMETHODCALLTYPE *GetInputCurrentType )(
477     IMediaObject * This,
478     DWORD dwInputStreamIndex,
479     /* [out] */ DMO_MEDIA_TYPE *pmt);
480    
481     HRESULT ( STDMETHODCALLTYPE *GetOutputCurrentType )(
482     IMediaObject * This,
483     DWORD dwOutputStreamIndex,
484     /* [out] */ DMO_MEDIA_TYPE *pmt);
485    
486     HRESULT ( STDMETHODCALLTYPE *GetInputSizeInfo )(
487     IMediaObject * This,
488     DWORD dwInputStreamIndex,
489     /* [out] */ DWORD *pcbSize,
490     /* [out] */ DWORD *pcbMaxLookahead,
491     /* [out] */ DWORD *pcbAlignment);
492    
493     HRESULT ( STDMETHODCALLTYPE *GetOutputSizeInfo )(
494     IMediaObject * This,
495     DWORD dwOutputStreamIndex,
496     /* [out] */ DWORD *pcbSize,
497     /* [out] */ DWORD *pcbAlignment);
498    
499     HRESULT ( STDMETHODCALLTYPE *GetInputMaxLatency )(
500     IMediaObject * This,
501     DWORD dwInputStreamIndex,
502     /* [out] */ REFERENCE_TIME *prtMaxLatency);
503    
504     HRESULT ( STDMETHODCALLTYPE *SetInputMaxLatency )(
505     IMediaObject * This,
506     DWORD dwInputStreamIndex,
507     REFERENCE_TIME rtMaxLatency);
508    
509     HRESULT ( STDMETHODCALLTYPE *Flush )(
510     IMediaObject * This);
511    
512     HRESULT ( STDMETHODCALLTYPE *Discontinuity )(
513     IMediaObject * This,
514     DWORD dwInputStreamIndex);
515    
516     HRESULT ( STDMETHODCALLTYPE *AllocateStreamingResources )(
517     IMediaObject * This);
518    
519     HRESULT ( STDMETHODCALLTYPE *FreeStreamingResources )(
520     IMediaObject * This);
521    
522     HRESULT ( STDMETHODCALLTYPE *GetInputStatus )(
523     IMediaObject * This,
524     DWORD dwInputStreamIndex,
525     /* [out] */ DWORD *dwFlags);
526    
527     HRESULT ( STDMETHODCALLTYPE *ProcessInput )(
528     IMediaObject * This,
529     DWORD dwInputStreamIndex,
530     IMediaBuffer *pBuffer,
531     DWORD dwFlags,
532     REFERENCE_TIME rtTimestamp,
533     REFERENCE_TIME rtTimelength);
534    
535     HRESULT ( STDMETHODCALLTYPE *ProcessOutput )(
536     IMediaObject * This,
537     DWORD dwFlags,
538     DWORD cOutputBufferCount,
539     /* [size_is][out][in] */ DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,
540     /* [out] */ DWORD *pdwStatus);
541    
542     HRESULT ( STDMETHODCALLTYPE *Lock )(
543     IMediaObject * This,
544     LONG bLock);
545    
546     END_INTERFACE
547     } IMediaObjectVtbl;
548    
549     interface IMediaObject
550     {
551     CONST_VTBL struct IMediaObjectVtbl *lpVtbl;
552     };
553    
554    
555    
556     #ifdef COBJMACROS
557    
558    
559     #define IMediaObject_QueryInterface(This,riid,ppvObject) \
560     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
561    
562     #define IMediaObject_AddRef(This) \
563     (This)->lpVtbl -> AddRef(This)
564    
565     #define IMediaObject_Release(This) \
566     (This)->lpVtbl -> Release(This)
567    
568    
569     #define IMediaObject_GetStreamCount(This,pcInputStreams,pcOutputStreams) \
570     (This)->lpVtbl -> GetStreamCount(This,pcInputStreams,pcOutputStreams)
571    
572     #define IMediaObject_GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags) \
573     (This)->lpVtbl -> GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags)
574    
575     #define IMediaObject_GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags) \
576     (This)->lpVtbl -> GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags)
577    
578     #define IMediaObject_GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt) \
579     (This)->lpVtbl -> GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt)
580    
581     #define IMediaObject_GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt) \
582     (This)->lpVtbl -> GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt)
583    
584     #define IMediaObject_SetInputType(This,dwInputStreamIndex,pmt,dwFlags) \
585     (This)->lpVtbl -> SetInputType(This,dwInputStreamIndex,pmt,dwFlags)
586    
587     #define IMediaObject_SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags) \
588     (This)->lpVtbl -> SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags)
589    
590     #define IMediaObject_GetInputCurrentType(This,dwInputStreamIndex,pmt) \
591     (This)->lpVtbl -> GetInputCurrentType(This,dwInputStreamIndex,pmt)
592    
593     #define IMediaObject_GetOutputCurrentType(This,dwOutputStreamIndex,pmt) \
594     (This)->lpVtbl -> GetOutputCurrentType(This,dwOutputStreamIndex,pmt)
595    
596     #define IMediaObject_GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment) \
597     (This)->lpVtbl -> GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment)
598    
599     #define IMediaObject_GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment) \
600     (This)->lpVtbl -> GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment)
601    
602     #define IMediaObject_GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency) \
603     (This)->lpVtbl -> GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency)
604    
605     #define IMediaObject_SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency) \
606     (This)->lpVtbl -> SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency)
607    
608     #define IMediaObject_Flush(This) \
609     (This)->lpVtbl -> Flush(This)
610    
611     #define IMediaObject_Discontinuity(This,dwInputStreamIndex) \
612     (This)->lpVtbl -> Discontinuity(This,dwInputStreamIndex)
613    
614     #define IMediaObject_AllocateStreamingResources(This) \
615     (This)->lpVtbl -> AllocateStreamingResources(This)
616    
617     #define IMediaObject_FreeStreamingResources(This) \
618     (This)->lpVtbl -> FreeStreamingResources(This)
619    
620     #define IMediaObject_GetInputStatus(This,dwInputStreamIndex,dwFlags) \
621     (This)->lpVtbl -> GetInputStatus(This,dwInputStreamIndex,dwFlags)
622    
623     #define IMediaObject_ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength) \
624     (This)->lpVtbl -> ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength)
625    
626     #define IMediaObject_ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus) \
627     (This)->lpVtbl -> ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus)
628    
629     #define IMediaObject_Lock(This,bLock) \
630     (This)->lpVtbl -> Lock(This,bLock)
631    
632     #endif /* COBJMACROS */
633    
634    
635     #endif /* C style interface */
636    
637    
638    
639     HRESULT STDMETHODCALLTYPE IMediaObject_GetStreamCount_Proxy(
640     IMediaObject * This,
641     /* [out] */ DWORD *pcInputStreams,
642     /* [out] */ DWORD *pcOutputStreams);
643    
644    
645     void __RPC_STUB IMediaObject_GetStreamCount_Stub(
646     IRpcStubBuffer *This,
647     IRpcChannelBuffer *_pRpcChannelBuffer,
648     PRPC_MESSAGE _pRpcMessage,
649     DWORD *_pdwStubPhase);
650    
651    
652     HRESULT STDMETHODCALLTYPE IMediaObject_GetInputStreamInfo_Proxy(
653     IMediaObject * This,
654     DWORD dwInputStreamIndex,
655     /* [out] */ DWORD *pdwFlags);
656    
657    
658     void __RPC_STUB IMediaObject_GetInputStreamInfo_Stub(
659     IRpcStubBuffer *This,
660     IRpcChannelBuffer *_pRpcChannelBuffer,
661     PRPC_MESSAGE _pRpcMessage,
662     DWORD *_pdwStubPhase);
663    
664    
665     HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputStreamInfo_Proxy(
666     IMediaObject * This,
667     DWORD dwOutputStreamIndex,
668     /* [out] */ DWORD *pdwFlags);
669    
670    
671     void __RPC_STUB IMediaObject_GetOutputStreamInfo_Stub(
672     IRpcStubBuffer *This,
673     IRpcChannelBuffer *_pRpcChannelBuffer,
674     PRPC_MESSAGE _pRpcMessage,
675     DWORD *_pdwStubPhase);
676    
677    
678     HRESULT STDMETHODCALLTYPE IMediaObject_GetInputType_Proxy(
679     IMediaObject * This,
680     DWORD dwInputStreamIndex,
681     DWORD dwTypeIndex,
682     /* [out] */ DMO_MEDIA_TYPE *pmt);
683    
684    
685     void __RPC_STUB IMediaObject_GetInputType_Stub(
686     IRpcStubBuffer *This,
687     IRpcChannelBuffer *_pRpcChannelBuffer,
688     PRPC_MESSAGE _pRpcMessage,
689     DWORD *_pdwStubPhase);
690    
691    
692     HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputType_Proxy(
693     IMediaObject * This,
694     DWORD dwOutputStreamIndex,
695     DWORD dwTypeIndex,
696     /* [out] */ DMO_MEDIA_TYPE *pmt);
697    
698    
699     void __RPC_STUB IMediaObject_GetOutputType_Stub(
700     IRpcStubBuffer *This,
701     IRpcChannelBuffer *_pRpcChannelBuffer,
702     PRPC_MESSAGE _pRpcMessage,
703     DWORD *_pdwStubPhase);
704    
705    
706     HRESULT STDMETHODCALLTYPE IMediaObject_SetInputType_Proxy(
707     IMediaObject * This,
708     DWORD dwInputStreamIndex,
709     /* [in] */ const DMO_MEDIA_TYPE *pmt,
710     DWORD dwFlags);
711    
712    
713     void __RPC_STUB IMediaObject_SetInputType_Stub(
714     IRpcStubBuffer *This,
715     IRpcChannelBuffer *_pRpcChannelBuffer,
716     PRPC_MESSAGE _pRpcMessage,
717     DWORD *_pdwStubPhase);
718    
719    
720     HRESULT STDMETHODCALLTYPE IMediaObject_SetOutputType_Proxy(
721     IMediaObject * This,
722     DWORD dwOutputStreamIndex,
723     /* [in] */ const DMO_MEDIA_TYPE *pmt,
724     DWORD dwFlags);
725    
726    
727     void __RPC_STUB IMediaObject_SetOutputType_Stub(
728     IRpcStubBuffer *This,
729     IRpcChannelBuffer *_pRpcChannelBuffer,
730     PRPC_MESSAGE _pRpcMessage,
731     DWORD *_pdwStubPhase);
732    
733    
734     HRESULT STDMETHODCALLTYPE IMediaObject_GetInputCurrentType_Proxy(
735     IMediaObject * This,
736     DWORD dwInputStreamIndex,
737     /* [out] */ DMO_MEDIA_TYPE *pmt);
738    
739    
740     void __RPC_STUB IMediaObject_GetInputCurrentType_Stub(
741     IRpcStubBuffer *This,
742     IRpcChannelBuffer *_pRpcChannelBuffer,
743     PRPC_MESSAGE _pRpcMessage,
744     DWORD *_pdwStubPhase);
745    
746    
747     HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputCurrentType_Proxy(
748     IMediaObject * This,
749     DWORD dwOutputStreamIndex,
750     /* [out] */ DMO_MEDIA_TYPE *pmt);
751    
752    
753     void __RPC_STUB IMediaObject_GetOutputCurrentType_Stub(
754     IRpcStubBuffer *This,
755     IRpcChannelBuffer *_pRpcChannelBuffer,
756     PRPC_MESSAGE _pRpcMessage,
757     DWORD *_pdwStubPhase);
758    
759    
760     HRESULT STDMETHODCALLTYPE IMediaObject_GetInputSizeInfo_Proxy(
761     IMediaObject * This,
762     DWORD dwInputStreamIndex,
763     /* [out] */ DWORD *pcbSize,
764     /* [out] */ DWORD *pcbMaxLookahead,
765     /* [out] */ DWORD *pcbAlignment);
766    
767    
768     void __RPC_STUB IMediaObject_GetInputSizeInfo_Stub(
769     IRpcStubBuffer *This,
770     IRpcChannelBuffer *_pRpcChannelBuffer,
771     PRPC_MESSAGE _pRpcMessage,
772     DWORD *_pdwStubPhase);
773    
774    
775     HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputSizeInfo_Proxy(
776     IMediaObject * This,
777     DWORD dwOutputStreamIndex,
778     /* [out] */ DWORD *pcbSize,
779     /* [out] */ DWORD *pcbAlignment);
780    
781    
782     void __RPC_STUB IMediaObject_GetOutputSizeInfo_Stub(
783     IRpcStubBuffer *This,
784     IRpcChannelBuffer *_pRpcChannelBuffer,
785     PRPC_MESSAGE _pRpcMessage,
786     DWORD *_pdwStubPhase);
787    
788    
789     HRESULT STDMETHODCALLTYPE IMediaObject_GetInputMaxLatency_Proxy(
790     IMediaObject * This,
791     DWORD dwInputStreamIndex,
792     /* [out] */ REFERENCE_TIME *prtMaxLatency);
793    
794    
795     void __RPC_STUB IMediaObject_GetInputMaxLatency_Stub(
796     IRpcStubBuffer *This,
797     IRpcChannelBuffer *_pRpcChannelBuffer,
798     PRPC_MESSAGE _pRpcMessage,
799     DWORD *_pdwStubPhase);
800    
801    
802     HRESULT STDMETHODCALLTYPE IMediaObject_SetInputMaxLatency_Proxy(
803     IMediaObject * This,
804     DWORD dwInputStreamIndex,
805     REFERENCE_TIME rtMaxLatency);
806    
807    
808     void __RPC_STUB IMediaObject_SetInputMaxLatency_Stub(
809     IRpcStubBuffer *This,
810     IRpcChannelBuffer *_pRpcChannelBuffer,
811     PRPC_MESSAGE _pRpcMessage,
812     DWORD *_pdwStubPhase);
813    
814    
815     HRESULT STDMETHODCALLTYPE IMediaObject_Flush_Proxy(
816     IMediaObject * This);
817    
818    
819     void __RPC_STUB IMediaObject_Flush_Stub(
820     IRpcStubBuffer *This,
821     IRpcChannelBuffer *_pRpcChannelBuffer,
822     PRPC_MESSAGE _pRpcMessage,
823     DWORD *_pdwStubPhase);
824    
825    
826     HRESULT STDMETHODCALLTYPE IMediaObject_Discontinuity_Proxy(
827     IMediaObject * This,
828     DWORD dwInputStreamIndex);
829    
830    
831     void __RPC_STUB IMediaObject_Discontinuity_Stub(
832     IRpcStubBuffer *This,
833     IRpcChannelBuffer *_pRpcChannelBuffer,
834     PRPC_MESSAGE _pRpcMessage,
835     DWORD *_pdwStubPhase);
836    
837    
838     HRESULT STDMETHODCALLTYPE IMediaObject_AllocateStreamingResources_Proxy(
839     IMediaObject * This);
840    
841    
842     void __RPC_STUB IMediaObject_AllocateStreamingResources_Stub(
843     IRpcStubBuffer *This,
844     IRpcChannelBuffer *_pRpcChannelBuffer,
845     PRPC_MESSAGE _pRpcMessage,
846     DWORD *_pdwStubPhase);
847    
848    
849     HRESULT STDMETHODCALLTYPE IMediaObject_FreeStreamingResources_Proxy(
850     IMediaObject * This);
851    
852    
853     void __RPC_STUB IMediaObject_FreeStreamingResources_Stub(
854     IRpcStubBuffer *This,
855     IRpcChannelBuffer *_pRpcChannelBuffer,
856     PRPC_MESSAGE _pRpcMessage,
857     DWORD *_pdwStubPhase);
858    
859    
860     HRESULT STDMETHODCALLTYPE IMediaObject_GetInputStatus_Proxy(
861     IMediaObject * This,
862     DWORD dwInputStreamIndex,
863     /* [out] */ DWORD *dwFlags);
864    
865    
866     void __RPC_STUB IMediaObject_GetInputStatus_Stub(
867     IRpcStubBuffer *This,
868     IRpcChannelBuffer *_pRpcChannelBuffer,
869     PRPC_MESSAGE _pRpcMessage,
870     DWORD *_pdwStubPhase);
871    
872    
873     HRESULT STDMETHODCALLTYPE IMediaObject_ProcessInput_Proxy(
874     IMediaObject * This,
875     DWORD dwInputStreamIndex,
876     IMediaBuffer *pBuffer,
877     DWORD dwFlags,
878     REFERENCE_TIME rtTimestamp,
879     REFERENCE_TIME rtTimelength);
880    
881    
882     void __RPC_STUB IMediaObject_ProcessInput_Stub(
883     IRpcStubBuffer *This,
884     IRpcChannelBuffer *_pRpcChannelBuffer,
885     PRPC_MESSAGE _pRpcMessage,
886     DWORD *_pdwStubPhase);
887    
888    
889     HRESULT STDMETHODCALLTYPE IMediaObject_ProcessOutput_Proxy(
890     IMediaObject * This,
891     DWORD dwFlags,
892     DWORD cOutputBufferCount,
893     /* [size_is][out][in] */ DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,
894     /* [out] */ DWORD *pdwStatus);
895    
896    
897     void __RPC_STUB IMediaObject_ProcessOutput_Stub(
898     IRpcStubBuffer *This,
899     IRpcChannelBuffer *_pRpcChannelBuffer,
900     PRPC_MESSAGE _pRpcMessage,
901     DWORD *_pdwStubPhase);
902    
903    
904     HRESULT STDMETHODCALLTYPE IMediaObject_Lock_Proxy(
905     IMediaObject * This,
906     LONG bLock);
907    
908    
909     void __RPC_STUB IMediaObject_Lock_Stub(
910     IRpcStubBuffer *This,
911     IRpcChannelBuffer *_pRpcChannelBuffer,
912     PRPC_MESSAGE _pRpcMessage,
913     DWORD *_pdwStubPhase);
914    
915    
916    
917     #endif /* __IMediaObject_INTERFACE_DEFINED__ */
918    
919    
920     #ifndef __IEnumDMO_INTERFACE_DEFINED__
921     #define __IEnumDMO_INTERFACE_DEFINED__
922    
923     /* interface IEnumDMO */
924     /* [uuid][object] */
925    
926    
927     EXTERN_C const IID IID_IEnumDMO;
928    
929     #if defined(__cplusplus) && !defined(CINTERFACE)
930    
931     MIDL_INTERFACE("2c3cd98a-2bfa-4a53-9c27-5249ba64ba0f")
932     IEnumDMO : public IUnknown
933     {
934     public:
935     virtual HRESULT STDMETHODCALLTYPE Next(
936     DWORD cItemsToFetch,
937     /* [length_is][size_is][out] */ CLSID *pCLSID,
938     /* [string][length_is][size_is][out] */ WCHAR **Names,
939     /* [out] */ DWORD *pcItemsFetched) = 0;
940    
941     virtual HRESULT STDMETHODCALLTYPE Skip(
942     DWORD cItemsToSkip) = 0;
943    
944     virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
945    
946     virtual HRESULT STDMETHODCALLTYPE Clone(
947     /* [out] */ IEnumDMO **ppEnum) = 0;
948    
949     };
950    
951     #else /* C style interface */
952    
953     typedef struct IEnumDMOVtbl
954     {
955     BEGIN_INTERFACE
956    
957     HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
958     IEnumDMO * This,
959     /* [in] */ REFIID riid,
960     /* [iid_is][out] */ void **ppvObject);
961    
962     ULONG ( STDMETHODCALLTYPE *AddRef )(
963     IEnumDMO * This);
964    
965     ULONG ( STDMETHODCALLTYPE *Release )(
966     IEnumDMO * This);
967    
968     HRESULT ( STDMETHODCALLTYPE *Next )(
969     IEnumDMO * This,
970     DWORD cItemsToFetch,
971     /* [length_is][size_is][out] */ CLSID *pCLSID,
972     /* [string][length_is][size_is][out] */ WCHAR **Names,
973     /* [out] */ DWORD *pcItemsFetched);
974    
975     HRESULT ( STDMETHODCALLTYPE *Skip )(
976     IEnumDMO * This,
977     DWORD cItemsToSkip);
978    
979     HRESULT ( STDMETHODCALLTYPE *Reset )(
980     IEnumDMO * This);
981    
982     HRESULT ( STDMETHODCALLTYPE *Clone )(
983     IEnumDMO * This,
984     /* [out] */ IEnumDMO **ppEnum);
985    
986     END_INTERFACE
987     } IEnumDMOVtbl;
988    
989     interface IEnumDMO
990     {
991     CONST_VTBL struct IEnumDMOVtbl *lpVtbl;
992     };
993    
994    
995    
996     #ifdef COBJMACROS
997    
998    
999     #define IEnumDMO_QueryInterface(This,riid,ppvObject) \
1000     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
1001    
1002     #define IEnumDMO_AddRef(This) \
1003     (This)->lpVtbl -> AddRef(This)
1004    
1005     #define IEnumDMO_Release(This) \
1006     (This)->lpVtbl -> Release(This)
1007    
1008    
1009     #define IEnumDMO_Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched) \
1010     (This)->lpVtbl -> Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched)
1011    
1012     #define IEnumDMO_Skip(This,cItemsToSkip) \
1013     (This)->lpVtbl -> Skip(This,cItemsToSkip)
1014    
1015     #define IEnumDMO_Reset(This) \
1016     (This)->lpVtbl -> Reset(This)
1017    
1018     #define IEnumDMO_Clone(This,ppEnum) \
1019     (This)->lpVtbl -> Clone(This,ppEnum)
1020    
1021     #endif /* COBJMACROS */
1022    
1023    
1024     #endif /* C style interface */
1025    
1026    
1027    
1028     HRESULT STDMETHODCALLTYPE IEnumDMO_Next_Proxy(
1029     IEnumDMO * This,
1030     DWORD cItemsToFetch,
1031     /* [length_is][size_is][out] */ CLSID *pCLSID,
1032     /* [string][length_is][size_is][out] */ WCHAR **Names,
1033     /* [out] */ DWORD *pcItemsFetched);
1034    
1035    
1036     void __RPC_STUB IEnumDMO_Next_Stub(
1037     IRpcStubBuffer *This,
1038     IRpcChannelBuffer *_pRpcChannelBuffer,
1039     PRPC_MESSAGE _pRpcMessage,
1040     DWORD *_pdwStubPhase);
1041    
1042    
1043     HRESULT STDMETHODCALLTYPE IEnumDMO_Skip_Proxy(
1044     IEnumDMO * This,
1045     DWORD cItemsToSkip);
1046    
1047    
1048     void __RPC_STUB IEnumDMO_Skip_Stub(
1049     IRpcStubBuffer *This,
1050     IRpcChannelBuffer *_pRpcChannelBuffer,
1051     PRPC_MESSAGE _pRpcMessage,
1052     DWORD *_pdwStubPhase);
1053    
1054    
1055     HRESULT STDMETHODCALLTYPE IEnumDMO_Reset_Proxy(
1056     IEnumDMO * This);
1057    
1058    
1059     void __RPC_STUB IEnumDMO_Reset_Stub(
1060     IRpcStubBuffer *This,
1061     IRpcChannelBuffer *_pRpcChannelBuffer,
1062     PRPC_MESSAGE _pRpcMessage,
1063     DWORD *_pdwStubPhase);
1064    
1065    
1066     HRESULT STDMETHODCALLTYPE IEnumDMO_Clone_Proxy(
1067     IEnumDMO * This,
1068     /* [out] */ IEnumDMO **ppEnum);
1069    
1070    
1071     void __RPC_STUB IEnumDMO_Clone_Stub(
1072     IRpcStubBuffer *This,
1073     IRpcChannelBuffer *_pRpcChannelBuffer,
1074     PRPC_MESSAGE _pRpcMessage,
1075     DWORD *_pdwStubPhase);
1076    
1077    
1078    
1079     #endif /* __IEnumDMO_INTERFACE_DEFINED__ */
1080    
1081    
1082     /* interface __MIDL_itf_mediaobj_0087 */
1083     /* [local] */
1084    
1085    
1086     enum _DMO_INPLACE_PROCESS_FLAGS
1087     { DMO_INPLACE_NORMAL = 0,
1088     DMO_INPLACE_ZERO = 0x1
1089     } ;
1090    
1091    
1092     extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0087_v0_0_c_ifspec;
1093     extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0087_v0_0_s_ifspec;
1094    
1095     #ifndef __IMediaObjectInPlace_INTERFACE_DEFINED__
1096     #define __IMediaObjectInPlace_INTERFACE_DEFINED__
1097    
1098     /* interface IMediaObjectInPlace */
1099     /* [uuid][object] */
1100    
1101    
1102     EXTERN_C const IID IID_IMediaObjectInPlace;
1103    
1104     #if defined(__cplusplus) && !defined(CINTERFACE)
1105    
1106     MIDL_INTERFACE("651b9ad0-0fc7-4aa9-9538-d89931010741")
1107     IMediaObjectInPlace : public IUnknown
1108     {
1109     public:
1110     virtual HRESULT STDMETHODCALLTYPE Process(
1111     /* [in] */ ULONG ulSize,
1112     /* [size_is][out][in] */ BYTE *pData,
1113     /* [in] */ REFERENCE_TIME refTimeStart,
1114     /* [in] */ DWORD dwFlags) = 0;
1115    
1116     virtual HRESULT STDMETHODCALLTYPE Clone(
1117     /* [out] */ IMediaObjectInPlace **ppMediaObject) = 0;
1118    
1119     virtual HRESULT STDMETHODCALLTYPE GetLatency(
1120     /* [out] */ REFERENCE_TIME *pLatencyTime) = 0;
1121    
1122     };
1123    
1124     #else /* C style interface */
1125    
1126     typedef struct IMediaObjectInPlaceVtbl
1127     {
1128     BEGIN_INTERFACE
1129    
1130     HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1131     IMediaObjectInPlace * This,
1132     /* [in] */ REFIID riid,
1133     /* [iid_is][out] */ void **ppvObject);
1134    
1135     ULONG ( STDMETHODCALLTYPE *AddRef )(
1136     IMediaObjectInPlace * This);
1137    
1138     ULONG ( STDMETHODCALLTYPE *Release )(
1139     IMediaObjectInPlace * This);
1140    
1141     HRESULT ( STDMETHODCALLTYPE *Process )(
1142     IMediaObjectInPlace * This,
1143     /* [in] */ ULONG ulSize,
1144     /* [size_is][out][in] */ BYTE *pData,
1145     /* [in] */ REFERENCE_TIME refTimeStart,
1146     /* [in] */ DWORD dwFlags);
1147    
1148     HRESULT ( STDMETHODCALLTYPE *Clone )(
1149     IMediaObjectInPlace * This,
1150     /* [out] */ IMediaObjectInPlace **ppMediaObject);
1151    
1152     HRESULT ( STDMETHODCALLTYPE *GetLatency )(
1153     IMediaObjectInPlace * This,
1154     /* [out] */ REFERENCE_TIME *pLatencyTime);
1155    
1156     END_INTERFACE
1157     } IMediaObjectInPlaceVtbl;
1158    
1159     interface IMediaObjectInPlace
1160     {
1161     CONST_VTBL struct IMediaObjectInPlaceVtbl *lpVtbl;
1162     };
1163    
1164    
1165    
1166     #ifdef COBJMACROS
1167    
1168    
1169     #define IMediaObjectInPlace_QueryInterface(This,riid,ppvObject) \
1170     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
1171    
1172     #define IMediaObjectInPlace_AddRef(This) \
1173     (This)->lpVtbl -> AddRef(This)
1174    
1175     #define IMediaObjectInPlace_Release(This) \
1176     (This)->lpVtbl -> Release(This)
1177    
1178    
1179     #define IMediaObjectInPlace_Process(This,ulSize,pData,refTimeStart,dwFlags) \
1180     (This)->lpVtbl -> Process(This,ulSize,pData,refTimeStart,dwFlags)
1181    
1182     #define IMediaObjectInPlace_Clone(This,ppMediaObject) \
1183     (This)->lpVtbl -> Clone(This,ppMediaObject)
1184    
1185     #define IMediaObjectInPlace_GetLatency(This,pLatencyTime) \
1186     (This)->lpVtbl -> GetLatency(This,pLatencyTime)
1187    
1188     #endif /* COBJMACROS */
1189    
1190    
1191     #endif /* C style interface */
1192    
1193    
1194    
1195     HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_Process_Proxy(
1196     IMediaObjectInPlace * This,
1197     /* [in] */ ULONG ulSize,
1198     /* [size_is][out][in] */ BYTE *pData,
1199     /* [in] */ REFERENCE_TIME refTimeStart,
1200     /* [in] */ DWORD dwFlags);
1201    
1202    
1203     void __RPC_STUB IMediaObjectInPlace_Process_Stub(
1204     IRpcStubBuffer *This,
1205     IRpcChannelBuffer *_pRpcChannelBuffer,
1206     PRPC_MESSAGE _pRpcMessage,
1207     DWORD *_pdwStubPhase);
1208    
1209    
1210     HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_Clone_Proxy(
1211     IMediaObjectInPlace * This,
1212     /* [out] */ IMediaObjectInPlace **ppMediaObject);
1213    
1214    
1215     void __RPC_STUB IMediaObjectInPlace_Clone_Stub(
1216     IRpcStubBuffer *This,
1217     IRpcChannelBuffer *_pRpcChannelBuffer,
1218     PRPC_MESSAGE _pRpcMessage,
1219     DWORD *_pdwStubPhase);
1220    
1221    
1222     HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_GetLatency_Proxy(
1223     IMediaObjectInPlace * This,
1224     /* [out] */ REFERENCE_TIME *pLatencyTime);
1225    
1226    
1227     void __RPC_STUB IMediaObjectInPlace_GetLatency_Stub(
1228     IRpcStubBuffer *This,
1229     IRpcChannelBuffer *_pRpcChannelBuffer,
1230     PRPC_MESSAGE _pRpcMessage,
1231     DWORD *_pdwStubPhase);
1232    
1233    
1234    
1235     #endif /* __IMediaObjectInPlace_INTERFACE_DEFINED__ */
1236    
1237    
1238     /* interface __MIDL_itf_mediaobj_0088 */
1239     /* [local] */
1240    
1241    
1242     enum _DMO_QUALITY_STATUS_FLAGS
1243     { DMO_QUALITY_STATUS_ENABLED = 0x1
1244     } ;
1245    
1246    
1247     extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0088_v0_0_c_ifspec;
1248     extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0088_v0_0_s_ifspec;
1249    
1250     #ifndef __IDMOQualityControl_INTERFACE_DEFINED__
1251     #define __IDMOQualityControl_INTERFACE_DEFINED__
1252    
1253     /* interface IDMOQualityControl */
1254     /* [uuid][object] */
1255    
1256    
1257     EXTERN_C const IID IID_IDMOQualityControl;
1258    
1259     #if defined(__cplusplus) && !defined(CINTERFACE)
1260    
1261     MIDL_INTERFACE("65abea96-cf36-453f-af8a-705e98f16260")
1262     IDMOQualityControl : public IUnknown
1263     {
1264     public:
1265     virtual HRESULT STDMETHODCALLTYPE SetNow(
1266     /* [in] */ REFERENCE_TIME rtNow) = 0;
1267    
1268     virtual HRESULT STDMETHODCALLTYPE SetStatus(
1269     /* [in] */ DWORD dwFlags) = 0;
1270    
1271     virtual HRESULT STDMETHODCALLTYPE GetStatus(
1272     /* [out] */ DWORD *pdwFlags) = 0;
1273    
1274     };
1275    
1276     #else /* C style interface */
1277    
1278     typedef struct IDMOQualityControlVtbl
1279     {
1280     BEGIN_INTERFACE
1281    
1282     HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1283     IDMOQualityControl * This,
1284     /* [in] */ REFIID riid,
1285     /* [iid_is][out] */ void **ppvObject);
1286    
1287     ULONG ( STDMETHODCALLTYPE *AddRef )(
1288     IDMOQualityControl * This);
1289    
1290     ULONG ( STDMETHODCALLTYPE *Release )(
1291     IDMOQualityControl * This);
1292    
1293     HRESULT ( STDMETHODCALLTYPE *SetNow )(
1294     IDMOQualityControl * This,
1295     /* [in] */ REFERENCE_TIME rtNow);
1296    
1297     HRESULT ( STDMETHODCALLTYPE *SetStatus )(
1298     IDMOQualityControl * This,
1299     /* [in] */ DWORD dwFlags);
1300    
1301     HRESULT ( STDMETHODCALLTYPE *GetStatus )(
1302     IDMOQualityControl * This,
1303     /* [out] */ DWORD *pdwFlags);
1304    
1305     END_INTERFACE
1306     } IDMOQualityControlVtbl;
1307    
1308     interface IDMOQualityControl
1309     {
1310     CONST_VTBL struct IDMOQualityControlVtbl *lpVtbl;
1311     };
1312    
1313    
1314    
1315     #ifdef COBJMACROS
1316    
1317    
1318     #define IDMOQualityControl_QueryInterface(This,riid,ppvObject) \
1319     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
1320    
1321     #define IDMOQualityControl_AddRef(This) \
1322     (This)->lpVtbl -> AddRef(This)
1323    
1324     #define IDMOQualityControl_Release(This) \
1325     (This)->lpVtbl -> Release(This)
1326    
1327    
1328     #define IDMOQualityControl_SetNow(This,rtNow) \
1329     (This)->lpVtbl -> SetNow(This,rtNow)
1330    
1331     #define IDMOQualityControl_SetStatus(This,dwFlags) \
1332     (This)->lpVtbl -> SetStatus(This,dwFlags)
1333    
1334     #define IDMOQualityControl_GetStatus(This,pdwFlags) \
1335     (This)->lpVtbl -> GetStatus(This,pdwFlags)
1336    
1337     #endif /* COBJMACROS */
1338    
1339    
1340     #endif /* C style interface */
1341    
1342    
1343    
1344     HRESULT STDMETHODCALLTYPE IDMOQualityControl_SetNow_Proxy(
1345     IDMOQualityControl * This,
1346     /* [in] */ REFERENCE_TIME rtNow);
1347    
1348    
1349     void __RPC_STUB IDMOQualityControl_SetNow_Stub(
1350     IRpcStubBuffer *This,
1351     IRpcChannelBuffer *_pRpcChannelBuffer,
1352     PRPC_MESSAGE _pRpcMessage,
1353     DWORD *_pdwStubPhase);
1354    
1355    
1356     HRESULT STDMETHODCALLTYPE IDMOQualityControl_SetStatus_Proxy(
1357     IDMOQualityControl * This,
1358     /* [in] */ DWORD dwFlags);
1359    
1360    
1361     void __RPC_STUB IDMOQualityControl_SetStatus_Stub(
1362     IRpcStubBuffer *This,
1363     IRpcChannelBuffer *_pRpcChannelBuffer,
1364     PRPC_MESSAGE _pRpcMessage,
1365     DWORD *_pdwStubPhase);
1366    
1367    
1368     HRESULT STDMETHODCALLTYPE IDMOQualityControl_GetStatus_Proxy(
1369     IDMOQualityControl * This,
1370     /* [out] */ DWORD *pdwFlags);
1371    
1372    
1373     void __RPC_STUB IDMOQualityControl_GetStatus_Stub(
1374     IRpcStubBuffer *This,
1375     IRpcChannelBuffer *_pRpcChannelBuffer,
1376     PRPC_MESSAGE _pRpcMessage,
1377     DWORD *_pdwStubPhase);
1378    
1379    
1380    
1381     #endif /* __IDMOQualityControl_INTERFACE_DEFINED__ */
1382    
1383    
1384     /* interface __MIDL_itf_mediaobj_0089 */
1385     /* [local] */
1386    
1387    
1388     enum _DMO_VIDEO_OUTPUT_STREAM_FLAGS
1389     { DMO_VOSF_NEEDS_PREVIOUS_SAMPLE = 0x1
1390     } ;
1391    
1392    
1393     extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0089_v0_0_c_ifspec;
1394     extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0089_v0_0_s_ifspec;
1395    
1396     #ifndef __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__
1397     #define __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__
1398    
1399     /* interface IDMOVideoOutputOptimizations */
1400     /* [uuid][object] */
1401    
1402    
1403     EXTERN_C const IID IID_IDMOVideoOutputOptimizations;
1404    
1405     #if defined(__cplusplus) && !defined(CINTERFACE)
1406    
1407     MIDL_INTERFACE("be8f4f4e-5b16-4d29-b350-7f6b5d9298ac")
1408     IDMOVideoOutputOptimizations : public IUnknown
1409     {
1410     public:
1411     virtual HRESULT STDMETHODCALLTYPE QueryOperationModePreferences(
1412     ULONG ulOutputStreamIndex,
1413     DWORD *pdwRequestedCapabilities) = 0;
1414    
1415     virtual HRESULT STDMETHODCALLTYPE SetOperationMode(
1416     ULONG ulOutputStreamIndex,
1417     DWORD dwEnabledFeatures) = 0;
1418    
1419     virtual HRESULT STDMETHODCALLTYPE GetCurrentOperationMode(
1420     ULONG ulOutputStreamIndex,
1421     DWORD *pdwEnabledFeatures) = 0;
1422    
1423     virtual HRESULT STDMETHODCALLTYPE GetCurrentSampleRequirements(
1424     ULONG ulOutputStreamIndex,
1425     DWORD *pdwRequestedFeatures) = 0;
1426    
1427     };
1428    
1429     #else /* C style interface */
1430    
1431     typedef struct IDMOVideoOutputOptimizationsVtbl
1432     {
1433     BEGIN_INTERFACE
1434    
1435     HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1436     IDMOVideoOutputOptimizations * This,
1437     /* [in] */ REFIID riid,
1438     /* [iid_is][out] */ void **ppvObject);
1439    
1440     ULONG ( STDMETHODCALLTYPE *AddRef )(
1441     IDMOVideoOutputOptimizations * This);
1442    
1443     ULONG ( STDMETHODCALLTYPE *Release )(
1444     IDMOVideoOutputOptimizations * This);
1445    
1446     HRESULT ( STDMETHODCALLTYPE *QueryOperationModePreferences )(
1447     IDMOVideoOutputOptimizations * This,
1448     ULONG ulOutputStreamIndex,
1449     DWORD *pdwRequestedCapabilities);
1450    
1451     HRESULT ( STDMETHODCALLTYPE *SetOperationMode )(
1452     IDMOVideoOutputOptimizations * This,
1453     ULONG ulOutputStreamIndex,
1454     DWORD dwEnabledFeatures);
1455    
1456     HRESULT ( STDMETHODCALLTYPE *GetCurrentOperationMode )(
1457     IDMOVideoOutputOptimizations * This,
1458     ULONG ulOutputStreamIndex,
1459     DWORD *pdwEnabledFeatures);
1460    
1461     HRESULT ( STDMETHODCALLTYPE *GetCurrentSampleRequirements )(
1462     IDMOVideoOutputOptimizations * This,
1463     ULONG ulOutputStreamIndex,
1464     DWORD *pdwRequestedFeatures);
1465    
1466     END_INTERFACE
1467     } IDMOVideoOutputOptimizationsVtbl;
1468    
1469     interface IDMOVideoOutputOptimizations
1470     {
1471     CONST_VTBL struct IDMOVideoOutputOptimizationsVtbl *lpVtbl;
1472     };
1473    
1474    
1475    
1476     #ifdef COBJMACROS
1477    
1478    
1479     #define IDMOVideoOutputOptimizations_QueryInterface(This,riid,ppvObject) \
1480     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
1481    
1482     #define IDMOVideoOutputOptimizations_AddRef(This) \
1483     (This)->lpVtbl -> AddRef(This)
1484    
1485     #define IDMOVideoOutputOptimizations_Release(This) \
1486     (This)->lpVtbl -> Release(This)
1487    
1488    
1489     #define IDMOVideoOutputOptimizations_QueryOperationModePreferences(This,ulOutputStreamIndex,pdwRequestedCapabilities) \
1490     (This)->lpVtbl -> QueryOperationModePreferences(This,ulOutputStreamIndex,pdwRequestedCapabilities)
1491    
1492     #define IDMOVideoOutputOptimizations_SetOperationMode(This,ulOutputStreamIndex,dwEnabledFeatures) \
1493     (This)->lpVtbl -> SetOperationMode(This,ulOutputStreamIndex,dwEnabledFeatures)
1494    
1495     #define IDMOVideoOutputOptimizations_GetCurrentOperationMode(This,ulOutputStreamIndex,pdwEnabledFeatures) \
1496     (This)->lpVtbl -> GetCurrentOperationMode(This,ulOutputStreamIndex,pdwEnabledFeatures)
1497    
1498     #define IDMOVideoOutputOptimizations_GetCurrentSampleRequirements(This,ulOutputStreamIndex,pdwRequestedFeatures) \
1499     (This)->lpVtbl -> GetCurrentSampleRequirements(This,ulOutputStreamIndex,pdwRequestedFeatures)
1500    
1501     #endif /* COBJMACROS */
1502    
1503    
1504     #endif /* C style interface */
1505    
1506    
1507    
1508     HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_QueryOperationModePreferences_Proxy(
1509     IDMOVideoOutputOptimizations * This,
1510     ULONG ulOutputStreamIndex,
1511     DWORD *pdwRequestedCapabilities);
1512    
1513    
1514     void __RPC_STUB IDMOVideoOutputOptimizations_QueryOperationModePreferences_Stub(
1515     IRpcStubBuffer *This,
1516     IRpcChannelBuffer *_pRpcChannelBuffer,
1517     PRPC_MESSAGE _pRpcMessage,
1518     DWORD *_pdwStubPhase);
1519    
1520    
1521     HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_SetOperationMode_Proxy(
1522     IDMOVideoOutputOptimizations * This,
1523     ULONG ulOutputStreamIndex,
1524     DWORD dwEnabledFeatures);
1525    
1526    
1527     void __RPC_STUB IDMOVideoOutputOptimizations_SetOperationMode_Stub(
1528     IRpcStubBuffer *This,
1529     IRpcChannelBuffer *_pRpcChannelBuffer,
1530     PRPC_MESSAGE _pRpcMessage,
1531     DWORD *_pdwStubPhase);
1532    
1533    
1534     HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_GetCurrentOperationMode_Proxy(
1535     IDMOVideoOutputOptimizations * This,
1536     ULONG ulOutputStreamIndex,
1537     DWORD *pdwEnabledFeatures);
1538    
1539    
1540     void __RPC_STUB IDMOVideoOutputOptimizations_GetCurrentOperationMode_Stub(
1541     IRpcStubBuffer *This,
1542     IRpcChannelBuffer *_pRpcChannelBuffer,
1543     PRPC_MESSAGE _pRpcMessage,
1544     DWORD *_pdwStubPhase);
1545    
1546    
1547     HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_GetCurrentSampleRequirements_Proxy(
1548     IDMOVideoOutputOptimizations * This,
1549     ULONG ulOutputStreamIndex,
1550     DWORD *pdwRequestedFeatures);
1551    
1552    
1553     void __RPC_STUB IDMOVideoOutputOptimizations_GetCurrentSampleRequirements_Stub(
1554     IRpcStubBuffer *This,
1555     IRpcChannelBuffer *_pRpcChannelBuffer,
1556     PRPC_MESSAGE _pRpcMessage,
1557     DWORD *_pdwStubPhase);
1558    
1559    
1560    
1561     #endif /* __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__ */
1562    
1563    
1564     /* Additional Prototypes for ALL interfaces */
1565    
1566     /* end of Additional Prototypes */
1567    
1568     #ifdef __cplusplus
1569     }
1570     #endif
1571    
1572     #endif
1573    
1574    

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26