master
1/*** Autogenerated by WIDL 10.4 from include/qedit.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 __qedit_h__
17#define __qedit_h__
18
19/* Forward declarations */
20
21#ifndef __ISampleGrabberCB_FWD_DEFINED__
22#define __ISampleGrabberCB_FWD_DEFINED__
23typedef interface ISampleGrabberCB ISampleGrabberCB;
24#ifdef __cplusplus
25interface ISampleGrabberCB;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __ISampleGrabber_FWD_DEFINED__
30#define __ISampleGrabber_FWD_DEFINED__
31typedef interface ISampleGrabber ISampleGrabber;
32#ifdef __cplusplus
33interface ISampleGrabber;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __SampleGrabber_FWD_DEFINED__
38#define __SampleGrabber_FWD_DEFINED__
39#ifdef __cplusplus
40typedef class SampleGrabber SampleGrabber;
41#else
42typedef struct SampleGrabber SampleGrabber;
43#endif /* defined __cplusplus */
44#endif /* defined __SampleGrabber_FWD_DEFINED__ */
45
46#ifndef __IMediaDet_FWD_DEFINED__
47#define __IMediaDet_FWD_DEFINED__
48typedef interface IMediaDet IMediaDet;
49#ifdef __cplusplus
50interface IMediaDet;
51#endif /* __cplusplus */
52#endif
53
54#ifndef __MediaDet_FWD_DEFINED__
55#define __MediaDet_FWD_DEFINED__
56#ifdef __cplusplus
57typedef class MediaDet MediaDet;
58#else
59typedef struct MediaDet MediaDet;
60#endif /* defined __cplusplus */
61#endif /* defined __MediaDet_FWD_DEFINED__ */
62
63#ifndef __IMediaLocator_FWD_DEFINED__
64#define __IMediaLocator_FWD_DEFINED__
65typedef interface IMediaLocator IMediaLocator;
66#ifdef __cplusplus
67interface IMediaLocator;
68#endif /* __cplusplus */
69#endif
70
71#ifndef __IPropertySetter_FWD_DEFINED__
72#define __IPropertySetter_FWD_DEFINED__
73typedef interface IPropertySetter IPropertySetter;
74#ifdef __cplusplus
75interface IPropertySetter;
76#endif /* __cplusplus */
77#endif
78
79#ifndef __IAMErrorLog_FWD_DEFINED__
80#define __IAMErrorLog_FWD_DEFINED__
81typedef interface IAMErrorLog IAMErrorLog;
82#ifdef __cplusplus
83interface IAMErrorLog;
84#endif /* __cplusplus */
85#endif
86
87#ifndef __IAMSetErrorLog_FWD_DEFINED__
88#define __IAMSetErrorLog_FWD_DEFINED__
89typedef interface IAMSetErrorLog IAMSetErrorLog;
90#ifdef __cplusplus
91interface IAMSetErrorLog;
92#endif /* __cplusplus */
93#endif
94
95#ifndef __IAMTimeline_FWD_DEFINED__
96#define __IAMTimeline_FWD_DEFINED__
97typedef interface IAMTimeline IAMTimeline;
98#ifdef __cplusplus
99interface IAMTimeline;
100#endif /* __cplusplus */
101#endif
102
103#ifndef __AMTimeline_FWD_DEFINED__
104#define __AMTimeline_FWD_DEFINED__
105#ifdef __cplusplus
106typedef class AMTimeline AMTimeline;
107#else
108typedef struct AMTimeline AMTimeline;
109#endif /* defined __cplusplus */
110#endif /* defined __AMTimeline_FWD_DEFINED__ */
111
112#ifndef __IAMTimelineGroup_FWD_DEFINED__
113#define __IAMTimelineGroup_FWD_DEFINED__
114typedef interface IAMTimelineGroup IAMTimelineGroup;
115#ifdef __cplusplus
116interface IAMTimelineGroup;
117#endif /* __cplusplus */
118#endif
119
120#ifndef __IAMTimelineObj_FWD_DEFINED__
121#define __IAMTimelineObj_FWD_DEFINED__
122typedef interface IAMTimelineObj IAMTimelineObj;
123#ifdef __cplusplus
124interface IAMTimelineObj;
125#endif /* __cplusplus */
126#endif
127
128#ifndef __IAMTimelineSrc_FWD_DEFINED__
129#define __IAMTimelineSrc_FWD_DEFINED__
130typedef interface IAMTimelineSrc IAMTimelineSrc;
131#ifdef __cplusplus
132interface IAMTimelineSrc;
133#endif /* __cplusplus */
134#endif
135
136/* Headers for imported files */
137
138#include <oaidl.h>
139#include <ocidl.h>
140#include <amstream.h>
141#include <msxml.h>
142
143#ifdef __cplusplus
144extern "C" {
145#endif
146
147/*****************************************************************************
148 * ISampleGrabberCB interface
149 */
150#ifndef __ISampleGrabberCB_INTERFACE_DEFINED__
151#define __ISampleGrabberCB_INTERFACE_DEFINED__
152
153DEFINE_GUID(IID_ISampleGrabberCB, 0x0579154a, 0x2b53, 0x4994, 0xb0,0xd0, 0xe7,0x73,0x14,0x8e,0xff,0x85);
154#if defined(__cplusplus) && !defined(CINTERFACE)
155MIDL_INTERFACE("0579154a-2b53-4994-b0d0-e773148eff85")
156ISampleGrabberCB : public IUnknown
157{
158 virtual HRESULT STDMETHODCALLTYPE SampleCB(
159 double SampleTime,
160 IMediaSample *pSample) = 0;
161
162 virtual HRESULT STDMETHODCALLTYPE BufferCB(
163 double SampleTime,
164 BYTE *pBuffer,
165 LONG BufferLen) = 0;
166
167};
168#ifdef __CRT_UUID_DECL
169__CRT_UUID_DECL(ISampleGrabberCB, 0x0579154a, 0x2b53, 0x4994, 0xb0,0xd0, 0xe7,0x73,0x14,0x8e,0xff,0x85)
170#endif
171#else
172typedef struct ISampleGrabberCBVtbl {
173 BEGIN_INTERFACE
174
175 /*** IUnknown methods ***/
176 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
177 ISampleGrabberCB *This,
178 REFIID riid,
179 void **ppvObject);
180
181 ULONG (STDMETHODCALLTYPE *AddRef)(
182 ISampleGrabberCB *This);
183
184 ULONG (STDMETHODCALLTYPE *Release)(
185 ISampleGrabberCB *This);
186
187 /*** ISampleGrabberCB methods ***/
188 HRESULT (STDMETHODCALLTYPE *SampleCB)(
189 ISampleGrabberCB *This,
190 double SampleTime,
191 IMediaSample *pSample);
192
193 HRESULT (STDMETHODCALLTYPE *BufferCB)(
194 ISampleGrabberCB *This,
195 double SampleTime,
196 BYTE *pBuffer,
197 LONG BufferLen);
198
199 END_INTERFACE
200} ISampleGrabberCBVtbl;
201
202interface ISampleGrabberCB {
203 CONST_VTBL ISampleGrabberCBVtbl* lpVtbl;
204};
205
206#ifdef COBJMACROS
207#ifndef WIDL_C_INLINE_WRAPPERS
208/*** IUnknown methods ***/
209#define ISampleGrabberCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
210#define ISampleGrabberCB_AddRef(This) (This)->lpVtbl->AddRef(This)
211#define ISampleGrabberCB_Release(This) (This)->lpVtbl->Release(This)
212/*** ISampleGrabberCB methods ***/
213#define ISampleGrabberCB_SampleCB(This,SampleTime,pSample) (This)->lpVtbl->SampleCB(This,SampleTime,pSample)
214#define ISampleGrabberCB_BufferCB(This,SampleTime,pBuffer,BufferLen) (This)->lpVtbl->BufferCB(This,SampleTime,pBuffer,BufferLen)
215#else
216/*** IUnknown methods ***/
217static inline HRESULT ISampleGrabberCB_QueryInterface(ISampleGrabberCB* This,REFIID riid,void **ppvObject) {
218 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
219}
220static inline ULONG ISampleGrabberCB_AddRef(ISampleGrabberCB* This) {
221 return This->lpVtbl->AddRef(This);
222}
223static inline ULONG ISampleGrabberCB_Release(ISampleGrabberCB* This) {
224 return This->lpVtbl->Release(This);
225}
226/*** ISampleGrabberCB methods ***/
227static inline HRESULT ISampleGrabberCB_SampleCB(ISampleGrabberCB* This,double SampleTime,IMediaSample *pSample) {
228 return This->lpVtbl->SampleCB(This,SampleTime,pSample);
229}
230static inline HRESULT ISampleGrabberCB_BufferCB(ISampleGrabberCB* This,double SampleTime,BYTE *pBuffer,LONG BufferLen) {
231 return This->lpVtbl->BufferCB(This,SampleTime,pBuffer,BufferLen);
232}
233#endif
234#endif
235
236#endif
237
238
239#endif /* __ISampleGrabberCB_INTERFACE_DEFINED__ */
240
241/*****************************************************************************
242 * ISampleGrabber interface
243 */
244#ifndef __ISampleGrabber_INTERFACE_DEFINED__
245#define __ISampleGrabber_INTERFACE_DEFINED__
246
247DEFINE_GUID(IID_ISampleGrabber, 0x6b652fff, 0x11fe, 0x4fce, 0x92,0xad, 0x02,0x66,0xb5,0xd7,0xc7,0x8f);
248#if defined(__cplusplus) && !defined(CINTERFACE)
249MIDL_INTERFACE("6b652fff-11fe-4fce-92ad-0266b5d7c78f")
250ISampleGrabber : public IUnknown
251{
252 virtual HRESULT STDMETHODCALLTYPE SetOneShot(
253 WINBOOL OneShot) = 0;
254
255 virtual HRESULT STDMETHODCALLTYPE SetMediaType(
256 const AM_MEDIA_TYPE *pType) = 0;
257
258 virtual HRESULT STDMETHODCALLTYPE GetConnectedMediaType(
259 AM_MEDIA_TYPE *pType) = 0;
260
261 virtual HRESULT STDMETHODCALLTYPE SetBufferSamples(
262 WINBOOL BufferThem) = 0;
263
264 virtual HRESULT STDMETHODCALLTYPE GetCurrentBuffer(
265 LONG *pBufferSize,
266 LONG *pBuffer) = 0;
267
268 virtual HRESULT STDMETHODCALLTYPE GetCurrentSample(
269 IMediaSample **ppSample) = 0;
270
271 virtual HRESULT STDMETHODCALLTYPE SetCallback(
272 ISampleGrabberCB *pCallback,
273 LONG WhichMethodToCallback) = 0;
274
275};
276#ifdef __CRT_UUID_DECL
277__CRT_UUID_DECL(ISampleGrabber, 0x6b652fff, 0x11fe, 0x4fce, 0x92,0xad, 0x02,0x66,0xb5,0xd7,0xc7,0x8f)
278#endif
279#else
280typedef struct ISampleGrabberVtbl {
281 BEGIN_INTERFACE
282
283 /*** IUnknown methods ***/
284 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
285 ISampleGrabber *This,
286 REFIID riid,
287 void **ppvObject);
288
289 ULONG (STDMETHODCALLTYPE *AddRef)(
290 ISampleGrabber *This);
291
292 ULONG (STDMETHODCALLTYPE *Release)(
293 ISampleGrabber *This);
294
295 /*** ISampleGrabber methods ***/
296 HRESULT (STDMETHODCALLTYPE *SetOneShot)(
297 ISampleGrabber *This,
298 WINBOOL OneShot);
299
300 HRESULT (STDMETHODCALLTYPE *SetMediaType)(
301 ISampleGrabber *This,
302 const AM_MEDIA_TYPE *pType);
303
304 HRESULT (STDMETHODCALLTYPE *GetConnectedMediaType)(
305 ISampleGrabber *This,
306 AM_MEDIA_TYPE *pType);
307
308 HRESULT (STDMETHODCALLTYPE *SetBufferSamples)(
309 ISampleGrabber *This,
310 WINBOOL BufferThem);
311
312 HRESULT (STDMETHODCALLTYPE *GetCurrentBuffer)(
313 ISampleGrabber *This,
314 LONG *pBufferSize,
315 LONG *pBuffer);
316
317 HRESULT (STDMETHODCALLTYPE *GetCurrentSample)(
318 ISampleGrabber *This,
319 IMediaSample **ppSample);
320
321 HRESULT (STDMETHODCALLTYPE *SetCallback)(
322 ISampleGrabber *This,
323 ISampleGrabberCB *pCallback,
324 LONG WhichMethodToCallback);
325
326 END_INTERFACE
327} ISampleGrabberVtbl;
328
329interface ISampleGrabber {
330 CONST_VTBL ISampleGrabberVtbl* lpVtbl;
331};
332
333#ifdef COBJMACROS
334#ifndef WIDL_C_INLINE_WRAPPERS
335/*** IUnknown methods ***/
336#define ISampleGrabber_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
337#define ISampleGrabber_AddRef(This) (This)->lpVtbl->AddRef(This)
338#define ISampleGrabber_Release(This) (This)->lpVtbl->Release(This)
339/*** ISampleGrabber methods ***/
340#define ISampleGrabber_SetOneShot(This,OneShot) (This)->lpVtbl->SetOneShot(This,OneShot)
341#define ISampleGrabber_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType)
342#define ISampleGrabber_GetConnectedMediaType(This,pType) (This)->lpVtbl->GetConnectedMediaType(This,pType)
343#define ISampleGrabber_SetBufferSamples(This,BufferThem) (This)->lpVtbl->SetBufferSamples(This,BufferThem)
344#define ISampleGrabber_GetCurrentBuffer(This,pBufferSize,pBuffer) (This)->lpVtbl->GetCurrentBuffer(This,pBufferSize,pBuffer)
345#define ISampleGrabber_GetCurrentSample(This,ppSample) (This)->lpVtbl->GetCurrentSample(This,ppSample)
346#define ISampleGrabber_SetCallback(This,pCallback,WhichMethodToCallback) (This)->lpVtbl->SetCallback(This,pCallback,WhichMethodToCallback)
347#else
348/*** IUnknown methods ***/
349static inline HRESULT ISampleGrabber_QueryInterface(ISampleGrabber* This,REFIID riid,void **ppvObject) {
350 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
351}
352static inline ULONG ISampleGrabber_AddRef(ISampleGrabber* This) {
353 return This->lpVtbl->AddRef(This);
354}
355static inline ULONG ISampleGrabber_Release(ISampleGrabber* This) {
356 return This->lpVtbl->Release(This);
357}
358/*** ISampleGrabber methods ***/
359static inline HRESULT ISampleGrabber_SetOneShot(ISampleGrabber* This,WINBOOL OneShot) {
360 return This->lpVtbl->SetOneShot(This,OneShot);
361}
362static inline HRESULT ISampleGrabber_SetMediaType(ISampleGrabber* This,const AM_MEDIA_TYPE *pType) {
363 return This->lpVtbl->SetMediaType(This,pType);
364}
365static inline HRESULT ISampleGrabber_GetConnectedMediaType(ISampleGrabber* This,AM_MEDIA_TYPE *pType) {
366 return This->lpVtbl->GetConnectedMediaType(This,pType);
367}
368static inline HRESULT ISampleGrabber_SetBufferSamples(ISampleGrabber* This,WINBOOL BufferThem) {
369 return This->lpVtbl->SetBufferSamples(This,BufferThem);
370}
371static inline HRESULT ISampleGrabber_GetCurrentBuffer(ISampleGrabber* This,LONG *pBufferSize,LONG *pBuffer) {
372 return This->lpVtbl->GetCurrentBuffer(This,pBufferSize,pBuffer);
373}
374static inline HRESULT ISampleGrabber_GetCurrentSample(ISampleGrabber* This,IMediaSample **ppSample) {
375 return This->lpVtbl->GetCurrentSample(This,ppSample);
376}
377static inline HRESULT ISampleGrabber_SetCallback(ISampleGrabber* This,ISampleGrabberCB *pCallback,LONG WhichMethodToCallback) {
378 return This->lpVtbl->SetCallback(This,pCallback,WhichMethodToCallback);
379}
380#endif
381#endif
382
383#endif
384
385
386#endif /* __ISampleGrabber_INTERFACE_DEFINED__ */
387
388/*****************************************************************************
389 * SampleGrabber coclass
390 */
391
392DEFINE_GUID(CLSID_SampleGrabber, 0xc1f400a0, 0x3f08, 0x11d3, 0x9f,0x0b, 0x00,0x60,0x08,0x03,0x9e,0x37);
393
394#ifdef __cplusplus
395class DECLSPEC_UUID("c1f400a0-3f08-11d3-9f0b-006008039e37") SampleGrabber;
396#ifdef __CRT_UUID_DECL
397__CRT_UUID_DECL(SampleGrabber, 0xc1f400a0, 0x3f08, 0x11d3, 0x9f,0x0b, 0x00,0x60,0x08,0x03,0x9e,0x37)
398#endif
399#endif
400
401/*****************************************************************************
402 * IMediaDet interface
403 */
404#ifndef __IMediaDet_INTERFACE_DEFINED__
405#define __IMediaDet_INTERFACE_DEFINED__
406
407DEFINE_GUID(IID_IMediaDet, 0x65bd0710, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa);
408#if defined(__cplusplus) && !defined(CINTERFACE)
409MIDL_INTERFACE("65bd0710-24d2-4ff7-9324-ed2e5d3abafa")
410IMediaDet : public IUnknown
411{
412 virtual HRESULT STDMETHODCALLTYPE get_Filter(
413 IUnknown **pVal) = 0;
414
415 virtual HRESULT STDMETHODCALLTYPE put_Filter(
416 IUnknown *newVal) = 0;
417
418 virtual HRESULT STDMETHODCALLTYPE get_OutputStreams(
419 LONG *pVal) = 0;
420
421 virtual HRESULT STDMETHODCALLTYPE get_CurrentStream(
422 LONG *pVal) = 0;
423
424 virtual HRESULT STDMETHODCALLTYPE put_CurrentStream(
425 LONG newVal) = 0;
426
427 virtual HRESULT STDMETHODCALLTYPE get_StreamType(
428 GUID *pVal) = 0;
429
430 virtual HRESULT STDMETHODCALLTYPE get_StreamTypeB(
431 BSTR *pVal) = 0;
432
433 virtual HRESULT STDMETHODCALLTYPE get_StreamLength(
434 double *pVal) = 0;
435
436 virtual HRESULT STDMETHODCALLTYPE get_Filename(
437 BSTR *pVal) = 0;
438
439 virtual HRESULT STDMETHODCALLTYPE put_Filename(
440 BSTR newVal) = 0;
441
442 virtual HRESULT STDMETHODCALLTYPE GetBitmapBits(
443 double StreamTime,
444 LONG *pBufferSize,
445 char *pBuffer,
446 LONG Width,
447 LONG Height) = 0;
448
449 virtual HRESULT STDMETHODCALLTYPE WriteBitmapBits(
450 double StreamTime,
451 LONG Width,
452 LONG Height,
453 BSTR Filename) = 0;
454
455 virtual HRESULT STDMETHODCALLTYPE get_StreamMediaType(
456 AM_MEDIA_TYPE *pVal) = 0;
457
458 virtual HRESULT STDMETHODCALLTYPE GetSampleGrabber(
459 ISampleGrabber **ppVal) = 0;
460
461 virtual HRESULT STDMETHODCALLTYPE get_FrameRate(
462 double *pVal) = 0;
463
464 virtual HRESULT STDMETHODCALLTYPE EnterBitmapGrabMode(
465 double SeekTime) = 0;
466
467};
468#ifdef __CRT_UUID_DECL
469__CRT_UUID_DECL(IMediaDet, 0x65bd0710, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa)
470#endif
471#else
472typedef struct IMediaDetVtbl {
473 BEGIN_INTERFACE
474
475 /*** IUnknown methods ***/
476 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
477 IMediaDet *This,
478 REFIID riid,
479 void **ppvObject);
480
481 ULONG (STDMETHODCALLTYPE *AddRef)(
482 IMediaDet *This);
483
484 ULONG (STDMETHODCALLTYPE *Release)(
485 IMediaDet *This);
486
487 /*** IMediaDet methods ***/
488 HRESULT (STDMETHODCALLTYPE *get_Filter)(
489 IMediaDet *This,
490 IUnknown **pVal);
491
492 HRESULT (STDMETHODCALLTYPE *put_Filter)(
493 IMediaDet *This,
494 IUnknown *newVal);
495
496 HRESULT (STDMETHODCALLTYPE *get_OutputStreams)(
497 IMediaDet *This,
498 LONG *pVal);
499
500 HRESULT (STDMETHODCALLTYPE *get_CurrentStream)(
501 IMediaDet *This,
502 LONG *pVal);
503
504 HRESULT (STDMETHODCALLTYPE *put_CurrentStream)(
505 IMediaDet *This,
506 LONG newVal);
507
508 HRESULT (STDMETHODCALLTYPE *get_StreamType)(
509 IMediaDet *This,
510 GUID *pVal);
511
512 HRESULT (STDMETHODCALLTYPE *get_StreamTypeB)(
513 IMediaDet *This,
514 BSTR *pVal);
515
516 HRESULT (STDMETHODCALLTYPE *get_StreamLength)(
517 IMediaDet *This,
518 double *pVal);
519
520 HRESULT (STDMETHODCALLTYPE *get_Filename)(
521 IMediaDet *This,
522 BSTR *pVal);
523
524 HRESULT (STDMETHODCALLTYPE *put_Filename)(
525 IMediaDet *This,
526 BSTR newVal);
527
528 HRESULT (STDMETHODCALLTYPE *GetBitmapBits)(
529 IMediaDet *This,
530 double StreamTime,
531 LONG *pBufferSize,
532 char *pBuffer,
533 LONG Width,
534 LONG Height);
535
536 HRESULT (STDMETHODCALLTYPE *WriteBitmapBits)(
537 IMediaDet *This,
538 double StreamTime,
539 LONG Width,
540 LONG Height,
541 BSTR Filename);
542
543 HRESULT (STDMETHODCALLTYPE *get_StreamMediaType)(
544 IMediaDet *This,
545 AM_MEDIA_TYPE *pVal);
546
547 HRESULT (STDMETHODCALLTYPE *GetSampleGrabber)(
548 IMediaDet *This,
549 ISampleGrabber **ppVal);
550
551 HRESULT (STDMETHODCALLTYPE *get_FrameRate)(
552 IMediaDet *This,
553 double *pVal);
554
555 HRESULT (STDMETHODCALLTYPE *EnterBitmapGrabMode)(
556 IMediaDet *This,
557 double SeekTime);
558
559 END_INTERFACE
560} IMediaDetVtbl;
561
562interface IMediaDet {
563 CONST_VTBL IMediaDetVtbl* lpVtbl;
564};
565
566#ifdef COBJMACROS
567#ifndef WIDL_C_INLINE_WRAPPERS
568/*** IUnknown methods ***/
569#define IMediaDet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
570#define IMediaDet_AddRef(This) (This)->lpVtbl->AddRef(This)
571#define IMediaDet_Release(This) (This)->lpVtbl->Release(This)
572/*** IMediaDet methods ***/
573#define IMediaDet_get_Filter(This,pVal) (This)->lpVtbl->get_Filter(This,pVal)
574#define IMediaDet_put_Filter(This,newVal) (This)->lpVtbl->put_Filter(This,newVal)
575#define IMediaDet_get_OutputStreams(This,pVal) (This)->lpVtbl->get_OutputStreams(This,pVal)
576#define IMediaDet_get_CurrentStream(This,pVal) (This)->lpVtbl->get_CurrentStream(This,pVal)
577#define IMediaDet_put_CurrentStream(This,newVal) (This)->lpVtbl->put_CurrentStream(This,newVal)
578#define IMediaDet_get_StreamType(This,pVal) (This)->lpVtbl->get_StreamType(This,pVal)
579#define IMediaDet_get_StreamTypeB(This,pVal) (This)->lpVtbl->get_StreamTypeB(This,pVal)
580#define IMediaDet_get_StreamLength(This,pVal) (This)->lpVtbl->get_StreamLength(This,pVal)
581#define IMediaDet_get_Filename(This,pVal) (This)->lpVtbl->get_Filename(This,pVal)
582#define IMediaDet_put_Filename(This,newVal) (This)->lpVtbl->put_Filename(This,newVal)
583#define IMediaDet_GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height) (This)->lpVtbl->GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height)
584#define IMediaDet_WriteBitmapBits(This,StreamTime,Width,Height,Filename) (This)->lpVtbl->WriteBitmapBits(This,StreamTime,Width,Height,Filename)
585#define IMediaDet_get_StreamMediaType(This,pVal) (This)->lpVtbl->get_StreamMediaType(This,pVal)
586#define IMediaDet_GetSampleGrabber(This,ppVal) (This)->lpVtbl->GetSampleGrabber(This,ppVal)
587#define IMediaDet_get_FrameRate(This,pVal) (This)->lpVtbl->get_FrameRate(This,pVal)
588#define IMediaDet_EnterBitmapGrabMode(This,SeekTime) (This)->lpVtbl->EnterBitmapGrabMode(This,SeekTime)
589#else
590/*** IUnknown methods ***/
591static inline HRESULT IMediaDet_QueryInterface(IMediaDet* This,REFIID riid,void **ppvObject) {
592 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
593}
594static inline ULONG IMediaDet_AddRef(IMediaDet* This) {
595 return This->lpVtbl->AddRef(This);
596}
597static inline ULONG IMediaDet_Release(IMediaDet* This) {
598 return This->lpVtbl->Release(This);
599}
600/*** IMediaDet methods ***/
601static inline HRESULT IMediaDet_get_Filter(IMediaDet* This,IUnknown **pVal) {
602 return This->lpVtbl->get_Filter(This,pVal);
603}
604static inline HRESULT IMediaDet_put_Filter(IMediaDet* This,IUnknown *newVal) {
605 return This->lpVtbl->put_Filter(This,newVal);
606}
607static inline HRESULT IMediaDet_get_OutputStreams(IMediaDet* This,LONG *pVal) {
608 return This->lpVtbl->get_OutputStreams(This,pVal);
609}
610static inline HRESULT IMediaDet_get_CurrentStream(IMediaDet* This,LONG *pVal) {
611 return This->lpVtbl->get_CurrentStream(This,pVal);
612}
613static inline HRESULT IMediaDet_put_CurrentStream(IMediaDet* This,LONG newVal) {
614 return This->lpVtbl->put_CurrentStream(This,newVal);
615}
616static inline HRESULT IMediaDet_get_StreamType(IMediaDet* This,GUID *pVal) {
617 return This->lpVtbl->get_StreamType(This,pVal);
618}
619static inline HRESULT IMediaDet_get_StreamTypeB(IMediaDet* This,BSTR *pVal) {
620 return This->lpVtbl->get_StreamTypeB(This,pVal);
621}
622static inline HRESULT IMediaDet_get_StreamLength(IMediaDet* This,double *pVal) {
623 return This->lpVtbl->get_StreamLength(This,pVal);
624}
625static inline HRESULT IMediaDet_get_Filename(IMediaDet* This,BSTR *pVal) {
626 return This->lpVtbl->get_Filename(This,pVal);
627}
628static inline HRESULT IMediaDet_put_Filename(IMediaDet* This,BSTR newVal) {
629 return This->lpVtbl->put_Filename(This,newVal);
630}
631static inline HRESULT IMediaDet_GetBitmapBits(IMediaDet* This,double StreamTime,LONG *pBufferSize,char *pBuffer,LONG Width,LONG Height) {
632 return This->lpVtbl->GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height);
633}
634static inline HRESULT IMediaDet_WriteBitmapBits(IMediaDet* This,double StreamTime,LONG Width,LONG Height,BSTR Filename) {
635 return This->lpVtbl->WriteBitmapBits(This,StreamTime,Width,Height,Filename);
636}
637static inline HRESULT IMediaDet_get_StreamMediaType(IMediaDet* This,AM_MEDIA_TYPE *pVal) {
638 return This->lpVtbl->get_StreamMediaType(This,pVal);
639}
640static inline HRESULT IMediaDet_GetSampleGrabber(IMediaDet* This,ISampleGrabber **ppVal) {
641 return This->lpVtbl->GetSampleGrabber(This,ppVal);
642}
643static inline HRESULT IMediaDet_get_FrameRate(IMediaDet* This,double *pVal) {
644 return This->lpVtbl->get_FrameRate(This,pVal);
645}
646static inline HRESULT IMediaDet_EnterBitmapGrabMode(IMediaDet* This,double SeekTime) {
647 return This->lpVtbl->EnterBitmapGrabMode(This,SeekTime);
648}
649#endif
650#endif
651
652#endif
653
654
655#endif /* __IMediaDet_INTERFACE_DEFINED__ */
656
657/*****************************************************************************
658 * MediaDet coclass
659 */
660
661DEFINE_GUID(CLSID_MediaDet, 0x65bd0711, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa);
662
663#ifdef __cplusplus
664class DECLSPEC_UUID("65bd0711-24d2-4ff7-9324-ed2e5d3abafa") MediaDet;
665#ifdef __CRT_UUID_DECL
666__CRT_UUID_DECL(MediaDet, 0x65bd0711, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa)
667#endif
668#endif
669
670/*****************************************************************************
671 * IMediaLocator interface
672 */
673#ifndef __IMediaLocator_INTERFACE_DEFINED__
674#define __IMediaLocator_INTERFACE_DEFINED__
675
676DEFINE_GUID(IID_IMediaLocator, 0x288581e0, 0x66ce, 0x11d2, 0x91,0x8f, 0x00,0xc0,0xdf,0x10,0xd4,0x34);
677#if defined(__cplusplus) && !defined(CINTERFACE)
678MIDL_INTERFACE("288581e0-66ce-11d2-918f-00c0df10d434")
679IMediaLocator : public IUnknown
680{
681 virtual HRESULT STDMETHODCALLTYPE FindMediaFile(
682 BSTR input,
683 BSTR filter,
684 BSTR *output,
685 LONG flags) = 0;
686
687 virtual HRESULT STDMETHODCALLTYPE AddFoundLocation(
688 BSTR dir) = 0;
689
690};
691#ifdef __CRT_UUID_DECL
692__CRT_UUID_DECL(IMediaLocator, 0x288581e0, 0x66ce, 0x11d2, 0x91,0x8f, 0x00,0xc0,0xdf,0x10,0xd4,0x34)
693#endif
694#else
695typedef struct IMediaLocatorVtbl {
696 BEGIN_INTERFACE
697
698 /*** IUnknown methods ***/
699 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
700 IMediaLocator *This,
701 REFIID riid,
702 void **ppvObject);
703
704 ULONG (STDMETHODCALLTYPE *AddRef)(
705 IMediaLocator *This);
706
707 ULONG (STDMETHODCALLTYPE *Release)(
708 IMediaLocator *This);
709
710 /*** IMediaLocator methods ***/
711 HRESULT (STDMETHODCALLTYPE *FindMediaFile)(
712 IMediaLocator *This,
713 BSTR input,
714 BSTR filter,
715 BSTR *output,
716 LONG flags);
717
718 HRESULT (STDMETHODCALLTYPE *AddFoundLocation)(
719 IMediaLocator *This,
720 BSTR dir);
721
722 END_INTERFACE
723} IMediaLocatorVtbl;
724
725interface IMediaLocator {
726 CONST_VTBL IMediaLocatorVtbl* lpVtbl;
727};
728
729#ifdef COBJMACROS
730#ifndef WIDL_C_INLINE_WRAPPERS
731/*** IUnknown methods ***/
732#define IMediaLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
733#define IMediaLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
734#define IMediaLocator_Release(This) (This)->lpVtbl->Release(This)
735/*** IMediaLocator methods ***/
736#define IMediaLocator_FindMediaFile(This,input,filter,output,flags) (This)->lpVtbl->FindMediaFile(This,input,filter,output,flags)
737#define IMediaLocator_AddFoundLocation(This,dir) (This)->lpVtbl->AddFoundLocation(This,dir)
738#else
739/*** IUnknown methods ***/
740static inline HRESULT IMediaLocator_QueryInterface(IMediaLocator* This,REFIID riid,void **ppvObject) {
741 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
742}
743static inline ULONG IMediaLocator_AddRef(IMediaLocator* This) {
744 return This->lpVtbl->AddRef(This);
745}
746static inline ULONG IMediaLocator_Release(IMediaLocator* This) {
747 return This->lpVtbl->Release(This);
748}
749/*** IMediaLocator methods ***/
750static inline HRESULT IMediaLocator_FindMediaFile(IMediaLocator* This,BSTR input,BSTR filter,BSTR *output,LONG flags) {
751 return This->lpVtbl->FindMediaFile(This,input,filter,output,flags);
752}
753static inline HRESULT IMediaLocator_AddFoundLocation(IMediaLocator* This,BSTR dir) {
754 return This->lpVtbl->AddFoundLocation(This,dir);
755}
756#endif
757#endif
758
759#endif
760
761
762#endif /* __IMediaLocator_INTERFACE_DEFINED__ */
763
764typedef struct __WIDL_qedit_generated_name_0000002B {
765 BSTR name;
766 DISPID dispID;
767 LONG nValues;
768} DEXTER_PARAM;
769typedef struct __WIDL_qedit_generated_name_0000002C {
770 VARIANT v;
771 REFERENCE_TIME rt;
772 DWORD dwInterp;
773} DEXTER_VALUE;
774/*****************************************************************************
775 * IPropertySetter interface
776 */
777#ifndef __IPropertySetter_INTERFACE_DEFINED__
778#define __IPropertySetter_INTERFACE_DEFINED__
779
780DEFINE_GUID(IID_IPropertySetter, 0xae9472bd, 0xb0c3, 0x11d2, 0x8d,0x24, 0x00,0xa0,0xc9,0x44,0x1e,0x20);
781#if defined(__cplusplus) && !defined(CINTERFACE)
782MIDL_INTERFACE("ae9472bd-b0c3-11d2-8d24-00a0c9441e20")
783IPropertySetter : public IUnknown
784{
785 virtual HRESULT STDMETHODCALLTYPE LoadXML(
786 IUnknown *pxml) = 0;
787
788 virtual HRESULT STDMETHODCALLTYPE PrintXML(
789 char *xml,
790 int size,
791 int *printed,
792 int indent) = 0;
793
794 virtual HRESULT STDMETHODCALLTYPE CloneProps(
795 IPropertySetter **setter,
796 REFERENCE_TIME start,
797 REFERENCE_TIME stop) = 0;
798
799 virtual HRESULT STDMETHODCALLTYPE AddProp(
800 DEXTER_PARAM param,
801 DEXTER_VALUE *value) = 0;
802
803 virtual HRESULT STDMETHODCALLTYPE GetProps(
804 LONG *params,
805 DEXTER_PARAM **param,
806 DEXTER_VALUE **value) = 0;
807
808 virtual HRESULT STDMETHODCALLTYPE FreeProps(
809 LONG params,
810 DEXTER_PARAM *param,
811 DEXTER_VALUE *value) = 0;
812
813 virtual HRESULT STDMETHODCALLTYPE ClearProps(
814 ) = 0;
815
816 virtual HRESULT STDMETHODCALLTYPE SaveToBlob(
817 LONG *size,
818 BYTE **blob) = 0;
819
820 virtual HRESULT STDMETHODCALLTYPE LoadFromBlob(
821 LONG size,
822 BYTE *blob) = 0;
823
824 virtual HRESULT STDMETHODCALLTYPE SetProps(
825 IUnknown *target,
826 REFERENCE_TIME now) = 0;
827
828};
829#ifdef __CRT_UUID_DECL
830__CRT_UUID_DECL(IPropertySetter, 0xae9472bd, 0xb0c3, 0x11d2, 0x8d,0x24, 0x00,0xa0,0xc9,0x44,0x1e,0x20)
831#endif
832#else
833typedef struct IPropertySetterVtbl {
834 BEGIN_INTERFACE
835
836 /*** IUnknown methods ***/
837 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
838 IPropertySetter *This,
839 REFIID riid,
840 void **ppvObject);
841
842 ULONG (STDMETHODCALLTYPE *AddRef)(
843 IPropertySetter *This);
844
845 ULONG (STDMETHODCALLTYPE *Release)(
846 IPropertySetter *This);
847
848 /*** IPropertySetter methods ***/
849 HRESULT (STDMETHODCALLTYPE *LoadXML)(
850 IPropertySetter *This,
851 IUnknown *pxml);
852
853 HRESULT (STDMETHODCALLTYPE *PrintXML)(
854 IPropertySetter *This,
855 char *xml,
856 int size,
857 int *printed,
858 int indent);
859
860 HRESULT (STDMETHODCALLTYPE *CloneProps)(
861 IPropertySetter *This,
862 IPropertySetter **setter,
863 REFERENCE_TIME start,
864 REFERENCE_TIME stop);
865
866 HRESULT (STDMETHODCALLTYPE *AddProp)(
867 IPropertySetter *This,
868 DEXTER_PARAM param,
869 DEXTER_VALUE *value);
870
871 HRESULT (STDMETHODCALLTYPE *GetProps)(
872 IPropertySetter *This,
873 LONG *params,
874 DEXTER_PARAM **param,
875 DEXTER_VALUE **value);
876
877 HRESULT (STDMETHODCALLTYPE *FreeProps)(
878 IPropertySetter *This,
879 LONG params,
880 DEXTER_PARAM *param,
881 DEXTER_VALUE *value);
882
883 HRESULT (STDMETHODCALLTYPE *ClearProps)(
884 IPropertySetter *This);
885
886 HRESULT (STDMETHODCALLTYPE *SaveToBlob)(
887 IPropertySetter *This,
888 LONG *size,
889 BYTE **blob);
890
891 HRESULT (STDMETHODCALLTYPE *LoadFromBlob)(
892 IPropertySetter *This,
893 LONG size,
894 BYTE *blob);
895
896 HRESULT (STDMETHODCALLTYPE *SetProps)(
897 IPropertySetter *This,
898 IUnknown *target,
899 REFERENCE_TIME now);
900
901 END_INTERFACE
902} IPropertySetterVtbl;
903
904interface IPropertySetter {
905 CONST_VTBL IPropertySetterVtbl* lpVtbl;
906};
907
908#ifdef COBJMACROS
909#ifndef WIDL_C_INLINE_WRAPPERS
910/*** IUnknown methods ***/
911#define IPropertySetter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
912#define IPropertySetter_AddRef(This) (This)->lpVtbl->AddRef(This)
913#define IPropertySetter_Release(This) (This)->lpVtbl->Release(This)
914/*** IPropertySetter methods ***/
915#define IPropertySetter_LoadXML(This,pxml) (This)->lpVtbl->LoadXML(This,pxml)
916#define IPropertySetter_PrintXML(This,xml,size,printed,indent) (This)->lpVtbl->PrintXML(This,xml,size,printed,indent)
917#define IPropertySetter_CloneProps(This,setter,start,stop) (This)->lpVtbl->CloneProps(This,setter,start,stop)
918#define IPropertySetter_AddProp(This,param,value) (This)->lpVtbl->AddProp(This,param,value)
919#define IPropertySetter_GetProps(This,params,param,value) (This)->lpVtbl->GetProps(This,params,param,value)
920#define IPropertySetter_FreeProps(This,params,param,value) (This)->lpVtbl->FreeProps(This,params,param,value)
921#define IPropertySetter_ClearProps(This) (This)->lpVtbl->ClearProps(This)
922#define IPropertySetter_SaveToBlob(This,size,blob) (This)->lpVtbl->SaveToBlob(This,size,blob)
923#define IPropertySetter_LoadFromBlob(This,size,blob) (This)->lpVtbl->LoadFromBlob(This,size,blob)
924#define IPropertySetter_SetProps(This,target,now) (This)->lpVtbl->SetProps(This,target,now)
925#else
926/*** IUnknown methods ***/
927static inline HRESULT IPropertySetter_QueryInterface(IPropertySetter* This,REFIID riid,void **ppvObject) {
928 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
929}
930static inline ULONG IPropertySetter_AddRef(IPropertySetter* This) {
931 return This->lpVtbl->AddRef(This);
932}
933static inline ULONG IPropertySetter_Release(IPropertySetter* This) {
934 return This->lpVtbl->Release(This);
935}
936/*** IPropertySetter methods ***/
937static inline HRESULT IPropertySetter_LoadXML(IPropertySetter* This,IUnknown *pxml) {
938 return This->lpVtbl->LoadXML(This,pxml);
939}
940static inline HRESULT IPropertySetter_PrintXML(IPropertySetter* This,char *xml,int size,int *printed,int indent) {
941 return This->lpVtbl->PrintXML(This,xml,size,printed,indent);
942}
943static inline HRESULT IPropertySetter_CloneProps(IPropertySetter* This,IPropertySetter **setter,REFERENCE_TIME start,REFERENCE_TIME stop) {
944 return This->lpVtbl->CloneProps(This,setter,start,stop);
945}
946static inline HRESULT IPropertySetter_AddProp(IPropertySetter* This,DEXTER_PARAM param,DEXTER_VALUE *value) {
947 return This->lpVtbl->AddProp(This,param,value);
948}
949static inline HRESULT IPropertySetter_GetProps(IPropertySetter* This,LONG *params,DEXTER_PARAM **param,DEXTER_VALUE **value) {
950 return This->lpVtbl->GetProps(This,params,param,value);
951}
952static inline HRESULT IPropertySetter_FreeProps(IPropertySetter* This,LONG params,DEXTER_PARAM *param,DEXTER_VALUE *value) {
953 return This->lpVtbl->FreeProps(This,params,param,value);
954}
955static inline HRESULT IPropertySetter_ClearProps(IPropertySetter* This) {
956 return This->lpVtbl->ClearProps(This);
957}
958static inline HRESULT IPropertySetter_SaveToBlob(IPropertySetter* This,LONG *size,BYTE **blob) {
959 return This->lpVtbl->SaveToBlob(This,size,blob);
960}
961static inline HRESULT IPropertySetter_LoadFromBlob(IPropertySetter* This,LONG size,BYTE *blob) {
962 return This->lpVtbl->LoadFromBlob(This,size,blob);
963}
964static inline HRESULT IPropertySetter_SetProps(IPropertySetter* This,IUnknown *target,REFERENCE_TIME now) {
965 return This->lpVtbl->SetProps(This,target,now);
966}
967#endif
968#endif
969
970#endif
971
972
973#endif /* __IPropertySetter_INTERFACE_DEFINED__ */
974
975/*****************************************************************************
976 * IAMErrorLog interface
977 */
978#ifndef __IAMErrorLog_INTERFACE_DEFINED__
979#define __IAMErrorLog_INTERFACE_DEFINED__
980
981DEFINE_GUID(IID_IAMErrorLog, 0xe43e73a2, 0x0efa, 0x11d3, 0x96,0x01, 0x00,0xa0,0xc9,0x44,0x1e,0x20);
982#if defined(__cplusplus) && !defined(CINTERFACE)
983MIDL_INTERFACE("e43e73a2-0efa-11d3-9601-00a0c9441e20")
984IAMErrorLog : public IUnknown
985{
986 virtual HRESULT STDMETHODCALLTYPE LogError(
987 LONG severity,
988 BSTR error_str,
989 LONG error_code,
990 LONG hresult,
991 VARIANT *extra) = 0;
992
993};
994#ifdef __CRT_UUID_DECL
995__CRT_UUID_DECL(IAMErrorLog, 0xe43e73a2, 0x0efa, 0x11d3, 0x96,0x01, 0x00,0xa0,0xc9,0x44,0x1e,0x20)
996#endif
997#else
998typedef struct IAMErrorLogVtbl {
999 BEGIN_INTERFACE
1000
1001 /*** IUnknown methods ***/
1002 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1003 IAMErrorLog *This,
1004 REFIID riid,
1005 void **ppvObject);
1006
1007 ULONG (STDMETHODCALLTYPE *AddRef)(
1008 IAMErrorLog *This);
1009
1010 ULONG (STDMETHODCALLTYPE *Release)(
1011 IAMErrorLog *This);
1012
1013 /*** IAMErrorLog methods ***/
1014 HRESULT (STDMETHODCALLTYPE *LogError)(
1015 IAMErrorLog *This,
1016 LONG severity,
1017 BSTR error_str,
1018 LONG error_code,
1019 LONG hresult,
1020 VARIANT *extra);
1021
1022 END_INTERFACE
1023} IAMErrorLogVtbl;
1024
1025interface IAMErrorLog {
1026 CONST_VTBL IAMErrorLogVtbl* lpVtbl;
1027};
1028
1029#ifdef COBJMACROS
1030#ifndef WIDL_C_INLINE_WRAPPERS
1031/*** IUnknown methods ***/
1032#define IAMErrorLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1033#define IAMErrorLog_AddRef(This) (This)->lpVtbl->AddRef(This)
1034#define IAMErrorLog_Release(This) (This)->lpVtbl->Release(This)
1035/*** IAMErrorLog methods ***/
1036#define IAMErrorLog_LogError(This,severity,error_str,error_code,hresult,extra) (This)->lpVtbl->LogError(This,severity,error_str,error_code,hresult,extra)
1037#else
1038/*** IUnknown methods ***/
1039static inline HRESULT IAMErrorLog_QueryInterface(IAMErrorLog* This,REFIID riid,void **ppvObject) {
1040 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1041}
1042static inline ULONG IAMErrorLog_AddRef(IAMErrorLog* This) {
1043 return This->lpVtbl->AddRef(This);
1044}
1045static inline ULONG IAMErrorLog_Release(IAMErrorLog* This) {
1046 return This->lpVtbl->Release(This);
1047}
1048/*** IAMErrorLog methods ***/
1049static inline HRESULT IAMErrorLog_LogError(IAMErrorLog* This,LONG severity,BSTR error_str,LONG error_code,LONG hresult,VARIANT *extra) {
1050 return This->lpVtbl->LogError(This,severity,error_str,error_code,hresult,extra);
1051}
1052#endif
1053#endif
1054
1055#endif
1056
1057
1058#endif /* __IAMErrorLog_INTERFACE_DEFINED__ */
1059
1060/*****************************************************************************
1061 * IAMSetErrorLog interface
1062 */
1063#ifndef __IAMSetErrorLog_INTERFACE_DEFINED__
1064#define __IAMSetErrorLog_INTERFACE_DEFINED__
1065
1066DEFINE_GUID(IID_IAMSetErrorLog, 0x963566da, 0xbe21, 0x4eaf, 0x88,0xe9, 0x35,0x70,0x4f,0x8f,0x52,0xa1);
1067#if defined(__cplusplus) && !defined(CINTERFACE)
1068MIDL_INTERFACE("963566da-be21-4eaf-88e9-35704f8f52a1")
1069IAMSetErrorLog : public IUnknown
1070{
1071 virtual HRESULT STDMETHODCALLTYPE get_ErrorLog(
1072 IAMErrorLog **log) = 0;
1073
1074 virtual HRESULT STDMETHODCALLTYPE put_ErrorLog(
1075 IAMErrorLog *log) = 0;
1076
1077};
1078#ifdef __CRT_UUID_DECL
1079__CRT_UUID_DECL(IAMSetErrorLog, 0x963566da, 0xbe21, 0x4eaf, 0x88,0xe9, 0x35,0x70,0x4f,0x8f,0x52,0xa1)
1080#endif
1081#else
1082typedef struct IAMSetErrorLogVtbl {
1083 BEGIN_INTERFACE
1084
1085 /*** IUnknown methods ***/
1086 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1087 IAMSetErrorLog *This,
1088 REFIID riid,
1089 void **ppvObject);
1090
1091 ULONG (STDMETHODCALLTYPE *AddRef)(
1092 IAMSetErrorLog *This);
1093
1094 ULONG (STDMETHODCALLTYPE *Release)(
1095 IAMSetErrorLog *This);
1096
1097 /*** IAMSetErrorLog methods ***/
1098 HRESULT (STDMETHODCALLTYPE *get_ErrorLog)(
1099 IAMSetErrorLog *This,
1100 IAMErrorLog **log);
1101
1102 HRESULT (STDMETHODCALLTYPE *put_ErrorLog)(
1103 IAMSetErrorLog *This,
1104 IAMErrorLog *log);
1105
1106 END_INTERFACE
1107} IAMSetErrorLogVtbl;
1108
1109interface IAMSetErrorLog {
1110 CONST_VTBL IAMSetErrorLogVtbl* lpVtbl;
1111};
1112
1113#ifdef COBJMACROS
1114#ifndef WIDL_C_INLINE_WRAPPERS
1115/*** IUnknown methods ***/
1116#define IAMSetErrorLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1117#define IAMSetErrorLog_AddRef(This) (This)->lpVtbl->AddRef(This)
1118#define IAMSetErrorLog_Release(This) (This)->lpVtbl->Release(This)
1119/*** IAMSetErrorLog methods ***/
1120#define IAMSetErrorLog_get_ErrorLog(This,log) (This)->lpVtbl->get_ErrorLog(This,log)
1121#define IAMSetErrorLog_put_ErrorLog(This,log) (This)->lpVtbl->put_ErrorLog(This,log)
1122#else
1123/*** IUnknown methods ***/
1124static inline HRESULT IAMSetErrorLog_QueryInterface(IAMSetErrorLog* This,REFIID riid,void **ppvObject) {
1125 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1126}
1127static inline ULONG IAMSetErrorLog_AddRef(IAMSetErrorLog* This) {
1128 return This->lpVtbl->AddRef(This);
1129}
1130static inline ULONG IAMSetErrorLog_Release(IAMSetErrorLog* This) {
1131 return This->lpVtbl->Release(This);
1132}
1133/*** IAMSetErrorLog methods ***/
1134static inline HRESULT IAMSetErrorLog_get_ErrorLog(IAMSetErrorLog* This,IAMErrorLog **log) {
1135 return This->lpVtbl->get_ErrorLog(This,log);
1136}
1137static inline HRESULT IAMSetErrorLog_put_ErrorLog(IAMSetErrorLog* This,IAMErrorLog *log) {
1138 return This->lpVtbl->put_ErrorLog(This,log);
1139}
1140#endif
1141#endif
1142
1143#endif
1144
1145
1146#endif /* __IAMSetErrorLog_INTERFACE_DEFINED__ */
1147
1148#ifndef __IAMTimeline_FWD_DEFINED__
1149#define __IAMTimeline_FWD_DEFINED__
1150typedef interface IAMTimeline IAMTimeline;
1151#ifdef __cplusplus
1152interface IAMTimeline;
1153#endif /* __cplusplus */
1154#endif
1155
1156#ifndef __IAMTimelineGroup_FWD_DEFINED__
1157#define __IAMTimelineGroup_FWD_DEFINED__
1158typedef interface IAMTimelineGroup IAMTimelineGroup;
1159#ifdef __cplusplus
1160interface IAMTimelineGroup;
1161#endif /* __cplusplus */
1162#endif
1163
1164#ifndef __IAMTimelineObj_FWD_DEFINED__
1165#define __IAMTimelineObj_FWD_DEFINED__
1166typedef interface IAMTimelineObj IAMTimelineObj;
1167#ifdef __cplusplus
1168interface IAMTimelineObj;
1169#endif /* __cplusplus */
1170#endif
1171
1172#ifndef __IAMTimelineSrc_FWD_DEFINED__
1173#define __IAMTimelineSrc_FWD_DEFINED__
1174typedef interface IAMTimelineSrc IAMTimelineSrc;
1175#ifdef __cplusplus
1176interface IAMTimelineSrc;
1177#endif /* __cplusplus */
1178#endif
1179
1180typedef enum __WIDL_qedit_generated_name_0000002D {
1181 TIMELINE_MAJOR_TYPE_COMPOSITE = 1,
1182 TIMELINE_MAJOR_TYPE_TRACK = 2,
1183 TIMELINE_MAJOR_TYPE_SOURCE = 4,
1184 TIMELINE_MAJOR_TYPE_TRANSITION = 8,
1185 TIMELINE_MAJOR_TYPE_EFFECT = 16,
1186 TIMELINE_MAJOR_TYPE_GROUP = 128
1187} TIMELINE_MAJOR_TYPE;
1188/*****************************************************************************
1189 * IAMTimeline interface
1190 */
1191#ifndef __IAMTimeline_INTERFACE_DEFINED__
1192#define __IAMTimeline_INTERFACE_DEFINED__
1193
1194DEFINE_GUID(IID_IAMTimeline, 0x78530b74, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
1195#if defined(__cplusplus) && !defined(CINTERFACE)
1196MIDL_INTERFACE("78530b74-61f9-11d2-8cad-00a024580902")
1197IAMTimeline : public IUnknown
1198{
1199 virtual HRESULT STDMETHODCALLTYPE CreateEmptyNode(
1200 IAMTimelineObj **obj,
1201 TIMELINE_MAJOR_TYPE type) = 0;
1202
1203 virtual HRESULT STDMETHODCALLTYPE AddGroup(
1204 IAMTimelineObj *group) = 0;
1205
1206 virtual HRESULT STDMETHODCALLTYPE RemGroupFromList(
1207 IAMTimelineObj *group) = 0;
1208
1209 virtual HRESULT STDMETHODCALLTYPE GetGroup(
1210 IAMTimelineObj **group,
1211 LONG index) = 0;
1212
1213 virtual HRESULT STDMETHODCALLTYPE GetGroupCount(
1214 LONG *count) = 0;
1215
1216 virtual HRESULT STDMETHODCALLTYPE ClearAllGroups(
1217 ) = 0;
1218
1219 virtual HRESULT STDMETHODCALLTYPE GetInsertMode(
1220 LONG *mode) = 0;
1221
1222 virtual HRESULT STDMETHODCALLTYPE SetInsertMode(
1223 LONG mode) = 0;
1224
1225 virtual HRESULT STDMETHODCALLTYPE EnableTransitions(
1226 WINBOOL enabled) = 0;
1227
1228 virtual HRESULT STDMETHODCALLTYPE TransitionsEnabled(
1229 WINBOOL *enabled) = 0;
1230
1231 virtual HRESULT STDMETHODCALLTYPE EnableEffects(
1232 WINBOOL enabled) = 0;
1233
1234 virtual HRESULT STDMETHODCALLTYPE EffectsEnabled(
1235 WINBOOL *enabled) = 0;
1236
1237 virtual HRESULT STDMETHODCALLTYPE SetInterestRange(
1238 REFERENCE_TIME start,
1239 REFERENCE_TIME stop) = 0;
1240
1241 virtual HRESULT STDMETHODCALLTYPE GetDuration(
1242 REFERENCE_TIME *duration) = 0;
1243
1244 virtual HRESULT STDMETHODCALLTYPE GetDuration2(
1245 double *duration) = 0;
1246
1247 virtual HRESULT STDMETHODCALLTYPE SetDefaultFPS(
1248 double fps) = 0;
1249
1250 virtual HRESULT STDMETHODCALLTYPE GetDefaultFPS(
1251 double *fps) = 0;
1252
1253 virtual HRESULT STDMETHODCALLTYPE IsDirty(
1254 WINBOOL *dirty) = 0;
1255
1256 virtual HRESULT STDMETHODCALLTYPE GetDirtyRange(
1257 REFERENCE_TIME *start,
1258 REFERENCE_TIME *stop) = 0;
1259
1260 virtual HRESULT STDMETHODCALLTYPE GetCountOfType(
1261 LONG group,
1262 LONG *value,
1263 LONG *value_with_comps,
1264 TIMELINE_MAJOR_TYPE type) = 0;
1265
1266 virtual HRESULT STDMETHODCALLTYPE ValidateSourceNames(
1267 LONG flags,
1268 IMediaLocator *override,
1269 LONG_PTR notify_event) = 0;
1270
1271 virtual HRESULT STDMETHODCALLTYPE SetDefaultTransition(
1272 GUID *guid) = 0;
1273
1274 virtual HRESULT STDMETHODCALLTYPE GetDefaultTransition(
1275 GUID *guid) = 0;
1276
1277 virtual HRESULT STDMETHODCALLTYPE SetDefaultEffect(
1278 GUID *guid) = 0;
1279
1280 virtual HRESULT STDMETHODCALLTYPE GetDefaultEffect(
1281 GUID *guid) = 0;
1282
1283 virtual HRESULT STDMETHODCALLTYPE SetDefaultTransitionB(
1284 BSTR guidb) = 0;
1285
1286 virtual HRESULT STDMETHODCALLTYPE GetDefaultTransitionB(
1287 BSTR *guidb) = 0;
1288
1289 virtual HRESULT STDMETHODCALLTYPE SetDefaultEffectB(
1290 BSTR guidb) = 0;
1291
1292 virtual HRESULT STDMETHODCALLTYPE GetDefaultEffectB(
1293 BSTR *guidb) = 0;
1294
1295};
1296#ifdef __CRT_UUID_DECL
1297__CRT_UUID_DECL(IAMTimeline, 0x78530b74, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
1298#endif
1299#else
1300typedef struct IAMTimelineVtbl {
1301 BEGIN_INTERFACE
1302
1303 /*** IUnknown methods ***/
1304 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1305 IAMTimeline *This,
1306 REFIID riid,
1307 void **ppvObject);
1308
1309 ULONG (STDMETHODCALLTYPE *AddRef)(
1310 IAMTimeline *This);
1311
1312 ULONG (STDMETHODCALLTYPE *Release)(
1313 IAMTimeline *This);
1314
1315 /*** IAMTimeline methods ***/
1316 HRESULT (STDMETHODCALLTYPE *CreateEmptyNode)(
1317 IAMTimeline *This,
1318 IAMTimelineObj **obj,
1319 TIMELINE_MAJOR_TYPE type);
1320
1321 HRESULT (STDMETHODCALLTYPE *AddGroup)(
1322 IAMTimeline *This,
1323 IAMTimelineObj *group);
1324
1325 HRESULT (STDMETHODCALLTYPE *RemGroupFromList)(
1326 IAMTimeline *This,
1327 IAMTimelineObj *group);
1328
1329 HRESULT (STDMETHODCALLTYPE *GetGroup)(
1330 IAMTimeline *This,
1331 IAMTimelineObj **group,
1332 LONG index);
1333
1334 HRESULT (STDMETHODCALLTYPE *GetGroupCount)(
1335 IAMTimeline *This,
1336 LONG *count);
1337
1338 HRESULT (STDMETHODCALLTYPE *ClearAllGroups)(
1339 IAMTimeline *This);
1340
1341 HRESULT (STDMETHODCALLTYPE *GetInsertMode)(
1342 IAMTimeline *This,
1343 LONG *mode);
1344
1345 HRESULT (STDMETHODCALLTYPE *SetInsertMode)(
1346 IAMTimeline *This,
1347 LONG mode);
1348
1349 HRESULT (STDMETHODCALLTYPE *EnableTransitions)(
1350 IAMTimeline *This,
1351 WINBOOL enabled);
1352
1353 HRESULT (STDMETHODCALLTYPE *TransitionsEnabled)(
1354 IAMTimeline *This,
1355 WINBOOL *enabled);
1356
1357 HRESULT (STDMETHODCALLTYPE *EnableEffects)(
1358 IAMTimeline *This,
1359 WINBOOL enabled);
1360
1361 HRESULT (STDMETHODCALLTYPE *EffectsEnabled)(
1362 IAMTimeline *This,
1363 WINBOOL *enabled);
1364
1365 HRESULT (STDMETHODCALLTYPE *SetInterestRange)(
1366 IAMTimeline *This,
1367 REFERENCE_TIME start,
1368 REFERENCE_TIME stop);
1369
1370 HRESULT (STDMETHODCALLTYPE *GetDuration)(
1371 IAMTimeline *This,
1372 REFERENCE_TIME *duration);
1373
1374 HRESULT (STDMETHODCALLTYPE *GetDuration2)(
1375 IAMTimeline *This,
1376 double *duration);
1377
1378 HRESULT (STDMETHODCALLTYPE *SetDefaultFPS)(
1379 IAMTimeline *This,
1380 double fps);
1381
1382 HRESULT (STDMETHODCALLTYPE *GetDefaultFPS)(
1383 IAMTimeline *This,
1384 double *fps);
1385
1386 HRESULT (STDMETHODCALLTYPE *IsDirty)(
1387 IAMTimeline *This,
1388 WINBOOL *dirty);
1389
1390 HRESULT (STDMETHODCALLTYPE *GetDirtyRange)(
1391 IAMTimeline *This,
1392 REFERENCE_TIME *start,
1393 REFERENCE_TIME *stop);
1394
1395 HRESULT (STDMETHODCALLTYPE *GetCountOfType)(
1396 IAMTimeline *This,
1397 LONG group,
1398 LONG *value,
1399 LONG *value_with_comps,
1400 TIMELINE_MAJOR_TYPE type);
1401
1402 HRESULT (STDMETHODCALLTYPE *ValidateSourceNames)(
1403 IAMTimeline *This,
1404 LONG flags,
1405 IMediaLocator *override,
1406 LONG_PTR notify_event);
1407
1408 HRESULT (STDMETHODCALLTYPE *SetDefaultTransition)(
1409 IAMTimeline *This,
1410 GUID *guid);
1411
1412 HRESULT (STDMETHODCALLTYPE *GetDefaultTransition)(
1413 IAMTimeline *This,
1414 GUID *guid);
1415
1416 HRESULT (STDMETHODCALLTYPE *SetDefaultEffect)(
1417 IAMTimeline *This,
1418 GUID *guid);
1419
1420 HRESULT (STDMETHODCALLTYPE *GetDefaultEffect)(
1421 IAMTimeline *This,
1422 GUID *guid);
1423
1424 HRESULT (STDMETHODCALLTYPE *SetDefaultTransitionB)(
1425 IAMTimeline *This,
1426 BSTR guidb);
1427
1428 HRESULT (STDMETHODCALLTYPE *GetDefaultTransitionB)(
1429 IAMTimeline *This,
1430 BSTR *guidb);
1431
1432 HRESULT (STDMETHODCALLTYPE *SetDefaultEffectB)(
1433 IAMTimeline *This,
1434 BSTR guidb);
1435
1436 HRESULT (STDMETHODCALLTYPE *GetDefaultEffectB)(
1437 IAMTimeline *This,
1438 BSTR *guidb);
1439
1440 END_INTERFACE
1441} IAMTimelineVtbl;
1442
1443interface IAMTimeline {
1444 CONST_VTBL IAMTimelineVtbl* lpVtbl;
1445};
1446
1447#ifdef COBJMACROS
1448#ifndef WIDL_C_INLINE_WRAPPERS
1449/*** IUnknown methods ***/
1450#define IAMTimeline_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1451#define IAMTimeline_AddRef(This) (This)->lpVtbl->AddRef(This)
1452#define IAMTimeline_Release(This) (This)->lpVtbl->Release(This)
1453/*** IAMTimeline methods ***/
1454#define IAMTimeline_CreateEmptyNode(This,obj,type) (This)->lpVtbl->CreateEmptyNode(This,obj,type)
1455#define IAMTimeline_AddGroup(This,group) (This)->lpVtbl->AddGroup(This,group)
1456#define IAMTimeline_RemGroupFromList(This,group) (This)->lpVtbl->RemGroupFromList(This,group)
1457#define IAMTimeline_GetGroup(This,group,index) (This)->lpVtbl->GetGroup(This,group,index)
1458#define IAMTimeline_GetGroupCount(This,count) (This)->lpVtbl->GetGroupCount(This,count)
1459#define IAMTimeline_ClearAllGroups(This) (This)->lpVtbl->ClearAllGroups(This)
1460#define IAMTimeline_GetInsertMode(This,mode) (This)->lpVtbl->GetInsertMode(This,mode)
1461#define IAMTimeline_SetInsertMode(This,mode) (This)->lpVtbl->SetInsertMode(This,mode)
1462#define IAMTimeline_EnableTransitions(This,enabled) (This)->lpVtbl->EnableTransitions(This,enabled)
1463#define IAMTimeline_TransitionsEnabled(This,enabled) (This)->lpVtbl->TransitionsEnabled(This,enabled)
1464#define IAMTimeline_EnableEffects(This,enabled) (This)->lpVtbl->EnableEffects(This,enabled)
1465#define IAMTimeline_EffectsEnabled(This,enabled) (This)->lpVtbl->EffectsEnabled(This,enabled)
1466#define IAMTimeline_SetInterestRange(This,start,stop) (This)->lpVtbl->SetInterestRange(This,start,stop)
1467#define IAMTimeline_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration)
1468#define IAMTimeline_GetDuration2(This,duration) (This)->lpVtbl->GetDuration2(This,duration)
1469#define IAMTimeline_SetDefaultFPS(This,fps) (This)->lpVtbl->SetDefaultFPS(This,fps)
1470#define IAMTimeline_GetDefaultFPS(This,fps) (This)->lpVtbl->GetDefaultFPS(This,fps)
1471#define IAMTimeline_IsDirty(This,dirty) (This)->lpVtbl->IsDirty(This,dirty)
1472#define IAMTimeline_GetDirtyRange(This,start,stop) (This)->lpVtbl->GetDirtyRange(This,start,stop)
1473#define IAMTimeline_GetCountOfType(This,group,value,value_with_comps,type) (This)->lpVtbl->GetCountOfType(This,group,value,value_with_comps,type)
1474#define IAMTimeline_ValidateSourceNames(This,flags,override,notify_event) (This)->lpVtbl->ValidateSourceNames(This,flags,override,notify_event)
1475#define IAMTimeline_SetDefaultTransition(This,guid) (This)->lpVtbl->SetDefaultTransition(This,guid)
1476#define IAMTimeline_GetDefaultTransition(This,guid) (This)->lpVtbl->GetDefaultTransition(This,guid)
1477#define IAMTimeline_SetDefaultEffect(This,guid) (This)->lpVtbl->SetDefaultEffect(This,guid)
1478#define IAMTimeline_GetDefaultEffect(This,guid) (This)->lpVtbl->GetDefaultEffect(This,guid)
1479#define IAMTimeline_SetDefaultTransitionB(This,guidb) (This)->lpVtbl->SetDefaultTransitionB(This,guidb)
1480#define IAMTimeline_GetDefaultTransitionB(This,guidb) (This)->lpVtbl->GetDefaultTransitionB(This,guidb)
1481#define IAMTimeline_SetDefaultEffectB(This,guidb) (This)->lpVtbl->SetDefaultEffectB(This,guidb)
1482#define IAMTimeline_GetDefaultEffectB(This,guidb) (This)->lpVtbl->GetDefaultEffectB(This,guidb)
1483#else
1484/*** IUnknown methods ***/
1485static inline HRESULT IAMTimeline_QueryInterface(IAMTimeline* This,REFIID riid,void **ppvObject) {
1486 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1487}
1488static inline ULONG IAMTimeline_AddRef(IAMTimeline* This) {
1489 return This->lpVtbl->AddRef(This);
1490}
1491static inline ULONG IAMTimeline_Release(IAMTimeline* This) {
1492 return This->lpVtbl->Release(This);
1493}
1494/*** IAMTimeline methods ***/
1495static inline HRESULT IAMTimeline_CreateEmptyNode(IAMTimeline* This,IAMTimelineObj **obj,TIMELINE_MAJOR_TYPE type) {
1496 return This->lpVtbl->CreateEmptyNode(This,obj,type);
1497}
1498static inline HRESULT IAMTimeline_AddGroup(IAMTimeline* This,IAMTimelineObj *group) {
1499 return This->lpVtbl->AddGroup(This,group);
1500}
1501static inline HRESULT IAMTimeline_RemGroupFromList(IAMTimeline* This,IAMTimelineObj *group) {
1502 return This->lpVtbl->RemGroupFromList(This,group);
1503}
1504static inline HRESULT IAMTimeline_GetGroup(IAMTimeline* This,IAMTimelineObj **group,LONG index) {
1505 return This->lpVtbl->GetGroup(This,group,index);
1506}
1507static inline HRESULT IAMTimeline_GetGroupCount(IAMTimeline* This,LONG *count) {
1508 return This->lpVtbl->GetGroupCount(This,count);
1509}
1510static inline HRESULT IAMTimeline_ClearAllGroups(IAMTimeline* This) {
1511 return This->lpVtbl->ClearAllGroups(This);
1512}
1513static inline HRESULT IAMTimeline_GetInsertMode(IAMTimeline* This,LONG *mode) {
1514 return This->lpVtbl->GetInsertMode(This,mode);
1515}
1516static inline HRESULT IAMTimeline_SetInsertMode(IAMTimeline* This,LONG mode) {
1517 return This->lpVtbl->SetInsertMode(This,mode);
1518}
1519static inline HRESULT IAMTimeline_EnableTransitions(IAMTimeline* This,WINBOOL enabled) {
1520 return This->lpVtbl->EnableTransitions(This,enabled);
1521}
1522static inline HRESULT IAMTimeline_TransitionsEnabled(IAMTimeline* This,WINBOOL *enabled) {
1523 return This->lpVtbl->TransitionsEnabled(This,enabled);
1524}
1525static inline HRESULT IAMTimeline_EnableEffects(IAMTimeline* This,WINBOOL enabled) {
1526 return This->lpVtbl->EnableEffects(This,enabled);
1527}
1528static inline HRESULT IAMTimeline_EffectsEnabled(IAMTimeline* This,WINBOOL *enabled) {
1529 return This->lpVtbl->EffectsEnabled(This,enabled);
1530}
1531static inline HRESULT IAMTimeline_SetInterestRange(IAMTimeline* This,REFERENCE_TIME start,REFERENCE_TIME stop) {
1532 return This->lpVtbl->SetInterestRange(This,start,stop);
1533}
1534static inline HRESULT IAMTimeline_GetDuration(IAMTimeline* This,REFERENCE_TIME *duration) {
1535 return This->lpVtbl->GetDuration(This,duration);
1536}
1537static inline HRESULT IAMTimeline_GetDuration2(IAMTimeline* This,double *duration) {
1538 return This->lpVtbl->GetDuration2(This,duration);
1539}
1540static inline HRESULT IAMTimeline_SetDefaultFPS(IAMTimeline* This,double fps) {
1541 return This->lpVtbl->SetDefaultFPS(This,fps);
1542}
1543static inline HRESULT IAMTimeline_GetDefaultFPS(IAMTimeline* This,double *fps) {
1544 return This->lpVtbl->GetDefaultFPS(This,fps);
1545}
1546static inline HRESULT IAMTimeline_IsDirty(IAMTimeline* This,WINBOOL *dirty) {
1547 return This->lpVtbl->IsDirty(This,dirty);
1548}
1549static inline HRESULT IAMTimeline_GetDirtyRange(IAMTimeline* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
1550 return This->lpVtbl->GetDirtyRange(This,start,stop);
1551}
1552static inline HRESULT IAMTimeline_GetCountOfType(IAMTimeline* This,LONG group,LONG *value,LONG *value_with_comps,TIMELINE_MAJOR_TYPE type) {
1553 return This->lpVtbl->GetCountOfType(This,group,value,value_with_comps,type);
1554}
1555static inline HRESULT IAMTimeline_ValidateSourceNames(IAMTimeline* This,LONG flags,IMediaLocator *override,LONG_PTR notify_event) {
1556 return This->lpVtbl->ValidateSourceNames(This,flags,override,notify_event);
1557}
1558static inline HRESULT IAMTimeline_SetDefaultTransition(IAMTimeline* This,GUID *guid) {
1559 return This->lpVtbl->SetDefaultTransition(This,guid);
1560}
1561static inline HRESULT IAMTimeline_GetDefaultTransition(IAMTimeline* This,GUID *guid) {
1562 return This->lpVtbl->GetDefaultTransition(This,guid);
1563}
1564static inline HRESULT IAMTimeline_SetDefaultEffect(IAMTimeline* This,GUID *guid) {
1565 return This->lpVtbl->SetDefaultEffect(This,guid);
1566}
1567static inline HRESULT IAMTimeline_GetDefaultEffect(IAMTimeline* This,GUID *guid) {
1568 return This->lpVtbl->GetDefaultEffect(This,guid);
1569}
1570static inline HRESULT IAMTimeline_SetDefaultTransitionB(IAMTimeline* This,BSTR guidb) {
1571 return This->lpVtbl->SetDefaultTransitionB(This,guidb);
1572}
1573static inline HRESULT IAMTimeline_GetDefaultTransitionB(IAMTimeline* This,BSTR *guidb) {
1574 return This->lpVtbl->GetDefaultTransitionB(This,guidb);
1575}
1576static inline HRESULT IAMTimeline_SetDefaultEffectB(IAMTimeline* This,BSTR guidb) {
1577 return This->lpVtbl->SetDefaultEffectB(This,guidb);
1578}
1579static inline HRESULT IAMTimeline_GetDefaultEffectB(IAMTimeline* This,BSTR *guidb) {
1580 return This->lpVtbl->GetDefaultEffectB(This,guidb);
1581}
1582#endif
1583#endif
1584
1585#endif
1586
1587
1588#endif /* __IAMTimeline_INTERFACE_DEFINED__ */
1589
1590/*****************************************************************************
1591 * AMTimeline coclass
1592 */
1593
1594DEFINE_GUID(CLSID_AMTimeline, 0x78530b75, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
1595
1596#ifdef __cplusplus
1597class DECLSPEC_UUID("78530b75-61f9-11d2-8cad-00a024580902") AMTimeline;
1598#ifdef __CRT_UUID_DECL
1599__CRT_UUID_DECL(AMTimeline, 0x78530b75, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
1600#endif
1601#endif
1602
1603/*****************************************************************************
1604 * IAMTimelineGroup interface
1605 */
1606#ifndef __IAMTimelineGroup_INTERFACE_DEFINED__
1607#define __IAMTimelineGroup_INTERFACE_DEFINED__
1608
1609DEFINE_GUID(IID_IAMTimelineGroup, 0x9eed4f00, 0xb8a6, 0x11d2, 0x80,0x23, 0x00,0xc0,0xdf,0x10,0xd4,0x34);
1610#if defined(__cplusplus) && !defined(CINTERFACE)
1611MIDL_INTERFACE("9eed4f00-b8a6-11d2-8023-00c0df10d434")
1612IAMTimelineGroup : public IUnknown
1613{
1614 virtual HRESULT STDMETHODCALLTYPE SetTimeline(
1615 IAMTimeline *timeline) = 0;
1616
1617 virtual HRESULT STDMETHODCALLTYPE GetTimeline(
1618 IAMTimeline **timeline) = 0;
1619
1620 virtual HRESULT STDMETHODCALLTYPE GetPriority(
1621 LONG *priority) = 0;
1622
1623 virtual HRESULT STDMETHODCALLTYPE GetMediaType(
1624 AM_MEDIA_TYPE *a) = 0;
1625
1626 virtual HRESULT STDMETHODCALLTYPE SetMediaType(
1627 AM_MEDIA_TYPE *a) = 0;
1628
1629 virtual HRESULT STDMETHODCALLTYPE SetOutputFPS(
1630 double fps) = 0;
1631
1632 virtual HRESULT STDMETHODCALLTYPE GetOutputFPS(
1633 double *fps) = 0;
1634
1635 virtual HRESULT STDMETHODCALLTYPE SetGroupName(
1636 BSTR name) = 0;
1637
1638 virtual HRESULT STDMETHODCALLTYPE GetGroupName(
1639 BSTR *name) = 0;
1640
1641 virtual HRESULT STDMETHODCALLTYPE SetPreviewMode(
1642 WINBOOL preview) = 0;
1643
1644 virtual HRESULT STDMETHODCALLTYPE GetPreviewMode(
1645 WINBOOL *preview) = 0;
1646
1647 virtual HRESULT STDMETHODCALLTYPE SetMediaTypeForVB(
1648 LONG type) = 0;
1649
1650 virtual HRESULT STDMETHODCALLTYPE GetOutputBuffering(
1651 int *buffer) = 0;
1652
1653 virtual HRESULT STDMETHODCALLTYPE SetOutputBuffering(
1654 int buffer) = 0;
1655
1656 virtual HRESULT STDMETHODCALLTYPE SetSmartRecompressFormat(
1657 LONG *format) = 0;
1658
1659 virtual HRESULT STDMETHODCALLTYPE GetSmartRecompressFormat(
1660 LONG **format) = 0;
1661
1662 virtual HRESULT STDMETHODCALLTYPE IsSmartRecompressFormatSet(
1663 WINBOOL *set) = 0;
1664
1665 virtual HRESULT STDMETHODCALLTYPE IsRecompressFormatDirty(
1666 WINBOOL *dirty) = 0;
1667
1668 virtual HRESULT STDMETHODCALLTYPE ClearRecompressFormatDirty(
1669 ) = 0;
1670
1671 virtual HRESULT STDMETHODCALLTYPE SetRecompFormatFromSource(
1672 IAMTimelineSrc *source) = 0;
1673
1674};
1675#ifdef __CRT_UUID_DECL
1676__CRT_UUID_DECL(IAMTimelineGroup, 0x9eed4f00, 0xb8a6, 0x11d2, 0x80,0x23, 0x00,0xc0,0xdf,0x10,0xd4,0x34)
1677#endif
1678#else
1679typedef struct IAMTimelineGroupVtbl {
1680 BEGIN_INTERFACE
1681
1682 /*** IUnknown methods ***/
1683 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1684 IAMTimelineGroup *This,
1685 REFIID riid,
1686 void **ppvObject);
1687
1688 ULONG (STDMETHODCALLTYPE *AddRef)(
1689 IAMTimelineGroup *This);
1690
1691 ULONG (STDMETHODCALLTYPE *Release)(
1692 IAMTimelineGroup *This);
1693
1694 /*** IAMTimelineGroup methods ***/
1695 HRESULT (STDMETHODCALLTYPE *SetTimeline)(
1696 IAMTimelineGroup *This,
1697 IAMTimeline *timeline);
1698
1699 HRESULT (STDMETHODCALLTYPE *GetTimeline)(
1700 IAMTimelineGroup *This,
1701 IAMTimeline **timeline);
1702
1703 HRESULT (STDMETHODCALLTYPE *GetPriority)(
1704 IAMTimelineGroup *This,
1705 LONG *priority);
1706
1707 HRESULT (STDMETHODCALLTYPE *GetMediaType)(
1708 IAMTimelineGroup *This,
1709 AM_MEDIA_TYPE *a);
1710
1711 HRESULT (STDMETHODCALLTYPE *SetMediaType)(
1712 IAMTimelineGroup *This,
1713 AM_MEDIA_TYPE *a);
1714
1715 HRESULT (STDMETHODCALLTYPE *SetOutputFPS)(
1716 IAMTimelineGroup *This,
1717 double fps);
1718
1719 HRESULT (STDMETHODCALLTYPE *GetOutputFPS)(
1720 IAMTimelineGroup *This,
1721 double *fps);
1722
1723 HRESULT (STDMETHODCALLTYPE *SetGroupName)(
1724 IAMTimelineGroup *This,
1725 BSTR name);
1726
1727 HRESULT (STDMETHODCALLTYPE *GetGroupName)(
1728 IAMTimelineGroup *This,
1729 BSTR *name);
1730
1731 HRESULT (STDMETHODCALLTYPE *SetPreviewMode)(
1732 IAMTimelineGroup *This,
1733 WINBOOL preview);
1734
1735 HRESULT (STDMETHODCALLTYPE *GetPreviewMode)(
1736 IAMTimelineGroup *This,
1737 WINBOOL *preview);
1738
1739 HRESULT (STDMETHODCALLTYPE *SetMediaTypeForVB)(
1740 IAMTimelineGroup *This,
1741 LONG type);
1742
1743 HRESULT (STDMETHODCALLTYPE *GetOutputBuffering)(
1744 IAMTimelineGroup *This,
1745 int *buffer);
1746
1747 HRESULT (STDMETHODCALLTYPE *SetOutputBuffering)(
1748 IAMTimelineGroup *This,
1749 int buffer);
1750
1751 HRESULT (STDMETHODCALLTYPE *SetSmartRecompressFormat)(
1752 IAMTimelineGroup *This,
1753 LONG *format);
1754
1755 HRESULT (STDMETHODCALLTYPE *GetSmartRecompressFormat)(
1756 IAMTimelineGroup *This,
1757 LONG **format);
1758
1759 HRESULT (STDMETHODCALLTYPE *IsSmartRecompressFormatSet)(
1760 IAMTimelineGroup *This,
1761 WINBOOL *set);
1762
1763 HRESULT (STDMETHODCALLTYPE *IsRecompressFormatDirty)(
1764 IAMTimelineGroup *This,
1765 WINBOOL *dirty);
1766
1767 HRESULT (STDMETHODCALLTYPE *ClearRecompressFormatDirty)(
1768 IAMTimelineGroup *This);
1769
1770 HRESULT (STDMETHODCALLTYPE *SetRecompFormatFromSource)(
1771 IAMTimelineGroup *This,
1772 IAMTimelineSrc *source);
1773
1774 END_INTERFACE
1775} IAMTimelineGroupVtbl;
1776
1777interface IAMTimelineGroup {
1778 CONST_VTBL IAMTimelineGroupVtbl* lpVtbl;
1779};
1780
1781#ifdef COBJMACROS
1782#ifndef WIDL_C_INLINE_WRAPPERS
1783/*** IUnknown methods ***/
1784#define IAMTimelineGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1785#define IAMTimelineGroup_AddRef(This) (This)->lpVtbl->AddRef(This)
1786#define IAMTimelineGroup_Release(This) (This)->lpVtbl->Release(This)
1787/*** IAMTimelineGroup methods ***/
1788#define IAMTimelineGroup_SetTimeline(This,timeline) (This)->lpVtbl->SetTimeline(This,timeline)
1789#define IAMTimelineGroup_GetTimeline(This,timeline) (This)->lpVtbl->GetTimeline(This,timeline)
1790#define IAMTimelineGroup_GetPriority(This,priority) (This)->lpVtbl->GetPriority(This,priority)
1791#define IAMTimelineGroup_GetMediaType(This,a) (This)->lpVtbl->GetMediaType(This,a)
1792#define IAMTimelineGroup_SetMediaType(This,a) (This)->lpVtbl->SetMediaType(This,a)
1793#define IAMTimelineGroup_SetOutputFPS(This,fps) (This)->lpVtbl->SetOutputFPS(This,fps)
1794#define IAMTimelineGroup_GetOutputFPS(This,fps) (This)->lpVtbl->GetOutputFPS(This,fps)
1795#define IAMTimelineGroup_SetGroupName(This,name) (This)->lpVtbl->SetGroupName(This,name)
1796#define IAMTimelineGroup_GetGroupName(This,name) (This)->lpVtbl->GetGroupName(This,name)
1797#define IAMTimelineGroup_SetPreviewMode(This,preview) (This)->lpVtbl->SetPreviewMode(This,preview)
1798#define IAMTimelineGroup_GetPreviewMode(This,preview) (This)->lpVtbl->GetPreviewMode(This,preview)
1799#define IAMTimelineGroup_SetMediaTypeForVB(This,type) (This)->lpVtbl->SetMediaTypeForVB(This,type)
1800#define IAMTimelineGroup_GetOutputBuffering(This,buffer) (This)->lpVtbl->GetOutputBuffering(This,buffer)
1801#define IAMTimelineGroup_SetOutputBuffering(This,buffer) (This)->lpVtbl->SetOutputBuffering(This,buffer)
1802#define IAMTimelineGroup_SetSmartRecompressFormat(This,format) (This)->lpVtbl->SetSmartRecompressFormat(This,format)
1803#define IAMTimelineGroup_GetSmartRecompressFormat(This,format) (This)->lpVtbl->GetSmartRecompressFormat(This,format)
1804#define IAMTimelineGroup_IsSmartRecompressFormatSet(This,set) (This)->lpVtbl->IsSmartRecompressFormatSet(This,set)
1805#define IAMTimelineGroup_IsRecompressFormatDirty(This,dirty) (This)->lpVtbl->IsRecompressFormatDirty(This,dirty)
1806#define IAMTimelineGroup_ClearRecompressFormatDirty(This) (This)->lpVtbl->ClearRecompressFormatDirty(This)
1807#define IAMTimelineGroup_SetRecompFormatFromSource(This,source) (This)->lpVtbl->SetRecompFormatFromSource(This,source)
1808#else
1809/*** IUnknown methods ***/
1810static inline HRESULT IAMTimelineGroup_QueryInterface(IAMTimelineGroup* This,REFIID riid,void **ppvObject) {
1811 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1812}
1813static inline ULONG IAMTimelineGroup_AddRef(IAMTimelineGroup* This) {
1814 return This->lpVtbl->AddRef(This);
1815}
1816static inline ULONG IAMTimelineGroup_Release(IAMTimelineGroup* This) {
1817 return This->lpVtbl->Release(This);
1818}
1819/*** IAMTimelineGroup methods ***/
1820static inline HRESULT IAMTimelineGroup_SetTimeline(IAMTimelineGroup* This,IAMTimeline *timeline) {
1821 return This->lpVtbl->SetTimeline(This,timeline);
1822}
1823static inline HRESULT IAMTimelineGroup_GetTimeline(IAMTimelineGroup* This,IAMTimeline **timeline) {
1824 return This->lpVtbl->GetTimeline(This,timeline);
1825}
1826static inline HRESULT IAMTimelineGroup_GetPriority(IAMTimelineGroup* This,LONG *priority) {
1827 return This->lpVtbl->GetPriority(This,priority);
1828}
1829static inline HRESULT IAMTimelineGroup_GetMediaType(IAMTimelineGroup* This,AM_MEDIA_TYPE *a) {
1830 return This->lpVtbl->GetMediaType(This,a);
1831}
1832static inline HRESULT IAMTimelineGroup_SetMediaType(IAMTimelineGroup* This,AM_MEDIA_TYPE *a) {
1833 return This->lpVtbl->SetMediaType(This,a);
1834}
1835static inline HRESULT IAMTimelineGroup_SetOutputFPS(IAMTimelineGroup* This,double fps) {
1836 return This->lpVtbl->SetOutputFPS(This,fps);
1837}
1838static inline HRESULT IAMTimelineGroup_GetOutputFPS(IAMTimelineGroup* This,double *fps) {
1839 return This->lpVtbl->GetOutputFPS(This,fps);
1840}
1841static inline HRESULT IAMTimelineGroup_SetGroupName(IAMTimelineGroup* This,BSTR name) {
1842 return This->lpVtbl->SetGroupName(This,name);
1843}
1844static inline HRESULT IAMTimelineGroup_GetGroupName(IAMTimelineGroup* This,BSTR *name) {
1845 return This->lpVtbl->GetGroupName(This,name);
1846}
1847static inline HRESULT IAMTimelineGroup_SetPreviewMode(IAMTimelineGroup* This,WINBOOL preview) {
1848 return This->lpVtbl->SetPreviewMode(This,preview);
1849}
1850static inline HRESULT IAMTimelineGroup_GetPreviewMode(IAMTimelineGroup* This,WINBOOL *preview) {
1851 return This->lpVtbl->GetPreviewMode(This,preview);
1852}
1853static inline HRESULT IAMTimelineGroup_SetMediaTypeForVB(IAMTimelineGroup* This,LONG type) {
1854 return This->lpVtbl->SetMediaTypeForVB(This,type);
1855}
1856static inline HRESULT IAMTimelineGroup_GetOutputBuffering(IAMTimelineGroup* This,int *buffer) {
1857 return This->lpVtbl->GetOutputBuffering(This,buffer);
1858}
1859static inline HRESULT IAMTimelineGroup_SetOutputBuffering(IAMTimelineGroup* This,int buffer) {
1860 return This->lpVtbl->SetOutputBuffering(This,buffer);
1861}
1862static inline HRESULT IAMTimelineGroup_SetSmartRecompressFormat(IAMTimelineGroup* This,LONG *format) {
1863 return This->lpVtbl->SetSmartRecompressFormat(This,format);
1864}
1865static inline HRESULT IAMTimelineGroup_GetSmartRecompressFormat(IAMTimelineGroup* This,LONG **format) {
1866 return This->lpVtbl->GetSmartRecompressFormat(This,format);
1867}
1868static inline HRESULT IAMTimelineGroup_IsSmartRecompressFormatSet(IAMTimelineGroup* This,WINBOOL *set) {
1869 return This->lpVtbl->IsSmartRecompressFormatSet(This,set);
1870}
1871static inline HRESULT IAMTimelineGroup_IsRecompressFormatDirty(IAMTimelineGroup* This,WINBOOL *dirty) {
1872 return This->lpVtbl->IsRecompressFormatDirty(This,dirty);
1873}
1874static inline HRESULT IAMTimelineGroup_ClearRecompressFormatDirty(IAMTimelineGroup* This) {
1875 return This->lpVtbl->ClearRecompressFormatDirty(This);
1876}
1877static inline HRESULT IAMTimelineGroup_SetRecompFormatFromSource(IAMTimelineGroup* This,IAMTimelineSrc *source) {
1878 return This->lpVtbl->SetRecompFormatFromSource(This,source);
1879}
1880#endif
1881#endif
1882
1883#endif
1884
1885
1886#endif /* __IAMTimelineGroup_INTERFACE_DEFINED__ */
1887
1888/*****************************************************************************
1889 * IAMTimelineObj interface
1890 */
1891#ifndef __IAMTimelineObj_INTERFACE_DEFINED__
1892#define __IAMTimelineObj_INTERFACE_DEFINED__
1893
1894DEFINE_GUID(IID_IAMTimelineObj, 0x78530b77, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
1895#if defined(__cplusplus) && !defined(CINTERFACE)
1896MIDL_INTERFACE("78530b77-61f9-11d2-8cad-00a024580902")
1897IAMTimelineObj : public IUnknown
1898{
1899 virtual HRESULT STDMETHODCALLTYPE GetStartStop(
1900 REFERENCE_TIME *start,
1901 REFERENCE_TIME *stop) = 0;
1902
1903 virtual HRESULT STDMETHODCALLTYPE GetStartStop2(
1904 REFTIME *start,
1905 REFTIME *stop) = 0;
1906
1907 virtual HRESULT STDMETHODCALLTYPE FixTimes(
1908 REFERENCE_TIME *start,
1909 REFERENCE_TIME *stop) = 0;
1910
1911 virtual HRESULT STDMETHODCALLTYPE FixTimes2(
1912 REFTIME *start,
1913 REFTIME *stop) = 0;
1914
1915 virtual HRESULT STDMETHODCALLTYPE SetStartStop(
1916 REFERENCE_TIME start,
1917 REFERENCE_TIME stop) = 0;
1918
1919 virtual HRESULT STDMETHODCALLTYPE SetStartStop2(
1920 REFTIME start,
1921 REFTIME stop) = 0;
1922
1923 virtual HRESULT STDMETHODCALLTYPE GetPropertySetter(
1924 IPropertySetter **setter) = 0;
1925
1926 virtual HRESULT STDMETHODCALLTYPE SetPropertySetter(
1927 IPropertySetter *setter) = 0;
1928
1929 virtual HRESULT STDMETHODCALLTYPE GetSubObject(
1930 IUnknown **obj) = 0;
1931
1932 virtual HRESULT STDMETHODCALLTYPE SetSubObject(
1933 IUnknown *obj) = 0;
1934
1935 virtual HRESULT STDMETHODCALLTYPE SetSubObjectGUID(
1936 GUID guid) = 0;
1937
1938 virtual HRESULT STDMETHODCALLTYPE SetSubObjectGUIDB(
1939 BSTR guidb) = 0;
1940
1941 virtual HRESULT STDMETHODCALLTYPE GetSubObjectGUID(
1942 GUID *guid) = 0;
1943
1944 virtual HRESULT STDMETHODCALLTYPE GetSubObjectGUIDB(
1945 BSTR *guidb) = 0;
1946
1947 virtual HRESULT STDMETHODCALLTYPE GetSubObjectLoaded(
1948 WINBOOL *loaded) = 0;
1949
1950 virtual HRESULT STDMETHODCALLTYPE GetTimelineType(
1951 TIMELINE_MAJOR_TYPE *type) = 0;
1952
1953 virtual HRESULT STDMETHODCALLTYPE SetTimelineType(
1954 TIMELINE_MAJOR_TYPE type) = 0;
1955
1956 virtual HRESULT STDMETHODCALLTYPE GetUserID(
1957 LONG *id) = 0;
1958
1959 virtual HRESULT STDMETHODCALLTYPE SetUserID(
1960 LONG id) = 0;
1961
1962 virtual HRESULT STDMETHODCALLTYPE GetGenID(
1963 LONG *id) = 0;
1964
1965 virtual HRESULT STDMETHODCALLTYPE GetUserName(
1966 BSTR *name) = 0;
1967
1968 virtual HRESULT STDMETHODCALLTYPE SetUserName(
1969 BSTR name) = 0;
1970
1971 virtual HRESULT STDMETHODCALLTYPE GetUserData(
1972 BYTE *data,
1973 LONG *size) = 0;
1974
1975 virtual HRESULT STDMETHODCALLTYPE SetUserData(
1976 BYTE *data,
1977 LONG size) = 0;
1978
1979 virtual HRESULT STDMETHODCALLTYPE GetMuted(
1980 WINBOOL *muted) = 0;
1981
1982 virtual HRESULT STDMETHODCALLTYPE SetMuted(
1983 WINBOOL muted) = 0;
1984
1985 virtual HRESULT STDMETHODCALLTYPE GetLocked(
1986 WINBOOL *locked) = 0;
1987
1988 virtual HRESULT STDMETHODCALLTYPE SetLocked(
1989 WINBOOL locked) = 0;
1990
1991 virtual HRESULT STDMETHODCALLTYPE GetDirtyRange(
1992 REFERENCE_TIME *start,
1993 REFERENCE_TIME *stop) = 0;
1994
1995 virtual HRESULT STDMETHODCALLTYPE GetDirtyRange2(
1996 REFTIME *start,
1997 REFTIME *stop) = 0;
1998
1999 virtual HRESULT STDMETHODCALLTYPE SetDirtyRange(
2000 REFERENCE_TIME start,
2001 REFERENCE_TIME stop) = 0;
2002
2003 virtual HRESULT STDMETHODCALLTYPE SetDirtyRange2(
2004 REFTIME start,
2005 REFTIME stop) = 0;
2006
2007 virtual HRESULT STDMETHODCALLTYPE ClearDirty(
2008 ) = 0;
2009
2010 virtual HRESULT STDMETHODCALLTYPE Remove(
2011 ) = 0;
2012
2013 virtual HRESULT STDMETHODCALLTYPE RemoveAll(
2014 ) = 0;
2015
2016 virtual HRESULT STDMETHODCALLTYPE GetTimelineNoRef(
2017 IAMTimeline **timeline) = 0;
2018
2019 virtual HRESULT STDMETHODCALLTYPE GetGroupIBelongTo(
2020 IAMTimelineGroup **group) = 0;
2021
2022 virtual HRESULT STDMETHODCALLTYPE GetEmbedDepth(
2023 LONG *depth) = 0;
2024
2025};
2026#ifdef __CRT_UUID_DECL
2027__CRT_UUID_DECL(IAMTimelineObj, 0x78530b77, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
2028#endif
2029#else
2030typedef struct IAMTimelineObjVtbl {
2031 BEGIN_INTERFACE
2032
2033 /*** IUnknown methods ***/
2034 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2035 IAMTimelineObj *This,
2036 REFIID riid,
2037 void **ppvObject);
2038
2039 ULONG (STDMETHODCALLTYPE *AddRef)(
2040 IAMTimelineObj *This);
2041
2042 ULONG (STDMETHODCALLTYPE *Release)(
2043 IAMTimelineObj *This);
2044
2045 /*** IAMTimelineObj methods ***/
2046 HRESULT (STDMETHODCALLTYPE *GetStartStop)(
2047 IAMTimelineObj *This,
2048 REFERENCE_TIME *start,
2049 REFERENCE_TIME *stop);
2050
2051 HRESULT (STDMETHODCALLTYPE *GetStartStop2)(
2052 IAMTimelineObj *This,
2053 REFTIME *start,
2054 REFTIME *stop);
2055
2056 HRESULT (STDMETHODCALLTYPE *FixTimes)(
2057 IAMTimelineObj *This,
2058 REFERENCE_TIME *start,
2059 REFERENCE_TIME *stop);
2060
2061 HRESULT (STDMETHODCALLTYPE *FixTimes2)(
2062 IAMTimelineObj *This,
2063 REFTIME *start,
2064 REFTIME *stop);
2065
2066 HRESULT (STDMETHODCALLTYPE *SetStartStop)(
2067 IAMTimelineObj *This,
2068 REFERENCE_TIME start,
2069 REFERENCE_TIME stop);
2070
2071 HRESULT (STDMETHODCALLTYPE *SetStartStop2)(
2072 IAMTimelineObj *This,
2073 REFTIME start,
2074 REFTIME stop);
2075
2076 HRESULT (STDMETHODCALLTYPE *GetPropertySetter)(
2077 IAMTimelineObj *This,
2078 IPropertySetter **setter);
2079
2080 HRESULT (STDMETHODCALLTYPE *SetPropertySetter)(
2081 IAMTimelineObj *This,
2082 IPropertySetter *setter);
2083
2084 HRESULT (STDMETHODCALLTYPE *GetSubObject)(
2085 IAMTimelineObj *This,
2086 IUnknown **obj);
2087
2088 HRESULT (STDMETHODCALLTYPE *SetSubObject)(
2089 IAMTimelineObj *This,
2090 IUnknown *obj);
2091
2092 HRESULT (STDMETHODCALLTYPE *SetSubObjectGUID)(
2093 IAMTimelineObj *This,
2094 GUID guid);
2095
2096 HRESULT (STDMETHODCALLTYPE *SetSubObjectGUIDB)(
2097 IAMTimelineObj *This,
2098 BSTR guidb);
2099
2100 HRESULT (STDMETHODCALLTYPE *GetSubObjectGUID)(
2101 IAMTimelineObj *This,
2102 GUID *guid);
2103
2104 HRESULT (STDMETHODCALLTYPE *GetSubObjectGUIDB)(
2105 IAMTimelineObj *This,
2106 BSTR *guidb);
2107
2108 HRESULT (STDMETHODCALLTYPE *GetSubObjectLoaded)(
2109 IAMTimelineObj *This,
2110 WINBOOL *loaded);
2111
2112 HRESULT (STDMETHODCALLTYPE *GetTimelineType)(
2113 IAMTimelineObj *This,
2114 TIMELINE_MAJOR_TYPE *type);
2115
2116 HRESULT (STDMETHODCALLTYPE *SetTimelineType)(
2117 IAMTimelineObj *This,
2118 TIMELINE_MAJOR_TYPE type);
2119
2120 HRESULT (STDMETHODCALLTYPE *GetUserID)(
2121 IAMTimelineObj *This,
2122 LONG *id);
2123
2124 HRESULT (STDMETHODCALLTYPE *SetUserID)(
2125 IAMTimelineObj *This,
2126 LONG id);
2127
2128 HRESULT (STDMETHODCALLTYPE *GetGenID)(
2129 IAMTimelineObj *This,
2130 LONG *id);
2131
2132 HRESULT (STDMETHODCALLTYPE *GetUserName)(
2133 IAMTimelineObj *This,
2134 BSTR *name);
2135
2136 HRESULT (STDMETHODCALLTYPE *SetUserName)(
2137 IAMTimelineObj *This,
2138 BSTR name);
2139
2140 HRESULT (STDMETHODCALLTYPE *GetUserData)(
2141 IAMTimelineObj *This,
2142 BYTE *data,
2143 LONG *size);
2144
2145 HRESULT (STDMETHODCALLTYPE *SetUserData)(
2146 IAMTimelineObj *This,
2147 BYTE *data,
2148 LONG size);
2149
2150 HRESULT (STDMETHODCALLTYPE *GetMuted)(
2151 IAMTimelineObj *This,
2152 WINBOOL *muted);
2153
2154 HRESULT (STDMETHODCALLTYPE *SetMuted)(
2155 IAMTimelineObj *This,
2156 WINBOOL muted);
2157
2158 HRESULT (STDMETHODCALLTYPE *GetLocked)(
2159 IAMTimelineObj *This,
2160 WINBOOL *locked);
2161
2162 HRESULT (STDMETHODCALLTYPE *SetLocked)(
2163 IAMTimelineObj *This,
2164 WINBOOL locked);
2165
2166 HRESULT (STDMETHODCALLTYPE *GetDirtyRange)(
2167 IAMTimelineObj *This,
2168 REFERENCE_TIME *start,
2169 REFERENCE_TIME *stop);
2170
2171 HRESULT (STDMETHODCALLTYPE *GetDirtyRange2)(
2172 IAMTimelineObj *This,
2173 REFTIME *start,
2174 REFTIME *stop);
2175
2176 HRESULT (STDMETHODCALLTYPE *SetDirtyRange)(
2177 IAMTimelineObj *This,
2178 REFERENCE_TIME start,
2179 REFERENCE_TIME stop);
2180
2181 HRESULT (STDMETHODCALLTYPE *SetDirtyRange2)(
2182 IAMTimelineObj *This,
2183 REFTIME start,
2184 REFTIME stop);
2185
2186 HRESULT (STDMETHODCALLTYPE *ClearDirty)(
2187 IAMTimelineObj *This);
2188
2189 HRESULT (STDMETHODCALLTYPE *Remove)(
2190 IAMTimelineObj *This);
2191
2192 HRESULT (STDMETHODCALLTYPE *RemoveAll)(
2193 IAMTimelineObj *This);
2194
2195 HRESULT (STDMETHODCALLTYPE *GetTimelineNoRef)(
2196 IAMTimelineObj *This,
2197 IAMTimeline **timeline);
2198
2199 HRESULT (STDMETHODCALLTYPE *GetGroupIBelongTo)(
2200 IAMTimelineObj *This,
2201 IAMTimelineGroup **group);
2202
2203 HRESULT (STDMETHODCALLTYPE *GetEmbedDepth)(
2204 IAMTimelineObj *This,
2205 LONG *depth);
2206
2207 END_INTERFACE
2208} IAMTimelineObjVtbl;
2209
2210interface IAMTimelineObj {
2211 CONST_VTBL IAMTimelineObjVtbl* lpVtbl;
2212};
2213
2214#ifdef COBJMACROS
2215#ifndef WIDL_C_INLINE_WRAPPERS
2216/*** IUnknown methods ***/
2217#define IAMTimelineObj_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2218#define IAMTimelineObj_AddRef(This) (This)->lpVtbl->AddRef(This)
2219#define IAMTimelineObj_Release(This) (This)->lpVtbl->Release(This)
2220/*** IAMTimelineObj methods ***/
2221#define IAMTimelineObj_GetStartStop(This,start,stop) (This)->lpVtbl->GetStartStop(This,start,stop)
2222#define IAMTimelineObj_GetStartStop2(This,start,stop) (This)->lpVtbl->GetStartStop2(This,start,stop)
2223#define IAMTimelineObj_FixTimes(This,start,stop) (This)->lpVtbl->FixTimes(This,start,stop)
2224#define IAMTimelineObj_FixTimes2(This,start,stop) (This)->lpVtbl->FixTimes2(This,start,stop)
2225#define IAMTimelineObj_SetStartStop(This,start,stop) (This)->lpVtbl->SetStartStop(This,start,stop)
2226#define IAMTimelineObj_SetStartStop2(This,start,stop) (This)->lpVtbl->SetStartStop2(This,start,stop)
2227#define IAMTimelineObj_GetPropertySetter(This,setter) (This)->lpVtbl->GetPropertySetter(This,setter)
2228#define IAMTimelineObj_SetPropertySetter(This,setter) (This)->lpVtbl->SetPropertySetter(This,setter)
2229#define IAMTimelineObj_GetSubObject(This,obj) (This)->lpVtbl->GetSubObject(This,obj)
2230#define IAMTimelineObj_SetSubObject(This,obj) (This)->lpVtbl->SetSubObject(This,obj)
2231#define IAMTimelineObj_SetSubObjectGUID(This,guid) (This)->lpVtbl->SetSubObjectGUID(This,guid)
2232#define IAMTimelineObj_SetSubObjectGUIDB(This,guidb) (This)->lpVtbl->SetSubObjectGUIDB(This,guidb)
2233#define IAMTimelineObj_GetSubObjectGUID(This,guid) (This)->lpVtbl->GetSubObjectGUID(This,guid)
2234#define IAMTimelineObj_GetSubObjectGUIDB(This,guidb) (This)->lpVtbl->GetSubObjectGUIDB(This,guidb)
2235#define IAMTimelineObj_GetSubObjectLoaded(This,loaded) (This)->lpVtbl->GetSubObjectLoaded(This,loaded)
2236#define IAMTimelineObj_GetTimelineType(This,type) (This)->lpVtbl->GetTimelineType(This,type)
2237#define IAMTimelineObj_SetTimelineType(This,type) (This)->lpVtbl->SetTimelineType(This,type)
2238#define IAMTimelineObj_GetUserID(This,id) (This)->lpVtbl->GetUserID(This,id)
2239#define IAMTimelineObj_SetUserID(This,id) (This)->lpVtbl->SetUserID(This,id)
2240#define IAMTimelineObj_GetGenID(This,id) (This)->lpVtbl->GetGenID(This,id)
2241#define IAMTimelineObj_GetUserName(This,name) (This)->lpVtbl->GetUserName(This,name)
2242#define IAMTimelineObj_SetUserName(This,name) (This)->lpVtbl->SetUserName(This,name)
2243#define IAMTimelineObj_GetUserData(This,data,size) (This)->lpVtbl->GetUserData(This,data,size)
2244#define IAMTimelineObj_SetUserData(This,data,size) (This)->lpVtbl->SetUserData(This,data,size)
2245#define IAMTimelineObj_GetMuted(This,muted) (This)->lpVtbl->GetMuted(This,muted)
2246#define IAMTimelineObj_SetMuted(This,muted) (This)->lpVtbl->SetMuted(This,muted)
2247#define IAMTimelineObj_GetLocked(This,locked) (This)->lpVtbl->GetLocked(This,locked)
2248#define IAMTimelineObj_SetLocked(This,locked) (This)->lpVtbl->SetLocked(This,locked)
2249#define IAMTimelineObj_GetDirtyRange(This,start,stop) (This)->lpVtbl->GetDirtyRange(This,start,stop)
2250#define IAMTimelineObj_GetDirtyRange2(This,start,stop) (This)->lpVtbl->GetDirtyRange2(This,start,stop)
2251#define IAMTimelineObj_SetDirtyRange(This,start,stop) (This)->lpVtbl->SetDirtyRange(This,start,stop)
2252#define IAMTimelineObj_SetDirtyRange2(This,start,stop) (This)->lpVtbl->SetDirtyRange2(This,start,stop)
2253#define IAMTimelineObj_ClearDirty(This) (This)->lpVtbl->ClearDirty(This)
2254#define IAMTimelineObj_Remove(This) (This)->lpVtbl->Remove(This)
2255#define IAMTimelineObj_RemoveAll(This) (This)->lpVtbl->RemoveAll(This)
2256#define IAMTimelineObj_GetTimelineNoRef(This,timeline) (This)->lpVtbl->GetTimelineNoRef(This,timeline)
2257#define IAMTimelineObj_GetGroupIBelongTo(This,group) (This)->lpVtbl->GetGroupIBelongTo(This,group)
2258#define IAMTimelineObj_GetEmbedDepth(This,depth) (This)->lpVtbl->GetEmbedDepth(This,depth)
2259#else
2260/*** IUnknown methods ***/
2261static inline HRESULT IAMTimelineObj_QueryInterface(IAMTimelineObj* This,REFIID riid,void **ppvObject) {
2262 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2263}
2264static inline ULONG IAMTimelineObj_AddRef(IAMTimelineObj* This) {
2265 return This->lpVtbl->AddRef(This);
2266}
2267static inline ULONG IAMTimelineObj_Release(IAMTimelineObj* This) {
2268 return This->lpVtbl->Release(This);
2269}
2270/*** IAMTimelineObj methods ***/
2271static inline HRESULT IAMTimelineObj_GetStartStop(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
2272 return This->lpVtbl->GetStartStop(This,start,stop);
2273}
2274static inline HRESULT IAMTimelineObj_GetStartStop2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) {
2275 return This->lpVtbl->GetStartStop2(This,start,stop);
2276}
2277static inline HRESULT IAMTimelineObj_FixTimes(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
2278 return This->lpVtbl->FixTimes(This,start,stop);
2279}
2280static inline HRESULT IAMTimelineObj_FixTimes2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) {
2281 return This->lpVtbl->FixTimes2(This,start,stop);
2282}
2283static inline HRESULT IAMTimelineObj_SetStartStop(IAMTimelineObj* This,REFERENCE_TIME start,REFERENCE_TIME stop) {
2284 return This->lpVtbl->SetStartStop(This,start,stop);
2285}
2286static inline HRESULT IAMTimelineObj_SetStartStop2(IAMTimelineObj* This,REFTIME start,REFTIME stop) {
2287 return This->lpVtbl->SetStartStop2(This,start,stop);
2288}
2289static inline HRESULT IAMTimelineObj_GetPropertySetter(IAMTimelineObj* This,IPropertySetter **setter) {
2290 return This->lpVtbl->GetPropertySetter(This,setter);
2291}
2292static inline HRESULT IAMTimelineObj_SetPropertySetter(IAMTimelineObj* This,IPropertySetter *setter) {
2293 return This->lpVtbl->SetPropertySetter(This,setter);
2294}
2295static inline HRESULT IAMTimelineObj_GetSubObject(IAMTimelineObj* This,IUnknown **obj) {
2296 return This->lpVtbl->GetSubObject(This,obj);
2297}
2298static inline HRESULT IAMTimelineObj_SetSubObject(IAMTimelineObj* This,IUnknown *obj) {
2299 return This->lpVtbl->SetSubObject(This,obj);
2300}
2301static inline HRESULT IAMTimelineObj_SetSubObjectGUID(IAMTimelineObj* This,GUID guid) {
2302 return This->lpVtbl->SetSubObjectGUID(This,guid);
2303}
2304static inline HRESULT IAMTimelineObj_SetSubObjectGUIDB(IAMTimelineObj* This,BSTR guidb) {
2305 return This->lpVtbl->SetSubObjectGUIDB(This,guidb);
2306}
2307static inline HRESULT IAMTimelineObj_GetSubObjectGUID(IAMTimelineObj* This,GUID *guid) {
2308 return This->lpVtbl->GetSubObjectGUID(This,guid);
2309}
2310static inline HRESULT IAMTimelineObj_GetSubObjectGUIDB(IAMTimelineObj* This,BSTR *guidb) {
2311 return This->lpVtbl->GetSubObjectGUIDB(This,guidb);
2312}
2313static inline HRESULT IAMTimelineObj_GetSubObjectLoaded(IAMTimelineObj* This,WINBOOL *loaded) {
2314 return This->lpVtbl->GetSubObjectLoaded(This,loaded);
2315}
2316static inline HRESULT IAMTimelineObj_GetTimelineType(IAMTimelineObj* This,TIMELINE_MAJOR_TYPE *type) {
2317 return This->lpVtbl->GetTimelineType(This,type);
2318}
2319static inline HRESULT IAMTimelineObj_SetTimelineType(IAMTimelineObj* This,TIMELINE_MAJOR_TYPE type) {
2320 return This->lpVtbl->SetTimelineType(This,type);
2321}
2322static inline HRESULT IAMTimelineObj_GetUserID(IAMTimelineObj* This,LONG *id) {
2323 return This->lpVtbl->GetUserID(This,id);
2324}
2325static inline HRESULT IAMTimelineObj_SetUserID(IAMTimelineObj* This,LONG id) {
2326 return This->lpVtbl->SetUserID(This,id);
2327}
2328static inline HRESULT IAMTimelineObj_GetGenID(IAMTimelineObj* This,LONG *id) {
2329 return This->lpVtbl->GetGenID(This,id);
2330}
2331static inline HRESULT IAMTimelineObj_GetUserName(IAMTimelineObj* This,BSTR *name) {
2332 return This->lpVtbl->GetUserName(This,name);
2333}
2334static inline HRESULT IAMTimelineObj_SetUserName(IAMTimelineObj* This,BSTR name) {
2335 return This->lpVtbl->SetUserName(This,name);
2336}
2337static inline HRESULT IAMTimelineObj_GetUserData(IAMTimelineObj* This,BYTE *data,LONG *size) {
2338 return This->lpVtbl->GetUserData(This,data,size);
2339}
2340static inline HRESULT IAMTimelineObj_SetUserData(IAMTimelineObj* This,BYTE *data,LONG size) {
2341 return This->lpVtbl->SetUserData(This,data,size);
2342}
2343static inline HRESULT IAMTimelineObj_GetMuted(IAMTimelineObj* This,WINBOOL *muted) {
2344 return This->lpVtbl->GetMuted(This,muted);
2345}
2346static inline HRESULT IAMTimelineObj_SetMuted(IAMTimelineObj* This,WINBOOL muted) {
2347 return This->lpVtbl->SetMuted(This,muted);
2348}
2349static inline HRESULT IAMTimelineObj_GetLocked(IAMTimelineObj* This,WINBOOL *locked) {
2350 return This->lpVtbl->GetLocked(This,locked);
2351}
2352static inline HRESULT IAMTimelineObj_SetLocked(IAMTimelineObj* This,WINBOOL locked) {
2353 return This->lpVtbl->SetLocked(This,locked);
2354}
2355static inline HRESULT IAMTimelineObj_GetDirtyRange(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
2356 return This->lpVtbl->GetDirtyRange(This,start,stop);
2357}
2358static inline HRESULT IAMTimelineObj_GetDirtyRange2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) {
2359 return This->lpVtbl->GetDirtyRange2(This,start,stop);
2360}
2361static inline HRESULT IAMTimelineObj_SetDirtyRange(IAMTimelineObj* This,REFERENCE_TIME start,REFERENCE_TIME stop) {
2362 return This->lpVtbl->SetDirtyRange(This,start,stop);
2363}
2364static inline HRESULT IAMTimelineObj_SetDirtyRange2(IAMTimelineObj* This,REFTIME start,REFTIME stop) {
2365 return This->lpVtbl->SetDirtyRange2(This,start,stop);
2366}
2367static inline HRESULT IAMTimelineObj_ClearDirty(IAMTimelineObj* This) {
2368 return This->lpVtbl->ClearDirty(This);
2369}
2370static inline HRESULT IAMTimelineObj_Remove(IAMTimelineObj* This) {
2371 return This->lpVtbl->Remove(This);
2372}
2373static inline HRESULT IAMTimelineObj_RemoveAll(IAMTimelineObj* This) {
2374 return This->lpVtbl->RemoveAll(This);
2375}
2376static inline HRESULT IAMTimelineObj_GetTimelineNoRef(IAMTimelineObj* This,IAMTimeline **timeline) {
2377 return This->lpVtbl->GetTimelineNoRef(This,timeline);
2378}
2379static inline HRESULT IAMTimelineObj_GetGroupIBelongTo(IAMTimelineObj* This,IAMTimelineGroup **group) {
2380 return This->lpVtbl->GetGroupIBelongTo(This,group);
2381}
2382static inline HRESULT IAMTimelineObj_GetEmbedDepth(IAMTimelineObj* This,LONG *depth) {
2383 return This->lpVtbl->GetEmbedDepth(This,depth);
2384}
2385#endif
2386#endif
2387
2388#endif
2389
2390
2391#endif /* __IAMTimelineObj_INTERFACE_DEFINED__ */
2392
2393/*****************************************************************************
2394 * IAMTimelineSrc interface
2395 */
2396#ifndef __IAMTimelineSrc_INTERFACE_DEFINED__
2397#define __IAMTimelineSrc_INTERFACE_DEFINED__
2398
2399DEFINE_GUID(IID_IAMTimelineSrc, 0x78530b79, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
2400#if defined(__cplusplus) && !defined(CINTERFACE)
2401MIDL_INTERFACE("78530b79-61f9-11d2-8cad-00a024580902")
2402IAMTimelineSrc : public IUnknown
2403{
2404 virtual HRESULT STDMETHODCALLTYPE GetMediaTimes(
2405 REFERENCE_TIME *start,
2406 REFERENCE_TIME *stop) = 0;
2407
2408 virtual HRESULT STDMETHODCALLTYPE GetMediaTimes2(
2409 REFTIME *start,
2410 REFTIME *stop) = 0;
2411
2412 virtual HRESULT STDMETHODCALLTYPE ModifyStopTime(
2413 REFERENCE_TIME stop) = 0;
2414
2415 virtual HRESULT STDMETHODCALLTYPE ModifyStopTime2(
2416 REFTIME stop) = 0;
2417
2418 virtual HRESULT STDMETHODCALLTYPE FixMediaTimes(
2419 REFERENCE_TIME *start,
2420 REFERENCE_TIME *stop) = 0;
2421
2422 virtual HRESULT STDMETHODCALLTYPE FixMediaTimes2(
2423 REFTIME *start,
2424 REFTIME *stop) = 0;
2425
2426 virtual HRESULT STDMETHODCALLTYPE SetMediaTimes(
2427 REFERENCE_TIME Start,
2428 REFERENCE_TIME Stop) = 0;
2429
2430 virtual HRESULT STDMETHODCALLTYPE SetMediaTimes2(
2431 REFTIME Start,
2432 REFTIME Stop) = 0;
2433
2434 virtual HRESULT STDMETHODCALLTYPE SetMediaLength(
2435 REFERENCE_TIME length) = 0;
2436
2437 virtual HRESULT STDMETHODCALLTYPE SetMediaLength2(
2438 REFTIME length) = 0;
2439
2440 virtual HRESULT STDMETHODCALLTYPE GetMediaLength(
2441 REFERENCE_TIME *length) = 0;
2442
2443 virtual HRESULT STDMETHODCALLTYPE GetMediaLength2(
2444 REFTIME *length) = 0;
2445
2446 virtual HRESULT STDMETHODCALLTYPE GetMediaName(
2447 BSTR *name) = 0;
2448
2449 virtual HRESULT STDMETHODCALLTYPE SetMediaName(
2450 BSTR name) = 0;
2451
2452 virtual HRESULT STDMETHODCALLTYPE SpliceWithNext(
2453 IAMTimelineObj *next) = 0;
2454
2455 virtual HRESULT STDMETHODCALLTYPE GetStreamNumber(
2456 LONG *num) = 0;
2457
2458 virtual HRESULT STDMETHODCALLTYPE SetStreamNumber(
2459 LONG num) = 0;
2460
2461 virtual HRESULT STDMETHODCALLTYPE IsNormalRate(
2462 WINBOOL *normal) = 0;
2463
2464 virtual HRESULT STDMETHODCALLTYPE GetDefaultFPS(
2465 double *fps) = 0;
2466
2467 virtual HRESULT STDMETHODCALLTYPE SetDefaultFPS(
2468 double fps) = 0;
2469
2470 virtual HRESULT STDMETHODCALLTYPE GetStretchMode(
2471 int *mode) = 0;
2472
2473 virtual HRESULT STDMETHODCALLTYPE SetStretchMode(
2474 int mode) = 0;
2475
2476};
2477#ifdef __CRT_UUID_DECL
2478__CRT_UUID_DECL(IAMTimelineSrc, 0x78530b79, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
2479#endif
2480#else
2481typedef struct IAMTimelineSrcVtbl {
2482 BEGIN_INTERFACE
2483
2484 /*** IUnknown methods ***/
2485 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2486 IAMTimelineSrc *This,
2487 REFIID riid,
2488 void **ppvObject);
2489
2490 ULONG (STDMETHODCALLTYPE *AddRef)(
2491 IAMTimelineSrc *This);
2492
2493 ULONG (STDMETHODCALLTYPE *Release)(
2494 IAMTimelineSrc *This);
2495
2496 /*** IAMTimelineSrc methods ***/
2497 HRESULT (STDMETHODCALLTYPE *GetMediaTimes)(
2498 IAMTimelineSrc *This,
2499 REFERENCE_TIME *start,
2500 REFERENCE_TIME *stop);
2501
2502 HRESULT (STDMETHODCALLTYPE *GetMediaTimes2)(
2503 IAMTimelineSrc *This,
2504 REFTIME *start,
2505 REFTIME *stop);
2506
2507 HRESULT (STDMETHODCALLTYPE *ModifyStopTime)(
2508 IAMTimelineSrc *This,
2509 REFERENCE_TIME stop);
2510
2511 HRESULT (STDMETHODCALLTYPE *ModifyStopTime2)(
2512 IAMTimelineSrc *This,
2513 REFTIME stop);
2514
2515 HRESULT (STDMETHODCALLTYPE *FixMediaTimes)(
2516 IAMTimelineSrc *This,
2517 REFERENCE_TIME *start,
2518 REFERENCE_TIME *stop);
2519
2520 HRESULT (STDMETHODCALLTYPE *FixMediaTimes2)(
2521 IAMTimelineSrc *This,
2522 REFTIME *start,
2523 REFTIME *stop);
2524
2525 HRESULT (STDMETHODCALLTYPE *SetMediaTimes)(
2526 IAMTimelineSrc *This,
2527 REFERENCE_TIME Start,
2528 REFERENCE_TIME Stop);
2529
2530 HRESULT (STDMETHODCALLTYPE *SetMediaTimes2)(
2531 IAMTimelineSrc *This,
2532 REFTIME Start,
2533 REFTIME Stop);
2534
2535 HRESULT (STDMETHODCALLTYPE *SetMediaLength)(
2536 IAMTimelineSrc *This,
2537 REFERENCE_TIME length);
2538
2539 HRESULT (STDMETHODCALLTYPE *SetMediaLength2)(
2540 IAMTimelineSrc *This,
2541 REFTIME length);
2542
2543 HRESULT (STDMETHODCALLTYPE *GetMediaLength)(
2544 IAMTimelineSrc *This,
2545 REFERENCE_TIME *length);
2546
2547 HRESULT (STDMETHODCALLTYPE *GetMediaLength2)(
2548 IAMTimelineSrc *This,
2549 REFTIME *length);
2550
2551 HRESULT (STDMETHODCALLTYPE *GetMediaName)(
2552 IAMTimelineSrc *This,
2553 BSTR *name);
2554
2555 HRESULT (STDMETHODCALLTYPE *SetMediaName)(
2556 IAMTimelineSrc *This,
2557 BSTR name);
2558
2559 HRESULT (STDMETHODCALLTYPE *SpliceWithNext)(
2560 IAMTimelineSrc *This,
2561 IAMTimelineObj *next);
2562
2563 HRESULT (STDMETHODCALLTYPE *GetStreamNumber)(
2564 IAMTimelineSrc *This,
2565 LONG *num);
2566
2567 HRESULT (STDMETHODCALLTYPE *SetStreamNumber)(
2568 IAMTimelineSrc *This,
2569 LONG num);
2570
2571 HRESULT (STDMETHODCALLTYPE *IsNormalRate)(
2572 IAMTimelineSrc *This,
2573 WINBOOL *normal);
2574
2575 HRESULT (STDMETHODCALLTYPE *GetDefaultFPS)(
2576 IAMTimelineSrc *This,
2577 double *fps);
2578
2579 HRESULT (STDMETHODCALLTYPE *SetDefaultFPS)(
2580 IAMTimelineSrc *This,
2581 double fps);
2582
2583 HRESULT (STDMETHODCALLTYPE *GetStretchMode)(
2584 IAMTimelineSrc *This,
2585 int *mode);
2586
2587 HRESULT (STDMETHODCALLTYPE *SetStretchMode)(
2588 IAMTimelineSrc *This,
2589 int mode);
2590
2591 END_INTERFACE
2592} IAMTimelineSrcVtbl;
2593
2594interface IAMTimelineSrc {
2595 CONST_VTBL IAMTimelineSrcVtbl* lpVtbl;
2596};
2597
2598#ifdef COBJMACROS
2599#ifndef WIDL_C_INLINE_WRAPPERS
2600/*** IUnknown methods ***/
2601#define IAMTimelineSrc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2602#define IAMTimelineSrc_AddRef(This) (This)->lpVtbl->AddRef(This)
2603#define IAMTimelineSrc_Release(This) (This)->lpVtbl->Release(This)
2604/*** IAMTimelineSrc methods ***/
2605#define IAMTimelineSrc_GetMediaTimes(This,start,stop) (This)->lpVtbl->GetMediaTimes(This,start,stop)
2606#define IAMTimelineSrc_GetMediaTimes2(This,start,stop) (This)->lpVtbl->GetMediaTimes2(This,start,stop)
2607#define IAMTimelineSrc_ModifyStopTime(This,stop) (This)->lpVtbl->ModifyStopTime(This,stop)
2608#define IAMTimelineSrc_ModifyStopTime2(This,stop) (This)->lpVtbl->ModifyStopTime2(This,stop)
2609#define IAMTimelineSrc_FixMediaTimes(This,start,stop) (This)->lpVtbl->FixMediaTimes(This,start,stop)
2610#define IAMTimelineSrc_FixMediaTimes2(This,start,stop) (This)->lpVtbl->FixMediaTimes2(This,start,stop)
2611#define IAMTimelineSrc_SetMediaTimes(This,Start,Stop) (This)->lpVtbl->SetMediaTimes(This,Start,Stop)
2612#define IAMTimelineSrc_SetMediaTimes2(This,Start,Stop) (This)->lpVtbl->SetMediaTimes2(This,Start,Stop)
2613#define IAMTimelineSrc_SetMediaLength(This,length) (This)->lpVtbl->SetMediaLength(This,length)
2614#define IAMTimelineSrc_SetMediaLength2(This,length) (This)->lpVtbl->SetMediaLength2(This,length)
2615#define IAMTimelineSrc_GetMediaLength(This,length) (This)->lpVtbl->GetMediaLength(This,length)
2616#define IAMTimelineSrc_GetMediaLength2(This,length) (This)->lpVtbl->GetMediaLength2(This,length)
2617#define IAMTimelineSrc_GetMediaName(This,name) (This)->lpVtbl->GetMediaName(This,name)
2618#define IAMTimelineSrc_SetMediaName(This,name) (This)->lpVtbl->SetMediaName(This,name)
2619#define IAMTimelineSrc_SpliceWithNext(This,next) (This)->lpVtbl->SpliceWithNext(This,next)
2620#define IAMTimelineSrc_GetStreamNumber(This,num) (This)->lpVtbl->GetStreamNumber(This,num)
2621#define IAMTimelineSrc_SetStreamNumber(This,num) (This)->lpVtbl->SetStreamNumber(This,num)
2622#define IAMTimelineSrc_IsNormalRate(This,normal) (This)->lpVtbl->IsNormalRate(This,normal)
2623#define IAMTimelineSrc_GetDefaultFPS(This,fps) (This)->lpVtbl->GetDefaultFPS(This,fps)
2624#define IAMTimelineSrc_SetDefaultFPS(This,fps) (This)->lpVtbl->SetDefaultFPS(This,fps)
2625#define IAMTimelineSrc_GetStretchMode(This,mode) (This)->lpVtbl->GetStretchMode(This,mode)
2626#define IAMTimelineSrc_SetStretchMode(This,mode) (This)->lpVtbl->SetStretchMode(This,mode)
2627#else
2628/*** IUnknown methods ***/
2629static inline HRESULT IAMTimelineSrc_QueryInterface(IAMTimelineSrc* This,REFIID riid,void **ppvObject) {
2630 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2631}
2632static inline ULONG IAMTimelineSrc_AddRef(IAMTimelineSrc* This) {
2633 return This->lpVtbl->AddRef(This);
2634}
2635static inline ULONG IAMTimelineSrc_Release(IAMTimelineSrc* This) {
2636 return This->lpVtbl->Release(This);
2637}
2638/*** IAMTimelineSrc methods ***/
2639static inline HRESULT IAMTimelineSrc_GetMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
2640 return This->lpVtbl->GetMediaTimes(This,start,stop);
2641}
2642static inline HRESULT IAMTimelineSrc_GetMediaTimes2(IAMTimelineSrc* This,REFTIME *start,REFTIME *stop) {
2643 return This->lpVtbl->GetMediaTimes2(This,start,stop);
2644}
2645static inline HRESULT IAMTimelineSrc_ModifyStopTime(IAMTimelineSrc* This,REFERENCE_TIME stop) {
2646 return This->lpVtbl->ModifyStopTime(This,stop);
2647}
2648static inline HRESULT IAMTimelineSrc_ModifyStopTime2(IAMTimelineSrc* This,REFTIME stop) {
2649 return This->lpVtbl->ModifyStopTime2(This,stop);
2650}
2651static inline HRESULT IAMTimelineSrc_FixMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
2652 return This->lpVtbl->FixMediaTimes(This,start,stop);
2653}
2654static inline HRESULT IAMTimelineSrc_FixMediaTimes2(IAMTimelineSrc* This,REFTIME *start,REFTIME *stop) {
2655 return This->lpVtbl->FixMediaTimes2(This,start,stop);
2656}
2657static inline HRESULT IAMTimelineSrc_SetMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME Start,REFERENCE_TIME Stop) {
2658 return This->lpVtbl->SetMediaTimes(This,Start,Stop);
2659}
2660static inline HRESULT IAMTimelineSrc_SetMediaTimes2(IAMTimelineSrc* This,REFTIME Start,REFTIME Stop) {
2661 return This->lpVtbl->SetMediaTimes2(This,Start,Stop);
2662}
2663static inline HRESULT IAMTimelineSrc_SetMediaLength(IAMTimelineSrc* This,REFERENCE_TIME length) {
2664 return This->lpVtbl->SetMediaLength(This,length);
2665}
2666static inline HRESULT IAMTimelineSrc_SetMediaLength2(IAMTimelineSrc* This,REFTIME length) {
2667 return This->lpVtbl->SetMediaLength2(This,length);
2668}
2669static inline HRESULT IAMTimelineSrc_GetMediaLength(IAMTimelineSrc* This,REFERENCE_TIME *length) {
2670 return This->lpVtbl->GetMediaLength(This,length);
2671}
2672static inline HRESULT IAMTimelineSrc_GetMediaLength2(IAMTimelineSrc* This,REFTIME *length) {
2673 return This->lpVtbl->GetMediaLength2(This,length);
2674}
2675static inline HRESULT IAMTimelineSrc_GetMediaName(IAMTimelineSrc* This,BSTR *name) {
2676 return This->lpVtbl->GetMediaName(This,name);
2677}
2678static inline HRESULT IAMTimelineSrc_SetMediaName(IAMTimelineSrc* This,BSTR name) {
2679 return This->lpVtbl->SetMediaName(This,name);
2680}
2681static inline HRESULT IAMTimelineSrc_SpliceWithNext(IAMTimelineSrc* This,IAMTimelineObj *next) {
2682 return This->lpVtbl->SpliceWithNext(This,next);
2683}
2684static inline HRESULT IAMTimelineSrc_GetStreamNumber(IAMTimelineSrc* This,LONG *num) {
2685 return This->lpVtbl->GetStreamNumber(This,num);
2686}
2687static inline HRESULT IAMTimelineSrc_SetStreamNumber(IAMTimelineSrc* This,LONG num) {
2688 return This->lpVtbl->SetStreamNumber(This,num);
2689}
2690static inline HRESULT IAMTimelineSrc_IsNormalRate(IAMTimelineSrc* This,WINBOOL *normal) {
2691 return This->lpVtbl->IsNormalRate(This,normal);
2692}
2693static inline HRESULT IAMTimelineSrc_GetDefaultFPS(IAMTimelineSrc* This,double *fps) {
2694 return This->lpVtbl->GetDefaultFPS(This,fps);
2695}
2696static inline HRESULT IAMTimelineSrc_SetDefaultFPS(IAMTimelineSrc* This,double fps) {
2697 return This->lpVtbl->SetDefaultFPS(This,fps);
2698}
2699static inline HRESULT IAMTimelineSrc_GetStretchMode(IAMTimelineSrc* This,int *mode) {
2700 return This->lpVtbl->GetStretchMode(This,mode);
2701}
2702static inline HRESULT IAMTimelineSrc_SetStretchMode(IAMTimelineSrc* This,int mode) {
2703 return This->lpVtbl->SetStretchMode(This,mode);
2704}
2705#endif
2706#endif
2707
2708#endif
2709
2710
2711#endif /* __IAMTimelineSrc_INTERFACE_DEFINED__ */
2712
2713enum {
2714 E_NOTINTREE = 0x80040400,
2715 E_RENDER_ENGINE_IS_BROKEN = 0x80040401,
2716 E_MUST_INIT_RENDERER = 0x80040402,
2717 E_NOTDETERMINED = 0x80040403,
2718 E_NO_TIMELINE = 0x80040404,
2719 S_WARN_OUTPUTRESET = 40404
2720};
2721/* Begin additional prototypes for all interfaces */
2722
2723ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
2724unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
2725unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
2726void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
2727ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
2728unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
2729unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
2730void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
2731
2732/* End additional prototypes */
2733
2734#ifdef __cplusplus
2735}
2736#endif
2737
2738#endif /* __qedit_h__ */