3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
\r
6 /* File created by MIDL compiler version 7.00.0555 */
\r
7 /* at Thu Aug 18 20:53:57 2011
\r
9 /* Compiler settings for interop\DeckLinkAPI.idl:
\r
10 Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
\r
11 protocol : dce , ms_ext, c_ext, robust
\r
12 error checks: allocation ref bounds_check enum stub_data
\r
13 VC __declspec() decoration level:
\r
14 __declspec(uuid()), __declspec(selectany), __declspec(novtable)
\r
15 DECLSPEC_UUID(), MIDL_INTERFACE()
\r
17 /* @@MIDL_FILE_HEADING( ) */
\r
19 #pragma warning( disable: 4049 ) /* more than 64k source lines */
\r
22 /* verify that the <rpcndr.h> version is high enough to compile this file*/
\r
23 #ifndef __REQUIRED_RPCNDR_H_VERSION__
\r
24 #define __REQUIRED_RPCNDR_H_VERSION__ 475
\r
30 #ifndef __RPCNDR_H_VERSION__
\r
31 #error this stub requires an updated version of <rpcndr.h>
\r
32 #endif // __RPCNDR_H_VERSION__
\r
35 #ifndef __DeckLinkAPI_h_h__
\r
36 #define __DeckLinkAPI_h_h__
\r
38 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
\r
42 /* Forward Declarations */
\r
44 #ifndef __IDeckLinkVideoOutputCallback_FWD_DEFINED__
\r
45 #define __IDeckLinkVideoOutputCallback_FWD_DEFINED__
\r
46 typedef interface IDeckLinkVideoOutputCallback IDeckLinkVideoOutputCallback;
\r
47 #endif /* __IDeckLinkVideoOutputCallback_FWD_DEFINED__ */
\r
50 #ifndef __IDeckLinkInputCallback_FWD_DEFINED__
\r
51 #define __IDeckLinkInputCallback_FWD_DEFINED__
\r
52 typedef interface IDeckLinkInputCallback IDeckLinkInputCallback;
\r
53 #endif /* __IDeckLinkInputCallback_FWD_DEFINED__ */
\r
56 #ifndef __IDeckLinkMemoryAllocator_FWD_DEFINED__
\r
57 #define __IDeckLinkMemoryAllocator_FWD_DEFINED__
\r
58 typedef interface IDeckLinkMemoryAllocator IDeckLinkMemoryAllocator;
\r
59 #endif /* __IDeckLinkMemoryAllocator_FWD_DEFINED__ */
\r
62 #ifndef __IDeckLinkAudioOutputCallback_FWD_DEFINED__
\r
63 #define __IDeckLinkAudioOutputCallback_FWD_DEFINED__
\r
64 typedef interface IDeckLinkAudioOutputCallback IDeckLinkAudioOutputCallback;
\r
65 #endif /* __IDeckLinkAudioOutputCallback_FWD_DEFINED__ */
\r
68 #ifndef __IDeckLinkIterator_FWD_DEFINED__
\r
69 #define __IDeckLinkIterator_FWD_DEFINED__
\r
70 typedef interface IDeckLinkIterator IDeckLinkIterator;
\r
71 #endif /* __IDeckLinkIterator_FWD_DEFINED__ */
\r
74 #ifndef __IDeckLinkAPIInformation_FWD_DEFINED__
\r
75 #define __IDeckLinkAPIInformation_FWD_DEFINED__
\r
76 typedef interface IDeckLinkAPIInformation IDeckLinkAPIInformation;
\r
77 #endif /* __IDeckLinkAPIInformation_FWD_DEFINED__ */
\r
80 #ifndef __IDeckLinkDisplayModeIterator_FWD_DEFINED__
\r
81 #define __IDeckLinkDisplayModeIterator_FWD_DEFINED__
\r
82 typedef interface IDeckLinkDisplayModeIterator IDeckLinkDisplayModeIterator;
\r
83 #endif /* __IDeckLinkDisplayModeIterator_FWD_DEFINED__ */
\r
86 #ifndef __IDeckLinkDisplayMode_FWD_DEFINED__
\r
87 #define __IDeckLinkDisplayMode_FWD_DEFINED__
\r
88 typedef interface IDeckLinkDisplayMode IDeckLinkDisplayMode;
\r
89 #endif /* __IDeckLinkDisplayMode_FWD_DEFINED__ */
\r
92 #ifndef __IDeckLink_FWD_DEFINED__
\r
93 #define __IDeckLink_FWD_DEFINED__
\r
94 typedef interface IDeckLink IDeckLink;
\r
95 #endif /* __IDeckLink_FWD_DEFINED__ */
\r
98 #ifndef __IDeckLinkOutput_FWD_DEFINED__
\r
99 #define __IDeckLinkOutput_FWD_DEFINED__
\r
100 typedef interface IDeckLinkOutput IDeckLinkOutput;
\r
101 #endif /* __IDeckLinkOutput_FWD_DEFINED__ */
\r
104 #ifndef __IDeckLinkInput_FWD_DEFINED__
\r
105 #define __IDeckLinkInput_FWD_DEFINED__
\r
106 typedef interface IDeckLinkInput IDeckLinkInput;
\r
107 #endif /* __IDeckLinkInput_FWD_DEFINED__ */
\r
110 #ifndef __IDeckLinkTimecode_FWD_DEFINED__
\r
111 #define __IDeckLinkTimecode_FWD_DEFINED__
\r
112 typedef interface IDeckLinkTimecode IDeckLinkTimecode;
\r
113 #endif /* __IDeckLinkTimecode_FWD_DEFINED__ */
\r
116 #ifndef __IDeckLinkVideoFrame_FWD_DEFINED__
\r
117 #define __IDeckLinkVideoFrame_FWD_DEFINED__
\r
118 typedef interface IDeckLinkVideoFrame IDeckLinkVideoFrame;
\r
119 #endif /* __IDeckLinkVideoFrame_FWD_DEFINED__ */
\r
122 #ifndef __IDeckLinkMutableVideoFrame_FWD_DEFINED__
\r
123 #define __IDeckLinkMutableVideoFrame_FWD_DEFINED__
\r
124 typedef interface IDeckLinkMutableVideoFrame IDeckLinkMutableVideoFrame;
\r
125 #endif /* __IDeckLinkMutableVideoFrame_FWD_DEFINED__ */
\r
128 #ifndef __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__
\r
129 #define __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__
\r
130 typedef interface IDeckLinkVideoFrame3DExtensions IDeckLinkVideoFrame3DExtensions;
\r
131 #endif /* __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ */
\r
134 #ifndef __IDeckLinkVideoInputFrame_FWD_DEFINED__
\r
135 #define __IDeckLinkVideoInputFrame_FWD_DEFINED__
\r
136 typedef interface IDeckLinkVideoInputFrame IDeckLinkVideoInputFrame;
\r
137 #endif /* __IDeckLinkVideoInputFrame_FWD_DEFINED__ */
\r
140 #ifndef __IDeckLinkVideoFrameAncillary_FWD_DEFINED__
\r
141 #define __IDeckLinkVideoFrameAncillary_FWD_DEFINED__
\r
142 typedef interface IDeckLinkVideoFrameAncillary IDeckLinkVideoFrameAncillary;
\r
143 #endif /* __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ */
\r
146 #ifndef __IDeckLinkAudioInputPacket_FWD_DEFINED__
\r
147 #define __IDeckLinkAudioInputPacket_FWD_DEFINED__
\r
148 typedef interface IDeckLinkAudioInputPacket IDeckLinkAudioInputPacket;
\r
149 #endif /* __IDeckLinkAudioInputPacket_FWD_DEFINED__ */
\r
152 #ifndef __IDeckLinkScreenPreviewCallback_FWD_DEFINED__
\r
153 #define __IDeckLinkScreenPreviewCallback_FWD_DEFINED__
\r
154 typedef interface IDeckLinkScreenPreviewCallback IDeckLinkScreenPreviewCallback;
\r
155 #endif /* __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ */
\r
158 #ifndef __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
\r
159 #define __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
\r
160 typedef interface IDeckLinkGLScreenPreviewHelper IDeckLinkGLScreenPreviewHelper;
\r
161 #endif /* __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */
\r
164 #ifndef __IDeckLinkConfiguration_FWD_DEFINED__
\r
165 #define __IDeckLinkConfiguration_FWD_DEFINED__
\r
166 typedef interface IDeckLinkConfiguration IDeckLinkConfiguration;
\r
167 #endif /* __IDeckLinkConfiguration_FWD_DEFINED__ */
\r
170 #ifndef __IDeckLinkAttributes_FWD_DEFINED__
\r
171 #define __IDeckLinkAttributes_FWD_DEFINED__
\r
172 typedef interface IDeckLinkAttributes IDeckLinkAttributes;
\r
173 #endif /* __IDeckLinkAttributes_FWD_DEFINED__ */
\r
176 #ifndef __IDeckLinkKeyer_FWD_DEFINED__
\r
177 #define __IDeckLinkKeyer_FWD_DEFINED__
\r
178 typedef interface IDeckLinkKeyer IDeckLinkKeyer;
\r
179 #endif /* __IDeckLinkKeyer_FWD_DEFINED__ */
\r
182 #ifndef __IDeckLinkVideoConversion_FWD_DEFINED__
\r
183 #define __IDeckLinkVideoConversion_FWD_DEFINED__
\r
184 typedef interface IDeckLinkVideoConversion IDeckLinkVideoConversion;
\r
185 #endif /* __IDeckLinkVideoConversion_FWD_DEFINED__ */
\r
188 #ifndef __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__
\r
189 #define __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__
\r
190 typedef interface IDeckLinkDeckControlStatusCallback IDeckLinkDeckControlStatusCallback;
\r
191 #endif /* __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__ */
\r
194 #ifndef __IDeckLinkDeckControl_FWD_DEFINED__
\r
195 #define __IDeckLinkDeckControl_FWD_DEFINED__
\r
196 typedef interface IDeckLinkDeckControl IDeckLinkDeckControl;
\r
197 #endif /* __IDeckLinkDeckControl_FWD_DEFINED__ */
\r
200 #ifndef __CDeckLinkIterator_FWD_DEFINED__
\r
201 #define __CDeckLinkIterator_FWD_DEFINED__
\r
204 typedef class CDeckLinkIterator CDeckLinkIterator;
\r
206 typedef struct CDeckLinkIterator CDeckLinkIterator;
\r
207 #endif /* __cplusplus */
\r
209 #endif /* __CDeckLinkIterator_FWD_DEFINED__ */
\r
212 #ifndef __CDeckLinkAPIInformation_FWD_DEFINED__
\r
213 #define __CDeckLinkAPIInformation_FWD_DEFINED__
\r
216 typedef class CDeckLinkAPIInformation CDeckLinkAPIInformation;
\r
218 typedef struct CDeckLinkAPIInformation CDeckLinkAPIInformation;
\r
219 #endif /* __cplusplus */
\r
221 #endif /* __CDeckLinkAPIInformation_FWD_DEFINED__ */
\r
224 #ifndef __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
\r
225 #define __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
\r
228 typedef class CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper;
\r
230 typedef struct CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper;
\r
231 #endif /* __cplusplus */
\r
233 #endif /* __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */
\r
236 #ifndef __CDeckLinkVideoConversion_FWD_DEFINED__
\r
237 #define __CDeckLinkVideoConversion_FWD_DEFINED__
\r
240 typedef class CDeckLinkVideoConversion CDeckLinkVideoConversion;
\r
242 typedef struct CDeckLinkVideoConversion CDeckLinkVideoConversion;
\r
243 #endif /* __cplusplus */
\r
245 #endif /* __CDeckLinkVideoConversion_FWD_DEFINED__ */
\r
248 #ifndef __IDeckLinkDeckControl_v7_9_FWD_DEFINED__
\r
249 #define __IDeckLinkDeckControl_v7_9_FWD_DEFINED__
\r
250 typedef interface IDeckLinkDeckControl_v7_9 IDeckLinkDeckControl_v7_9;
\r
251 #endif /* __IDeckLinkDeckControl_v7_9_FWD_DEFINED__ */
\r
254 #ifndef __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__
\r
255 #define __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__
\r
256 typedef interface IDeckLinkDisplayModeIterator_v7_6 IDeckLinkDisplayModeIterator_v7_6;
\r
257 #endif /* __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ */
\r
260 #ifndef __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__
\r
261 #define __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__
\r
262 typedef interface IDeckLinkDisplayMode_v7_6 IDeckLinkDisplayMode_v7_6;
\r
263 #endif /* __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ */
\r
266 #ifndef __IDeckLinkOutput_v7_6_FWD_DEFINED__
\r
267 #define __IDeckLinkOutput_v7_6_FWD_DEFINED__
\r
268 typedef interface IDeckLinkOutput_v7_6 IDeckLinkOutput_v7_6;
\r
269 #endif /* __IDeckLinkOutput_v7_6_FWD_DEFINED__ */
\r
272 #ifndef __IDeckLinkInput_v7_6_FWD_DEFINED__
\r
273 #define __IDeckLinkInput_v7_6_FWD_DEFINED__
\r
274 typedef interface IDeckLinkInput_v7_6 IDeckLinkInput_v7_6;
\r
275 #endif /* __IDeckLinkInput_v7_6_FWD_DEFINED__ */
\r
278 #ifndef __IDeckLinkTimecode_v7_6_FWD_DEFINED__
\r
279 #define __IDeckLinkTimecode_v7_6_FWD_DEFINED__
\r
280 typedef interface IDeckLinkTimecode_v7_6 IDeckLinkTimecode_v7_6;
\r
281 #endif /* __IDeckLinkTimecode_v7_6_FWD_DEFINED__ */
\r
284 #ifndef __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__
\r
285 #define __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__
\r
286 typedef interface IDeckLinkVideoFrame_v7_6 IDeckLinkVideoFrame_v7_6;
\r
287 #endif /* __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ */
\r
290 #ifndef __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__
\r
291 #define __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__
\r
292 typedef interface IDeckLinkMutableVideoFrame_v7_6 IDeckLinkMutableVideoFrame_v7_6;
\r
293 #endif /* __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ */
\r
296 #ifndef __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__
\r
297 #define __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__
\r
298 typedef interface IDeckLinkVideoInputFrame_v7_6 IDeckLinkVideoInputFrame_v7_6;
\r
299 #endif /* __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ */
\r
302 #ifndef __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__
\r
303 #define __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__
\r
304 typedef interface IDeckLinkScreenPreviewCallback_v7_6 IDeckLinkScreenPreviewCallback_v7_6;
\r
305 #endif /* __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ */
\r
308 #ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
\r
309 #define __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
\r
310 typedef interface IDeckLinkGLScreenPreviewHelper_v7_6 IDeckLinkGLScreenPreviewHelper_v7_6;
\r
311 #endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */
\r
314 #ifndef __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__
\r
315 #define __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__
\r
316 typedef interface IDeckLinkVideoConversion_v7_6 IDeckLinkVideoConversion_v7_6;
\r
317 #endif /* __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */
\r
320 #ifndef __IDeckLinkConfiguration_v7_6_FWD_DEFINED__
\r
321 #define __IDeckLinkConfiguration_v7_6_FWD_DEFINED__
\r
322 typedef interface IDeckLinkConfiguration_v7_6 IDeckLinkConfiguration_v7_6;
\r
323 #endif /* __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ */
\r
326 #ifndef __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__
\r
327 #define __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__
\r
328 typedef interface IDeckLinkVideoOutputCallback_v7_6 IDeckLinkVideoOutputCallback_v7_6;
\r
329 #endif /* __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ */
\r
332 #ifndef __IDeckLinkInputCallback_v7_6_FWD_DEFINED__
\r
333 #define __IDeckLinkInputCallback_v7_6_FWD_DEFINED__
\r
334 typedef interface IDeckLinkInputCallback_v7_6 IDeckLinkInputCallback_v7_6;
\r
335 #endif /* __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ */
\r
338 #ifndef __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
\r
339 #define __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
\r
342 typedef class CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6;
\r
344 typedef struct CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6;
\r
345 #endif /* __cplusplus */
\r
347 #endif /* __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */
\r
350 #ifndef __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__
\r
351 #define __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__
\r
354 typedef class CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6;
\r
356 typedef struct CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6;
\r
357 #endif /* __cplusplus */
\r
359 #endif /* __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */
\r
362 #ifndef __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
\r
363 #define __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
\r
364 typedef interface IDeckLinkInputCallback_v7_3 IDeckLinkInputCallback_v7_3;
\r
365 #endif /* __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ */
\r
368 #ifndef __IDeckLinkOutput_v7_3_FWD_DEFINED__
\r
369 #define __IDeckLinkOutput_v7_3_FWD_DEFINED__
\r
370 typedef interface IDeckLinkOutput_v7_3 IDeckLinkOutput_v7_3;
\r
371 #endif /* __IDeckLinkOutput_v7_3_FWD_DEFINED__ */
\r
374 #ifndef __IDeckLinkInput_v7_3_FWD_DEFINED__
\r
375 #define __IDeckLinkInput_v7_3_FWD_DEFINED__
\r
376 typedef interface IDeckLinkInput_v7_3 IDeckLinkInput_v7_3;
\r
377 #endif /* __IDeckLinkInput_v7_3_FWD_DEFINED__ */
\r
380 #ifndef __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
\r
381 #define __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
\r
382 typedef interface IDeckLinkVideoInputFrame_v7_3 IDeckLinkVideoInputFrame_v7_3;
\r
383 #endif /* __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ */
\r
386 #ifndef __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
\r
387 #define __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
\r
388 typedef interface IDeckLinkDisplayModeIterator_v7_1 IDeckLinkDisplayModeIterator_v7_1;
\r
389 #endif /* __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ */
\r
392 #ifndef __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__
\r
393 #define __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__
\r
394 typedef interface IDeckLinkDisplayMode_v7_1 IDeckLinkDisplayMode_v7_1;
\r
395 #endif /* __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ */
\r
398 #ifndef __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__
\r
399 #define __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__
\r
400 typedef interface IDeckLinkVideoFrame_v7_1 IDeckLinkVideoFrame_v7_1;
\r
401 #endif /* __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ */
\r
404 #ifndef __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__
\r
405 #define __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__
\r
406 typedef interface IDeckLinkVideoInputFrame_v7_1 IDeckLinkVideoInputFrame_v7_1;
\r
407 #endif /* __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ */
\r
410 #ifndef __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__
\r
411 #define __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__
\r
412 typedef interface IDeckLinkAudioInputPacket_v7_1 IDeckLinkAudioInputPacket_v7_1;
\r
413 #endif /* __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ */
\r
416 #ifndef __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__
\r
417 #define __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__
\r
418 typedef interface IDeckLinkVideoOutputCallback_v7_1 IDeckLinkVideoOutputCallback_v7_1;
\r
419 #endif /* __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ */
\r
422 #ifndef __IDeckLinkInputCallback_v7_1_FWD_DEFINED__
\r
423 #define __IDeckLinkInputCallback_v7_1_FWD_DEFINED__
\r
424 typedef interface IDeckLinkInputCallback_v7_1 IDeckLinkInputCallback_v7_1;
\r
425 #endif /* __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ */
\r
428 #ifndef __IDeckLinkOutput_v7_1_FWD_DEFINED__
\r
429 #define __IDeckLinkOutput_v7_1_FWD_DEFINED__
\r
430 typedef interface IDeckLinkOutput_v7_1 IDeckLinkOutput_v7_1;
\r
431 #endif /* __IDeckLinkOutput_v7_1_FWD_DEFINED__ */
\r
434 #ifndef __IDeckLinkInput_v7_1_FWD_DEFINED__
\r
435 #define __IDeckLinkInput_v7_1_FWD_DEFINED__
\r
436 typedef interface IDeckLinkInput_v7_1 IDeckLinkInput_v7_1;
\r
437 #endif /* __IDeckLinkInput_v7_1_FWD_DEFINED__ */
\r
440 /* header files for imported files */
\r
441 #include "unknwn.h"
\r
449 #ifndef __DeckLinkAPI_LIBRARY_DEFINED__
\r
450 #define __DeckLinkAPI_LIBRARY_DEFINED__
\r
452 /* library DeckLinkAPI */
\r
453 /* [helpstring][version][uuid] */
\r
455 typedef LONGLONG BMDTimeValue;
\r
457 typedef LONGLONG BMDTimeScale;
\r
459 typedef unsigned long BMDTimecodeBCD;
\r
461 typedef unsigned long BMDTimecodeUserBits;
\r
463 typedef unsigned long BMDDisplayModeFlags;
\r
464 typedef unsigned long BMDFrameFlags;
\r
465 typedef unsigned long BMDVideoInputFlags;
\r
466 typedef unsigned long BMDVideoInputFormatChangedEvents;
\r
467 typedef unsigned long BMDDetectedVideoInputFormatFlags;
\r
468 typedef unsigned long BMDTimecodeFlags;
\r
469 typedef unsigned long BMDAnalogVideoFlags;
\r
470 typedef unsigned long BMDDeckControlStatusFlags;
\r
471 typedef unsigned long BMDDeckControlExportModeOpsFlags;
\r
473 typedef enum _BMDDisplayModeFlags BMDDisplayModeFlags;
\r
475 typedef enum _BMDFrameFlags BMDFrameFlags;
\r
477 typedef enum _BMDVideoInputFlags BMDVideoInputFlags;
\r
479 typedef enum _BMDVideoInputFormatChangedEvents BMDVideoInputFormatChangedEvents;
\r
481 typedef enum _BMDDetectedVideoInputFormatFlags BMDDetectedVideoInputFormatFlags;
\r
483 typedef enum _BMDTimecodeFlags BMDTimecodeFlags;
\r
485 typedef enum _BMDAnalogVideoFlags BMDAnalogVideoFlags;
\r
487 typedef enum _BMDDeckControlStatusFlags BMDDeckControlStatusFlags;
\r
489 typedef enum _BMDDeckControlExportModeOpsFlags BMDDeckControlExportModeOpsFlags;
\r
492 typedef /* [v1_enum] */
\r
493 enum _BMDDisplayMode
\r
494 { bmdModeNTSC = 0x6e747363,
\r
495 bmdModeNTSC2398 = 0x6e743233,
\r
496 bmdModePAL = 0x70616c20,
\r
497 bmdModeNTSCp = 0x6e747370,
\r
498 bmdModePALp = 0x70616c70,
\r
499 bmdModeHD1080p2398 = 0x32337073,
\r
500 bmdModeHD1080p24 = 0x32347073,
\r
501 bmdModeHD1080p25 = 0x48703235,
\r
502 bmdModeHD1080p2997 = 0x48703239,
\r
503 bmdModeHD1080p30 = 0x48703330,
\r
504 bmdModeHD1080i50 = 0x48693530,
\r
505 bmdModeHD1080i5994 = 0x48693539,
\r
506 bmdModeHD1080i6000 = 0x48693630,
\r
507 bmdModeHD1080p50 = 0x48703530,
\r
508 bmdModeHD1080p5994 = 0x48703539,
\r
509 bmdModeHD1080p6000 = 0x48703630,
\r
510 bmdModeHD720p50 = 0x68703530,
\r
511 bmdModeHD720p5994 = 0x68703539,
\r
512 bmdModeHD720p60 = 0x68703630,
\r
513 bmdMode2k2398 = 0x326b3233,
\r
514 bmdMode2k24 = 0x326b3234,
\r
515 bmdMode2k25 = 0x326b3235
\r
518 typedef /* [v1_enum] */
\r
519 enum _BMDFieldDominance
\r
520 { bmdUnknownFieldDominance = 0,
\r
521 bmdLowerFieldFirst = 0x6c6f7772,
\r
522 bmdUpperFieldFirst = 0x75707072,
\r
523 bmdProgressiveFrame = 0x70726f67,
\r
524 bmdProgressiveSegmentedFrame = 0x70736620
\r
525 } BMDFieldDominance;
\r
527 typedef /* [v1_enum] */
\r
528 enum _BMDPixelFormat
\r
529 { bmdFormat8BitYUV = 0x32767579,
\r
530 bmdFormat10BitYUV = 0x76323130,
\r
531 bmdFormat8BitARGB = 32,
\r
532 bmdFormat8BitBGRA = 0x42475241,
\r
533 bmdFormat10BitRGB = 0x72323130
\r
537 enum _BMDDisplayModeFlags
\r
538 { bmdDisplayModeSupports3D = ( 1 << 0 ) ,
\r
539 bmdDisplayModeColorspaceRec601 = ( 1 << 1 ) ,
\r
540 bmdDisplayModeColorspaceRec709 = ( 1 << 2 )
\r
542 typedef /* [v1_enum] */
\r
543 enum _BMDVideoOutputFlags
\r
544 { bmdVideoOutputFlagDefault = 0,
\r
545 bmdVideoOutputVANC = ( 1 << 0 ) ,
\r
546 bmdVideoOutputVITC = ( 1 << 1 ) ,
\r
547 bmdVideoOutputRP188 = ( 1 << 2 ) ,
\r
548 bmdVideoOutputDualStream3D = ( 1 << 4 )
\r
549 } BMDVideoOutputFlags;
\r
552 enum _BMDFrameFlags
\r
553 { bmdFrameFlagDefault = 0,
\r
554 bmdFrameFlagFlipVertical = ( 1 << 0 ) ,
\r
555 bmdFrameHasNoInputSource = ( 1 << 31 )
\r
558 enum _BMDVideoInputFlags
\r
559 { bmdVideoInputFlagDefault = 0,
\r
560 bmdVideoInputEnableFormatDetection = ( 1 << 0 ) ,
\r
561 bmdVideoInputDualStream3D = ( 1 << 1 )
\r
564 enum _BMDVideoInputFormatChangedEvents
\r
565 { bmdVideoInputDisplayModeChanged = ( 1 << 0 ) ,
\r
566 bmdVideoInputFieldDominanceChanged = ( 1 << 1 ) ,
\r
567 bmdVideoInputColorspaceChanged = ( 1 << 2 )
\r
570 enum _BMDDetectedVideoInputFormatFlags
\r
571 { bmdDetectedVideoInputYCbCr422 = ( 1 << 0 ) ,
\r
572 bmdDetectedVideoInputRGB444 = ( 1 << 1 )
\r
574 typedef /* [v1_enum] */
\r
575 enum _BMDOutputFrameCompletionResult
\r
576 { bmdOutputFrameCompleted = 0,
\r
577 bmdOutputFrameDisplayedLate = ( bmdOutputFrameCompleted + 1 ) ,
\r
578 bmdOutputFrameDropped = ( bmdOutputFrameDisplayedLate + 1 ) ,
\r
579 bmdOutputFrameFlushed = ( bmdOutputFrameDropped + 1 )
\r
580 } BMDOutputFrameCompletionResult;
\r
582 typedef /* [v1_enum] */
\r
583 enum _BMDReferenceStatus
\r
584 { bmdReferenceNotSupportedByHardware = ( 1 << 0 ) ,
\r
585 bmdReferenceLocked = ( 1 << 1 )
\r
586 } BMDReferenceStatus;
\r
588 typedef /* [v1_enum] */
\r
589 enum _BMDAudioSampleRate
\r
590 { bmdAudioSampleRate48kHz = 48000
\r
591 } BMDAudioSampleRate;
\r
593 typedef /* [v1_enum] */
\r
594 enum _BMDAudioSampleType
\r
595 { bmdAudioSampleType16bitInteger = 16,
\r
596 bmdAudioSampleType32bitInteger = 32
\r
597 } BMDAudioSampleType;
\r
599 typedef /* [v1_enum] */
\r
600 enum _BMDAudioOutputStreamType
\r
601 { bmdAudioOutputStreamContinuous = 0,
\r
602 bmdAudioOutputStreamContinuousDontResample = ( bmdAudioOutputStreamContinuous + 1 ) ,
\r
603 bmdAudioOutputStreamTimestamped = ( bmdAudioOutputStreamContinuousDontResample + 1 )
\r
604 } BMDAudioOutputStreamType;
\r
606 typedef /* [v1_enum] */
\r
607 enum _BMDDisplayModeSupport
\r
608 { bmdDisplayModeNotSupported = 0,
\r
609 bmdDisplayModeSupported = ( bmdDisplayModeNotSupported + 1 ) ,
\r
610 bmdDisplayModeSupportedWithConversion = ( bmdDisplayModeSupported + 1 )
\r
611 } BMDDisplayModeSupport;
\r
613 typedef /* [v1_enum] */
\r
614 enum _BMDTimecodeFormat
\r
615 { bmdTimecodeRP188 = 0x72703138,
\r
616 bmdTimecodeRP188Field2 = 0x72703132,
\r
617 bmdTimecodeVITC = 0x76697463,
\r
618 bmdTimecodeVITCField2 = 0x76697432,
\r
619 bmdTimecodeSerial = 0x73657269
\r
620 } BMDTimecodeFormat;
\r
623 enum _BMDTimecodeFlags
\r
624 { bmdTimecodeFlagDefault = 0,
\r
625 bmdTimecodeIsDropFrame = ( 1 << 0 )
\r
627 typedef /* [v1_enum] */
\r
628 enum _BMDVideoConnection
\r
629 { bmdVideoConnectionSDI = ( 1 << 0 ) ,
\r
630 bmdVideoConnectionHDMI = ( 1 << 1 ) ,
\r
631 bmdVideoConnectionOpticalSDI = ( 1 << 2 ) ,
\r
632 bmdVideoConnectionComponent = ( 1 << 3 ) ,
\r
633 bmdVideoConnectionComposite = ( 1 << 4 ) ,
\r
634 bmdVideoConnectionSVideo = ( 1 << 5 )
\r
635 } BMDVideoConnection;
\r
638 enum _BMDAnalogVideoFlags
\r
639 { bmdAnalogVideoFlagCompositeSetup75 = ( 1 << 0 ) ,
\r
640 bmdAnalogVideoFlagComponentBetacamLevels = ( 1 << 1 )
\r
642 typedef /* [v1_enum] */
\r
643 enum _BMDAudioConnection
\r
644 { bmdAudioConnectionEmbedded = 0x656d6264,
\r
645 bmdAudioConnectionAESEBU = 0x61657320,
\r
646 bmdAudioConnectionAnalog = 0x616e6c67
\r
647 } BMDAudioConnection;
\r
649 typedef /* [v1_enum] */
\r
650 enum _BMDAudioOutputAnalogAESSwitch
\r
651 { bmdAudioOutputSwitchAESEBU = 0x61657320,
\r
652 bmdAudioOutputSwitchAnalog = 0x616e6c67
\r
653 } BMDAudioOutputAnalogAESSwitch;
\r
655 typedef /* [v1_enum] */
\r
656 enum _BMDVideoOutputConversionMode
\r
657 { bmdNoVideoOutputConversion = 0x6e6f6e65,
\r
658 bmdVideoOutputLetterboxDownconversion = 0x6c746278,
\r
659 bmdVideoOutputAnamorphicDownconversion = 0x616d7068,
\r
660 bmdVideoOutputHD720toHD1080Conversion = 0x37323063,
\r
661 bmdVideoOutputHardwareLetterboxDownconversion = 0x48576c62,
\r
662 bmdVideoOutputHardwareAnamorphicDownconversion = 0x4857616d,
\r
663 bmdVideoOutputHardwareCenterCutDownconversion = 0x48576363,
\r
664 bmdVideoOutputHardware720p1080pCrossconversion = 0x78636170,
\r
665 bmdVideoOutputHardwareAnamorphic720pUpconversion = 0x75613770,
\r
666 bmdVideoOutputHardwareAnamorphic1080iUpconversion = 0x75613169,
\r
667 bmdVideoOutputHardwareAnamorphic149To720pUpconversion = 0x75343770,
\r
668 bmdVideoOutputHardwareAnamorphic149To1080iUpconversion = 0x75343169,
\r
669 bmdVideoOutputHardwarePillarbox720pUpconversion = 0x75703770,
\r
670 bmdVideoOutputHardwarePillarbox1080iUpconversion = 0x75703169
\r
671 } BMDVideoOutputConversionMode;
\r
673 typedef /* [v1_enum] */
\r
674 enum _BMDVideoInputConversionMode
\r
675 { bmdNoVideoInputConversion = 0x6e6f6e65,
\r
676 bmdVideoInputLetterboxDownconversionFromHD1080 = 0x31306c62,
\r
677 bmdVideoInputAnamorphicDownconversionFromHD1080 = 0x3130616d,
\r
678 bmdVideoInputLetterboxDownconversionFromHD720 = 0x37326c62,
\r
679 bmdVideoInputAnamorphicDownconversionFromHD720 = 0x3732616d,
\r
680 bmdVideoInputLetterboxUpconversion = 0x6c627570,
\r
681 bmdVideoInputAnamorphicUpconversion = 0x616d7570
\r
682 } BMDVideoInputConversionMode;
\r
684 typedef /* [v1_enum] */
\r
685 enum _BMDVideo3DPackingFormat
\r
686 { bmdVideo3DPackingSidebySideHalf = 0x73627368,
\r
687 bmdVideo3DPackingLinebyLine = 0x6c62796c,
\r
688 bmdVideo3DPackingTopAndBottom = 0x7461626f,
\r
689 bmdVideo3DPackingFramePacking = 0x6672706b,
\r
690 bmdVideo3DPackingLeftOnly = 0x6c656674,
\r
691 bmdVideo3DPackingRightOnly = 0x72696768
\r
692 } BMDVideo3DPackingFormat;
\r
694 typedef /* [v1_enum] */
\r
695 enum _BMDIdleVideoOutputOperation
\r
696 { bmdIdleVideoOutputBlack = 0x626c6163,
\r
697 bmdIdleVideoOutputLastFrame = 0x6c616661
\r
698 } BMDIdleVideoOutputOperation;
\r
700 typedef /* [v1_enum] */
\r
701 enum _BMDDeckLinkConfigurationID
\r
702 { bmdDeckLinkConfigSwapSerialRxTx = 0x73737274,
\r
703 bmdDeckLinkConfigUse1080pNotPsF = 0x6670726f,
\r
704 bmdDeckLinkConfigHDMI3DPackingFormat = 0x33647066,
\r
705 bmdDeckLinkConfigBypass = 0x62797073,
\r
706 bmdDeckLinkConfigAnalogAudioConsumerLevels = 0x6161636c,
\r
707 bmdDeckLinkConfigFieldFlickerRemoval = 0x66646672,
\r
708 bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 0x746f3539,
\r
709 bmdDeckLinkConfig444SDIVideoOutput = 0x3434346f,
\r
710 bmdDeckLinkConfig3GBpsVideoOutput = 0x33676273,
\r
711 bmdDeckLinkConfigBlackVideoOutputDuringCapture = 0x62766f63,
\r
712 bmdDeckLinkConfigLowLatencyVideoOutput = 0x6c6c766f,
\r
713 bmdDeckLinkConfigVideoOutputConnection = 0x766f636e,
\r
714 bmdDeckLinkConfigVideoOutputConversionMode = 0x766f636d,
\r
715 bmdDeckLinkConfigAnalogVideoOutputFlags = 0x61766f66,
\r
716 bmdDeckLinkConfigReferenceInputTimingOffset = 0x676c6f74,
\r
717 bmdDeckLinkConfigVideoOutputIdleOperation = 0x766f696f,
\r
718 bmdDeckLinkConfigVideoOutputComponentLumaGain = 0x6f636c67,
\r
719 bmdDeckLinkConfigVideoOutputComponentChromaBlueGain = 0x6f636362,
\r
720 bmdDeckLinkConfigVideoOutputComponentChromaRedGain = 0x6f636372,
\r
721 bmdDeckLinkConfigVideoOutputCompositeLumaGain = 0x6f696c67,
\r
722 bmdDeckLinkConfigVideoOutputCompositeChromaGain = 0x6f696367,
\r
723 bmdDeckLinkConfigVideoOutputSVideoLumaGain = 0x6f736c67,
\r
724 bmdDeckLinkConfigVideoOutputSVideoChromaGain = 0x6f736367,
\r
725 bmdDeckLinkConfigVideoInputConnection = 0x7669636e,
\r
726 bmdDeckLinkConfigAnalogVideoInputFlags = 0x61766966,
\r
727 bmdDeckLinkConfigVideoInputConversionMode = 0x7669636d,
\r
728 bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = 0x70646966,
\r
729 bmdDeckLinkConfigVANCSourceLine1Mapping = 0x76736c31,
\r
730 bmdDeckLinkConfigVANCSourceLine2Mapping = 0x76736c32,
\r
731 bmdDeckLinkConfigVANCSourceLine3Mapping = 0x76736c33,
\r
732 bmdDeckLinkConfigVideoInputComponentLumaGain = 0x69636c67,
\r
733 bmdDeckLinkConfigVideoInputComponentChromaBlueGain = 0x69636362,
\r
734 bmdDeckLinkConfigVideoInputComponentChromaRedGain = 0x69636372,
\r
735 bmdDeckLinkConfigVideoInputCompositeLumaGain = 0x69696c67,
\r
736 bmdDeckLinkConfigVideoInputCompositeChromaGain = 0x69696367,
\r
737 bmdDeckLinkConfigVideoInputSVideoLumaGain = 0x69736c67,
\r
738 bmdDeckLinkConfigVideoInputSVideoChromaGain = 0x69736367,
\r
739 bmdDeckLinkConfigAudioInputConnection = 0x6169636e,
\r
740 bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = 0x61697331,
\r
741 bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = 0x61697332,
\r
742 bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 0x61697333,
\r
743 bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 0x61697334,
\r
744 bmdDeckLinkConfigDigitalAudioInputScale = 0x64616973,
\r
745 bmdDeckLinkConfigAudioOutputAESAnalogSwitch = 0x616f6161,
\r
746 bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = 0x616f7331,
\r
747 bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 0x616f7332,
\r
748 bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 0x616f7333,
\r
749 bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 0x616f7334,
\r
750 bmdDeckLinkConfigDigitalAudioOutputScale = 0x64616f73
\r
751 } BMDDeckLinkConfigurationID;
\r
753 typedef /* [v1_enum] */
\r
754 enum _BMDDeckLinkAttributeID
\r
755 { BMDDeckLinkSupportsInternalKeying = 0x6b657969,
\r
756 BMDDeckLinkSupportsExternalKeying = 0x6b657965,
\r
757 BMDDeckLinkSupportsHDKeying = 0x6b657968,
\r
758 BMDDeckLinkSupportsInputFormatDetection = 0x696e6664,
\r
759 BMDDeckLinkHasReferenceInput = 0x6872696e,
\r
760 BMDDeckLinkHasSerialPort = 0x68737074,
\r
761 BMDDeckLinkHasAnalogVideoOutputGain = 0x61766f67,
\r
762 BMDDeckLinkCanOnlyAdjustOverallVideoOutputGain = 0x6f766f67,
\r
763 BMDDeckLinkHasVideoInputAntiAliasingFilter = 0x6161666c,
\r
764 BMDDeckLinkHasBypass = 0x62797073,
\r
765 BMDDeckLinkMaximumAudioChannels = 0x6d616368,
\r
766 BMDDeckLinkNumberOfSubDevices = 0x6e736264,
\r
767 BMDDeckLinkSubDeviceIndex = 0x73756269,
\r
768 BMDDeckLinkVideoOutputConnections = 0x766f636e,
\r
769 BMDDeckLinkVideoInputConnections = 0x7669636e,
\r
770 BMDDeckLinkVideoInputGainMinimum = 0x7669676d,
\r
771 BMDDeckLinkVideoInputGainMaximum = 0x76696778,
\r
772 BMDDeckLinkVideoOutputGainMinimum = 0x766f676d,
\r
773 BMDDeckLinkVideoOutputGainMaximum = 0x766f6778,
\r
774 BMDDeckLinkSerialPortDeviceName = 0x736c706e
\r
775 } BMDDeckLinkAttributeID;
\r
777 typedef /* [v1_enum] */
\r
778 enum _BMDDeckLinkAPIInformationID
\r
779 { BMDDeckLinkAPIVersion = 0x76657273
\r
780 } BMDDeckLinkAPIInformationID;
\r
782 typedef /* [v1_enum] */
\r
783 enum _BMDDeckControlMode
\r
784 { bmdDeckControlNotOpened = 0x6e746f70,
\r
785 bmdDeckControlVTRControlMode = 0x76747263,
\r
786 bmdDeckControlExportMode = 0x6578706d,
\r
787 bmdDeckControlCaptureMode = 0x6361706d
\r
788 } BMDDeckControlMode;
\r
790 typedef /* [v1_enum] */
\r
791 enum _BMDDeckControlEvent
\r
792 { bmdDeckControlAbortedEvent = 0x61627465,
\r
793 bmdDeckControlPrepareForExportEvent = 0x70666565,
\r
794 bmdDeckControlExportCompleteEvent = 0x65786365,
\r
795 bmdDeckControlPrepareForCaptureEvent = 0x70666365,
\r
796 bmdDeckControlCaptureCompleteEvent = 0x63636576
\r
797 } BMDDeckControlEvent;
\r
799 typedef /* [v1_enum] */
\r
800 enum _BMDDeckControlVTRControlState
\r
801 { bmdDeckControlNotInVTRControlMode = 0x6e76636d,
\r
802 bmdDeckControlVTRControlPlaying = 0x76747270,
\r
803 bmdDeckControlVTRControlRecording = 0x76747272,
\r
804 bmdDeckControlVTRControlStill = 0x76747261,
\r
805 bmdDeckControlVTRControlSeeking = 0x76747273,
\r
806 bmdDeckControlVTRControlStopped = 0x7674726f
\r
807 } BMDDeckControlVTRControlState;
\r
810 enum _BMDDeckControlStatusFlags
\r
811 { bmdDeckControlStatusDeckConnected = ( 1 << 0 ) ,
\r
812 bmdDeckControlStatusRemoteMode = ( 1 << 1 ) ,
\r
813 bmdDeckControlStatusRecordInhibited = ( 1 << 2 ) ,
\r
814 bmdDeckControlStatusCassetteOut = ( 1 << 3 )
\r
817 enum _BMDDeckControlExportModeOpsFlags
\r
818 { bmdDeckControlExportModeInsertVideo = ( 1 << 0 ) ,
\r
819 bmdDeckControlExportModeInsertAudio1 = ( 1 << 1 ) ,
\r
820 bmdDeckControlExportModeInsertAudio2 = ( 1 << 2 ) ,
\r
821 bmdDeckControlExportModeInsertAudio3 = ( 1 << 3 ) ,
\r
822 bmdDeckControlExportModeInsertAudio4 = ( 1 << 4 ) ,
\r
823 bmdDeckControlExportModeInsertAudio5 = ( 1 << 5 ) ,
\r
824 bmdDeckControlExportModeInsertAudio6 = ( 1 << 6 ) ,
\r
825 bmdDeckControlExportModeInsertAudio7 = ( 1 << 7 ) ,
\r
826 bmdDeckControlExportModeInsertAudio8 = ( 1 << 8 ) ,
\r
827 bmdDeckControlExportModeInsertAudio9 = ( 1 << 9 ) ,
\r
828 bmdDeckControlExportModeInsertAudio10 = ( 1 << 10 ) ,
\r
829 bmdDeckControlExportModeInsertAudio11 = ( 1 << 11 ) ,
\r
830 bmdDeckControlExportModeInsertAudio12 = ( 1 << 12 ) ,
\r
831 bmdDeckControlExportModeInsertTimeCode = ( 1 << 13 ) ,
\r
832 bmdDeckControlExportModeInsertAssemble = ( 1 << 14 ) ,
\r
833 bmdDeckControlExportModeInsertPreview = ( 1 << 15 ) ,
\r
834 bmdDeckControlUseManualExport = ( 1 << 16 )
\r
836 typedef /* [v1_enum] */
\r
837 enum _BMDDeckControlError
\r
838 { bmdDeckControlNoError = 0x6e6f6572,
\r
839 bmdDeckControlModeError = 0x6d6f6572,
\r
840 bmdDeckControlMissedInPointError = 0x6d696572,
\r
841 bmdDeckControlDeckTimeoutError = 0x64746572,
\r
842 bmdDeckControlCommandFailedError = 0x63666572,
\r
843 bmdDeckControlDeviceAlreadyOpenedError = 0x64616c6f,
\r
844 bmdDeckControlFailedToOpenDeviceError = 0x66646572,
\r
845 bmdDeckControlInLocalModeError = 0x6c6d6572,
\r
846 bmdDeckControlEndOfTapeError = 0x65746572,
\r
847 bmdDeckControlUserAbortError = 0x75616572,
\r
848 bmdDeckControlNoTapeInDeckError = 0x6e746572,
\r
849 bmdDeckControlNoVideoFromCardError = 0x6e766663,
\r
850 bmdDeckControlNoCommunicationError = 0x6e636f6d,
\r
851 bmdDeckControlBufferTooSmallError = 0x6274736d,
\r
852 bmdDeckControlBadChecksumError = 0x63686b73,
\r
853 bmdDeckControlUnknownError = 0x756e6572
\r
854 } BMDDeckControlError;
\r
856 typedef /* [v1_enum] */
\r
857 enum _BMD3DPreviewFormat
\r
858 { bmd3DPreviewFormatDefault = 0x64656661,
\r
859 bmd3DPreviewFormatLeftOnly = 0x6c656674,
\r
860 bmd3DPreviewFormatRightOnly = 0x72696768,
\r
861 bmd3DPreviewFormatSideBySide = 0x73696465,
\r
862 bmd3DPreviewFormatTopBottom = 0x746f7062
\r
863 } BMD3DPreviewFormat;
\r
891 typedef /* [v1_enum] */
\r
892 enum _BMDVideoConnection_v7_6
\r
893 { bmdVideoConnectionSDI_v7_6 = 0x73646920,
\r
894 bmdVideoConnectionHDMI_v7_6 = 0x68646d69,
\r
895 bmdVideoConnectionOpticalSDI_v7_6 = 0x6f707469,
\r
896 bmdVideoConnectionComponent_v7_6 = 0x63706e74,
\r
897 bmdVideoConnectionComposite_v7_6 = 0x636d7374,
\r
898 bmdVideoConnectionSVideo_v7_6 = 0x73766964
\r
899 } BMDVideoConnection_v7_6;
\r
923 EXTERN_C const IID LIBID_DeckLinkAPI;
\r
925 #ifndef __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__
\r
926 #define __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__
\r
928 /* interface IDeckLinkVideoOutputCallback */
\r
929 /* [helpstring][uuid][object] */
\r
932 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback;
\r
934 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
936 MIDL_INTERFACE("20AA5225-1958-47CB-820B-80A8D521A6EE")
\r
937 IDeckLinkVideoOutputCallback : public IUnknown
\r
940 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
\r
941 /* [in] */ IDeckLinkVideoFrame *completedFrame,
\r
942 /* [in] */ BMDOutputFrameCompletionResult result) = 0;
\r
944 virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0;
\r
948 #else /* C style interface */
\r
950 typedef struct IDeckLinkVideoOutputCallbackVtbl
\r
954 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
955 IDeckLinkVideoOutputCallback * This,
\r
956 /* [in] */ REFIID riid,
\r
957 /* [annotation][iid_is][out] */
\r
958 __RPC__deref_out void **ppvObject);
\r
960 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
961 IDeckLinkVideoOutputCallback * This);
\r
963 ULONG ( STDMETHODCALLTYPE *Release )(
\r
964 IDeckLinkVideoOutputCallback * This);
\r
966 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
\r
967 IDeckLinkVideoOutputCallback * This,
\r
968 /* [in] */ IDeckLinkVideoFrame *completedFrame,
\r
969 /* [in] */ BMDOutputFrameCompletionResult result);
\r
971 HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )(
\r
972 IDeckLinkVideoOutputCallback * This);
\r
975 } IDeckLinkVideoOutputCallbackVtbl;
\r
977 interface IDeckLinkVideoOutputCallback
\r
979 CONST_VTBL struct IDeckLinkVideoOutputCallbackVtbl *lpVtbl;
\r
987 #define IDeckLinkVideoOutputCallback_QueryInterface(This,riid,ppvObject) \
\r
988 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
990 #define IDeckLinkVideoOutputCallback_AddRef(This) \
\r
991 ( (This)->lpVtbl -> AddRef(This) )
\r
993 #define IDeckLinkVideoOutputCallback_Release(This) \
\r
994 ( (This)->lpVtbl -> Release(This) )
\r
997 #define IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(This,completedFrame,result) \
\r
998 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
\r
1000 #define IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(This) \
\r
1001 ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) )
\r
1003 #endif /* COBJMACROS */
\r
1006 #endif /* C style interface */
\r
1011 #endif /* __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ */
\r
1014 #ifndef __IDeckLinkInputCallback_INTERFACE_DEFINED__
\r
1015 #define __IDeckLinkInputCallback_INTERFACE_DEFINED__
\r
1017 /* interface IDeckLinkInputCallback */
\r
1018 /* [helpstring][uuid][object] */
\r
1021 EXTERN_C const IID IID_IDeckLinkInputCallback;
\r
1023 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1025 MIDL_INTERFACE("DD04E5EC-7415-42AB-AE4A-E80C4DFC044A")
\r
1026 IDeckLinkInputCallback : public IUnknown
\r
1029 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
\r
1030 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
1031 /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
\r
1032 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
\r
1034 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
1035 /* [in] */ IDeckLinkVideoInputFrame *videoFrame,
\r
1036 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
\r
1040 #else /* C style interface */
\r
1042 typedef struct IDeckLinkInputCallbackVtbl
\r
1046 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1047 IDeckLinkInputCallback * This,
\r
1048 /* [in] */ REFIID riid,
\r
1049 /* [annotation][iid_is][out] */
\r
1050 __RPC__deref_out void **ppvObject);
\r
1052 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1053 IDeckLinkInputCallback * This);
\r
1055 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1056 IDeckLinkInputCallback * This);
\r
1058 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
\r
1059 IDeckLinkInputCallback * This,
\r
1060 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
1061 /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
\r
1062 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
\r
1064 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
1065 IDeckLinkInputCallback * This,
\r
1066 /* [in] */ IDeckLinkVideoInputFrame *videoFrame,
\r
1067 /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
\r
1070 } IDeckLinkInputCallbackVtbl;
\r
1072 interface IDeckLinkInputCallback
\r
1074 CONST_VTBL struct IDeckLinkInputCallbackVtbl *lpVtbl;
\r
1082 #define IDeckLinkInputCallback_QueryInterface(This,riid,ppvObject) \
\r
1083 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1085 #define IDeckLinkInputCallback_AddRef(This) \
\r
1086 ( (This)->lpVtbl -> AddRef(This) )
\r
1088 #define IDeckLinkInputCallback_Release(This) \
\r
1089 ( (This)->lpVtbl -> Release(This) )
\r
1092 #define IDeckLinkInputCallback_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
\r
1093 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
\r
1095 #define IDeckLinkInputCallback_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
1096 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
1098 #endif /* COBJMACROS */
\r
1101 #endif /* C style interface */
\r
1106 #endif /* __IDeckLinkInputCallback_INTERFACE_DEFINED__ */
\r
1109 #ifndef __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__
\r
1110 #define __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__
\r
1112 /* interface IDeckLinkMemoryAllocator */
\r
1113 /* [helpstring][local][uuid][object] */
\r
1116 EXTERN_C const IID IID_IDeckLinkMemoryAllocator;
\r
1118 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1120 MIDL_INTERFACE("B36EB6E7-9D29-4AA8-92EF-843B87A289E8")
\r
1121 IDeckLinkMemoryAllocator : public IUnknown
\r
1124 virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(
\r
1125 /* [in] */ unsigned long bufferSize,
\r
1126 /* [out] */ void **allocatedBuffer) = 0;
\r
1128 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
\r
1129 /* [in] */ void *buffer) = 0;
\r
1131 virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
\r
1133 virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
\r
1137 #else /* C style interface */
\r
1139 typedef struct IDeckLinkMemoryAllocatorVtbl
\r
1143 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1144 IDeckLinkMemoryAllocator * This,
\r
1145 /* [in] */ REFIID riid,
\r
1146 /* [annotation][iid_is][out] */
\r
1147 __RPC__deref_out void **ppvObject);
\r
1149 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1150 IDeckLinkMemoryAllocator * This);
\r
1152 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1153 IDeckLinkMemoryAllocator * This);
\r
1155 HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )(
\r
1156 IDeckLinkMemoryAllocator * This,
\r
1157 /* [in] */ unsigned long bufferSize,
\r
1158 /* [out] */ void **allocatedBuffer);
\r
1160 HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
\r
1161 IDeckLinkMemoryAllocator * This,
\r
1162 /* [in] */ void *buffer);
\r
1164 HRESULT ( STDMETHODCALLTYPE *Commit )(
\r
1165 IDeckLinkMemoryAllocator * This);
\r
1167 HRESULT ( STDMETHODCALLTYPE *Decommit )(
\r
1168 IDeckLinkMemoryAllocator * This);
\r
1171 } IDeckLinkMemoryAllocatorVtbl;
\r
1173 interface IDeckLinkMemoryAllocator
\r
1175 CONST_VTBL struct IDeckLinkMemoryAllocatorVtbl *lpVtbl;
\r
1183 #define IDeckLinkMemoryAllocator_QueryInterface(This,riid,ppvObject) \
\r
1184 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1186 #define IDeckLinkMemoryAllocator_AddRef(This) \
\r
1187 ( (This)->lpVtbl -> AddRef(This) )
\r
1189 #define IDeckLinkMemoryAllocator_Release(This) \
\r
1190 ( (This)->lpVtbl -> Release(This) )
\r
1193 #define IDeckLinkMemoryAllocator_AllocateBuffer(This,bufferSize,allocatedBuffer) \
\r
1194 ( (This)->lpVtbl -> AllocateBuffer(This,bufferSize,allocatedBuffer) )
\r
1196 #define IDeckLinkMemoryAllocator_ReleaseBuffer(This,buffer) \
\r
1197 ( (This)->lpVtbl -> ReleaseBuffer(This,buffer) )
\r
1199 #define IDeckLinkMemoryAllocator_Commit(This) \
\r
1200 ( (This)->lpVtbl -> Commit(This) )
\r
1202 #define IDeckLinkMemoryAllocator_Decommit(This) \
\r
1203 ( (This)->lpVtbl -> Decommit(This) )
\r
1205 #endif /* COBJMACROS */
\r
1208 #endif /* C style interface */
\r
1213 #endif /* __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ */
\r
1216 #ifndef __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__
\r
1217 #define __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__
\r
1219 /* interface IDeckLinkAudioOutputCallback */
\r
1220 /* [helpstring][local][uuid][object] */
\r
1223 EXTERN_C const IID IID_IDeckLinkAudioOutputCallback;
\r
1225 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1227 MIDL_INTERFACE("403C681B-7F46-4A12-B993-2BB127084EE6")
\r
1228 IDeckLinkAudioOutputCallback : public IUnknown
\r
1231 virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples(
\r
1232 /* [in] */ BOOL preroll) = 0;
\r
1236 #else /* C style interface */
\r
1238 typedef struct IDeckLinkAudioOutputCallbackVtbl
\r
1242 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1243 IDeckLinkAudioOutputCallback * This,
\r
1244 /* [in] */ REFIID riid,
\r
1245 /* [annotation][iid_is][out] */
\r
1246 __RPC__deref_out void **ppvObject);
\r
1248 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1249 IDeckLinkAudioOutputCallback * This);
\r
1251 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1252 IDeckLinkAudioOutputCallback * This);
\r
1254 HRESULT ( STDMETHODCALLTYPE *RenderAudioSamples )(
\r
1255 IDeckLinkAudioOutputCallback * This,
\r
1256 /* [in] */ BOOL preroll);
\r
1259 } IDeckLinkAudioOutputCallbackVtbl;
\r
1261 interface IDeckLinkAudioOutputCallback
\r
1263 CONST_VTBL struct IDeckLinkAudioOutputCallbackVtbl *lpVtbl;
\r
1271 #define IDeckLinkAudioOutputCallback_QueryInterface(This,riid,ppvObject) \
\r
1272 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1274 #define IDeckLinkAudioOutputCallback_AddRef(This) \
\r
1275 ( (This)->lpVtbl -> AddRef(This) )
\r
1277 #define IDeckLinkAudioOutputCallback_Release(This) \
\r
1278 ( (This)->lpVtbl -> Release(This) )
\r
1281 #define IDeckLinkAudioOutputCallback_RenderAudioSamples(This,preroll) \
\r
1282 ( (This)->lpVtbl -> RenderAudioSamples(This,preroll) )
\r
1284 #endif /* COBJMACROS */
\r
1287 #endif /* C style interface */
\r
1292 #endif /* __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ */
\r
1295 #ifndef __IDeckLinkIterator_INTERFACE_DEFINED__
\r
1296 #define __IDeckLinkIterator_INTERFACE_DEFINED__
\r
1298 /* interface IDeckLinkIterator */
\r
1299 /* [helpstring][uuid][object] */
\r
1302 EXTERN_C const IID IID_IDeckLinkIterator;
\r
1304 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1306 MIDL_INTERFACE("74E936FC-CC28-4A67-81A0-1E94E52D4E69")
\r
1307 IDeckLinkIterator : public IUnknown
\r
1310 virtual HRESULT STDMETHODCALLTYPE Next(
\r
1311 /* [out] */ IDeckLink **deckLinkInstance) = 0;
\r
1315 #else /* C style interface */
\r
1317 typedef struct IDeckLinkIteratorVtbl
\r
1321 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1322 IDeckLinkIterator * This,
\r
1323 /* [in] */ REFIID riid,
\r
1324 /* [annotation][iid_is][out] */
\r
1325 __RPC__deref_out void **ppvObject);
\r
1327 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1328 IDeckLinkIterator * This);
\r
1330 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1331 IDeckLinkIterator * This);
\r
1333 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
1334 IDeckLinkIterator * This,
\r
1335 /* [out] */ IDeckLink **deckLinkInstance);
\r
1338 } IDeckLinkIteratorVtbl;
\r
1340 interface IDeckLinkIterator
\r
1342 CONST_VTBL struct IDeckLinkIteratorVtbl *lpVtbl;
\r
1350 #define IDeckLinkIterator_QueryInterface(This,riid,ppvObject) \
\r
1351 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1353 #define IDeckLinkIterator_AddRef(This) \
\r
1354 ( (This)->lpVtbl -> AddRef(This) )
\r
1356 #define IDeckLinkIterator_Release(This) \
\r
1357 ( (This)->lpVtbl -> Release(This) )
\r
1360 #define IDeckLinkIterator_Next(This,deckLinkInstance) \
\r
1361 ( (This)->lpVtbl -> Next(This,deckLinkInstance) )
\r
1363 #endif /* COBJMACROS */
\r
1366 #endif /* C style interface */
\r
1371 #endif /* __IDeckLinkIterator_INTERFACE_DEFINED__ */
\r
1374 #ifndef __IDeckLinkAPIInformation_INTERFACE_DEFINED__
\r
1375 #define __IDeckLinkAPIInformation_INTERFACE_DEFINED__
\r
1377 /* interface IDeckLinkAPIInformation */
\r
1378 /* [helpstring][uuid][object] */
\r
1381 EXTERN_C const IID IID_IDeckLinkAPIInformation;
\r
1383 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1385 MIDL_INTERFACE("7BEA3C68-730D-4322-AF34-8A7152B532A4")
\r
1386 IDeckLinkAPIInformation : public IUnknown
\r
1389 virtual HRESULT STDMETHODCALLTYPE GetFlag(
\r
1390 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1391 /* [out] */ BOOL *value) = 0;
\r
1393 virtual HRESULT STDMETHODCALLTYPE GetInt(
\r
1394 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1395 /* [out] */ LONGLONG *value) = 0;
\r
1397 virtual HRESULT STDMETHODCALLTYPE GetFloat(
\r
1398 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1399 /* [out] */ double *value) = 0;
\r
1401 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
1402 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1403 /* [out] */ BSTR *value) = 0;
\r
1407 #else /* C style interface */
\r
1409 typedef struct IDeckLinkAPIInformationVtbl
\r
1413 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1414 IDeckLinkAPIInformation * This,
\r
1415 /* [in] */ REFIID riid,
\r
1416 /* [annotation][iid_is][out] */
\r
1417 __RPC__deref_out void **ppvObject);
\r
1419 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1420 IDeckLinkAPIInformation * This);
\r
1422 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1423 IDeckLinkAPIInformation * This);
\r
1425 HRESULT ( STDMETHODCALLTYPE *GetFlag )(
\r
1426 IDeckLinkAPIInformation * This,
\r
1427 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1428 /* [out] */ BOOL *value);
\r
1430 HRESULT ( STDMETHODCALLTYPE *GetInt )(
\r
1431 IDeckLinkAPIInformation * This,
\r
1432 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1433 /* [out] */ LONGLONG *value);
\r
1435 HRESULT ( STDMETHODCALLTYPE *GetFloat )(
\r
1436 IDeckLinkAPIInformation * This,
\r
1437 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1438 /* [out] */ double *value);
\r
1440 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
1441 IDeckLinkAPIInformation * This,
\r
1442 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1443 /* [out] */ BSTR *value);
\r
1446 } IDeckLinkAPIInformationVtbl;
\r
1448 interface IDeckLinkAPIInformation
\r
1450 CONST_VTBL struct IDeckLinkAPIInformationVtbl *lpVtbl;
\r
1458 #define IDeckLinkAPIInformation_QueryInterface(This,riid,ppvObject) \
\r
1459 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1461 #define IDeckLinkAPIInformation_AddRef(This) \
\r
1462 ( (This)->lpVtbl -> AddRef(This) )
\r
1464 #define IDeckLinkAPIInformation_Release(This) \
\r
1465 ( (This)->lpVtbl -> Release(This) )
\r
1468 #define IDeckLinkAPIInformation_GetFlag(This,cfgID,value) \
\r
1469 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
\r
1471 #define IDeckLinkAPIInformation_GetInt(This,cfgID,value) \
\r
1472 ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
\r
1474 #define IDeckLinkAPIInformation_GetFloat(This,cfgID,value) \
\r
1475 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
\r
1477 #define IDeckLinkAPIInformation_GetString(This,cfgID,value) \
\r
1478 ( (This)->lpVtbl -> GetString(This,cfgID,value) )
\r
1480 #endif /* COBJMACROS */
\r
1483 #endif /* C style interface */
\r
1488 #endif /* __IDeckLinkAPIInformation_INTERFACE_DEFINED__ */
\r
1491 #ifndef __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__
\r
1492 #define __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__
\r
1494 /* interface IDeckLinkDisplayModeIterator */
\r
1495 /* [helpstring][uuid][object] */
\r
1498 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator;
\r
1500 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1502 MIDL_INTERFACE("9C88499F-F601-4021-B80B-032E4EB41C35")
\r
1503 IDeckLinkDisplayModeIterator : public IUnknown
\r
1506 virtual HRESULT STDMETHODCALLTYPE Next(
\r
1507 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0;
\r
1511 #else /* C style interface */
\r
1513 typedef struct IDeckLinkDisplayModeIteratorVtbl
\r
1517 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1518 IDeckLinkDisplayModeIterator * This,
\r
1519 /* [in] */ REFIID riid,
\r
1520 /* [annotation][iid_is][out] */
\r
1521 __RPC__deref_out void **ppvObject);
\r
1523 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1524 IDeckLinkDisplayModeIterator * This);
\r
1526 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1527 IDeckLinkDisplayModeIterator * This);
\r
1529 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
1530 IDeckLinkDisplayModeIterator * This,
\r
1531 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode);
\r
1534 } IDeckLinkDisplayModeIteratorVtbl;
\r
1536 interface IDeckLinkDisplayModeIterator
\r
1538 CONST_VTBL struct IDeckLinkDisplayModeIteratorVtbl *lpVtbl;
\r
1546 #define IDeckLinkDisplayModeIterator_QueryInterface(This,riid,ppvObject) \
\r
1547 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1549 #define IDeckLinkDisplayModeIterator_AddRef(This) \
\r
1550 ( (This)->lpVtbl -> AddRef(This) )
\r
1552 #define IDeckLinkDisplayModeIterator_Release(This) \
\r
1553 ( (This)->lpVtbl -> Release(This) )
\r
1556 #define IDeckLinkDisplayModeIterator_Next(This,deckLinkDisplayMode) \
\r
1557 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
\r
1559 #endif /* COBJMACROS */
\r
1562 #endif /* C style interface */
\r
1567 #endif /* __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ */
\r
1570 #ifndef __IDeckLinkDisplayMode_INTERFACE_DEFINED__
\r
1571 #define __IDeckLinkDisplayMode_INTERFACE_DEFINED__
\r
1573 /* interface IDeckLinkDisplayMode */
\r
1574 /* [helpstring][uuid][object] */
\r
1577 EXTERN_C const IID IID_IDeckLinkDisplayMode;
\r
1579 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1581 MIDL_INTERFACE("3EB2C1AB-0A3D-4523-A3AD-F40D7FB14E78")
\r
1582 IDeckLinkDisplayMode : public IUnknown
\r
1585 virtual HRESULT STDMETHODCALLTYPE GetName(
\r
1586 /* [out] */ BSTR *name) = 0;
\r
1588 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
1590 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
1592 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
1594 virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
\r
1595 /* [out] */ BMDTimeValue *frameDuration,
\r
1596 /* [out] */ BMDTimeScale *timeScale) = 0;
\r
1598 virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0;
\r
1600 virtual BMDDisplayModeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
1604 #else /* C style interface */
\r
1606 typedef struct IDeckLinkDisplayModeVtbl
\r
1610 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1611 IDeckLinkDisplayMode * This,
\r
1612 /* [in] */ REFIID riid,
\r
1613 /* [annotation][iid_is][out] */
\r
1614 __RPC__deref_out void **ppvObject);
\r
1616 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1617 IDeckLinkDisplayMode * This);
\r
1619 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1620 IDeckLinkDisplayMode * This);
\r
1622 HRESULT ( STDMETHODCALLTYPE *GetName )(
\r
1623 IDeckLinkDisplayMode * This,
\r
1624 /* [out] */ BSTR *name);
\r
1626 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
1627 IDeckLinkDisplayMode * This);
\r
1629 long ( STDMETHODCALLTYPE *GetWidth )(
\r
1630 IDeckLinkDisplayMode * This);
\r
1632 long ( STDMETHODCALLTYPE *GetHeight )(
\r
1633 IDeckLinkDisplayMode * This);
\r
1635 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
\r
1636 IDeckLinkDisplayMode * This,
\r
1637 /* [out] */ BMDTimeValue *frameDuration,
\r
1638 /* [out] */ BMDTimeScale *timeScale);
\r
1640 BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )(
\r
1641 IDeckLinkDisplayMode * This);
\r
1643 BMDDisplayModeFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
1644 IDeckLinkDisplayMode * This);
\r
1647 } IDeckLinkDisplayModeVtbl;
\r
1649 interface IDeckLinkDisplayMode
\r
1651 CONST_VTBL struct IDeckLinkDisplayModeVtbl *lpVtbl;
\r
1659 #define IDeckLinkDisplayMode_QueryInterface(This,riid,ppvObject) \
\r
1660 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1662 #define IDeckLinkDisplayMode_AddRef(This) \
\r
1663 ( (This)->lpVtbl -> AddRef(This) )
\r
1665 #define IDeckLinkDisplayMode_Release(This) \
\r
1666 ( (This)->lpVtbl -> Release(This) )
\r
1669 #define IDeckLinkDisplayMode_GetName(This,name) \
\r
1670 ( (This)->lpVtbl -> GetName(This,name) )
\r
1672 #define IDeckLinkDisplayMode_GetDisplayMode(This) \
\r
1673 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
1675 #define IDeckLinkDisplayMode_GetWidth(This) \
\r
1676 ( (This)->lpVtbl -> GetWidth(This) )
\r
1678 #define IDeckLinkDisplayMode_GetHeight(This) \
\r
1679 ( (This)->lpVtbl -> GetHeight(This) )
\r
1681 #define IDeckLinkDisplayMode_GetFrameRate(This,frameDuration,timeScale) \
\r
1682 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
\r
1684 #define IDeckLinkDisplayMode_GetFieldDominance(This) \
\r
1685 ( (This)->lpVtbl -> GetFieldDominance(This) )
\r
1687 #define IDeckLinkDisplayMode_GetFlags(This) \
\r
1688 ( (This)->lpVtbl -> GetFlags(This) )
\r
1690 #endif /* COBJMACROS */
\r
1693 #endif /* C style interface */
\r
1698 #endif /* __IDeckLinkDisplayMode_INTERFACE_DEFINED__ */
\r
1701 #ifndef __IDeckLink_INTERFACE_DEFINED__
\r
1702 #define __IDeckLink_INTERFACE_DEFINED__
\r
1704 /* interface IDeckLink */
\r
1705 /* [helpstring][uuid][object] */
\r
1708 EXTERN_C const IID IID_IDeckLink;
\r
1710 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1712 MIDL_INTERFACE("62BFF75D-6569-4E55-8D4D-66AA03829ABC")
\r
1713 IDeckLink : public IUnknown
\r
1716 virtual HRESULT STDMETHODCALLTYPE GetModelName(
\r
1717 /* [out] */ BSTR *modelName) = 0;
\r
1721 #else /* C style interface */
\r
1723 typedef struct IDeckLinkVtbl
\r
1727 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1729 /* [in] */ REFIID riid,
\r
1730 /* [annotation][iid_is][out] */
\r
1731 __RPC__deref_out void **ppvObject);
\r
1733 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1734 IDeckLink * This);
\r
1736 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1737 IDeckLink * This);
\r
1739 HRESULT ( STDMETHODCALLTYPE *GetModelName )(
\r
1741 /* [out] */ BSTR *modelName);
\r
1746 interface IDeckLink
\r
1748 CONST_VTBL struct IDeckLinkVtbl *lpVtbl;
\r
1756 #define IDeckLink_QueryInterface(This,riid,ppvObject) \
\r
1757 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1759 #define IDeckLink_AddRef(This) \
\r
1760 ( (This)->lpVtbl -> AddRef(This) )
\r
1762 #define IDeckLink_Release(This) \
\r
1763 ( (This)->lpVtbl -> Release(This) )
\r
1766 #define IDeckLink_GetModelName(This,modelName) \
\r
1767 ( (This)->lpVtbl -> GetModelName(This,modelName) )
\r
1769 #endif /* COBJMACROS */
\r
1772 #endif /* C style interface */
\r
1777 #endif /* __IDeckLink_INTERFACE_DEFINED__ */
\r
1780 #ifndef __IDeckLinkOutput_INTERFACE_DEFINED__
\r
1781 #define __IDeckLinkOutput_INTERFACE_DEFINED__
\r
1783 /* interface IDeckLinkOutput */
\r
1784 /* [helpstring][local][uuid][object] */
\r
1787 EXTERN_C const IID IID_IDeckLinkOutput;
\r
1789 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1791 MIDL_INTERFACE("A3EF0963-0862-44ED-92A9-EE89ABF431C7")
\r
1792 IDeckLinkOutput : public IUnknown
\r
1795 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
1796 /* [in] */ BMDDisplayMode displayMode,
\r
1797 /* [in] */ BMDPixelFormat pixelFormat,
\r
1798 /* [in] */ BMDVideoOutputFlags flags,
\r
1799 /* [out] */ BMDDisplayModeSupport *result,
\r
1800 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0;
\r
1802 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
1803 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
\r
1805 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
1806 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
1808 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
1809 /* [in] */ BMDDisplayMode displayMode,
\r
1810 /* [in] */ BMDVideoOutputFlags flags) = 0;
\r
1812 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
1814 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
1815 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
1817 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
1818 /* [in] */ long width,
\r
1819 /* [in] */ long height,
\r
1820 /* [in] */ long rowBytes,
\r
1821 /* [in] */ BMDPixelFormat pixelFormat,
\r
1822 /* [in] */ BMDFrameFlags flags,
\r
1823 /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0;
\r
1825 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
\r
1826 /* [in] */ BMDPixelFormat pixelFormat,
\r
1827 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
\r
1829 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
1830 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
1832 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
1833 /* [in] */ IDeckLinkVideoFrame *theFrame,
\r
1834 /* [in] */ BMDTimeValue displayTime,
\r
1835 /* [in] */ BMDTimeValue displayDuration,
\r
1836 /* [in] */ BMDTimeScale timeScale) = 0;
\r
1838 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
1839 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;
\r
1841 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
\r
1842 /* [out] */ unsigned long *bufferedFrameCount) = 0;
\r
1844 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
1845 /* [in] */ BMDAudioSampleRate sampleRate,
\r
1846 /* [in] */ BMDAudioSampleType sampleType,
\r
1847 /* [in] */ unsigned long channelCount,
\r
1848 /* [in] */ BMDAudioOutputStreamType streamType) = 0;
\r
1850 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
1852 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
1853 /* [in] */ void *buffer,
\r
1854 /* [in] */ unsigned long sampleFrameCount,
\r
1855 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
1857 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
1859 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
1861 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
1862 /* [in] */ void *buffer,
\r
1863 /* [in] */ unsigned long sampleFrameCount,
\r
1864 /* [in] */ BMDTimeValue streamTime,
\r
1865 /* [in] */ BMDTimeScale timeScale,
\r
1866 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
1868 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
1869 /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
\r
1871 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
1873 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
1874 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
1876 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
1877 /* [in] */ BMDTimeValue playbackStartTime,
\r
1878 /* [in] */ BMDTimeScale timeScale,
\r
1879 /* [in] */ double playbackSpeed) = 0;
\r
1881 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
1882 /* [in] */ BMDTimeValue stopPlaybackAtTime,
\r
1883 /* [out] */ BMDTimeValue *actualStopTime,
\r
1884 /* [in] */ BMDTimeScale timeScale) = 0;
\r
1886 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
\r
1887 /* [out] */ BOOL *active) = 0;
\r
1889 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
\r
1890 /* [in] */ BMDTimeScale desiredTimeScale,
\r
1891 /* [out] */ BMDTimeValue *streamTime,
\r
1892 /* [out] */ double *playbackSpeed) = 0;
\r
1894 virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus(
\r
1895 /* [out] */ BMDReferenceStatus *referenceStatus) = 0;
\r
1897 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
1898 /* [in] */ BMDTimeScale desiredTimeScale,
\r
1899 /* [out] */ BMDTimeValue *hardwareTime,
\r
1900 /* [out] */ BMDTimeValue *timeInFrame,
\r
1901 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
1905 #else /* C style interface */
\r
1907 typedef struct IDeckLinkOutputVtbl
\r
1911 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1912 IDeckLinkOutput * This,
\r
1913 /* [in] */ REFIID riid,
\r
1914 /* [annotation][iid_is][out] */
\r
1915 __RPC__deref_out void **ppvObject);
\r
1917 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1918 IDeckLinkOutput * This);
\r
1920 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1921 IDeckLinkOutput * This);
\r
1923 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
1924 IDeckLinkOutput * This,
\r
1925 /* [in] */ BMDDisplayMode displayMode,
\r
1926 /* [in] */ BMDPixelFormat pixelFormat,
\r
1927 /* [in] */ BMDVideoOutputFlags flags,
\r
1928 /* [out] */ BMDDisplayModeSupport *result,
\r
1929 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode);
\r
1931 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
1932 IDeckLinkOutput * This,
\r
1933 /* [out] */ IDeckLinkDisplayModeIterator **iterator);
\r
1935 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
1936 IDeckLinkOutput * This,
\r
1937 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
1939 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
1940 IDeckLinkOutput * This,
\r
1941 /* [in] */ BMDDisplayMode displayMode,
\r
1942 /* [in] */ BMDVideoOutputFlags flags);
\r
1944 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
1945 IDeckLinkOutput * This);
\r
1947 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
1948 IDeckLinkOutput * This,
\r
1949 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
1951 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
1952 IDeckLinkOutput * This,
\r
1953 /* [in] */ long width,
\r
1954 /* [in] */ long height,
\r
1955 /* [in] */ long rowBytes,
\r
1956 /* [in] */ BMDPixelFormat pixelFormat,
\r
1957 /* [in] */ BMDFrameFlags flags,
\r
1958 /* [out] */ IDeckLinkMutableVideoFrame **outFrame);
\r
1960 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
\r
1961 IDeckLinkOutput * This,
\r
1962 /* [in] */ BMDPixelFormat pixelFormat,
\r
1963 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
\r
1965 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
1966 IDeckLinkOutput * This,
\r
1967 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
1969 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
1970 IDeckLinkOutput * This,
\r
1971 /* [in] */ IDeckLinkVideoFrame *theFrame,
\r
1972 /* [in] */ BMDTimeValue displayTime,
\r
1973 /* [in] */ BMDTimeValue displayDuration,
\r
1974 /* [in] */ BMDTimeScale timeScale);
\r
1976 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
1977 IDeckLinkOutput * This,
\r
1978 /* [in] */ IDeckLinkVideoOutputCallback *theCallback);
\r
1980 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
\r
1981 IDeckLinkOutput * This,
\r
1982 /* [out] */ unsigned long *bufferedFrameCount);
\r
1984 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
1985 IDeckLinkOutput * This,
\r
1986 /* [in] */ BMDAudioSampleRate sampleRate,
\r
1987 /* [in] */ BMDAudioSampleType sampleType,
\r
1988 /* [in] */ unsigned long channelCount,
\r
1989 /* [in] */ BMDAudioOutputStreamType streamType);
\r
1991 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
1992 IDeckLinkOutput * This);
\r
1994 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
1995 IDeckLinkOutput * This,
\r
1996 /* [in] */ void *buffer,
\r
1997 /* [in] */ unsigned long sampleFrameCount,
\r
1998 /* [out] */ unsigned long *sampleFramesWritten);
\r
2000 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
2001 IDeckLinkOutput * This);
\r
2003 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
2004 IDeckLinkOutput * This);
\r
2006 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
2007 IDeckLinkOutput * This,
\r
2008 /* [in] */ void *buffer,
\r
2009 /* [in] */ unsigned long sampleFrameCount,
\r
2010 /* [in] */ BMDTimeValue streamTime,
\r
2011 /* [in] */ BMDTimeScale timeScale,
\r
2012 /* [out] */ unsigned long *sampleFramesWritten);
\r
2014 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
2015 IDeckLinkOutput * This,
\r
2016 /* [out] */ unsigned long *bufferedSampleFrameCount);
\r
2018 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
2019 IDeckLinkOutput * This);
\r
2021 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
2022 IDeckLinkOutput * This,
\r
2023 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
2025 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
2026 IDeckLinkOutput * This,
\r
2027 /* [in] */ BMDTimeValue playbackStartTime,
\r
2028 /* [in] */ BMDTimeScale timeScale,
\r
2029 /* [in] */ double playbackSpeed);
\r
2031 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
2032 IDeckLinkOutput * This,
\r
2033 /* [in] */ BMDTimeValue stopPlaybackAtTime,
\r
2034 /* [out] */ BMDTimeValue *actualStopTime,
\r
2035 /* [in] */ BMDTimeScale timeScale);
\r
2037 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
\r
2038 IDeckLinkOutput * This,
\r
2039 /* [out] */ BOOL *active);
\r
2041 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )(
\r
2042 IDeckLinkOutput * This,
\r
2043 /* [in] */ BMDTimeScale desiredTimeScale,
\r
2044 /* [out] */ BMDTimeValue *streamTime,
\r
2045 /* [out] */ double *playbackSpeed);
\r
2047 HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )(
\r
2048 IDeckLinkOutput * This,
\r
2049 /* [out] */ BMDReferenceStatus *referenceStatus);
\r
2051 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
2052 IDeckLinkOutput * This,
\r
2053 /* [in] */ BMDTimeScale desiredTimeScale,
\r
2054 /* [out] */ BMDTimeValue *hardwareTime,
\r
2055 /* [out] */ BMDTimeValue *timeInFrame,
\r
2056 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
2059 } IDeckLinkOutputVtbl;
\r
2061 interface IDeckLinkOutput
\r
2063 CONST_VTBL struct IDeckLinkOutputVtbl *lpVtbl;
\r
2071 #define IDeckLinkOutput_QueryInterface(This,riid,ppvObject) \
\r
2072 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2074 #define IDeckLinkOutput_AddRef(This) \
\r
2075 ( (This)->lpVtbl -> AddRef(This) )
\r
2077 #define IDeckLinkOutput_Release(This) \
\r
2078 ( (This)->lpVtbl -> Release(This) )
\r
2081 #define IDeckLinkOutput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \
\r
2082 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) )
\r
2084 #define IDeckLinkOutput_GetDisplayModeIterator(This,iterator) \
\r
2085 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
2087 #define IDeckLinkOutput_SetScreenPreviewCallback(This,previewCallback) \
\r
2088 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
2090 #define IDeckLinkOutput_EnableVideoOutput(This,displayMode,flags) \
\r
2091 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
\r
2093 #define IDeckLinkOutput_DisableVideoOutput(This) \
\r
2094 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
2096 #define IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
2097 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
2099 #define IDeckLinkOutput_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
2100 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
2102 #define IDeckLinkOutput_CreateAncillaryData(This,pixelFormat,outBuffer) \
\r
2103 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
\r
2105 #define IDeckLinkOutput_DisplayVideoFrameSync(This,theFrame) \
\r
2106 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
2108 #define IDeckLinkOutput_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
2109 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
2111 #define IDeckLinkOutput_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
2112 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
2114 #define IDeckLinkOutput_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
\r
2115 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
\r
2117 #define IDeckLinkOutput_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
\r
2118 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
\r
2120 #define IDeckLinkOutput_DisableAudioOutput(This) \
\r
2121 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
2123 #define IDeckLinkOutput_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
2124 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
2126 #define IDeckLinkOutput_BeginAudioPreroll(This) \
\r
2127 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
2129 #define IDeckLinkOutput_EndAudioPreroll(This) \
\r
2130 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
2132 #define IDeckLinkOutput_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
2133 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
2135 #define IDeckLinkOutput_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
\r
2136 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
\r
2138 #define IDeckLinkOutput_FlushBufferedAudioSamples(This) \
\r
2139 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
2141 #define IDeckLinkOutput_SetAudioCallback(This,theCallback) \
\r
2142 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
2144 #define IDeckLinkOutput_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
2145 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
2147 #define IDeckLinkOutput_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
2148 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
2150 #define IDeckLinkOutput_IsScheduledPlaybackRunning(This,active) \
\r
2151 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
\r
2153 #define IDeckLinkOutput_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \
\r
2154 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) )
\r
2156 #define IDeckLinkOutput_GetReferenceStatus(This,referenceStatus) \
\r
2157 ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) )
\r
2159 #define IDeckLinkOutput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
2160 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
2162 #endif /* COBJMACROS */
\r
2165 #endif /* C style interface */
\r
2170 #endif /* __IDeckLinkOutput_INTERFACE_DEFINED__ */
\r
2173 #ifndef __IDeckLinkInput_INTERFACE_DEFINED__
\r
2174 #define __IDeckLinkInput_INTERFACE_DEFINED__
\r
2176 /* interface IDeckLinkInput */
\r
2177 /* [helpstring][uuid][object] */
\r
2180 EXTERN_C const IID IID_IDeckLinkInput;
\r
2182 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2184 MIDL_INTERFACE("6D40EF78-28B9-4E21-990D-95BB7750A04F")
\r
2185 IDeckLinkInput : public IUnknown
\r
2188 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
2189 /* [in] */ BMDDisplayMode displayMode,
\r
2190 /* [in] */ BMDPixelFormat pixelFormat,
\r
2191 /* [in] */ BMDVideoInputFlags flags,
\r
2192 /* [out] */ BMDDisplayModeSupport *result,
\r
2193 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0;
\r
2195 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
2196 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
\r
2198 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
2199 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
2201 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
2202 /* [in] */ BMDDisplayMode displayMode,
\r
2203 /* [in] */ BMDPixelFormat pixelFormat,
\r
2204 /* [in] */ BMDVideoInputFlags flags) = 0;
\r
2206 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
2208 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
\r
2209 /* [out] */ unsigned long *availableFrameCount) = 0;
\r
2211 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
2212 /* [in] */ BMDAudioSampleRate sampleRate,
\r
2213 /* [in] */ BMDAudioSampleType sampleType,
\r
2214 /* [in] */ unsigned long channelCount) = 0;
\r
2216 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
2218 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
\r
2219 /* [out] */ unsigned long *availableSampleFrameCount) = 0;
\r
2221 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
2223 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
2225 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
2227 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
\r
2229 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
2230 /* [in] */ IDeckLinkInputCallback *theCallback) = 0;
\r
2232 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
2233 /* [in] */ BMDTimeScale desiredTimeScale,
\r
2234 /* [out] */ BMDTimeValue *hardwareTime,
\r
2235 /* [out] */ BMDTimeValue *timeInFrame,
\r
2236 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
2240 #else /* C style interface */
\r
2242 typedef struct IDeckLinkInputVtbl
\r
2246 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2247 IDeckLinkInput * This,
\r
2248 /* [in] */ REFIID riid,
\r
2249 /* [annotation][iid_is][out] */
\r
2250 __RPC__deref_out void **ppvObject);
\r
2252 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2253 IDeckLinkInput * This);
\r
2255 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2256 IDeckLinkInput * This);
\r
2258 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
2259 IDeckLinkInput * This,
\r
2260 /* [in] */ BMDDisplayMode displayMode,
\r
2261 /* [in] */ BMDPixelFormat pixelFormat,
\r
2262 /* [in] */ BMDVideoInputFlags flags,
\r
2263 /* [out] */ BMDDisplayModeSupport *result,
\r
2264 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode);
\r
2266 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
2267 IDeckLinkInput * This,
\r
2268 /* [out] */ IDeckLinkDisplayModeIterator **iterator);
\r
2270 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
2271 IDeckLinkInput * This,
\r
2272 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
2274 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
2275 IDeckLinkInput * This,
\r
2276 /* [in] */ BMDDisplayMode displayMode,
\r
2277 /* [in] */ BMDPixelFormat pixelFormat,
\r
2278 /* [in] */ BMDVideoInputFlags flags);
\r
2280 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
2281 IDeckLinkInput * This);
\r
2283 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
\r
2284 IDeckLinkInput * This,
\r
2285 /* [out] */ unsigned long *availableFrameCount);
\r
2287 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
2288 IDeckLinkInput * This,
\r
2289 /* [in] */ BMDAudioSampleRate sampleRate,
\r
2290 /* [in] */ BMDAudioSampleType sampleType,
\r
2291 /* [in] */ unsigned long channelCount);
\r
2293 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
2294 IDeckLinkInput * This);
\r
2296 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
\r
2297 IDeckLinkInput * This,
\r
2298 /* [out] */ unsigned long *availableSampleFrameCount);
\r
2300 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
2301 IDeckLinkInput * This);
\r
2303 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
2304 IDeckLinkInput * This);
\r
2306 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
2307 IDeckLinkInput * This);
\r
2309 HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
\r
2310 IDeckLinkInput * This);
\r
2312 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
2313 IDeckLinkInput * This,
\r
2314 /* [in] */ IDeckLinkInputCallback *theCallback);
\r
2316 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
2317 IDeckLinkInput * This,
\r
2318 /* [in] */ BMDTimeScale desiredTimeScale,
\r
2319 /* [out] */ BMDTimeValue *hardwareTime,
\r
2320 /* [out] */ BMDTimeValue *timeInFrame,
\r
2321 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
2324 } IDeckLinkInputVtbl;
\r
2326 interface IDeckLinkInput
\r
2328 CONST_VTBL struct IDeckLinkInputVtbl *lpVtbl;
\r
2336 #define IDeckLinkInput_QueryInterface(This,riid,ppvObject) \
\r
2337 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2339 #define IDeckLinkInput_AddRef(This) \
\r
2340 ( (This)->lpVtbl -> AddRef(This) )
\r
2342 #define IDeckLinkInput_Release(This) \
\r
2343 ( (This)->lpVtbl -> Release(This) )
\r
2346 #define IDeckLinkInput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \
\r
2347 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) )
\r
2349 #define IDeckLinkInput_GetDisplayModeIterator(This,iterator) \
\r
2350 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
2352 #define IDeckLinkInput_SetScreenPreviewCallback(This,previewCallback) \
\r
2353 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
2355 #define IDeckLinkInput_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
2356 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
2358 #define IDeckLinkInput_DisableVideoInput(This) \
\r
2359 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
2361 #define IDeckLinkInput_GetAvailableVideoFrameCount(This,availableFrameCount) \
\r
2362 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
\r
2364 #define IDeckLinkInput_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
2365 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
2367 #define IDeckLinkInput_DisableAudioInput(This) \
\r
2368 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
2370 #define IDeckLinkInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
\r
2371 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
\r
2373 #define IDeckLinkInput_StartStreams(This) \
\r
2374 ( (This)->lpVtbl -> StartStreams(This) )
\r
2376 #define IDeckLinkInput_StopStreams(This) \
\r
2377 ( (This)->lpVtbl -> StopStreams(This) )
\r
2379 #define IDeckLinkInput_PauseStreams(This) \
\r
2380 ( (This)->lpVtbl -> PauseStreams(This) )
\r
2382 #define IDeckLinkInput_FlushStreams(This) \
\r
2383 ( (This)->lpVtbl -> FlushStreams(This) )
\r
2385 #define IDeckLinkInput_SetCallback(This,theCallback) \
\r
2386 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
2388 #define IDeckLinkInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
2389 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
2391 #endif /* COBJMACROS */
\r
2394 #endif /* C style interface */
\r
2399 #endif /* __IDeckLinkInput_INTERFACE_DEFINED__ */
\r
2402 #ifndef __IDeckLinkTimecode_INTERFACE_DEFINED__
\r
2403 #define __IDeckLinkTimecode_INTERFACE_DEFINED__
\r
2405 /* interface IDeckLinkTimecode */
\r
2406 /* [helpstring][uuid][object] */
\r
2409 EXTERN_C const IID IID_IDeckLinkTimecode;
\r
2411 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2413 MIDL_INTERFACE("BC6CFBD3-8317-4325-AC1C-1216391E9340")
\r
2414 IDeckLinkTimecode : public IUnknown
\r
2417 virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0;
\r
2419 virtual HRESULT STDMETHODCALLTYPE GetComponents(
\r
2420 /* [out] */ unsigned char *hours,
\r
2421 /* [out] */ unsigned char *minutes,
\r
2422 /* [out] */ unsigned char *seconds,
\r
2423 /* [out] */ unsigned char *frames) = 0;
\r
2425 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
2426 /* [out] */ BSTR *timecode) = 0;
\r
2428 virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
2430 virtual HRESULT STDMETHODCALLTYPE GetTimecodeUserBits(
\r
2431 /* [out] */ BMDTimecodeUserBits *userBits) = 0;
\r
2435 #else /* C style interface */
\r
2437 typedef struct IDeckLinkTimecodeVtbl
\r
2441 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2442 IDeckLinkTimecode * This,
\r
2443 /* [in] */ REFIID riid,
\r
2444 /* [annotation][iid_is][out] */
\r
2445 __RPC__deref_out void **ppvObject);
\r
2447 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2448 IDeckLinkTimecode * This);
\r
2450 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2451 IDeckLinkTimecode * This);
\r
2453 BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )(
\r
2454 IDeckLinkTimecode * This);
\r
2456 HRESULT ( STDMETHODCALLTYPE *GetComponents )(
\r
2457 IDeckLinkTimecode * This,
\r
2458 /* [out] */ unsigned char *hours,
\r
2459 /* [out] */ unsigned char *minutes,
\r
2460 /* [out] */ unsigned char *seconds,
\r
2461 /* [out] */ unsigned char *frames);
\r
2463 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
2464 IDeckLinkTimecode * This,
\r
2465 /* [out] */ BSTR *timecode);
\r
2467 BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2468 IDeckLinkTimecode * This);
\r
2470 HRESULT ( STDMETHODCALLTYPE *GetTimecodeUserBits )(
\r
2471 IDeckLinkTimecode * This,
\r
2472 /* [out] */ BMDTimecodeUserBits *userBits);
\r
2475 } IDeckLinkTimecodeVtbl;
\r
2477 interface IDeckLinkTimecode
\r
2479 CONST_VTBL struct IDeckLinkTimecodeVtbl *lpVtbl;
\r
2487 #define IDeckLinkTimecode_QueryInterface(This,riid,ppvObject) \
\r
2488 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2490 #define IDeckLinkTimecode_AddRef(This) \
\r
2491 ( (This)->lpVtbl -> AddRef(This) )
\r
2493 #define IDeckLinkTimecode_Release(This) \
\r
2494 ( (This)->lpVtbl -> Release(This) )
\r
2497 #define IDeckLinkTimecode_GetBCD(This) \
\r
2498 ( (This)->lpVtbl -> GetBCD(This) )
\r
2500 #define IDeckLinkTimecode_GetComponents(This,hours,minutes,seconds,frames) \
\r
2501 ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) )
\r
2503 #define IDeckLinkTimecode_GetString(This,timecode) \
\r
2504 ( (This)->lpVtbl -> GetString(This,timecode) )
\r
2506 #define IDeckLinkTimecode_GetFlags(This) \
\r
2507 ( (This)->lpVtbl -> GetFlags(This) )
\r
2509 #define IDeckLinkTimecode_GetTimecodeUserBits(This,userBits) \
\r
2510 ( (This)->lpVtbl -> GetTimecodeUserBits(This,userBits) )
\r
2512 #endif /* COBJMACROS */
\r
2515 #endif /* C style interface */
\r
2520 #endif /* __IDeckLinkTimecode_INTERFACE_DEFINED__ */
\r
2523 #ifndef __IDeckLinkVideoFrame_INTERFACE_DEFINED__
\r
2524 #define __IDeckLinkVideoFrame_INTERFACE_DEFINED__
\r
2526 /* interface IDeckLinkVideoFrame */
\r
2527 /* [helpstring][local][uuid][object] */
\r
2530 EXTERN_C const IID IID_IDeckLinkVideoFrame;
\r
2532 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2534 MIDL_INTERFACE("3F716FE0-F023-4111-BE5D-EF4414C05B17")
\r
2535 IDeckLinkVideoFrame : public IUnknown
\r
2538 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
2540 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
2542 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
\r
2544 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
2546 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
2548 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
2549 /* [out] */ void **buffer) = 0;
\r
2551 virtual HRESULT STDMETHODCALLTYPE GetTimecode(
\r
2552 /* [in] */ BMDTimecodeFormat format,
\r
2553 /* [out] */ IDeckLinkTimecode **timecode) = 0;
\r
2555 virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(
\r
2556 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0;
\r
2560 #else /* C style interface */
\r
2562 typedef struct IDeckLinkVideoFrameVtbl
\r
2566 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2567 IDeckLinkVideoFrame * This,
\r
2568 /* [in] */ REFIID riid,
\r
2569 /* [annotation][iid_is][out] */
\r
2570 __RPC__deref_out void **ppvObject);
\r
2572 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2573 IDeckLinkVideoFrame * This);
\r
2575 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2576 IDeckLinkVideoFrame * This);
\r
2578 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2579 IDeckLinkVideoFrame * This);
\r
2581 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2582 IDeckLinkVideoFrame * This);
\r
2584 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2585 IDeckLinkVideoFrame * This);
\r
2587 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2588 IDeckLinkVideoFrame * This);
\r
2590 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2591 IDeckLinkVideoFrame * This);
\r
2593 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2594 IDeckLinkVideoFrame * This,
\r
2595 /* [out] */ void **buffer);
\r
2597 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
2598 IDeckLinkVideoFrame * This,
\r
2599 /* [in] */ BMDTimecodeFormat format,
\r
2600 /* [out] */ IDeckLinkTimecode **timecode);
\r
2602 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
2603 IDeckLinkVideoFrame * This,
\r
2604 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
2607 } IDeckLinkVideoFrameVtbl;
\r
2609 interface IDeckLinkVideoFrame
\r
2611 CONST_VTBL struct IDeckLinkVideoFrameVtbl *lpVtbl;
\r
2619 #define IDeckLinkVideoFrame_QueryInterface(This,riid,ppvObject) \
\r
2620 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2622 #define IDeckLinkVideoFrame_AddRef(This) \
\r
2623 ( (This)->lpVtbl -> AddRef(This) )
\r
2625 #define IDeckLinkVideoFrame_Release(This) \
\r
2626 ( (This)->lpVtbl -> Release(This) )
\r
2629 #define IDeckLinkVideoFrame_GetWidth(This) \
\r
2630 ( (This)->lpVtbl -> GetWidth(This) )
\r
2632 #define IDeckLinkVideoFrame_GetHeight(This) \
\r
2633 ( (This)->lpVtbl -> GetHeight(This) )
\r
2635 #define IDeckLinkVideoFrame_GetRowBytes(This) \
\r
2636 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
2638 #define IDeckLinkVideoFrame_GetPixelFormat(This) \
\r
2639 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
2641 #define IDeckLinkVideoFrame_GetFlags(This) \
\r
2642 ( (This)->lpVtbl -> GetFlags(This) )
\r
2644 #define IDeckLinkVideoFrame_GetBytes(This,buffer) \
\r
2645 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
2647 #define IDeckLinkVideoFrame_GetTimecode(This,format,timecode) \
\r
2648 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
2650 #define IDeckLinkVideoFrame_GetAncillaryData(This,ancillary) \
\r
2651 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
2653 #endif /* COBJMACROS */
\r
2656 #endif /* C style interface */
\r
2661 #endif /* __IDeckLinkVideoFrame_INTERFACE_DEFINED__ */
\r
2664 #ifndef __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__
\r
2665 #define __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__
\r
2667 /* interface IDeckLinkMutableVideoFrame */
\r
2668 /* [helpstring][local][uuid][object] */
\r
2671 EXTERN_C const IID IID_IDeckLinkMutableVideoFrame;
\r
2673 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2675 MIDL_INTERFACE("69E2639F-40DA-4E19-B6F2-20ACE815C390")
\r
2676 IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame
\r
2679 virtual HRESULT STDMETHODCALLTYPE SetFlags(
\r
2680 /* [in] */ BMDFrameFlags newFlags) = 0;
\r
2682 virtual HRESULT STDMETHODCALLTYPE SetTimecode(
\r
2683 /* [in] */ BMDTimecodeFormat format,
\r
2684 /* [in] */ IDeckLinkTimecode *timecode) = 0;
\r
2686 virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents(
\r
2687 /* [in] */ BMDTimecodeFormat format,
\r
2688 /* [in] */ unsigned char hours,
\r
2689 /* [in] */ unsigned char minutes,
\r
2690 /* [in] */ unsigned char seconds,
\r
2691 /* [in] */ unsigned char frames,
\r
2692 /* [in] */ BMDTimecodeFlags flags) = 0;
\r
2694 virtual HRESULT STDMETHODCALLTYPE SetAncillaryData(
\r
2695 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0;
\r
2697 virtual HRESULT STDMETHODCALLTYPE SetTimecodeUserBits(
\r
2698 /* [in] */ BMDTimecodeFormat format,
\r
2699 /* [in] */ BMDTimecodeUserBits userBits) = 0;
\r
2703 #else /* C style interface */
\r
2705 typedef struct IDeckLinkMutableVideoFrameVtbl
\r
2709 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2710 IDeckLinkMutableVideoFrame * This,
\r
2711 /* [in] */ REFIID riid,
\r
2712 /* [annotation][iid_is][out] */
\r
2713 __RPC__deref_out void **ppvObject);
\r
2715 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2716 IDeckLinkMutableVideoFrame * This);
\r
2718 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2719 IDeckLinkMutableVideoFrame * This);
\r
2721 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2722 IDeckLinkMutableVideoFrame * This);
\r
2724 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2725 IDeckLinkMutableVideoFrame * This);
\r
2727 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2728 IDeckLinkMutableVideoFrame * This);
\r
2730 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2731 IDeckLinkMutableVideoFrame * This);
\r
2733 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2734 IDeckLinkMutableVideoFrame * This);
\r
2736 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2737 IDeckLinkMutableVideoFrame * This,
\r
2738 /* [out] */ void **buffer);
\r
2740 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
2741 IDeckLinkMutableVideoFrame * This,
\r
2742 /* [in] */ BMDTimecodeFormat format,
\r
2743 /* [out] */ IDeckLinkTimecode **timecode);
\r
2745 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
2746 IDeckLinkMutableVideoFrame * This,
\r
2747 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
2749 HRESULT ( STDMETHODCALLTYPE *SetFlags )(
\r
2750 IDeckLinkMutableVideoFrame * This,
\r
2751 /* [in] */ BMDFrameFlags newFlags);
\r
2753 HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
\r
2754 IDeckLinkMutableVideoFrame * This,
\r
2755 /* [in] */ BMDTimecodeFormat format,
\r
2756 /* [in] */ IDeckLinkTimecode *timecode);
\r
2758 HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )(
\r
2759 IDeckLinkMutableVideoFrame * This,
\r
2760 /* [in] */ BMDTimecodeFormat format,
\r
2761 /* [in] */ unsigned char hours,
\r
2762 /* [in] */ unsigned char minutes,
\r
2763 /* [in] */ unsigned char seconds,
\r
2764 /* [in] */ unsigned char frames,
\r
2765 /* [in] */ BMDTimecodeFlags flags);
\r
2767 HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )(
\r
2768 IDeckLinkMutableVideoFrame * This,
\r
2769 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary);
\r
2771 HRESULT ( STDMETHODCALLTYPE *SetTimecodeUserBits )(
\r
2772 IDeckLinkMutableVideoFrame * This,
\r
2773 /* [in] */ BMDTimecodeFormat format,
\r
2774 /* [in] */ BMDTimecodeUserBits userBits);
\r
2777 } IDeckLinkMutableVideoFrameVtbl;
\r
2779 interface IDeckLinkMutableVideoFrame
\r
2781 CONST_VTBL struct IDeckLinkMutableVideoFrameVtbl *lpVtbl;
\r
2789 #define IDeckLinkMutableVideoFrame_QueryInterface(This,riid,ppvObject) \
\r
2790 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2792 #define IDeckLinkMutableVideoFrame_AddRef(This) \
\r
2793 ( (This)->lpVtbl -> AddRef(This) )
\r
2795 #define IDeckLinkMutableVideoFrame_Release(This) \
\r
2796 ( (This)->lpVtbl -> Release(This) )
\r
2799 #define IDeckLinkMutableVideoFrame_GetWidth(This) \
\r
2800 ( (This)->lpVtbl -> GetWidth(This) )
\r
2802 #define IDeckLinkMutableVideoFrame_GetHeight(This) \
\r
2803 ( (This)->lpVtbl -> GetHeight(This) )
\r
2805 #define IDeckLinkMutableVideoFrame_GetRowBytes(This) \
\r
2806 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
2808 #define IDeckLinkMutableVideoFrame_GetPixelFormat(This) \
\r
2809 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
2811 #define IDeckLinkMutableVideoFrame_GetFlags(This) \
\r
2812 ( (This)->lpVtbl -> GetFlags(This) )
\r
2814 #define IDeckLinkMutableVideoFrame_GetBytes(This,buffer) \
\r
2815 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
2817 #define IDeckLinkMutableVideoFrame_GetTimecode(This,format,timecode) \
\r
2818 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
2820 #define IDeckLinkMutableVideoFrame_GetAncillaryData(This,ancillary) \
\r
2821 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
2824 #define IDeckLinkMutableVideoFrame_SetFlags(This,newFlags) \
\r
2825 ( (This)->lpVtbl -> SetFlags(This,newFlags) )
\r
2827 #define IDeckLinkMutableVideoFrame_SetTimecode(This,format,timecode) \
\r
2828 ( (This)->lpVtbl -> SetTimecode(This,format,timecode) )
\r
2830 #define IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \
\r
2831 ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) )
\r
2833 #define IDeckLinkMutableVideoFrame_SetAncillaryData(This,ancillary) \
\r
2834 ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) )
\r
2836 #define IDeckLinkMutableVideoFrame_SetTimecodeUserBits(This,format,userBits) \
\r
2837 ( (This)->lpVtbl -> SetTimecodeUserBits(This,format,userBits) )
\r
2839 #endif /* COBJMACROS */
\r
2842 #endif /* C style interface */
\r
2847 #endif /* __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ */
\r
2850 #ifndef __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__
\r
2851 #define __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__
\r
2853 /* interface IDeckLinkVideoFrame3DExtensions */
\r
2854 /* [helpstring][local][uuid][object] */
\r
2857 EXTERN_C const IID IID_IDeckLinkVideoFrame3DExtensions;
\r
2859 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2861 MIDL_INTERFACE("DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7")
\r
2862 IDeckLinkVideoFrame3DExtensions : public IUnknown
\r
2865 virtual BMDVideo3DPackingFormat STDMETHODCALLTYPE Get3DPackingFormat( void) = 0;
\r
2867 virtual HRESULT STDMETHODCALLTYPE GetFrameForRightEye(
\r
2868 /* [out] */ IDeckLinkVideoFrame **rightEyeFrame) = 0;
\r
2872 #else /* C style interface */
\r
2874 typedef struct IDeckLinkVideoFrame3DExtensionsVtbl
\r
2878 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2879 IDeckLinkVideoFrame3DExtensions * This,
\r
2880 /* [in] */ REFIID riid,
\r
2881 /* [annotation][iid_is][out] */
\r
2882 __RPC__deref_out void **ppvObject);
\r
2884 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2885 IDeckLinkVideoFrame3DExtensions * This);
\r
2887 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2888 IDeckLinkVideoFrame3DExtensions * This);
\r
2890 BMDVideo3DPackingFormat ( STDMETHODCALLTYPE *Get3DPackingFormat )(
\r
2891 IDeckLinkVideoFrame3DExtensions * This);
\r
2893 HRESULT ( STDMETHODCALLTYPE *GetFrameForRightEye )(
\r
2894 IDeckLinkVideoFrame3DExtensions * This,
\r
2895 /* [out] */ IDeckLinkVideoFrame **rightEyeFrame);
\r
2898 } IDeckLinkVideoFrame3DExtensionsVtbl;
\r
2900 interface IDeckLinkVideoFrame3DExtensions
\r
2902 CONST_VTBL struct IDeckLinkVideoFrame3DExtensionsVtbl *lpVtbl;
\r
2910 #define IDeckLinkVideoFrame3DExtensions_QueryInterface(This,riid,ppvObject) \
\r
2911 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2913 #define IDeckLinkVideoFrame3DExtensions_AddRef(This) \
\r
2914 ( (This)->lpVtbl -> AddRef(This) )
\r
2916 #define IDeckLinkVideoFrame3DExtensions_Release(This) \
\r
2917 ( (This)->lpVtbl -> Release(This) )
\r
2920 #define IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(This) \
\r
2921 ( (This)->lpVtbl -> Get3DPackingFormat(This) )
\r
2923 #define IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(This,rightEyeFrame) \
\r
2924 ( (This)->lpVtbl -> GetFrameForRightEye(This,rightEyeFrame) )
\r
2926 #endif /* COBJMACROS */
\r
2929 #endif /* C style interface */
\r
2934 #endif /* __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ */
\r
2937 #ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
\r
2938 #define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
\r
2940 /* interface IDeckLinkVideoInputFrame */
\r
2941 /* [helpstring][local][uuid][object] */
\r
2944 EXTERN_C const IID IID_IDeckLinkVideoInputFrame;
\r
2946 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2948 MIDL_INTERFACE("05CFE374-537C-4094-9A57-680525118F44")
\r
2949 IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame
\r
2952 virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
\r
2953 /* [out] */ BMDTimeValue *frameTime,
\r
2954 /* [out] */ BMDTimeValue *frameDuration,
\r
2955 /* [in] */ BMDTimeScale timeScale) = 0;
\r
2957 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
\r
2958 /* [in] */ BMDTimeScale timeScale,
\r
2959 /* [out] */ BMDTimeValue *frameTime,
\r
2960 /* [out] */ BMDTimeValue *frameDuration) = 0;
\r
2964 #else /* C style interface */
\r
2966 typedef struct IDeckLinkVideoInputFrameVtbl
\r
2970 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2971 IDeckLinkVideoInputFrame * This,
\r
2972 /* [in] */ REFIID riid,
\r
2973 /* [annotation][iid_is][out] */
\r
2974 __RPC__deref_out void **ppvObject);
\r
2976 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2977 IDeckLinkVideoInputFrame * This);
\r
2979 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2980 IDeckLinkVideoInputFrame * This);
\r
2982 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2983 IDeckLinkVideoInputFrame * This);
\r
2985 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2986 IDeckLinkVideoInputFrame * This);
\r
2988 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2989 IDeckLinkVideoInputFrame * This);
\r
2991 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2992 IDeckLinkVideoInputFrame * This);
\r
2994 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2995 IDeckLinkVideoInputFrame * This);
\r
2997 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2998 IDeckLinkVideoInputFrame * This,
\r
2999 /* [out] */ void **buffer);
\r
3001 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
3002 IDeckLinkVideoInputFrame * This,
\r
3003 /* [in] */ BMDTimecodeFormat format,
\r
3004 /* [out] */ IDeckLinkTimecode **timecode);
\r
3006 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
3007 IDeckLinkVideoInputFrame * This,
\r
3008 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
3010 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
\r
3011 IDeckLinkVideoInputFrame * This,
\r
3012 /* [out] */ BMDTimeValue *frameTime,
\r
3013 /* [out] */ BMDTimeValue *frameDuration,
\r
3014 /* [in] */ BMDTimeScale timeScale);
\r
3016 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )(
\r
3017 IDeckLinkVideoInputFrame * This,
\r
3018 /* [in] */ BMDTimeScale timeScale,
\r
3019 /* [out] */ BMDTimeValue *frameTime,
\r
3020 /* [out] */ BMDTimeValue *frameDuration);
\r
3023 } IDeckLinkVideoInputFrameVtbl;
\r
3025 interface IDeckLinkVideoInputFrame
\r
3027 CONST_VTBL struct IDeckLinkVideoInputFrameVtbl *lpVtbl;
\r
3035 #define IDeckLinkVideoInputFrame_QueryInterface(This,riid,ppvObject) \
\r
3036 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3038 #define IDeckLinkVideoInputFrame_AddRef(This) \
\r
3039 ( (This)->lpVtbl -> AddRef(This) )
\r
3041 #define IDeckLinkVideoInputFrame_Release(This) \
\r
3042 ( (This)->lpVtbl -> Release(This) )
\r
3045 #define IDeckLinkVideoInputFrame_GetWidth(This) \
\r
3046 ( (This)->lpVtbl -> GetWidth(This) )
\r
3048 #define IDeckLinkVideoInputFrame_GetHeight(This) \
\r
3049 ( (This)->lpVtbl -> GetHeight(This) )
\r
3051 #define IDeckLinkVideoInputFrame_GetRowBytes(This) \
\r
3052 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
3054 #define IDeckLinkVideoInputFrame_GetPixelFormat(This) \
\r
3055 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
3057 #define IDeckLinkVideoInputFrame_GetFlags(This) \
\r
3058 ( (This)->lpVtbl -> GetFlags(This) )
\r
3060 #define IDeckLinkVideoInputFrame_GetBytes(This,buffer) \
\r
3061 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
3063 #define IDeckLinkVideoInputFrame_GetTimecode(This,format,timecode) \
\r
3064 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
3066 #define IDeckLinkVideoInputFrame_GetAncillaryData(This,ancillary) \
\r
3067 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
3070 #define IDeckLinkVideoInputFrame_GetStreamTime(This,frameTime,frameDuration,timeScale) \
\r
3071 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
\r
3073 #define IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \
\r
3074 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) )
\r
3076 #endif /* COBJMACROS */
\r
3079 #endif /* C style interface */
\r
3084 #endif /* __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ */
\r
3087 #ifndef __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__
\r
3088 #define __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__
\r
3090 /* interface IDeckLinkVideoFrameAncillary */
\r
3091 /* [helpstring][local][uuid][object] */
\r
3094 EXTERN_C const IID IID_IDeckLinkVideoFrameAncillary;
\r
3096 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3098 MIDL_INTERFACE("732E723C-D1A4-4E29-9E8E-4A88797A0004")
\r
3099 IDeckLinkVideoFrameAncillary : public IUnknown
\r
3102 virtual HRESULT STDMETHODCALLTYPE GetBufferForVerticalBlankingLine(
\r
3103 /* [in] */ unsigned long lineNumber,
\r
3104 /* [out] */ void **buffer) = 0;
\r
3106 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
3108 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
3112 #else /* C style interface */
\r
3114 typedef struct IDeckLinkVideoFrameAncillaryVtbl
\r
3118 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3119 IDeckLinkVideoFrameAncillary * This,
\r
3120 /* [in] */ REFIID riid,
\r
3121 /* [annotation][iid_is][out] */
\r
3122 __RPC__deref_out void **ppvObject);
\r
3124 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3125 IDeckLinkVideoFrameAncillary * This);
\r
3127 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3128 IDeckLinkVideoFrameAncillary * This);
\r
3130 HRESULT ( STDMETHODCALLTYPE *GetBufferForVerticalBlankingLine )(
\r
3131 IDeckLinkVideoFrameAncillary * This,
\r
3132 /* [in] */ unsigned long lineNumber,
\r
3133 /* [out] */ void **buffer);
\r
3135 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
3136 IDeckLinkVideoFrameAncillary * This);
\r
3138 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
3139 IDeckLinkVideoFrameAncillary * This);
\r
3142 } IDeckLinkVideoFrameAncillaryVtbl;
\r
3144 interface IDeckLinkVideoFrameAncillary
\r
3146 CONST_VTBL struct IDeckLinkVideoFrameAncillaryVtbl *lpVtbl;
\r
3154 #define IDeckLinkVideoFrameAncillary_QueryInterface(This,riid,ppvObject) \
\r
3155 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3157 #define IDeckLinkVideoFrameAncillary_AddRef(This) \
\r
3158 ( (This)->lpVtbl -> AddRef(This) )
\r
3160 #define IDeckLinkVideoFrameAncillary_Release(This) \
\r
3161 ( (This)->lpVtbl -> Release(This) )
\r
3164 #define IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(This,lineNumber,buffer) \
\r
3165 ( (This)->lpVtbl -> GetBufferForVerticalBlankingLine(This,lineNumber,buffer) )
\r
3167 #define IDeckLinkVideoFrameAncillary_GetPixelFormat(This) \
\r
3168 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
3170 #define IDeckLinkVideoFrameAncillary_GetDisplayMode(This) \
\r
3171 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
3173 #endif /* COBJMACROS */
\r
3176 #endif /* C style interface */
\r
3181 #endif /* __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ */
\r
3184 #ifndef __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__
\r
3185 #define __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__
\r
3187 /* interface IDeckLinkAudioInputPacket */
\r
3188 /* [helpstring][local][uuid][object] */
\r
3191 EXTERN_C const IID IID_IDeckLinkAudioInputPacket;
\r
3193 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3195 MIDL_INTERFACE("E43D5870-2894-11DE-8C30-0800200C9A66")
\r
3196 IDeckLinkAudioInputPacket : public IUnknown
\r
3199 virtual long STDMETHODCALLTYPE GetSampleFrameCount( void) = 0;
\r
3201 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
3202 /* [out] */ void **buffer) = 0;
\r
3204 virtual HRESULT STDMETHODCALLTYPE GetPacketTime(
\r
3205 /* [out] */ BMDTimeValue *packetTime,
\r
3206 /* [in] */ BMDTimeScale timeScale) = 0;
\r
3210 #else /* C style interface */
\r
3212 typedef struct IDeckLinkAudioInputPacketVtbl
\r
3216 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3217 IDeckLinkAudioInputPacket * This,
\r
3218 /* [in] */ REFIID riid,
\r
3219 /* [annotation][iid_is][out] */
\r
3220 __RPC__deref_out void **ppvObject);
\r
3222 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3223 IDeckLinkAudioInputPacket * This);
\r
3225 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3226 IDeckLinkAudioInputPacket * This);
\r
3228 long ( STDMETHODCALLTYPE *GetSampleFrameCount )(
\r
3229 IDeckLinkAudioInputPacket * This);
\r
3231 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
3232 IDeckLinkAudioInputPacket * This,
\r
3233 /* [out] */ void **buffer);
\r
3235 HRESULT ( STDMETHODCALLTYPE *GetPacketTime )(
\r
3236 IDeckLinkAudioInputPacket * This,
\r
3237 /* [out] */ BMDTimeValue *packetTime,
\r
3238 /* [in] */ BMDTimeScale timeScale);
\r
3241 } IDeckLinkAudioInputPacketVtbl;
\r
3243 interface IDeckLinkAudioInputPacket
\r
3245 CONST_VTBL struct IDeckLinkAudioInputPacketVtbl *lpVtbl;
\r
3253 #define IDeckLinkAudioInputPacket_QueryInterface(This,riid,ppvObject) \
\r
3254 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3256 #define IDeckLinkAudioInputPacket_AddRef(This) \
\r
3257 ( (This)->lpVtbl -> AddRef(This) )
\r
3259 #define IDeckLinkAudioInputPacket_Release(This) \
\r
3260 ( (This)->lpVtbl -> Release(This) )
\r
3263 #define IDeckLinkAudioInputPacket_GetSampleFrameCount(This) \
\r
3264 ( (This)->lpVtbl -> GetSampleFrameCount(This) )
\r
3266 #define IDeckLinkAudioInputPacket_GetBytes(This,buffer) \
\r
3267 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
3269 #define IDeckLinkAudioInputPacket_GetPacketTime(This,packetTime,timeScale) \
\r
3270 ( (This)->lpVtbl -> GetPacketTime(This,packetTime,timeScale) )
\r
3272 #endif /* COBJMACROS */
\r
3275 #endif /* C style interface */
\r
3280 #endif /* __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ */
\r
3283 #ifndef __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__
\r
3284 #define __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__
\r
3286 /* interface IDeckLinkScreenPreviewCallback */
\r
3287 /* [helpstring][local][uuid][object] */
\r
3290 EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback;
\r
3292 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3294 MIDL_INTERFACE("B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438")
\r
3295 IDeckLinkScreenPreviewCallback : public IUnknown
\r
3298 virtual HRESULT STDMETHODCALLTYPE DrawFrame(
\r
3299 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
3303 #else /* C style interface */
\r
3305 typedef struct IDeckLinkScreenPreviewCallbackVtbl
\r
3309 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3310 IDeckLinkScreenPreviewCallback * This,
\r
3311 /* [in] */ REFIID riid,
\r
3312 /* [annotation][iid_is][out] */
\r
3313 __RPC__deref_out void **ppvObject);
\r
3315 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3316 IDeckLinkScreenPreviewCallback * This);
\r
3318 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3319 IDeckLinkScreenPreviewCallback * This);
\r
3321 HRESULT ( STDMETHODCALLTYPE *DrawFrame )(
\r
3322 IDeckLinkScreenPreviewCallback * This,
\r
3323 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
3326 } IDeckLinkScreenPreviewCallbackVtbl;
\r
3328 interface IDeckLinkScreenPreviewCallback
\r
3330 CONST_VTBL struct IDeckLinkScreenPreviewCallbackVtbl *lpVtbl;
\r
3338 #define IDeckLinkScreenPreviewCallback_QueryInterface(This,riid,ppvObject) \
\r
3339 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3341 #define IDeckLinkScreenPreviewCallback_AddRef(This) \
\r
3342 ( (This)->lpVtbl -> AddRef(This) )
\r
3344 #define IDeckLinkScreenPreviewCallback_Release(This) \
\r
3345 ( (This)->lpVtbl -> Release(This) )
\r
3348 #define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) \
\r
3349 ( (This)->lpVtbl -> DrawFrame(This,theFrame) )
\r
3351 #endif /* COBJMACROS */
\r
3354 #endif /* C style interface */
\r
3359 #endif /* __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ */
\r
3362 #ifndef __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__
\r
3363 #define __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__
\r
3365 /* interface IDeckLinkGLScreenPreviewHelper */
\r
3366 /* [helpstring][local][uuid][object] */
\r
3369 EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper;
\r
3371 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3373 MIDL_INTERFACE("504E2209-CAC7-4C1A-9FB4-C5BB6274D22F")
\r
3374 IDeckLinkGLScreenPreviewHelper : public IUnknown
\r
3377 virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0;
\r
3379 virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0;
\r
3381 virtual HRESULT STDMETHODCALLTYPE SetFrame(
\r
3382 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
3384 virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat(
\r
3385 /* [in] */ BMD3DPreviewFormat previewFormat) = 0;
\r
3389 #else /* C style interface */
\r
3391 typedef struct IDeckLinkGLScreenPreviewHelperVtbl
\r
3395 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3396 IDeckLinkGLScreenPreviewHelper * This,
\r
3397 /* [in] */ REFIID riid,
\r
3398 /* [annotation][iid_is][out] */
\r
3399 __RPC__deref_out void **ppvObject);
\r
3401 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3402 IDeckLinkGLScreenPreviewHelper * This);
\r
3404 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3405 IDeckLinkGLScreenPreviewHelper * This);
\r
3407 HRESULT ( STDMETHODCALLTYPE *InitializeGL )(
\r
3408 IDeckLinkGLScreenPreviewHelper * This);
\r
3410 HRESULT ( STDMETHODCALLTYPE *PaintGL )(
\r
3411 IDeckLinkGLScreenPreviewHelper * This);
\r
3413 HRESULT ( STDMETHODCALLTYPE *SetFrame )(
\r
3414 IDeckLinkGLScreenPreviewHelper * This,
\r
3415 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
3417 HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )(
\r
3418 IDeckLinkGLScreenPreviewHelper * This,
\r
3419 /* [in] */ BMD3DPreviewFormat previewFormat);
\r
3422 } IDeckLinkGLScreenPreviewHelperVtbl;
\r
3424 interface IDeckLinkGLScreenPreviewHelper
\r
3426 CONST_VTBL struct IDeckLinkGLScreenPreviewHelperVtbl *lpVtbl;
\r
3434 #define IDeckLinkGLScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \
\r
3435 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3437 #define IDeckLinkGLScreenPreviewHelper_AddRef(This) \
\r
3438 ( (This)->lpVtbl -> AddRef(This) )
\r
3440 #define IDeckLinkGLScreenPreviewHelper_Release(This) \
\r
3441 ( (This)->lpVtbl -> Release(This) )
\r
3444 #define IDeckLinkGLScreenPreviewHelper_InitializeGL(This) \
\r
3445 ( (This)->lpVtbl -> InitializeGL(This) )
\r
3447 #define IDeckLinkGLScreenPreviewHelper_PaintGL(This) \
\r
3448 ( (This)->lpVtbl -> PaintGL(This) )
\r
3450 #define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) \
\r
3451 ( (This)->lpVtbl -> SetFrame(This,theFrame) )
\r
3453 #define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \
\r
3454 ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) )
\r
3456 #endif /* COBJMACROS */
\r
3459 #endif /* C style interface */
\r
3464 #endif /* __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ */
\r
3467 #ifndef __IDeckLinkConfiguration_INTERFACE_DEFINED__
\r
3468 #define __IDeckLinkConfiguration_INTERFACE_DEFINED__
\r
3470 /* interface IDeckLinkConfiguration */
\r
3471 /* [helpstring][local][uuid][object] */
\r
3474 EXTERN_C const IID IID_IDeckLinkConfiguration;
\r
3476 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3478 MIDL_INTERFACE("C679A35B-610C-4D09-B748-1D0478100FC0")
\r
3479 IDeckLinkConfiguration : public IUnknown
\r
3482 virtual HRESULT STDMETHODCALLTYPE SetFlag(
\r
3483 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3484 /* [in] */ BOOL value) = 0;
\r
3486 virtual HRESULT STDMETHODCALLTYPE GetFlag(
\r
3487 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3488 /* [out] */ BOOL *value) = 0;
\r
3490 virtual HRESULT STDMETHODCALLTYPE SetInt(
\r
3491 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3492 /* [in] */ LONGLONG value) = 0;
\r
3494 virtual HRESULT STDMETHODCALLTYPE GetInt(
\r
3495 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3496 /* [out] */ LONGLONG *value) = 0;
\r
3498 virtual HRESULT STDMETHODCALLTYPE SetFloat(
\r
3499 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3500 /* [in] */ double value) = 0;
\r
3502 virtual HRESULT STDMETHODCALLTYPE GetFloat(
\r
3503 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3504 /* [out] */ double *value) = 0;
\r
3506 virtual HRESULT STDMETHODCALLTYPE SetString(
\r
3507 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3508 /* [in] */ BSTR value) = 0;
\r
3510 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
3511 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3512 /* [out] */ BSTR *value) = 0;
\r
3514 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;
\r
3518 #else /* C style interface */
\r
3520 typedef struct IDeckLinkConfigurationVtbl
\r
3524 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3525 IDeckLinkConfiguration * This,
\r
3526 /* [in] */ REFIID riid,
\r
3527 /* [annotation][iid_is][out] */
\r
3528 __RPC__deref_out void **ppvObject);
\r
3530 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3531 IDeckLinkConfiguration * This);
\r
3533 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3534 IDeckLinkConfiguration * This);
\r
3536 HRESULT ( STDMETHODCALLTYPE *SetFlag )(
\r
3537 IDeckLinkConfiguration * This,
\r
3538 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3539 /* [in] */ BOOL value);
\r
3541 HRESULT ( STDMETHODCALLTYPE *GetFlag )(
\r
3542 IDeckLinkConfiguration * This,
\r
3543 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3544 /* [out] */ BOOL *value);
\r
3546 HRESULT ( STDMETHODCALLTYPE *SetInt )(
\r
3547 IDeckLinkConfiguration * This,
\r
3548 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3549 /* [in] */ LONGLONG value);
\r
3551 HRESULT ( STDMETHODCALLTYPE *GetInt )(
\r
3552 IDeckLinkConfiguration * This,
\r
3553 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3554 /* [out] */ LONGLONG *value);
\r
3556 HRESULT ( STDMETHODCALLTYPE *SetFloat )(
\r
3557 IDeckLinkConfiguration * This,
\r
3558 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3559 /* [in] */ double value);
\r
3561 HRESULT ( STDMETHODCALLTYPE *GetFloat )(
\r
3562 IDeckLinkConfiguration * This,
\r
3563 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3564 /* [out] */ double *value);
\r
3566 HRESULT ( STDMETHODCALLTYPE *SetString )(
\r
3567 IDeckLinkConfiguration * This,
\r
3568 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3569 /* [in] */ BSTR value);
\r
3571 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
3572 IDeckLinkConfiguration * This,
\r
3573 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3574 /* [out] */ BSTR *value);
\r
3576 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )(
\r
3577 IDeckLinkConfiguration * This);
\r
3580 } IDeckLinkConfigurationVtbl;
\r
3582 interface IDeckLinkConfiguration
\r
3584 CONST_VTBL struct IDeckLinkConfigurationVtbl *lpVtbl;
\r
3592 #define IDeckLinkConfiguration_QueryInterface(This,riid,ppvObject) \
\r
3593 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3595 #define IDeckLinkConfiguration_AddRef(This) \
\r
3596 ( (This)->lpVtbl -> AddRef(This) )
\r
3598 #define IDeckLinkConfiguration_Release(This) \
\r
3599 ( (This)->lpVtbl -> Release(This) )
\r
3602 #define IDeckLinkConfiguration_SetFlag(This,cfgID,value) \
\r
3603 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) )
\r
3605 #define IDeckLinkConfiguration_GetFlag(This,cfgID,value) \
\r
3606 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
\r
3608 #define IDeckLinkConfiguration_SetInt(This,cfgID,value) \
\r
3609 ( (This)->lpVtbl -> SetInt(This,cfgID,value) )
\r
3611 #define IDeckLinkConfiguration_GetInt(This,cfgID,value) \
\r
3612 ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
\r
3614 #define IDeckLinkConfiguration_SetFloat(This,cfgID,value) \
\r
3615 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) )
\r
3617 #define IDeckLinkConfiguration_GetFloat(This,cfgID,value) \
\r
3618 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
\r
3620 #define IDeckLinkConfiguration_SetString(This,cfgID,value) \
\r
3621 ( (This)->lpVtbl -> SetString(This,cfgID,value) )
\r
3623 #define IDeckLinkConfiguration_GetString(This,cfgID,value) \
\r
3624 ( (This)->lpVtbl -> GetString(This,cfgID,value) )
\r
3626 #define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) \
\r
3627 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) )
\r
3629 #endif /* COBJMACROS */
\r
3632 #endif /* C style interface */
\r
3637 #endif /* __IDeckLinkConfiguration_INTERFACE_DEFINED__ */
\r
3640 #ifndef __IDeckLinkAttributes_INTERFACE_DEFINED__
\r
3641 #define __IDeckLinkAttributes_INTERFACE_DEFINED__
\r
3643 /* interface IDeckLinkAttributes */
\r
3644 /* [helpstring][local][uuid][object] */
\r
3647 EXTERN_C const IID IID_IDeckLinkAttributes;
\r
3649 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3651 MIDL_INTERFACE("ABC11843-D966-44CB-96E2-A1CB5D3135C4")
\r
3652 IDeckLinkAttributes : public IUnknown
\r
3655 virtual HRESULT STDMETHODCALLTYPE GetFlag(
\r
3656 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3657 /* [out] */ BOOL *value) = 0;
\r
3659 virtual HRESULT STDMETHODCALLTYPE GetInt(
\r
3660 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3661 /* [out] */ LONGLONG *value) = 0;
\r
3663 virtual HRESULT STDMETHODCALLTYPE GetFloat(
\r
3664 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3665 /* [out] */ double *value) = 0;
\r
3667 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
3668 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3669 /* [out] */ BSTR *value) = 0;
\r
3673 #else /* C style interface */
\r
3675 typedef struct IDeckLinkAttributesVtbl
\r
3679 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3680 IDeckLinkAttributes * This,
\r
3681 /* [in] */ REFIID riid,
\r
3682 /* [annotation][iid_is][out] */
\r
3683 __RPC__deref_out void **ppvObject);
\r
3685 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3686 IDeckLinkAttributes * This);
\r
3688 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3689 IDeckLinkAttributes * This);
\r
3691 HRESULT ( STDMETHODCALLTYPE *GetFlag )(
\r
3692 IDeckLinkAttributes * This,
\r
3693 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3694 /* [out] */ BOOL *value);
\r
3696 HRESULT ( STDMETHODCALLTYPE *GetInt )(
\r
3697 IDeckLinkAttributes * This,
\r
3698 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3699 /* [out] */ LONGLONG *value);
\r
3701 HRESULT ( STDMETHODCALLTYPE *GetFloat )(
\r
3702 IDeckLinkAttributes * This,
\r
3703 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3704 /* [out] */ double *value);
\r
3706 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
3707 IDeckLinkAttributes * This,
\r
3708 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3709 /* [out] */ BSTR *value);
\r
3712 } IDeckLinkAttributesVtbl;
\r
3714 interface IDeckLinkAttributes
\r
3716 CONST_VTBL struct IDeckLinkAttributesVtbl *lpVtbl;
\r
3724 #define IDeckLinkAttributes_QueryInterface(This,riid,ppvObject) \
\r
3725 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3727 #define IDeckLinkAttributes_AddRef(This) \
\r
3728 ( (This)->lpVtbl -> AddRef(This) )
\r
3730 #define IDeckLinkAttributes_Release(This) \
\r
3731 ( (This)->lpVtbl -> Release(This) )
\r
3734 #define IDeckLinkAttributes_GetFlag(This,cfgID,value) \
\r
3735 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
\r
3737 #define IDeckLinkAttributes_GetInt(This,cfgID,value) \
\r
3738 ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
\r
3740 #define IDeckLinkAttributes_GetFloat(This,cfgID,value) \
\r
3741 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
\r
3743 #define IDeckLinkAttributes_GetString(This,cfgID,value) \
\r
3744 ( (This)->lpVtbl -> GetString(This,cfgID,value) )
\r
3746 #endif /* COBJMACROS */
\r
3749 #endif /* C style interface */
\r
3754 #endif /* __IDeckLinkAttributes_INTERFACE_DEFINED__ */
\r
3757 #ifndef __IDeckLinkKeyer_INTERFACE_DEFINED__
\r
3758 #define __IDeckLinkKeyer_INTERFACE_DEFINED__
\r
3760 /* interface IDeckLinkKeyer */
\r
3761 /* [helpstring][local][uuid][object] */
\r
3764 EXTERN_C const IID IID_IDeckLinkKeyer;
\r
3766 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3768 MIDL_INTERFACE("89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3")
\r
3769 IDeckLinkKeyer : public IUnknown
\r
3772 virtual HRESULT STDMETHODCALLTYPE Enable(
\r
3773 /* [in] */ BOOL isExternal) = 0;
\r
3775 virtual HRESULT STDMETHODCALLTYPE SetLevel(
\r
3776 /* [in] */ unsigned char level) = 0;
\r
3778 virtual HRESULT STDMETHODCALLTYPE RampUp(
\r
3779 /* [in] */ unsigned long numberOfFrames) = 0;
\r
3781 virtual HRESULT STDMETHODCALLTYPE RampDown(
\r
3782 /* [in] */ unsigned long numberOfFrames) = 0;
\r
3784 virtual HRESULT STDMETHODCALLTYPE Disable( void) = 0;
\r
3788 #else /* C style interface */
\r
3790 typedef struct IDeckLinkKeyerVtbl
\r
3794 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3795 IDeckLinkKeyer * This,
\r
3796 /* [in] */ REFIID riid,
\r
3797 /* [annotation][iid_is][out] */
\r
3798 __RPC__deref_out void **ppvObject);
\r
3800 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3801 IDeckLinkKeyer * This);
\r
3803 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3804 IDeckLinkKeyer * This);
\r
3806 HRESULT ( STDMETHODCALLTYPE *Enable )(
\r
3807 IDeckLinkKeyer * This,
\r
3808 /* [in] */ BOOL isExternal);
\r
3810 HRESULT ( STDMETHODCALLTYPE *SetLevel )(
\r
3811 IDeckLinkKeyer * This,
\r
3812 /* [in] */ unsigned char level);
\r
3814 HRESULT ( STDMETHODCALLTYPE *RampUp )(
\r
3815 IDeckLinkKeyer * This,
\r
3816 /* [in] */ unsigned long numberOfFrames);
\r
3818 HRESULT ( STDMETHODCALLTYPE *RampDown )(
\r
3819 IDeckLinkKeyer * This,
\r
3820 /* [in] */ unsigned long numberOfFrames);
\r
3822 HRESULT ( STDMETHODCALLTYPE *Disable )(
\r
3823 IDeckLinkKeyer * This);
\r
3826 } IDeckLinkKeyerVtbl;
\r
3828 interface IDeckLinkKeyer
\r
3830 CONST_VTBL struct IDeckLinkKeyerVtbl *lpVtbl;
\r
3838 #define IDeckLinkKeyer_QueryInterface(This,riid,ppvObject) \
\r
3839 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3841 #define IDeckLinkKeyer_AddRef(This) \
\r
3842 ( (This)->lpVtbl -> AddRef(This) )
\r
3844 #define IDeckLinkKeyer_Release(This) \
\r
3845 ( (This)->lpVtbl -> Release(This) )
\r
3848 #define IDeckLinkKeyer_Enable(This,isExternal) \
\r
3849 ( (This)->lpVtbl -> Enable(This,isExternal) )
\r
3851 #define IDeckLinkKeyer_SetLevel(This,level) \
\r
3852 ( (This)->lpVtbl -> SetLevel(This,level) )
\r
3854 #define IDeckLinkKeyer_RampUp(This,numberOfFrames) \
\r
3855 ( (This)->lpVtbl -> RampUp(This,numberOfFrames) )
\r
3857 #define IDeckLinkKeyer_RampDown(This,numberOfFrames) \
\r
3858 ( (This)->lpVtbl -> RampDown(This,numberOfFrames) )
\r
3860 #define IDeckLinkKeyer_Disable(This) \
\r
3861 ( (This)->lpVtbl -> Disable(This) )
\r
3863 #endif /* COBJMACROS */
\r
3866 #endif /* C style interface */
\r
3871 #endif /* __IDeckLinkKeyer_INTERFACE_DEFINED__ */
\r
3874 #ifndef __IDeckLinkVideoConversion_INTERFACE_DEFINED__
\r
3875 #define __IDeckLinkVideoConversion_INTERFACE_DEFINED__
\r
3877 /* interface IDeckLinkVideoConversion */
\r
3878 /* [helpstring][local][uuid][object] */
\r
3881 EXTERN_C const IID IID_IDeckLinkVideoConversion;
\r
3883 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3885 MIDL_INTERFACE("3BBCB8A2-DA2C-42D9-B5D8-88083644E99A")
\r
3886 IDeckLinkVideoConversion : public IUnknown
\r
3889 virtual HRESULT STDMETHODCALLTYPE ConvertFrame(
\r
3890 /* [in] */ IDeckLinkVideoFrame *srcFrame,
\r
3891 /* [in] */ IDeckLinkVideoFrame *dstFrame) = 0;
\r
3895 #else /* C style interface */
\r
3897 typedef struct IDeckLinkVideoConversionVtbl
\r
3901 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3902 IDeckLinkVideoConversion * This,
\r
3903 /* [in] */ REFIID riid,
\r
3904 /* [annotation][iid_is][out] */
\r
3905 __RPC__deref_out void **ppvObject);
\r
3907 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3908 IDeckLinkVideoConversion * This);
\r
3910 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3911 IDeckLinkVideoConversion * This);
\r
3913 HRESULT ( STDMETHODCALLTYPE *ConvertFrame )(
\r
3914 IDeckLinkVideoConversion * This,
\r
3915 /* [in] */ IDeckLinkVideoFrame *srcFrame,
\r
3916 /* [in] */ IDeckLinkVideoFrame *dstFrame);
\r
3919 } IDeckLinkVideoConversionVtbl;
\r
3921 interface IDeckLinkVideoConversion
\r
3923 CONST_VTBL struct IDeckLinkVideoConversionVtbl *lpVtbl;
\r
3931 #define IDeckLinkVideoConversion_QueryInterface(This,riid,ppvObject) \
\r
3932 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3934 #define IDeckLinkVideoConversion_AddRef(This) \
\r
3935 ( (This)->lpVtbl -> AddRef(This) )
\r
3937 #define IDeckLinkVideoConversion_Release(This) \
\r
3938 ( (This)->lpVtbl -> Release(This) )
\r
3941 #define IDeckLinkVideoConversion_ConvertFrame(This,srcFrame,dstFrame) \
\r
3942 ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) )
\r
3944 #endif /* COBJMACROS */
\r
3947 #endif /* C style interface */
\r
3952 #endif /* __IDeckLinkVideoConversion_INTERFACE_DEFINED__ */
\r
3955 #ifndef __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__
\r
3956 #define __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__
\r
3958 /* interface IDeckLinkDeckControlStatusCallback */
\r
3959 /* [helpstring][uuid][object] */
\r
3962 EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback;
\r
3964 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3966 MIDL_INTERFACE("E5F693C1-4283-4716-B18F-C1431521955B")
\r
3967 IDeckLinkDeckControlStatusCallback : public IUnknown
\r
3970 virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate(
\r
3971 /* [in] */ BMDTimecodeBCD currentTimecode) = 0;
\r
3973 virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged(
\r
3974 /* [in] */ BMDDeckControlVTRControlState newState,
\r
3975 /* [in] */ BMDDeckControlError error) = 0;
\r
3977 virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived(
\r
3978 /* [in] */ BMDDeckControlEvent event,
\r
3979 /* [in] */ BMDDeckControlError error) = 0;
\r
3981 virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged(
\r
3982 /* [in] */ BMDDeckControlStatusFlags flags,
\r
3983 /* [in] */ unsigned long mask) = 0;
\r
3987 #else /* C style interface */
\r
3989 typedef struct IDeckLinkDeckControlStatusCallbackVtbl
\r
3993 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3994 IDeckLinkDeckControlStatusCallback * This,
\r
3995 /* [in] */ REFIID riid,
\r
3996 /* [annotation][iid_is][out] */
\r
3997 __RPC__deref_out void **ppvObject);
\r
3999 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4000 IDeckLinkDeckControlStatusCallback * This);
\r
4002 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4003 IDeckLinkDeckControlStatusCallback * This);
\r
4005 HRESULT ( STDMETHODCALLTYPE *TimecodeUpdate )(
\r
4006 IDeckLinkDeckControlStatusCallback * This,
\r
4007 /* [in] */ BMDTimecodeBCD currentTimecode);
\r
4009 HRESULT ( STDMETHODCALLTYPE *VTRControlStateChanged )(
\r
4010 IDeckLinkDeckControlStatusCallback * This,
\r
4011 /* [in] */ BMDDeckControlVTRControlState newState,
\r
4012 /* [in] */ BMDDeckControlError error);
\r
4014 HRESULT ( STDMETHODCALLTYPE *DeckControlEventReceived )(
\r
4015 IDeckLinkDeckControlStatusCallback * This,
\r
4016 /* [in] */ BMDDeckControlEvent event,
\r
4017 /* [in] */ BMDDeckControlError error);
\r
4019 HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )(
\r
4020 IDeckLinkDeckControlStatusCallback * This,
\r
4021 /* [in] */ BMDDeckControlStatusFlags flags,
\r
4022 /* [in] */ unsigned long mask);
\r
4025 } IDeckLinkDeckControlStatusCallbackVtbl;
\r
4027 interface IDeckLinkDeckControlStatusCallback
\r
4029 CONST_VTBL struct IDeckLinkDeckControlStatusCallbackVtbl *lpVtbl;
\r
4037 #define IDeckLinkDeckControlStatusCallback_QueryInterface(This,riid,ppvObject) \
\r
4038 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4040 #define IDeckLinkDeckControlStatusCallback_AddRef(This) \
\r
4041 ( (This)->lpVtbl -> AddRef(This) )
\r
4043 #define IDeckLinkDeckControlStatusCallback_Release(This) \
\r
4044 ( (This)->lpVtbl -> Release(This) )
\r
4047 #define IDeckLinkDeckControlStatusCallback_TimecodeUpdate(This,currentTimecode) \
\r
4048 ( (This)->lpVtbl -> TimecodeUpdate(This,currentTimecode) )
\r
4050 #define IDeckLinkDeckControlStatusCallback_VTRControlStateChanged(This,newState,error) \
\r
4051 ( (This)->lpVtbl -> VTRControlStateChanged(This,newState,error) )
\r
4053 #define IDeckLinkDeckControlStatusCallback_DeckControlEventReceived(This,event,error) \
\r
4054 ( (This)->lpVtbl -> DeckControlEventReceived(This,event,error) )
\r
4056 #define IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(This,flags,mask) \
\r
4057 ( (This)->lpVtbl -> DeckControlStatusChanged(This,flags,mask) )
\r
4059 #endif /* COBJMACROS */
\r
4062 #endif /* C style interface */
\r
4067 #endif /* __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ */
\r
4070 #ifndef __IDeckLinkDeckControl_INTERFACE_DEFINED__
\r
4071 #define __IDeckLinkDeckControl_INTERFACE_DEFINED__
\r
4073 /* interface IDeckLinkDeckControl */
\r
4074 /* [helpstring][uuid][object] */
\r
4077 EXTERN_C const IID IID_IDeckLinkDeckControl;
\r
4079 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4081 MIDL_INTERFACE("522A9E39-0F3C-4742-94EE-D80DE335DA1D")
\r
4082 IDeckLinkDeckControl : public IUnknown
\r
4085 virtual HRESULT STDMETHODCALLTYPE Open(
\r
4086 /* [in] */ BMDTimeScale timeScale,
\r
4087 /* [in] */ BMDTimeValue timeValue,
\r
4088 /* [in] */ BOOL timecodeIsDropFrame,
\r
4089 /* [out] */ BMDDeckControlError *error) = 0;
\r
4091 virtual HRESULT STDMETHODCALLTYPE Close(
\r
4092 /* [in] */ BOOL standbyOn) = 0;
\r
4094 virtual HRESULT STDMETHODCALLTYPE GetCurrentState(
\r
4095 /* [out] */ BMDDeckControlMode *mode,
\r
4096 /* [out] */ BMDDeckControlVTRControlState *vtrControlState,
\r
4097 /* [out] */ BMDDeckControlStatusFlags *flags) = 0;
\r
4099 virtual HRESULT STDMETHODCALLTYPE SetStandby(
\r
4100 /* [in] */ BOOL standbyOn) = 0;
\r
4102 virtual HRESULT STDMETHODCALLTYPE SendCommand(
\r
4103 /* [in] */ unsigned char *inBuffer,
\r
4104 /* [in] */ unsigned long inBufferSize,
\r
4105 /* [out] */ unsigned char *outBuffer,
\r
4106 /* [out] */ unsigned long *outDataSize,
\r
4107 /* [in] */ unsigned long outBufferSize,
\r
4108 /* [out] */ BMDDeckControlError *error) = 0;
\r
4110 virtual HRESULT STDMETHODCALLTYPE Play(
\r
4111 /* [out] */ BMDDeckControlError *error) = 0;
\r
4113 virtual HRESULT STDMETHODCALLTYPE Stop(
\r
4114 /* [out] */ BMDDeckControlError *error) = 0;
\r
4116 virtual HRESULT STDMETHODCALLTYPE TogglePlayStop(
\r
4117 /* [out] */ BMDDeckControlError *error) = 0;
\r
4119 virtual HRESULT STDMETHODCALLTYPE Eject(
\r
4120 /* [out] */ BMDDeckControlError *error) = 0;
\r
4122 virtual HRESULT STDMETHODCALLTYPE GoToTimecode(
\r
4123 /* [in] */ BMDTimecodeBCD timecode,
\r
4124 /* [out] */ BMDDeckControlError *error) = 0;
\r
4126 virtual HRESULT STDMETHODCALLTYPE FastForward(
\r
4127 /* [in] */ BOOL viewTape,
\r
4128 /* [out] */ BMDDeckControlError *error) = 0;
\r
4130 virtual HRESULT STDMETHODCALLTYPE Rewind(
\r
4131 /* [in] */ BOOL viewTape,
\r
4132 /* [out] */ BMDDeckControlError *error) = 0;
\r
4134 virtual HRESULT STDMETHODCALLTYPE StepForward(
\r
4135 /* [out] */ BMDDeckControlError *error) = 0;
\r
4137 virtual HRESULT STDMETHODCALLTYPE StepBack(
\r
4138 /* [out] */ BMDDeckControlError *error) = 0;
\r
4140 virtual HRESULT STDMETHODCALLTYPE Jog(
\r
4141 /* [in] */ double rate,
\r
4142 /* [out] */ BMDDeckControlError *error) = 0;
\r
4144 virtual HRESULT STDMETHODCALLTYPE Shuttle(
\r
4145 /* [in] */ double rate,
\r
4146 /* [out] */ BMDDeckControlError *error) = 0;
\r
4148 virtual HRESULT STDMETHODCALLTYPE GetTimecodeString(
\r
4149 /* [out] */ BSTR *currentTimeCode,
\r
4150 /* [out] */ BMDDeckControlError *error) = 0;
\r
4152 virtual HRESULT STDMETHODCALLTYPE GetTimecode(
\r
4153 /* [out] */ IDeckLinkTimecode **currentTimecode,
\r
4154 /* [out] */ BMDDeckControlError *error) = 0;
\r
4156 virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD(
\r
4157 /* [out] */ BMDTimecodeBCD *currentTimecode,
\r
4158 /* [out] */ BMDDeckControlError *error) = 0;
\r
4160 virtual HRESULT STDMETHODCALLTYPE SetPreroll(
\r
4161 /* [in] */ unsigned long prerollSeconds) = 0;
\r
4163 virtual HRESULT STDMETHODCALLTYPE GetPreroll(
\r
4164 /* [out] */ unsigned long *prerollSeconds) = 0;
\r
4166 virtual HRESULT STDMETHODCALLTYPE SetExportOffset(
\r
4167 /* [in] */ long exportOffsetFields) = 0;
\r
4169 virtual HRESULT STDMETHODCALLTYPE GetExportOffset(
\r
4170 /* [out] */ long *exportOffsetFields) = 0;
\r
4172 virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset(
\r
4173 /* [out] */ long *deckManualExportOffsetFields) = 0;
\r
4175 virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset(
\r
4176 /* [in] */ long captureOffsetFields) = 0;
\r
4178 virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset(
\r
4179 /* [out] */ long *captureOffsetFields) = 0;
\r
4181 virtual HRESULT STDMETHODCALLTYPE StartExport(
\r
4182 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4183 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4184 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,
\r
4185 /* [out] */ BMDDeckControlError *error) = 0;
\r
4187 virtual HRESULT STDMETHODCALLTYPE StartCapture(
\r
4188 /* [in] */ BOOL useVITC,
\r
4189 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4190 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4191 /* [out] */ BMDDeckControlError *error) = 0;
\r
4193 virtual HRESULT STDMETHODCALLTYPE GetDeviceID(
\r
4194 /* [out] */ unsigned short *deviceId,
\r
4195 /* [out] */ BMDDeckControlError *error) = 0;
\r
4197 virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
\r
4199 virtual HRESULT STDMETHODCALLTYPE CrashRecordStart(
\r
4200 /* [out] */ BMDDeckControlError *error) = 0;
\r
4202 virtual HRESULT STDMETHODCALLTYPE CrashRecordStop(
\r
4203 /* [out] */ BMDDeckControlError *error) = 0;
\r
4205 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
4206 /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0;
\r
4210 #else /* C style interface */
\r
4212 typedef struct IDeckLinkDeckControlVtbl
\r
4216 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4217 IDeckLinkDeckControl * This,
\r
4218 /* [in] */ REFIID riid,
\r
4219 /* [annotation][iid_is][out] */
\r
4220 __RPC__deref_out void **ppvObject);
\r
4222 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4223 IDeckLinkDeckControl * This);
\r
4225 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4226 IDeckLinkDeckControl * This);
\r
4228 HRESULT ( STDMETHODCALLTYPE *Open )(
\r
4229 IDeckLinkDeckControl * This,
\r
4230 /* [in] */ BMDTimeScale timeScale,
\r
4231 /* [in] */ BMDTimeValue timeValue,
\r
4232 /* [in] */ BOOL timecodeIsDropFrame,
\r
4233 /* [out] */ BMDDeckControlError *error);
\r
4235 HRESULT ( STDMETHODCALLTYPE *Close )(
\r
4236 IDeckLinkDeckControl * This,
\r
4237 /* [in] */ BOOL standbyOn);
\r
4239 HRESULT ( STDMETHODCALLTYPE *GetCurrentState )(
\r
4240 IDeckLinkDeckControl * This,
\r
4241 /* [out] */ BMDDeckControlMode *mode,
\r
4242 /* [out] */ BMDDeckControlVTRControlState *vtrControlState,
\r
4243 /* [out] */ BMDDeckControlStatusFlags *flags);
\r
4245 HRESULT ( STDMETHODCALLTYPE *SetStandby )(
\r
4246 IDeckLinkDeckControl * This,
\r
4247 /* [in] */ BOOL standbyOn);
\r
4249 HRESULT ( STDMETHODCALLTYPE *SendCommand )(
\r
4250 IDeckLinkDeckControl * This,
\r
4251 /* [in] */ unsigned char *inBuffer,
\r
4252 /* [in] */ unsigned long inBufferSize,
\r
4253 /* [out] */ unsigned char *outBuffer,
\r
4254 /* [out] */ unsigned long *outDataSize,
\r
4255 /* [in] */ unsigned long outBufferSize,
\r
4256 /* [out] */ BMDDeckControlError *error);
\r
4258 HRESULT ( STDMETHODCALLTYPE *Play )(
\r
4259 IDeckLinkDeckControl * This,
\r
4260 /* [out] */ BMDDeckControlError *error);
\r
4262 HRESULT ( STDMETHODCALLTYPE *Stop )(
\r
4263 IDeckLinkDeckControl * This,
\r
4264 /* [out] */ BMDDeckControlError *error);
\r
4266 HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )(
\r
4267 IDeckLinkDeckControl * This,
\r
4268 /* [out] */ BMDDeckControlError *error);
\r
4270 HRESULT ( STDMETHODCALLTYPE *Eject )(
\r
4271 IDeckLinkDeckControl * This,
\r
4272 /* [out] */ BMDDeckControlError *error);
\r
4274 HRESULT ( STDMETHODCALLTYPE *GoToTimecode )(
\r
4275 IDeckLinkDeckControl * This,
\r
4276 /* [in] */ BMDTimecodeBCD timecode,
\r
4277 /* [out] */ BMDDeckControlError *error);
\r
4279 HRESULT ( STDMETHODCALLTYPE *FastForward )(
\r
4280 IDeckLinkDeckControl * This,
\r
4281 /* [in] */ BOOL viewTape,
\r
4282 /* [out] */ BMDDeckControlError *error);
\r
4284 HRESULT ( STDMETHODCALLTYPE *Rewind )(
\r
4285 IDeckLinkDeckControl * This,
\r
4286 /* [in] */ BOOL viewTape,
\r
4287 /* [out] */ BMDDeckControlError *error);
\r
4289 HRESULT ( STDMETHODCALLTYPE *StepForward )(
\r
4290 IDeckLinkDeckControl * This,
\r
4291 /* [out] */ BMDDeckControlError *error);
\r
4293 HRESULT ( STDMETHODCALLTYPE *StepBack )(
\r
4294 IDeckLinkDeckControl * This,
\r
4295 /* [out] */ BMDDeckControlError *error);
\r
4297 HRESULT ( STDMETHODCALLTYPE *Jog )(
\r
4298 IDeckLinkDeckControl * This,
\r
4299 /* [in] */ double rate,
\r
4300 /* [out] */ BMDDeckControlError *error);
\r
4302 HRESULT ( STDMETHODCALLTYPE *Shuttle )(
\r
4303 IDeckLinkDeckControl * This,
\r
4304 /* [in] */ double rate,
\r
4305 /* [out] */ BMDDeckControlError *error);
\r
4307 HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )(
\r
4308 IDeckLinkDeckControl * This,
\r
4309 /* [out] */ BSTR *currentTimeCode,
\r
4310 /* [out] */ BMDDeckControlError *error);
\r
4312 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
4313 IDeckLinkDeckControl * This,
\r
4314 /* [out] */ IDeckLinkTimecode **currentTimecode,
\r
4315 /* [out] */ BMDDeckControlError *error);
\r
4317 HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )(
\r
4318 IDeckLinkDeckControl * This,
\r
4319 /* [out] */ BMDTimecodeBCD *currentTimecode,
\r
4320 /* [out] */ BMDDeckControlError *error);
\r
4322 HRESULT ( STDMETHODCALLTYPE *SetPreroll )(
\r
4323 IDeckLinkDeckControl * This,
\r
4324 /* [in] */ unsigned long prerollSeconds);
\r
4326 HRESULT ( STDMETHODCALLTYPE *GetPreroll )(
\r
4327 IDeckLinkDeckControl * This,
\r
4328 /* [out] */ unsigned long *prerollSeconds);
\r
4330 HRESULT ( STDMETHODCALLTYPE *SetExportOffset )(
\r
4331 IDeckLinkDeckControl * This,
\r
4332 /* [in] */ long exportOffsetFields);
\r
4334 HRESULT ( STDMETHODCALLTYPE *GetExportOffset )(
\r
4335 IDeckLinkDeckControl * This,
\r
4336 /* [out] */ long *exportOffsetFields);
\r
4338 HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )(
\r
4339 IDeckLinkDeckControl * This,
\r
4340 /* [out] */ long *deckManualExportOffsetFields);
\r
4342 HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )(
\r
4343 IDeckLinkDeckControl * This,
\r
4344 /* [in] */ long captureOffsetFields);
\r
4346 HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )(
\r
4347 IDeckLinkDeckControl * This,
\r
4348 /* [out] */ long *captureOffsetFields);
\r
4350 HRESULT ( STDMETHODCALLTYPE *StartExport )(
\r
4351 IDeckLinkDeckControl * This,
\r
4352 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4353 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4354 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,
\r
4355 /* [out] */ BMDDeckControlError *error);
\r
4357 HRESULT ( STDMETHODCALLTYPE *StartCapture )(
\r
4358 IDeckLinkDeckControl * This,
\r
4359 /* [in] */ BOOL useVITC,
\r
4360 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4361 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4362 /* [out] */ BMDDeckControlError *error);
\r
4364 HRESULT ( STDMETHODCALLTYPE *GetDeviceID )(
\r
4365 IDeckLinkDeckControl * This,
\r
4366 /* [out] */ unsigned short *deviceId,
\r
4367 /* [out] */ BMDDeckControlError *error);
\r
4369 HRESULT ( STDMETHODCALLTYPE *Abort )(
\r
4370 IDeckLinkDeckControl * This);
\r
4372 HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )(
\r
4373 IDeckLinkDeckControl * This,
\r
4374 /* [out] */ BMDDeckControlError *error);
\r
4376 HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )(
\r
4377 IDeckLinkDeckControl * This,
\r
4378 /* [out] */ BMDDeckControlError *error);
\r
4380 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
4381 IDeckLinkDeckControl * This,
\r
4382 /* [in] */ IDeckLinkDeckControlStatusCallback *callback);
\r
4385 } IDeckLinkDeckControlVtbl;
\r
4387 interface IDeckLinkDeckControl
\r
4389 CONST_VTBL struct IDeckLinkDeckControlVtbl *lpVtbl;
\r
4397 #define IDeckLinkDeckControl_QueryInterface(This,riid,ppvObject) \
\r
4398 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4400 #define IDeckLinkDeckControl_AddRef(This) \
\r
4401 ( (This)->lpVtbl -> AddRef(This) )
\r
4403 #define IDeckLinkDeckControl_Release(This) \
\r
4404 ( (This)->lpVtbl -> Release(This) )
\r
4407 #define IDeckLinkDeckControl_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \
\r
4408 ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) )
\r
4410 #define IDeckLinkDeckControl_Close(This,standbyOn) \
\r
4411 ( (This)->lpVtbl -> Close(This,standbyOn) )
\r
4413 #define IDeckLinkDeckControl_GetCurrentState(This,mode,vtrControlState,flags) \
\r
4414 ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) )
\r
4416 #define IDeckLinkDeckControl_SetStandby(This,standbyOn) \
\r
4417 ( (This)->lpVtbl -> SetStandby(This,standbyOn) )
\r
4419 #define IDeckLinkDeckControl_SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) \
\r
4420 ( (This)->lpVtbl -> SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) )
\r
4422 #define IDeckLinkDeckControl_Play(This,error) \
\r
4423 ( (This)->lpVtbl -> Play(This,error) )
\r
4425 #define IDeckLinkDeckControl_Stop(This,error) \
\r
4426 ( (This)->lpVtbl -> Stop(This,error) )
\r
4428 #define IDeckLinkDeckControl_TogglePlayStop(This,error) \
\r
4429 ( (This)->lpVtbl -> TogglePlayStop(This,error) )
\r
4431 #define IDeckLinkDeckControl_Eject(This,error) \
\r
4432 ( (This)->lpVtbl -> Eject(This,error) )
\r
4434 #define IDeckLinkDeckControl_GoToTimecode(This,timecode,error) \
\r
4435 ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) )
\r
4437 #define IDeckLinkDeckControl_FastForward(This,viewTape,error) \
\r
4438 ( (This)->lpVtbl -> FastForward(This,viewTape,error) )
\r
4440 #define IDeckLinkDeckControl_Rewind(This,viewTape,error) \
\r
4441 ( (This)->lpVtbl -> Rewind(This,viewTape,error) )
\r
4443 #define IDeckLinkDeckControl_StepForward(This,error) \
\r
4444 ( (This)->lpVtbl -> StepForward(This,error) )
\r
4446 #define IDeckLinkDeckControl_StepBack(This,error) \
\r
4447 ( (This)->lpVtbl -> StepBack(This,error) )
\r
4449 #define IDeckLinkDeckControl_Jog(This,rate,error) \
\r
4450 ( (This)->lpVtbl -> Jog(This,rate,error) )
\r
4452 #define IDeckLinkDeckControl_Shuttle(This,rate,error) \
\r
4453 ( (This)->lpVtbl -> Shuttle(This,rate,error) )
\r
4455 #define IDeckLinkDeckControl_GetTimecodeString(This,currentTimeCode,error) \
\r
4456 ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) )
\r
4458 #define IDeckLinkDeckControl_GetTimecode(This,currentTimecode,error) \
\r
4459 ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) )
\r
4461 #define IDeckLinkDeckControl_GetTimecodeBCD(This,currentTimecode,error) \
\r
4462 ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) )
\r
4464 #define IDeckLinkDeckControl_SetPreroll(This,prerollSeconds) \
\r
4465 ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) )
\r
4467 #define IDeckLinkDeckControl_GetPreroll(This,prerollSeconds) \
\r
4468 ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) )
\r
4470 #define IDeckLinkDeckControl_SetExportOffset(This,exportOffsetFields) \
\r
4471 ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) )
\r
4473 #define IDeckLinkDeckControl_GetExportOffset(This,exportOffsetFields) \
\r
4474 ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) )
\r
4476 #define IDeckLinkDeckControl_GetManualExportOffset(This,deckManualExportOffsetFields) \
\r
4477 ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) )
\r
4479 #define IDeckLinkDeckControl_SetCaptureOffset(This,captureOffsetFields) \
\r
4480 ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) )
\r
4482 #define IDeckLinkDeckControl_GetCaptureOffset(This,captureOffsetFields) \
\r
4483 ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) )
\r
4485 #define IDeckLinkDeckControl_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \
\r
4486 ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) )
\r
4488 #define IDeckLinkDeckControl_StartCapture(This,useVITC,inTimecode,outTimecode,error) \
\r
4489 ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) )
\r
4491 #define IDeckLinkDeckControl_GetDeviceID(This,deviceId,error) \
\r
4492 ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) )
\r
4494 #define IDeckLinkDeckControl_Abort(This) \
\r
4495 ( (This)->lpVtbl -> Abort(This) )
\r
4497 #define IDeckLinkDeckControl_CrashRecordStart(This,error) \
\r
4498 ( (This)->lpVtbl -> CrashRecordStart(This,error) )
\r
4500 #define IDeckLinkDeckControl_CrashRecordStop(This,error) \
\r
4501 ( (This)->lpVtbl -> CrashRecordStop(This,error) )
\r
4503 #define IDeckLinkDeckControl_SetCallback(This,callback) \
\r
4504 ( (This)->lpVtbl -> SetCallback(This,callback) )
\r
4506 #endif /* COBJMACROS */
\r
4509 #endif /* C style interface */
\r
4514 #endif /* __IDeckLinkDeckControl_INTERFACE_DEFINED__ */
\r
4517 EXTERN_C const CLSID CLSID_CDeckLinkIterator;
\r
4519 #ifdef __cplusplus
\r
4521 class DECLSPEC_UUID("D9EDA3B3-2887-41FA-B724-017CF1EB1D37")
\r
4522 CDeckLinkIterator;
\r
4525 EXTERN_C const CLSID CLSID_CDeckLinkAPIInformation;
\r
4527 #ifdef __cplusplus
\r
4529 class DECLSPEC_UUID("263CA19F-ED09-482E-9F9D-84005783A237")
\r
4530 CDeckLinkAPIInformation;
\r
4533 EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper;
\r
4535 #ifdef __cplusplus
\r
4537 class DECLSPEC_UUID("F63E77C7-B655-4A4A-9AD0-3CA85D394343")
\r
4538 CDeckLinkGLScreenPreviewHelper;
\r
4541 EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion;
\r
4543 #ifdef __cplusplus
\r
4545 class DECLSPEC_UUID("7DBBBB11-5B7B-467D-AEA4-CEA468FD368C")
\r
4546 CDeckLinkVideoConversion;
\r
4549 #ifndef __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__
\r
4550 #define __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__
\r
4552 /* interface IDeckLinkDeckControl_v7_9 */
\r
4553 /* [helpstring][uuid][object] */
\r
4556 EXTERN_C const IID IID_IDeckLinkDeckControl_v7_9;
\r
4558 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4560 MIDL_INTERFACE("A4D81043-0619-42B7-8ED6-602D29041DF7")
\r
4561 IDeckLinkDeckControl_v7_9 : public IUnknown
\r
4564 virtual HRESULT STDMETHODCALLTYPE Open(
\r
4565 /* [in] */ BMDTimeScale timeScale,
\r
4566 /* [in] */ BMDTimeValue timeValue,
\r
4567 /* [in] */ BOOL timecodeIsDropFrame,
\r
4568 /* [out] */ BMDDeckControlError *error) = 0;
\r
4570 virtual HRESULT STDMETHODCALLTYPE Close(
\r
4571 /* [in] */ BOOL standbyOn) = 0;
\r
4573 virtual HRESULT STDMETHODCALLTYPE GetCurrentState(
\r
4574 /* [out] */ BMDDeckControlMode *mode,
\r
4575 /* [out] */ BMDDeckControlVTRControlState *vtrControlState,
\r
4576 /* [out] */ BMDDeckControlStatusFlags *flags) = 0;
\r
4578 virtual HRESULT STDMETHODCALLTYPE SetStandby(
\r
4579 /* [in] */ BOOL standbyOn) = 0;
\r
4581 virtual HRESULT STDMETHODCALLTYPE Play(
\r
4582 /* [out] */ BMDDeckControlError *error) = 0;
\r
4584 virtual HRESULT STDMETHODCALLTYPE Stop(
\r
4585 /* [out] */ BMDDeckControlError *error) = 0;
\r
4587 virtual HRESULT STDMETHODCALLTYPE TogglePlayStop(
\r
4588 /* [out] */ BMDDeckControlError *error) = 0;
\r
4590 virtual HRESULT STDMETHODCALLTYPE Eject(
\r
4591 /* [out] */ BMDDeckControlError *error) = 0;
\r
4593 virtual HRESULT STDMETHODCALLTYPE GoToTimecode(
\r
4594 /* [in] */ BMDTimecodeBCD timecode,
\r
4595 /* [out] */ BMDDeckControlError *error) = 0;
\r
4597 virtual HRESULT STDMETHODCALLTYPE FastForward(
\r
4598 /* [in] */ BOOL viewTape,
\r
4599 /* [out] */ BMDDeckControlError *error) = 0;
\r
4601 virtual HRESULT STDMETHODCALLTYPE Rewind(
\r
4602 /* [in] */ BOOL viewTape,
\r
4603 /* [out] */ BMDDeckControlError *error) = 0;
\r
4605 virtual HRESULT STDMETHODCALLTYPE StepForward(
\r
4606 /* [out] */ BMDDeckControlError *error) = 0;
\r
4608 virtual HRESULT STDMETHODCALLTYPE StepBack(
\r
4609 /* [out] */ BMDDeckControlError *error) = 0;
\r
4611 virtual HRESULT STDMETHODCALLTYPE Jog(
\r
4612 /* [in] */ double rate,
\r
4613 /* [out] */ BMDDeckControlError *error) = 0;
\r
4615 virtual HRESULT STDMETHODCALLTYPE Shuttle(
\r
4616 /* [in] */ double rate,
\r
4617 /* [out] */ BMDDeckControlError *error) = 0;
\r
4619 virtual HRESULT STDMETHODCALLTYPE GetTimecodeString(
\r
4620 /* [out] */ BSTR *currentTimeCode,
\r
4621 /* [out] */ BMDDeckControlError *error) = 0;
\r
4623 virtual HRESULT STDMETHODCALLTYPE GetTimecode(
\r
4624 /* [out] */ IDeckLinkTimecode **currentTimecode,
\r
4625 /* [out] */ BMDDeckControlError *error) = 0;
\r
4627 virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD(
\r
4628 /* [out] */ BMDTimecodeBCD *currentTimecode,
\r
4629 /* [out] */ BMDDeckControlError *error) = 0;
\r
4631 virtual HRESULT STDMETHODCALLTYPE SetPreroll(
\r
4632 /* [in] */ unsigned long prerollSeconds) = 0;
\r
4634 virtual HRESULT STDMETHODCALLTYPE GetPreroll(
\r
4635 /* [out] */ unsigned long *prerollSeconds) = 0;
\r
4637 virtual HRESULT STDMETHODCALLTYPE SetExportOffset(
\r
4638 /* [in] */ long exportOffsetFields) = 0;
\r
4640 virtual HRESULT STDMETHODCALLTYPE GetExportOffset(
\r
4641 /* [out] */ long *exportOffsetFields) = 0;
\r
4643 virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset(
\r
4644 /* [out] */ long *deckManualExportOffsetFields) = 0;
\r
4646 virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset(
\r
4647 /* [in] */ long captureOffsetFields) = 0;
\r
4649 virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset(
\r
4650 /* [out] */ long *captureOffsetFields) = 0;
\r
4652 virtual HRESULT STDMETHODCALLTYPE StartExport(
\r
4653 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4654 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4655 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,
\r
4656 /* [out] */ BMDDeckControlError *error) = 0;
\r
4658 virtual HRESULT STDMETHODCALLTYPE StartCapture(
\r
4659 /* [in] */ BOOL useVITC,
\r
4660 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4661 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4662 /* [out] */ BMDDeckControlError *error) = 0;
\r
4664 virtual HRESULT STDMETHODCALLTYPE GetDeviceID(
\r
4665 /* [out] */ unsigned short *deviceId,
\r
4666 /* [out] */ BMDDeckControlError *error) = 0;
\r
4668 virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
\r
4670 virtual HRESULT STDMETHODCALLTYPE CrashRecordStart(
\r
4671 /* [out] */ BMDDeckControlError *error) = 0;
\r
4673 virtual HRESULT STDMETHODCALLTYPE CrashRecordStop(
\r
4674 /* [out] */ BMDDeckControlError *error) = 0;
\r
4676 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
4677 /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0;
\r
4681 #else /* C style interface */
\r
4683 typedef struct IDeckLinkDeckControl_v7_9Vtbl
\r
4687 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4688 IDeckLinkDeckControl_v7_9 * This,
\r
4689 /* [in] */ REFIID riid,
\r
4690 /* [annotation][iid_is][out] */
\r
4691 __RPC__deref_out void **ppvObject);
\r
4693 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4694 IDeckLinkDeckControl_v7_9 * This);
\r
4696 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4697 IDeckLinkDeckControl_v7_9 * This);
\r
4699 HRESULT ( STDMETHODCALLTYPE *Open )(
\r
4700 IDeckLinkDeckControl_v7_9 * This,
\r
4701 /* [in] */ BMDTimeScale timeScale,
\r
4702 /* [in] */ BMDTimeValue timeValue,
\r
4703 /* [in] */ BOOL timecodeIsDropFrame,
\r
4704 /* [out] */ BMDDeckControlError *error);
\r
4706 HRESULT ( STDMETHODCALLTYPE *Close )(
\r
4707 IDeckLinkDeckControl_v7_9 * This,
\r
4708 /* [in] */ BOOL standbyOn);
\r
4710 HRESULT ( STDMETHODCALLTYPE *GetCurrentState )(
\r
4711 IDeckLinkDeckControl_v7_9 * This,
\r
4712 /* [out] */ BMDDeckControlMode *mode,
\r
4713 /* [out] */ BMDDeckControlVTRControlState *vtrControlState,
\r
4714 /* [out] */ BMDDeckControlStatusFlags *flags);
\r
4716 HRESULT ( STDMETHODCALLTYPE *SetStandby )(
\r
4717 IDeckLinkDeckControl_v7_9 * This,
\r
4718 /* [in] */ BOOL standbyOn);
\r
4720 HRESULT ( STDMETHODCALLTYPE *Play )(
\r
4721 IDeckLinkDeckControl_v7_9 * This,
\r
4722 /* [out] */ BMDDeckControlError *error);
\r
4724 HRESULT ( STDMETHODCALLTYPE *Stop )(
\r
4725 IDeckLinkDeckControl_v7_9 * This,
\r
4726 /* [out] */ BMDDeckControlError *error);
\r
4728 HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )(
\r
4729 IDeckLinkDeckControl_v7_9 * This,
\r
4730 /* [out] */ BMDDeckControlError *error);
\r
4732 HRESULT ( STDMETHODCALLTYPE *Eject )(
\r
4733 IDeckLinkDeckControl_v7_9 * This,
\r
4734 /* [out] */ BMDDeckControlError *error);
\r
4736 HRESULT ( STDMETHODCALLTYPE *GoToTimecode )(
\r
4737 IDeckLinkDeckControl_v7_9 * This,
\r
4738 /* [in] */ BMDTimecodeBCD timecode,
\r
4739 /* [out] */ BMDDeckControlError *error);
\r
4741 HRESULT ( STDMETHODCALLTYPE *FastForward )(
\r
4742 IDeckLinkDeckControl_v7_9 * This,
\r
4743 /* [in] */ BOOL viewTape,
\r
4744 /* [out] */ BMDDeckControlError *error);
\r
4746 HRESULT ( STDMETHODCALLTYPE *Rewind )(
\r
4747 IDeckLinkDeckControl_v7_9 * This,
\r
4748 /* [in] */ BOOL viewTape,
\r
4749 /* [out] */ BMDDeckControlError *error);
\r
4751 HRESULT ( STDMETHODCALLTYPE *StepForward )(
\r
4752 IDeckLinkDeckControl_v7_9 * This,
\r
4753 /* [out] */ BMDDeckControlError *error);
\r
4755 HRESULT ( STDMETHODCALLTYPE *StepBack )(
\r
4756 IDeckLinkDeckControl_v7_9 * This,
\r
4757 /* [out] */ BMDDeckControlError *error);
\r
4759 HRESULT ( STDMETHODCALLTYPE *Jog )(
\r
4760 IDeckLinkDeckControl_v7_9 * This,
\r
4761 /* [in] */ double rate,
\r
4762 /* [out] */ BMDDeckControlError *error);
\r
4764 HRESULT ( STDMETHODCALLTYPE *Shuttle )(
\r
4765 IDeckLinkDeckControl_v7_9 * This,
\r
4766 /* [in] */ double rate,
\r
4767 /* [out] */ BMDDeckControlError *error);
\r
4769 HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )(
\r
4770 IDeckLinkDeckControl_v7_9 * This,
\r
4771 /* [out] */ BSTR *currentTimeCode,
\r
4772 /* [out] */ BMDDeckControlError *error);
\r
4774 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
4775 IDeckLinkDeckControl_v7_9 * This,
\r
4776 /* [out] */ IDeckLinkTimecode **currentTimecode,
\r
4777 /* [out] */ BMDDeckControlError *error);
\r
4779 HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )(
\r
4780 IDeckLinkDeckControl_v7_9 * This,
\r
4781 /* [out] */ BMDTimecodeBCD *currentTimecode,
\r
4782 /* [out] */ BMDDeckControlError *error);
\r
4784 HRESULT ( STDMETHODCALLTYPE *SetPreroll )(
\r
4785 IDeckLinkDeckControl_v7_9 * This,
\r
4786 /* [in] */ unsigned long prerollSeconds);
\r
4788 HRESULT ( STDMETHODCALLTYPE *GetPreroll )(
\r
4789 IDeckLinkDeckControl_v7_9 * This,
\r
4790 /* [out] */ unsigned long *prerollSeconds);
\r
4792 HRESULT ( STDMETHODCALLTYPE *SetExportOffset )(
\r
4793 IDeckLinkDeckControl_v7_9 * This,
\r
4794 /* [in] */ long exportOffsetFields);
\r
4796 HRESULT ( STDMETHODCALLTYPE *GetExportOffset )(
\r
4797 IDeckLinkDeckControl_v7_9 * This,
\r
4798 /* [out] */ long *exportOffsetFields);
\r
4800 HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )(
\r
4801 IDeckLinkDeckControl_v7_9 * This,
\r
4802 /* [out] */ long *deckManualExportOffsetFields);
\r
4804 HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )(
\r
4805 IDeckLinkDeckControl_v7_9 * This,
\r
4806 /* [in] */ long captureOffsetFields);
\r
4808 HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )(
\r
4809 IDeckLinkDeckControl_v7_9 * This,
\r
4810 /* [out] */ long *captureOffsetFields);
\r
4812 HRESULT ( STDMETHODCALLTYPE *StartExport )(
\r
4813 IDeckLinkDeckControl_v7_9 * This,
\r
4814 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4815 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4816 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,
\r
4817 /* [out] */ BMDDeckControlError *error);
\r
4819 HRESULT ( STDMETHODCALLTYPE *StartCapture )(
\r
4820 IDeckLinkDeckControl_v7_9 * This,
\r
4821 /* [in] */ BOOL useVITC,
\r
4822 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4823 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4824 /* [out] */ BMDDeckControlError *error);
\r
4826 HRESULT ( STDMETHODCALLTYPE *GetDeviceID )(
\r
4827 IDeckLinkDeckControl_v7_9 * This,
\r
4828 /* [out] */ unsigned short *deviceId,
\r
4829 /* [out] */ BMDDeckControlError *error);
\r
4831 HRESULT ( STDMETHODCALLTYPE *Abort )(
\r
4832 IDeckLinkDeckControl_v7_9 * This);
\r
4834 HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )(
\r
4835 IDeckLinkDeckControl_v7_9 * This,
\r
4836 /* [out] */ BMDDeckControlError *error);
\r
4838 HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )(
\r
4839 IDeckLinkDeckControl_v7_9 * This,
\r
4840 /* [out] */ BMDDeckControlError *error);
\r
4842 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
4843 IDeckLinkDeckControl_v7_9 * This,
\r
4844 /* [in] */ IDeckLinkDeckControlStatusCallback *callback);
\r
4847 } IDeckLinkDeckControl_v7_9Vtbl;
\r
4849 interface IDeckLinkDeckControl_v7_9
\r
4851 CONST_VTBL struct IDeckLinkDeckControl_v7_9Vtbl *lpVtbl;
\r
4859 #define IDeckLinkDeckControl_v7_9_QueryInterface(This,riid,ppvObject) \
\r
4860 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4862 #define IDeckLinkDeckControl_v7_9_AddRef(This) \
\r
4863 ( (This)->lpVtbl -> AddRef(This) )
\r
4865 #define IDeckLinkDeckControl_v7_9_Release(This) \
\r
4866 ( (This)->lpVtbl -> Release(This) )
\r
4869 #define IDeckLinkDeckControl_v7_9_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \
\r
4870 ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) )
\r
4872 #define IDeckLinkDeckControl_v7_9_Close(This,standbyOn) \
\r
4873 ( (This)->lpVtbl -> Close(This,standbyOn) )
\r
4875 #define IDeckLinkDeckControl_v7_9_GetCurrentState(This,mode,vtrControlState,flags) \
\r
4876 ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) )
\r
4878 #define IDeckLinkDeckControl_v7_9_SetStandby(This,standbyOn) \
\r
4879 ( (This)->lpVtbl -> SetStandby(This,standbyOn) )
\r
4881 #define IDeckLinkDeckControl_v7_9_Play(This,error) \
\r
4882 ( (This)->lpVtbl -> Play(This,error) )
\r
4884 #define IDeckLinkDeckControl_v7_9_Stop(This,error) \
\r
4885 ( (This)->lpVtbl -> Stop(This,error) )
\r
4887 #define IDeckLinkDeckControl_v7_9_TogglePlayStop(This,error) \
\r
4888 ( (This)->lpVtbl -> TogglePlayStop(This,error) )
\r
4890 #define IDeckLinkDeckControl_v7_9_Eject(This,error) \
\r
4891 ( (This)->lpVtbl -> Eject(This,error) )
\r
4893 #define IDeckLinkDeckControl_v7_9_GoToTimecode(This,timecode,error) \
\r
4894 ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) )
\r
4896 #define IDeckLinkDeckControl_v7_9_FastForward(This,viewTape,error) \
\r
4897 ( (This)->lpVtbl -> FastForward(This,viewTape,error) )
\r
4899 #define IDeckLinkDeckControl_v7_9_Rewind(This,viewTape,error) \
\r
4900 ( (This)->lpVtbl -> Rewind(This,viewTape,error) )
\r
4902 #define IDeckLinkDeckControl_v7_9_StepForward(This,error) \
\r
4903 ( (This)->lpVtbl -> StepForward(This,error) )
\r
4905 #define IDeckLinkDeckControl_v7_9_StepBack(This,error) \
\r
4906 ( (This)->lpVtbl -> StepBack(This,error) )
\r
4908 #define IDeckLinkDeckControl_v7_9_Jog(This,rate,error) \
\r
4909 ( (This)->lpVtbl -> Jog(This,rate,error) )
\r
4911 #define IDeckLinkDeckControl_v7_9_Shuttle(This,rate,error) \
\r
4912 ( (This)->lpVtbl -> Shuttle(This,rate,error) )
\r
4914 #define IDeckLinkDeckControl_v7_9_GetTimecodeString(This,currentTimeCode,error) \
\r
4915 ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) )
\r
4917 #define IDeckLinkDeckControl_v7_9_GetTimecode(This,currentTimecode,error) \
\r
4918 ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) )
\r
4920 #define IDeckLinkDeckControl_v7_9_GetTimecodeBCD(This,currentTimecode,error) \
\r
4921 ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) )
\r
4923 #define IDeckLinkDeckControl_v7_9_SetPreroll(This,prerollSeconds) \
\r
4924 ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) )
\r
4926 #define IDeckLinkDeckControl_v7_9_GetPreroll(This,prerollSeconds) \
\r
4927 ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) )
\r
4929 #define IDeckLinkDeckControl_v7_9_SetExportOffset(This,exportOffsetFields) \
\r
4930 ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) )
\r
4932 #define IDeckLinkDeckControl_v7_9_GetExportOffset(This,exportOffsetFields) \
\r
4933 ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) )
\r
4935 #define IDeckLinkDeckControl_v7_9_GetManualExportOffset(This,deckManualExportOffsetFields) \
\r
4936 ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) )
\r
4938 #define IDeckLinkDeckControl_v7_9_SetCaptureOffset(This,captureOffsetFields) \
\r
4939 ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) )
\r
4941 #define IDeckLinkDeckControl_v7_9_GetCaptureOffset(This,captureOffsetFields) \
\r
4942 ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) )
\r
4944 #define IDeckLinkDeckControl_v7_9_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \
\r
4945 ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) )
\r
4947 #define IDeckLinkDeckControl_v7_9_StartCapture(This,useVITC,inTimecode,outTimecode,error) \
\r
4948 ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) )
\r
4950 #define IDeckLinkDeckControl_v7_9_GetDeviceID(This,deviceId,error) \
\r
4951 ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) )
\r
4953 #define IDeckLinkDeckControl_v7_9_Abort(This) \
\r
4954 ( (This)->lpVtbl -> Abort(This) )
\r
4956 #define IDeckLinkDeckControl_v7_9_CrashRecordStart(This,error) \
\r
4957 ( (This)->lpVtbl -> CrashRecordStart(This,error) )
\r
4959 #define IDeckLinkDeckControl_v7_9_CrashRecordStop(This,error) \
\r
4960 ( (This)->lpVtbl -> CrashRecordStop(This,error) )
\r
4962 #define IDeckLinkDeckControl_v7_9_SetCallback(This,callback) \
\r
4963 ( (This)->lpVtbl -> SetCallback(This,callback) )
\r
4965 #endif /* COBJMACROS */
\r
4968 #endif /* C style interface */
\r
4973 #endif /* __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ */
\r
4976 #ifndef __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__
\r
4977 #define __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__
\r
4979 /* interface IDeckLinkDisplayModeIterator_v7_6 */
\r
4980 /* [helpstring][uuid][object] */
\r
4983 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_6;
\r
4985 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4987 MIDL_INTERFACE("455D741F-1779-4800-86F5-0B5D13D79751")
\r
4988 IDeckLinkDisplayModeIterator_v7_6 : public IUnknown
\r
4991 virtual HRESULT STDMETHODCALLTYPE Next(
\r
4992 /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) = 0;
\r
4996 #else /* C style interface */
\r
4998 typedef struct IDeckLinkDisplayModeIterator_v7_6Vtbl
\r
5002 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5003 IDeckLinkDisplayModeIterator_v7_6 * This,
\r
5004 /* [in] */ REFIID riid,
\r
5005 /* [annotation][iid_is][out] */
\r
5006 __RPC__deref_out void **ppvObject);
\r
5008 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5009 IDeckLinkDisplayModeIterator_v7_6 * This);
\r
5011 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5012 IDeckLinkDisplayModeIterator_v7_6 * This);
\r
5014 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
5015 IDeckLinkDisplayModeIterator_v7_6 * This,
\r
5016 /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode);
\r
5019 } IDeckLinkDisplayModeIterator_v7_6Vtbl;
\r
5021 interface IDeckLinkDisplayModeIterator_v7_6
\r
5023 CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_6Vtbl *lpVtbl;
\r
5031 #define IDeckLinkDisplayModeIterator_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5032 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5034 #define IDeckLinkDisplayModeIterator_v7_6_AddRef(This) \
\r
5035 ( (This)->lpVtbl -> AddRef(This) )
\r
5037 #define IDeckLinkDisplayModeIterator_v7_6_Release(This) \
\r
5038 ( (This)->lpVtbl -> Release(This) )
\r
5041 #define IDeckLinkDisplayModeIterator_v7_6_Next(This,deckLinkDisplayMode) \
\r
5042 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
\r
5044 #endif /* COBJMACROS */
\r
5047 #endif /* C style interface */
\r
5052 #endif /* __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ */
\r
5055 #ifndef __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__
\r
5056 #define __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__
\r
5058 /* interface IDeckLinkDisplayMode_v7_6 */
\r
5059 /* [helpstring][uuid][object] */
\r
5062 EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_6;
\r
5064 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5066 MIDL_INTERFACE("87451E84-2B7E-439E-A629-4393EA4A8550")
\r
5067 IDeckLinkDisplayMode_v7_6 : public IUnknown
\r
5070 virtual HRESULT STDMETHODCALLTYPE GetName(
\r
5071 /* [out] */ BSTR *name) = 0;
\r
5073 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
5075 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
5077 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
5079 virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
\r
5080 /* [out] */ BMDTimeValue *frameDuration,
\r
5081 /* [out] */ BMDTimeScale *timeScale) = 0;
\r
5083 virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0;
\r
5087 #else /* C style interface */
\r
5089 typedef struct IDeckLinkDisplayMode_v7_6Vtbl
\r
5093 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5094 IDeckLinkDisplayMode_v7_6 * This,
\r
5095 /* [in] */ REFIID riid,
\r
5096 /* [annotation][iid_is][out] */
\r
5097 __RPC__deref_out void **ppvObject);
\r
5099 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5100 IDeckLinkDisplayMode_v7_6 * This);
\r
5102 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5103 IDeckLinkDisplayMode_v7_6 * This);
\r
5105 HRESULT ( STDMETHODCALLTYPE *GetName )(
\r
5106 IDeckLinkDisplayMode_v7_6 * This,
\r
5107 /* [out] */ BSTR *name);
\r
5109 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
5110 IDeckLinkDisplayMode_v7_6 * This);
\r
5112 long ( STDMETHODCALLTYPE *GetWidth )(
\r
5113 IDeckLinkDisplayMode_v7_6 * This);
\r
5115 long ( STDMETHODCALLTYPE *GetHeight )(
\r
5116 IDeckLinkDisplayMode_v7_6 * This);
\r
5118 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
\r
5119 IDeckLinkDisplayMode_v7_6 * This,
\r
5120 /* [out] */ BMDTimeValue *frameDuration,
\r
5121 /* [out] */ BMDTimeScale *timeScale);
\r
5123 BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )(
\r
5124 IDeckLinkDisplayMode_v7_6 * This);
\r
5127 } IDeckLinkDisplayMode_v7_6Vtbl;
\r
5129 interface IDeckLinkDisplayMode_v7_6
\r
5131 CONST_VTBL struct IDeckLinkDisplayMode_v7_6Vtbl *lpVtbl;
\r
5139 #define IDeckLinkDisplayMode_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5140 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5142 #define IDeckLinkDisplayMode_v7_6_AddRef(This) \
\r
5143 ( (This)->lpVtbl -> AddRef(This) )
\r
5145 #define IDeckLinkDisplayMode_v7_6_Release(This) \
\r
5146 ( (This)->lpVtbl -> Release(This) )
\r
5149 #define IDeckLinkDisplayMode_v7_6_GetName(This,name) \
\r
5150 ( (This)->lpVtbl -> GetName(This,name) )
\r
5152 #define IDeckLinkDisplayMode_v7_6_GetDisplayMode(This) \
\r
5153 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
5155 #define IDeckLinkDisplayMode_v7_6_GetWidth(This) \
\r
5156 ( (This)->lpVtbl -> GetWidth(This) )
\r
5158 #define IDeckLinkDisplayMode_v7_6_GetHeight(This) \
\r
5159 ( (This)->lpVtbl -> GetHeight(This) )
\r
5161 #define IDeckLinkDisplayMode_v7_6_GetFrameRate(This,frameDuration,timeScale) \
\r
5162 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
\r
5164 #define IDeckLinkDisplayMode_v7_6_GetFieldDominance(This) \
\r
5165 ( (This)->lpVtbl -> GetFieldDominance(This) )
\r
5167 #endif /* COBJMACROS */
\r
5170 #endif /* C style interface */
\r
5175 #endif /* __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ */
\r
5178 #ifndef __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__
\r
5179 #define __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__
\r
5181 /* interface IDeckLinkOutput_v7_6 */
\r
5182 /* [helpstring][local][uuid][object] */
\r
5185 EXTERN_C const IID IID_IDeckLinkOutput_v7_6;
\r
5187 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5189 MIDL_INTERFACE("29228142-EB8C-4141-A621-F74026450955")
\r
5190 IDeckLinkOutput_v7_6 : public IUnknown
\r
5193 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
5194 BMDDisplayMode displayMode,
\r
5195 BMDPixelFormat pixelFormat,
\r
5196 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
5198 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
5199 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
5201 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
5202 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;
\r
5204 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
5205 BMDDisplayMode displayMode,
\r
5206 BMDVideoOutputFlags flags) = 0;
\r
5208 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
5210 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
5211 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
5213 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
5217 BMDPixelFormat pixelFormat,
\r
5218 BMDFrameFlags flags,
\r
5219 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;
\r
5221 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
\r
5222 BMDPixelFormat pixelFormat,
\r
5223 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
\r
5225 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
5226 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
5228 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
5229 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
5230 BMDTimeValue displayTime,
\r
5231 BMDTimeValue displayDuration,
\r
5232 BMDTimeScale timeScale) = 0;
\r
5234 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
5235 /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0;
\r
5237 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
\r
5238 /* [out] */ unsigned long *bufferedFrameCount) = 0;
\r
5240 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
5241 BMDAudioSampleRate sampleRate,
\r
5242 BMDAudioSampleType sampleType,
\r
5243 unsigned long channelCount,
\r
5244 BMDAudioOutputStreamType streamType) = 0;
\r
5246 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
5248 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
5249 /* [in] */ void *buffer,
\r
5250 unsigned long sampleFrameCount,
\r
5251 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
5253 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
5255 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
5257 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
5258 /* [in] */ void *buffer,
\r
5259 unsigned long sampleFrameCount,
\r
5260 BMDTimeValue streamTime,
\r
5261 BMDTimeScale timeScale,
\r
5262 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
5264 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
5265 /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
\r
5267 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
5269 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
5270 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
5272 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
5273 BMDTimeValue playbackStartTime,
\r
5274 BMDTimeScale timeScale,
\r
5275 double playbackSpeed) = 0;
\r
5277 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
5278 BMDTimeValue stopPlaybackAtTime,
\r
5279 /* [out] */ BMDTimeValue *actualStopTime,
\r
5280 BMDTimeScale timeScale) = 0;
\r
5282 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
\r
5283 /* [out] */ BOOL *active) = 0;
\r
5285 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
\r
5286 BMDTimeScale desiredTimeScale,
\r
5287 /* [out] */ BMDTimeValue *streamTime,
\r
5288 /* [out] */ double *playbackSpeed) = 0;
\r
5290 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
5291 BMDTimeScale desiredTimeScale,
\r
5292 /* [out] */ BMDTimeValue *hardwareTime,
\r
5293 /* [out] */ BMDTimeValue *timeInFrame,
\r
5294 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
5298 #else /* C style interface */
\r
5300 typedef struct IDeckLinkOutput_v7_6Vtbl
\r
5304 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5305 IDeckLinkOutput_v7_6 * This,
\r
5306 /* [in] */ REFIID riid,
\r
5307 /* [annotation][iid_is][out] */
\r
5308 __RPC__deref_out void **ppvObject);
\r
5310 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5311 IDeckLinkOutput_v7_6 * This);
\r
5313 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5314 IDeckLinkOutput_v7_6 * This);
\r
5316 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
5317 IDeckLinkOutput_v7_6 * This,
\r
5318 BMDDisplayMode displayMode,
\r
5319 BMDPixelFormat pixelFormat,
\r
5320 /* [out] */ BMDDisplayModeSupport *result);
\r
5322 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
5323 IDeckLinkOutput_v7_6 * This,
\r
5324 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
5326 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
5327 IDeckLinkOutput_v7_6 * This,
\r
5328 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
\r
5330 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
5331 IDeckLinkOutput_v7_6 * This,
\r
5332 BMDDisplayMode displayMode,
\r
5333 BMDVideoOutputFlags flags);
\r
5335 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
5336 IDeckLinkOutput_v7_6 * This);
\r
5338 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
5339 IDeckLinkOutput_v7_6 * This,
\r
5340 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
5342 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
5343 IDeckLinkOutput_v7_6 * This,
\r
5347 BMDPixelFormat pixelFormat,
\r
5348 BMDFrameFlags flags,
\r
5349 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame);
\r
5351 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
\r
5352 IDeckLinkOutput_v7_6 * This,
\r
5353 BMDPixelFormat pixelFormat,
\r
5354 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
\r
5356 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
5357 IDeckLinkOutput_v7_6 * This,
\r
5358 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
5360 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
5361 IDeckLinkOutput_v7_6 * This,
\r
5362 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
5363 BMDTimeValue displayTime,
\r
5364 BMDTimeValue displayDuration,
\r
5365 BMDTimeScale timeScale);
\r
5367 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
5368 IDeckLinkOutput_v7_6 * This,
\r
5369 /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback);
\r
5371 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
\r
5372 IDeckLinkOutput_v7_6 * This,
\r
5373 /* [out] */ unsigned long *bufferedFrameCount);
\r
5375 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
5376 IDeckLinkOutput_v7_6 * This,
\r
5377 BMDAudioSampleRate sampleRate,
\r
5378 BMDAudioSampleType sampleType,
\r
5379 unsigned long channelCount,
\r
5380 BMDAudioOutputStreamType streamType);
\r
5382 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
5383 IDeckLinkOutput_v7_6 * This);
\r
5385 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
5386 IDeckLinkOutput_v7_6 * This,
\r
5387 /* [in] */ void *buffer,
\r
5388 unsigned long sampleFrameCount,
\r
5389 /* [out] */ unsigned long *sampleFramesWritten);
\r
5391 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
5392 IDeckLinkOutput_v7_6 * This);
\r
5394 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
5395 IDeckLinkOutput_v7_6 * This);
\r
5397 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
5398 IDeckLinkOutput_v7_6 * This,
\r
5399 /* [in] */ void *buffer,
\r
5400 unsigned long sampleFrameCount,
\r
5401 BMDTimeValue streamTime,
\r
5402 BMDTimeScale timeScale,
\r
5403 /* [out] */ unsigned long *sampleFramesWritten);
\r
5405 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
5406 IDeckLinkOutput_v7_6 * This,
\r
5407 /* [out] */ unsigned long *bufferedSampleFrameCount);
\r
5409 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
5410 IDeckLinkOutput_v7_6 * This);
\r
5412 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
5413 IDeckLinkOutput_v7_6 * This,
\r
5414 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
5416 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
5417 IDeckLinkOutput_v7_6 * This,
\r
5418 BMDTimeValue playbackStartTime,
\r
5419 BMDTimeScale timeScale,
\r
5420 double playbackSpeed);
\r
5422 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
5423 IDeckLinkOutput_v7_6 * This,
\r
5424 BMDTimeValue stopPlaybackAtTime,
\r
5425 /* [out] */ BMDTimeValue *actualStopTime,
\r
5426 BMDTimeScale timeScale);
\r
5428 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
\r
5429 IDeckLinkOutput_v7_6 * This,
\r
5430 /* [out] */ BOOL *active);
\r
5432 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )(
\r
5433 IDeckLinkOutput_v7_6 * This,
\r
5434 BMDTimeScale desiredTimeScale,
\r
5435 /* [out] */ BMDTimeValue *streamTime,
\r
5436 /* [out] */ double *playbackSpeed);
\r
5438 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
5439 IDeckLinkOutput_v7_6 * This,
\r
5440 BMDTimeScale desiredTimeScale,
\r
5441 /* [out] */ BMDTimeValue *hardwareTime,
\r
5442 /* [out] */ BMDTimeValue *timeInFrame,
\r
5443 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
5446 } IDeckLinkOutput_v7_6Vtbl;
\r
5448 interface IDeckLinkOutput_v7_6
\r
5450 CONST_VTBL struct IDeckLinkOutput_v7_6Vtbl *lpVtbl;
\r
5458 #define IDeckLinkOutput_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5459 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5461 #define IDeckLinkOutput_v7_6_AddRef(This) \
\r
5462 ( (This)->lpVtbl -> AddRef(This) )
\r
5464 #define IDeckLinkOutput_v7_6_Release(This) \
\r
5465 ( (This)->lpVtbl -> Release(This) )
\r
5468 #define IDeckLinkOutput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
5469 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
5471 #define IDeckLinkOutput_v7_6_GetDisplayModeIterator(This,iterator) \
\r
5472 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
5474 #define IDeckLinkOutput_v7_6_SetScreenPreviewCallback(This,previewCallback) \
\r
5475 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
5477 #define IDeckLinkOutput_v7_6_EnableVideoOutput(This,displayMode,flags) \
\r
5478 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
\r
5480 #define IDeckLinkOutput_v7_6_DisableVideoOutput(This) \
\r
5481 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
5483 #define IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
5484 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
5486 #define IDeckLinkOutput_v7_6_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
5487 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
5489 #define IDeckLinkOutput_v7_6_CreateAncillaryData(This,pixelFormat,outBuffer) \
\r
5490 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
\r
5492 #define IDeckLinkOutput_v7_6_DisplayVideoFrameSync(This,theFrame) \
\r
5493 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
5495 #define IDeckLinkOutput_v7_6_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
5496 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
5498 #define IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
5499 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
5501 #define IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
\r
5502 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
\r
5504 #define IDeckLinkOutput_v7_6_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
\r
5505 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
\r
5507 #define IDeckLinkOutput_v7_6_DisableAudioOutput(This) \
\r
5508 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
5510 #define IDeckLinkOutput_v7_6_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
5511 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
5513 #define IDeckLinkOutput_v7_6_BeginAudioPreroll(This) \
\r
5514 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
5516 #define IDeckLinkOutput_v7_6_EndAudioPreroll(This) \
\r
5517 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
5519 #define IDeckLinkOutput_v7_6_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
5520 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
5522 #define IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
\r
5523 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
\r
5525 #define IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(This) \
\r
5526 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
5528 #define IDeckLinkOutput_v7_6_SetAudioCallback(This,theCallback) \
\r
5529 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
5531 #define IDeckLinkOutput_v7_6_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
5532 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
5534 #define IDeckLinkOutput_v7_6_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
5535 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
5537 #define IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(This,active) \
\r
5538 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
\r
5540 #define IDeckLinkOutput_v7_6_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \
\r
5541 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) )
\r
5543 #define IDeckLinkOutput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
5544 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
5546 #endif /* COBJMACROS */
\r
5549 #endif /* C style interface */
\r
5554 #endif /* __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ */
\r
5557 #ifndef __IDeckLinkInput_v7_6_INTERFACE_DEFINED__
\r
5558 #define __IDeckLinkInput_v7_6_INTERFACE_DEFINED__
\r
5560 /* interface IDeckLinkInput_v7_6 */
\r
5561 /* [helpstring][uuid][object] */
\r
5564 EXTERN_C const IID IID_IDeckLinkInput_v7_6;
\r
5566 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5568 MIDL_INTERFACE("300C135A-9F43-48E2-9906-6D7911D93CF1")
\r
5569 IDeckLinkInput_v7_6 : public IUnknown
\r
5572 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
5573 BMDDisplayMode displayMode,
\r
5574 BMDPixelFormat pixelFormat,
\r
5575 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
5577 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
5578 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
5580 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
5581 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;
\r
5583 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
5584 BMDDisplayMode displayMode,
\r
5585 BMDPixelFormat pixelFormat,
\r
5586 BMDVideoInputFlags flags) = 0;
\r
5588 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
5590 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
\r
5591 /* [out] */ unsigned long *availableFrameCount) = 0;
\r
5593 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
5594 BMDAudioSampleRate sampleRate,
\r
5595 BMDAudioSampleType sampleType,
\r
5596 unsigned long channelCount) = 0;
\r
5598 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
5600 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
\r
5601 /* [out] */ unsigned long *availableSampleFrameCount) = 0;
\r
5603 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
5605 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
5607 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
5609 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
\r
5611 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
5612 /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback) = 0;
\r
5614 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
5615 BMDTimeScale desiredTimeScale,
\r
5616 /* [out] */ BMDTimeValue *hardwareTime,
\r
5617 /* [out] */ BMDTimeValue *timeInFrame,
\r
5618 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
5622 #else /* C style interface */
\r
5624 typedef struct IDeckLinkInput_v7_6Vtbl
\r
5628 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5629 IDeckLinkInput_v7_6 * This,
\r
5630 /* [in] */ REFIID riid,
\r
5631 /* [annotation][iid_is][out] */
\r
5632 __RPC__deref_out void **ppvObject);
\r
5634 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5635 IDeckLinkInput_v7_6 * This);
\r
5637 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5638 IDeckLinkInput_v7_6 * This);
\r
5640 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
5641 IDeckLinkInput_v7_6 * This,
\r
5642 BMDDisplayMode displayMode,
\r
5643 BMDPixelFormat pixelFormat,
\r
5644 /* [out] */ BMDDisplayModeSupport *result);
\r
5646 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
5647 IDeckLinkInput_v7_6 * This,
\r
5648 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
5650 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
5651 IDeckLinkInput_v7_6 * This,
\r
5652 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
\r
5654 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
5655 IDeckLinkInput_v7_6 * This,
\r
5656 BMDDisplayMode displayMode,
\r
5657 BMDPixelFormat pixelFormat,
\r
5658 BMDVideoInputFlags flags);
\r
5660 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
5661 IDeckLinkInput_v7_6 * This);
\r
5663 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
\r
5664 IDeckLinkInput_v7_6 * This,
\r
5665 /* [out] */ unsigned long *availableFrameCount);
\r
5667 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
5668 IDeckLinkInput_v7_6 * This,
\r
5669 BMDAudioSampleRate sampleRate,
\r
5670 BMDAudioSampleType sampleType,
\r
5671 unsigned long channelCount);
\r
5673 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
5674 IDeckLinkInput_v7_6 * This);
\r
5676 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
\r
5677 IDeckLinkInput_v7_6 * This,
\r
5678 /* [out] */ unsigned long *availableSampleFrameCount);
\r
5680 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
5681 IDeckLinkInput_v7_6 * This);
\r
5683 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
5684 IDeckLinkInput_v7_6 * This);
\r
5686 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
5687 IDeckLinkInput_v7_6 * This);
\r
5689 HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
\r
5690 IDeckLinkInput_v7_6 * This);
\r
5692 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
5693 IDeckLinkInput_v7_6 * This,
\r
5694 /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback);
\r
5696 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
5697 IDeckLinkInput_v7_6 * This,
\r
5698 BMDTimeScale desiredTimeScale,
\r
5699 /* [out] */ BMDTimeValue *hardwareTime,
\r
5700 /* [out] */ BMDTimeValue *timeInFrame,
\r
5701 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
5704 } IDeckLinkInput_v7_6Vtbl;
\r
5706 interface IDeckLinkInput_v7_6
\r
5708 CONST_VTBL struct IDeckLinkInput_v7_6Vtbl *lpVtbl;
\r
5716 #define IDeckLinkInput_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5717 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5719 #define IDeckLinkInput_v7_6_AddRef(This) \
\r
5720 ( (This)->lpVtbl -> AddRef(This) )
\r
5722 #define IDeckLinkInput_v7_6_Release(This) \
\r
5723 ( (This)->lpVtbl -> Release(This) )
\r
5726 #define IDeckLinkInput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
5727 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
5729 #define IDeckLinkInput_v7_6_GetDisplayModeIterator(This,iterator) \
\r
5730 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
5732 #define IDeckLinkInput_v7_6_SetScreenPreviewCallback(This,previewCallback) \
\r
5733 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
5735 #define IDeckLinkInput_v7_6_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
5736 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
5738 #define IDeckLinkInput_v7_6_DisableVideoInput(This) \
\r
5739 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
5741 #define IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(This,availableFrameCount) \
\r
5742 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
\r
5744 #define IDeckLinkInput_v7_6_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
5745 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
5747 #define IDeckLinkInput_v7_6_DisableAudioInput(This) \
\r
5748 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
5750 #define IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
\r
5751 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
\r
5753 #define IDeckLinkInput_v7_6_StartStreams(This) \
\r
5754 ( (This)->lpVtbl -> StartStreams(This) )
\r
5756 #define IDeckLinkInput_v7_6_StopStreams(This) \
\r
5757 ( (This)->lpVtbl -> StopStreams(This) )
\r
5759 #define IDeckLinkInput_v7_6_PauseStreams(This) \
\r
5760 ( (This)->lpVtbl -> PauseStreams(This) )
\r
5762 #define IDeckLinkInput_v7_6_FlushStreams(This) \
\r
5763 ( (This)->lpVtbl -> FlushStreams(This) )
\r
5765 #define IDeckLinkInput_v7_6_SetCallback(This,theCallback) \
\r
5766 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
5768 #define IDeckLinkInput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
5769 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
5771 #endif /* COBJMACROS */
\r
5774 #endif /* C style interface */
\r
5779 #endif /* __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ */
\r
5782 #ifndef __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__
\r
5783 #define __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__
\r
5785 /* interface IDeckLinkTimecode_v7_6 */
\r
5786 /* [helpstring][uuid][object] */
\r
5789 EXTERN_C const IID IID_IDeckLinkTimecode_v7_6;
\r
5791 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5793 MIDL_INTERFACE("EFB9BCA6-A521-44F7-BD69-2332F24D9EE6")
\r
5794 IDeckLinkTimecode_v7_6 : public IUnknown
\r
5797 virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0;
\r
5799 virtual HRESULT STDMETHODCALLTYPE GetComponents(
\r
5800 /* [out] */ unsigned char *hours,
\r
5801 /* [out] */ unsigned char *minutes,
\r
5802 /* [out] */ unsigned char *seconds,
\r
5803 /* [out] */ unsigned char *frames) = 0;
\r
5805 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
5806 /* [out] */ BSTR *timecode) = 0;
\r
5808 virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
5812 #else /* C style interface */
\r
5814 typedef struct IDeckLinkTimecode_v7_6Vtbl
\r
5818 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5819 IDeckLinkTimecode_v7_6 * This,
\r
5820 /* [in] */ REFIID riid,
\r
5821 /* [annotation][iid_is][out] */
\r
5822 __RPC__deref_out void **ppvObject);
\r
5824 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5825 IDeckLinkTimecode_v7_6 * This);
\r
5827 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5828 IDeckLinkTimecode_v7_6 * This);
\r
5830 BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )(
\r
5831 IDeckLinkTimecode_v7_6 * This);
\r
5833 HRESULT ( STDMETHODCALLTYPE *GetComponents )(
\r
5834 IDeckLinkTimecode_v7_6 * This,
\r
5835 /* [out] */ unsigned char *hours,
\r
5836 /* [out] */ unsigned char *minutes,
\r
5837 /* [out] */ unsigned char *seconds,
\r
5838 /* [out] */ unsigned char *frames);
\r
5840 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
5841 IDeckLinkTimecode_v7_6 * This,
\r
5842 /* [out] */ BSTR *timecode);
\r
5844 BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
5845 IDeckLinkTimecode_v7_6 * This);
\r
5848 } IDeckLinkTimecode_v7_6Vtbl;
\r
5850 interface IDeckLinkTimecode_v7_6
\r
5852 CONST_VTBL struct IDeckLinkTimecode_v7_6Vtbl *lpVtbl;
\r
5860 #define IDeckLinkTimecode_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5861 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5863 #define IDeckLinkTimecode_v7_6_AddRef(This) \
\r
5864 ( (This)->lpVtbl -> AddRef(This) )
\r
5866 #define IDeckLinkTimecode_v7_6_Release(This) \
\r
5867 ( (This)->lpVtbl -> Release(This) )
\r
5870 #define IDeckLinkTimecode_v7_6_GetBCD(This) \
\r
5871 ( (This)->lpVtbl -> GetBCD(This) )
\r
5873 #define IDeckLinkTimecode_v7_6_GetComponents(This,hours,minutes,seconds,frames) \
\r
5874 ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) )
\r
5876 #define IDeckLinkTimecode_v7_6_GetString(This,timecode) \
\r
5877 ( (This)->lpVtbl -> GetString(This,timecode) )
\r
5879 #define IDeckLinkTimecode_v7_6_GetFlags(This) \
\r
5880 ( (This)->lpVtbl -> GetFlags(This) )
\r
5882 #endif /* COBJMACROS */
\r
5885 #endif /* C style interface */
\r
5890 #endif /* __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ */
\r
5893 #ifndef __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__
\r
5894 #define __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__
\r
5896 /* interface IDeckLinkVideoFrame_v7_6 */
\r
5897 /* [helpstring][local][uuid][object] */
\r
5900 EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_6;
\r
5902 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5904 MIDL_INTERFACE("A8D8238E-6B18-4196-99E1-5AF717B83D32")
\r
5905 IDeckLinkVideoFrame_v7_6 : public IUnknown
\r
5908 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
5910 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
5912 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
\r
5914 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
5916 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
5918 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
5919 /* [out] */ void **buffer) = 0;
\r
5921 virtual HRESULT STDMETHODCALLTYPE GetTimecode(
\r
5922 BMDTimecodeFormat format,
\r
5923 /* [out] */ IDeckLinkTimecode_v7_6 **timecode) = 0;
\r
5925 virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(
\r
5926 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0;
\r
5930 #else /* C style interface */
\r
5932 typedef struct IDeckLinkVideoFrame_v7_6Vtbl
\r
5936 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5937 IDeckLinkVideoFrame_v7_6 * This,
\r
5938 /* [in] */ REFIID riid,
\r
5939 /* [annotation][iid_is][out] */
\r
5940 __RPC__deref_out void **ppvObject);
\r
5942 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5943 IDeckLinkVideoFrame_v7_6 * This);
\r
5945 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5946 IDeckLinkVideoFrame_v7_6 * This);
\r
5948 long ( STDMETHODCALLTYPE *GetWidth )(
\r
5949 IDeckLinkVideoFrame_v7_6 * This);
\r
5951 long ( STDMETHODCALLTYPE *GetHeight )(
\r
5952 IDeckLinkVideoFrame_v7_6 * This);
\r
5954 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
5955 IDeckLinkVideoFrame_v7_6 * This);
\r
5957 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
5958 IDeckLinkVideoFrame_v7_6 * This);
\r
5960 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
5961 IDeckLinkVideoFrame_v7_6 * This);
\r
5963 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
5964 IDeckLinkVideoFrame_v7_6 * This,
\r
5965 /* [out] */ void **buffer);
\r
5967 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
5968 IDeckLinkVideoFrame_v7_6 * This,
\r
5969 BMDTimecodeFormat format,
\r
5970 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
5972 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
5973 IDeckLinkVideoFrame_v7_6 * This,
\r
5974 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
5977 } IDeckLinkVideoFrame_v7_6Vtbl;
\r
5979 interface IDeckLinkVideoFrame_v7_6
\r
5981 CONST_VTBL struct IDeckLinkVideoFrame_v7_6Vtbl *lpVtbl;
\r
5989 #define IDeckLinkVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5990 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5992 #define IDeckLinkVideoFrame_v7_6_AddRef(This) \
\r
5993 ( (This)->lpVtbl -> AddRef(This) )
\r
5995 #define IDeckLinkVideoFrame_v7_6_Release(This) \
\r
5996 ( (This)->lpVtbl -> Release(This) )
\r
5999 #define IDeckLinkVideoFrame_v7_6_GetWidth(This) \
\r
6000 ( (This)->lpVtbl -> GetWidth(This) )
\r
6002 #define IDeckLinkVideoFrame_v7_6_GetHeight(This) \
\r
6003 ( (This)->lpVtbl -> GetHeight(This) )
\r
6005 #define IDeckLinkVideoFrame_v7_6_GetRowBytes(This) \
\r
6006 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
6008 #define IDeckLinkVideoFrame_v7_6_GetPixelFormat(This) \
\r
6009 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
6011 #define IDeckLinkVideoFrame_v7_6_GetFlags(This) \
\r
6012 ( (This)->lpVtbl -> GetFlags(This) )
\r
6014 #define IDeckLinkVideoFrame_v7_6_GetBytes(This,buffer) \
\r
6015 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
6017 #define IDeckLinkVideoFrame_v7_6_GetTimecode(This,format,timecode) \
\r
6018 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
6020 #define IDeckLinkVideoFrame_v7_6_GetAncillaryData(This,ancillary) \
\r
6021 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
6023 #endif /* COBJMACROS */
\r
6026 #endif /* C style interface */
\r
6031 #endif /* __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ */
\r
6034 #ifndef __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__
\r
6035 #define __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__
\r
6037 /* interface IDeckLinkMutableVideoFrame_v7_6 */
\r
6038 /* [helpstring][local][uuid][object] */
\r
6041 EXTERN_C const IID IID_IDeckLinkMutableVideoFrame_v7_6;
\r
6043 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6045 MIDL_INTERFACE("46FCEE00-B4E6-43D0-91C0-023A7FCEB34F")
\r
6046 IDeckLinkMutableVideoFrame_v7_6 : public IDeckLinkVideoFrame_v7_6
\r
6049 virtual HRESULT STDMETHODCALLTYPE SetFlags(
\r
6050 BMDFrameFlags newFlags) = 0;
\r
6052 virtual HRESULT STDMETHODCALLTYPE SetTimecode(
\r
6053 BMDTimecodeFormat format,
\r
6054 /* [in] */ IDeckLinkTimecode_v7_6 *timecode) = 0;
\r
6056 virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents(
\r
6057 BMDTimecodeFormat format,
\r
6058 unsigned char hours,
\r
6059 unsigned char minutes,
\r
6060 unsigned char seconds,
\r
6061 unsigned char frames,
\r
6062 BMDTimecodeFlags flags) = 0;
\r
6064 virtual HRESULT STDMETHODCALLTYPE SetAncillaryData(
\r
6065 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0;
\r
6069 #else /* C style interface */
\r
6071 typedef struct IDeckLinkMutableVideoFrame_v7_6Vtbl
\r
6075 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6076 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
6077 /* [in] */ REFIID riid,
\r
6078 /* [annotation][iid_is][out] */
\r
6079 __RPC__deref_out void **ppvObject);
\r
6081 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6082 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
6084 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6085 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
6087 long ( STDMETHODCALLTYPE *GetWidth )(
\r
6088 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
6090 long ( STDMETHODCALLTYPE *GetHeight )(
\r
6091 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
6093 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
6094 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
6096 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
6097 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
6099 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
6100 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
6102 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
6103 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
6104 /* [out] */ void **buffer);
\r
6106 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
6107 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
6108 BMDTimecodeFormat format,
\r
6109 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
6111 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
6112 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
6113 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
6115 HRESULT ( STDMETHODCALLTYPE *SetFlags )(
\r
6116 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
6117 BMDFrameFlags newFlags);
\r
6119 HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
\r
6120 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
6121 BMDTimecodeFormat format,
\r
6122 /* [in] */ IDeckLinkTimecode_v7_6 *timecode);
\r
6124 HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )(
\r
6125 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
6126 BMDTimecodeFormat format,
\r
6127 unsigned char hours,
\r
6128 unsigned char minutes,
\r
6129 unsigned char seconds,
\r
6130 unsigned char frames,
\r
6131 BMDTimecodeFlags flags);
\r
6133 HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )(
\r
6134 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
6135 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary);
\r
6138 } IDeckLinkMutableVideoFrame_v7_6Vtbl;
\r
6140 interface IDeckLinkMutableVideoFrame_v7_6
\r
6142 CONST_VTBL struct IDeckLinkMutableVideoFrame_v7_6Vtbl *lpVtbl;
\r
6150 #define IDeckLinkMutableVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6151 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6153 #define IDeckLinkMutableVideoFrame_v7_6_AddRef(This) \
\r
6154 ( (This)->lpVtbl -> AddRef(This) )
\r
6156 #define IDeckLinkMutableVideoFrame_v7_6_Release(This) \
\r
6157 ( (This)->lpVtbl -> Release(This) )
\r
6160 #define IDeckLinkMutableVideoFrame_v7_6_GetWidth(This) \
\r
6161 ( (This)->lpVtbl -> GetWidth(This) )
\r
6163 #define IDeckLinkMutableVideoFrame_v7_6_GetHeight(This) \
\r
6164 ( (This)->lpVtbl -> GetHeight(This) )
\r
6166 #define IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(This) \
\r
6167 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
6169 #define IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(This) \
\r
6170 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
6172 #define IDeckLinkMutableVideoFrame_v7_6_GetFlags(This) \
\r
6173 ( (This)->lpVtbl -> GetFlags(This) )
\r
6175 #define IDeckLinkMutableVideoFrame_v7_6_GetBytes(This,buffer) \
\r
6176 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
6178 #define IDeckLinkMutableVideoFrame_v7_6_GetTimecode(This,format,timecode) \
\r
6179 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
6181 #define IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(This,ancillary) \
\r
6182 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
6185 #define IDeckLinkMutableVideoFrame_v7_6_SetFlags(This,newFlags) \
\r
6186 ( (This)->lpVtbl -> SetFlags(This,newFlags) )
\r
6188 #define IDeckLinkMutableVideoFrame_v7_6_SetTimecode(This,format,timecode) \
\r
6189 ( (This)->lpVtbl -> SetTimecode(This,format,timecode) )
\r
6191 #define IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \
\r
6192 ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) )
\r
6194 #define IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(This,ancillary) \
\r
6195 ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) )
\r
6197 #endif /* COBJMACROS */
\r
6200 #endif /* C style interface */
\r
6205 #endif /* __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ */
\r
6208 #ifndef __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__
\r
6209 #define __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__
\r
6211 /* interface IDeckLinkVideoInputFrame_v7_6 */
\r
6212 /* [helpstring][local][uuid][object] */
\r
6215 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_6;
\r
6217 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6219 MIDL_INTERFACE("9A74FA41-AE9F-47AC-8CF4-01F42DD59965")
\r
6220 IDeckLinkVideoInputFrame_v7_6 : public IDeckLinkVideoFrame_v7_6
\r
6223 virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
\r
6224 /* [out] */ BMDTimeValue *frameTime,
\r
6225 /* [out] */ BMDTimeValue *frameDuration,
\r
6226 BMDTimeScale timeScale) = 0;
\r
6228 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
\r
6229 BMDTimeScale timeScale,
\r
6230 /* [out] */ BMDTimeValue *frameTime,
\r
6231 /* [out] */ BMDTimeValue *frameDuration) = 0;
\r
6235 #else /* C style interface */
\r
6237 typedef struct IDeckLinkVideoInputFrame_v7_6Vtbl
\r
6241 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6242 IDeckLinkVideoInputFrame_v7_6 * This,
\r
6243 /* [in] */ REFIID riid,
\r
6244 /* [annotation][iid_is][out] */
\r
6245 __RPC__deref_out void **ppvObject);
\r
6247 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6248 IDeckLinkVideoInputFrame_v7_6 * This);
\r
6250 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6251 IDeckLinkVideoInputFrame_v7_6 * This);
\r
6253 long ( STDMETHODCALLTYPE *GetWidth )(
\r
6254 IDeckLinkVideoInputFrame_v7_6 * This);
\r
6256 long ( STDMETHODCALLTYPE *GetHeight )(
\r
6257 IDeckLinkVideoInputFrame_v7_6 * This);
\r
6259 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
6260 IDeckLinkVideoInputFrame_v7_6 * This);
\r
6262 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
6263 IDeckLinkVideoInputFrame_v7_6 * This);
\r
6265 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
6266 IDeckLinkVideoInputFrame_v7_6 * This);
\r
6268 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
6269 IDeckLinkVideoInputFrame_v7_6 * This,
\r
6270 /* [out] */ void **buffer);
\r
6272 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
6273 IDeckLinkVideoInputFrame_v7_6 * This,
\r
6274 BMDTimecodeFormat format,
\r
6275 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
6277 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
6278 IDeckLinkVideoInputFrame_v7_6 * This,
\r
6279 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
6281 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
\r
6282 IDeckLinkVideoInputFrame_v7_6 * This,
\r
6283 /* [out] */ BMDTimeValue *frameTime,
\r
6284 /* [out] */ BMDTimeValue *frameDuration,
\r
6285 BMDTimeScale timeScale);
\r
6287 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )(
\r
6288 IDeckLinkVideoInputFrame_v7_6 * This,
\r
6289 BMDTimeScale timeScale,
\r
6290 /* [out] */ BMDTimeValue *frameTime,
\r
6291 /* [out] */ BMDTimeValue *frameDuration);
\r
6294 } IDeckLinkVideoInputFrame_v7_6Vtbl;
\r
6296 interface IDeckLinkVideoInputFrame_v7_6
\r
6298 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_6Vtbl *lpVtbl;
\r
6306 #define IDeckLinkVideoInputFrame_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6307 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6309 #define IDeckLinkVideoInputFrame_v7_6_AddRef(This) \
\r
6310 ( (This)->lpVtbl -> AddRef(This) )
\r
6312 #define IDeckLinkVideoInputFrame_v7_6_Release(This) \
\r
6313 ( (This)->lpVtbl -> Release(This) )
\r
6316 #define IDeckLinkVideoInputFrame_v7_6_GetWidth(This) \
\r
6317 ( (This)->lpVtbl -> GetWidth(This) )
\r
6319 #define IDeckLinkVideoInputFrame_v7_6_GetHeight(This) \
\r
6320 ( (This)->lpVtbl -> GetHeight(This) )
\r
6322 #define IDeckLinkVideoInputFrame_v7_6_GetRowBytes(This) \
\r
6323 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
6325 #define IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(This) \
\r
6326 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
6328 #define IDeckLinkVideoInputFrame_v7_6_GetFlags(This) \
\r
6329 ( (This)->lpVtbl -> GetFlags(This) )
\r
6331 #define IDeckLinkVideoInputFrame_v7_6_GetBytes(This,buffer) \
\r
6332 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
6334 #define IDeckLinkVideoInputFrame_v7_6_GetTimecode(This,format,timecode) \
\r
6335 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
6337 #define IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(This,ancillary) \
\r
6338 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
6341 #define IDeckLinkVideoInputFrame_v7_6_GetStreamTime(This,frameTime,frameDuration,timeScale) \
\r
6342 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
\r
6344 #define IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \
\r
6345 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) )
\r
6347 #endif /* COBJMACROS */
\r
6350 #endif /* C style interface */
\r
6355 #endif /* __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ */
\r
6358 #ifndef __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__
\r
6359 #define __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__
\r
6361 /* interface IDeckLinkScreenPreviewCallback_v7_6 */
\r
6362 /* [helpstring][local][uuid][object] */
\r
6365 EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback_v7_6;
\r
6367 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6369 MIDL_INTERFACE("373F499D-4B4D-4518-AD22-6354E5A5825E")
\r
6370 IDeckLinkScreenPreviewCallback_v7_6 : public IUnknown
\r
6373 virtual HRESULT STDMETHODCALLTYPE DrawFrame(
\r
6374 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
6378 #else /* C style interface */
\r
6380 typedef struct IDeckLinkScreenPreviewCallback_v7_6Vtbl
\r
6384 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6385 IDeckLinkScreenPreviewCallback_v7_6 * This,
\r
6386 /* [in] */ REFIID riid,
\r
6387 /* [annotation][iid_is][out] */
\r
6388 __RPC__deref_out void **ppvObject);
\r
6390 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6391 IDeckLinkScreenPreviewCallback_v7_6 * This);
\r
6393 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6394 IDeckLinkScreenPreviewCallback_v7_6 * This);
\r
6396 HRESULT ( STDMETHODCALLTYPE *DrawFrame )(
\r
6397 IDeckLinkScreenPreviewCallback_v7_6 * This,
\r
6398 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
6401 } IDeckLinkScreenPreviewCallback_v7_6Vtbl;
\r
6403 interface IDeckLinkScreenPreviewCallback_v7_6
\r
6405 CONST_VTBL struct IDeckLinkScreenPreviewCallback_v7_6Vtbl *lpVtbl;
\r
6413 #define IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6414 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6416 #define IDeckLinkScreenPreviewCallback_v7_6_AddRef(This) \
\r
6417 ( (This)->lpVtbl -> AddRef(This) )
\r
6419 #define IDeckLinkScreenPreviewCallback_v7_6_Release(This) \
\r
6420 ( (This)->lpVtbl -> Release(This) )
\r
6423 #define IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(This,theFrame) \
\r
6424 ( (This)->lpVtbl -> DrawFrame(This,theFrame) )
\r
6426 #endif /* COBJMACROS */
\r
6429 #endif /* C style interface */
\r
6434 #endif /* __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ */
\r
6437 #ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__
\r
6438 #define __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__
\r
6440 /* interface IDeckLinkGLScreenPreviewHelper_v7_6 */
\r
6441 /* [helpstring][local][uuid][object] */
\r
6444 EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper_v7_6;
\r
6446 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6448 MIDL_INTERFACE("BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA")
\r
6449 IDeckLinkGLScreenPreviewHelper_v7_6 : public IUnknown
\r
6452 virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0;
\r
6454 virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0;
\r
6456 virtual HRESULT STDMETHODCALLTYPE SetFrame(
\r
6457 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
6461 #else /* C style interface */
\r
6463 typedef struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl
\r
6467 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6468 IDeckLinkGLScreenPreviewHelper_v7_6 * This,
\r
6469 /* [in] */ REFIID riid,
\r
6470 /* [annotation][iid_is][out] */
\r
6471 __RPC__deref_out void **ppvObject);
\r
6473 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6474 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
6476 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6477 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
6479 HRESULT ( STDMETHODCALLTYPE *InitializeGL )(
\r
6480 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
6482 HRESULT ( STDMETHODCALLTYPE *PaintGL )(
\r
6483 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
6485 HRESULT ( STDMETHODCALLTYPE *SetFrame )(
\r
6486 IDeckLinkGLScreenPreviewHelper_v7_6 * This,
\r
6487 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
6490 } IDeckLinkGLScreenPreviewHelper_v7_6Vtbl;
\r
6492 interface IDeckLinkGLScreenPreviewHelper_v7_6
\r
6494 CONST_VTBL struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl *lpVtbl;
\r
6502 #define IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6503 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6505 #define IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(This) \
\r
6506 ( (This)->lpVtbl -> AddRef(This) )
\r
6508 #define IDeckLinkGLScreenPreviewHelper_v7_6_Release(This) \
\r
6509 ( (This)->lpVtbl -> Release(This) )
\r
6512 #define IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(This) \
\r
6513 ( (This)->lpVtbl -> InitializeGL(This) )
\r
6515 #define IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(This) \
\r
6516 ( (This)->lpVtbl -> PaintGL(This) )
\r
6518 #define IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(This,theFrame) \
\r
6519 ( (This)->lpVtbl -> SetFrame(This,theFrame) )
\r
6521 #endif /* COBJMACROS */
\r
6524 #endif /* C style interface */
\r
6529 #endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ */
\r
6532 #ifndef __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__
\r
6533 #define __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__
\r
6535 /* interface IDeckLinkVideoConversion_v7_6 */
\r
6536 /* [helpstring][local][uuid][object] */
\r
6539 EXTERN_C const IID IID_IDeckLinkVideoConversion_v7_6;
\r
6541 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6543 MIDL_INTERFACE("3EB504C9-F97D-40FE-A158-D407D48CB53B")
\r
6544 IDeckLinkVideoConversion_v7_6 : public IUnknown
\r
6547 virtual HRESULT STDMETHODCALLTYPE ConvertFrame(
\r
6548 /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame,
\r
6549 /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame) = 0;
\r
6553 #else /* C style interface */
\r
6555 typedef struct IDeckLinkVideoConversion_v7_6Vtbl
\r
6559 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6560 IDeckLinkVideoConversion_v7_6 * This,
\r
6561 /* [in] */ REFIID riid,
\r
6562 /* [annotation][iid_is][out] */
\r
6563 __RPC__deref_out void **ppvObject);
\r
6565 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6566 IDeckLinkVideoConversion_v7_6 * This);
\r
6568 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6569 IDeckLinkVideoConversion_v7_6 * This);
\r
6571 HRESULT ( STDMETHODCALLTYPE *ConvertFrame )(
\r
6572 IDeckLinkVideoConversion_v7_6 * This,
\r
6573 /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame,
\r
6574 /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame);
\r
6577 } IDeckLinkVideoConversion_v7_6Vtbl;
\r
6579 interface IDeckLinkVideoConversion_v7_6
\r
6581 CONST_VTBL struct IDeckLinkVideoConversion_v7_6Vtbl *lpVtbl;
\r
6589 #define IDeckLinkVideoConversion_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6590 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6592 #define IDeckLinkVideoConversion_v7_6_AddRef(This) \
\r
6593 ( (This)->lpVtbl -> AddRef(This) )
\r
6595 #define IDeckLinkVideoConversion_v7_6_Release(This) \
\r
6596 ( (This)->lpVtbl -> Release(This) )
\r
6599 #define IDeckLinkVideoConversion_v7_6_ConvertFrame(This,srcFrame,dstFrame) \
\r
6600 ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) )
\r
6602 #endif /* COBJMACROS */
\r
6605 #endif /* C style interface */
\r
6610 #endif /* __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ */
\r
6613 #ifndef __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__
\r
6614 #define __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__
\r
6616 /* interface IDeckLinkConfiguration_v7_6 */
\r
6617 /* [helpstring][uuid][object] */
\r
6620 EXTERN_C const IID IID_IDeckLinkConfiguration_v7_6;
\r
6622 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6624 MIDL_INTERFACE("B8EAD569-B764-47F0-A73F-AE40DF6CBF10")
\r
6625 IDeckLinkConfiguration_v7_6 : public IUnknown
\r
6628 virtual HRESULT STDMETHODCALLTYPE GetConfigurationValidator(
\r
6629 /* [out] */ IDeckLinkConfiguration_v7_6 **configObject) = 0;
\r
6631 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;
\r
6633 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFormat(
\r
6634 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection) = 0;
\r
6636 virtual HRESULT STDMETHODCALLTYPE IsVideoOutputActive(
\r
6637 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection,
\r
6638 /* [out] */ BOOL *active) = 0;
\r
6640 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoOutputFlags(
\r
6641 /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0;
\r
6643 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoOutputFlags(
\r
6644 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
\r
6646 virtual HRESULT STDMETHODCALLTYPE EnableFieldFlickerRemovalWhenPaused(
\r
6647 /* [in] */ BOOL enable) = 0;
\r
6649 virtual HRESULT STDMETHODCALLTYPE IsEnabledFieldFlickerRemovalWhenPaused(
\r
6650 /* [out] */ BOOL *enabled) = 0;
\r
6652 virtual HRESULT STDMETHODCALLTYPE Set444And3GBpsVideoOutput(
\r
6653 /* [in] */ BOOL enable444VideoOutput,
\r
6654 /* [in] */ BOOL enable3GbsOutput) = 0;
\r
6656 virtual HRESULT STDMETHODCALLTYPE Get444And3GBpsVideoOutput(
\r
6657 /* [out] */ BOOL *is444VideoOutputEnabled,
\r
6658 /* [out] */ BOOL *threeGbsOutputEnabled) = 0;
\r
6660 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputConversionMode(
\r
6661 /* [in] */ BMDVideoOutputConversionMode conversionMode) = 0;
\r
6663 virtual HRESULT STDMETHODCALLTYPE GetVideoOutputConversionMode(
\r
6664 /* [out] */ BMDVideoOutputConversionMode *conversionMode) = 0;
\r
6666 virtual HRESULT STDMETHODCALLTYPE Set_HD1080p24_to_HD1080i5994_Conversion(
\r
6667 /* [in] */ BOOL enable) = 0;
\r
6669 virtual HRESULT STDMETHODCALLTYPE Get_HD1080p24_to_HD1080i5994_Conversion(
\r
6670 /* [out] */ BOOL *enabled) = 0;
\r
6672 virtual HRESULT STDMETHODCALLTYPE SetVideoInputFormat(
\r
6673 /* [in] */ BMDVideoConnection_v7_6 videoInputFormat) = 0;
\r
6675 virtual HRESULT STDMETHODCALLTYPE GetVideoInputFormat(
\r
6676 /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat) = 0;
\r
6678 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoInputFlags(
\r
6679 /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0;
\r
6681 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoInputFlags(
\r
6682 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
\r
6684 virtual HRESULT STDMETHODCALLTYPE SetVideoInputConversionMode(
\r
6685 /* [in] */ BMDVideoInputConversionMode conversionMode) = 0;
\r
6687 virtual HRESULT STDMETHODCALLTYPE GetVideoInputConversionMode(
\r
6688 /* [out] */ BMDVideoInputConversionMode *conversionMode) = 0;
\r
6690 virtual HRESULT STDMETHODCALLTYPE SetBlackVideoOutputDuringCapture(
\r
6691 /* [in] */ BOOL blackOutInCapture) = 0;
\r
6693 virtual HRESULT STDMETHODCALLTYPE GetBlackVideoOutputDuringCapture(
\r
6694 /* [out] */ BOOL *blackOutInCapture) = 0;
\r
6696 virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame(
\r
6697 /* [in] */ unsigned long aFrameTimecode) = 0;
\r
6699 virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame(
\r
6700 /* [out] */ unsigned long *aFrameTimecode) = 0;
\r
6702 virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping(
\r
6703 /* [in] */ unsigned long activeLine1VANCsource,
\r
6704 /* [in] */ unsigned long activeLine2VANCsource,
\r
6705 /* [in] */ unsigned long activeLine3VANCsource) = 0;
\r
6707 virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping(
\r
6708 /* [out] */ unsigned long *activeLine1VANCsource,
\r
6709 /* [out] */ unsigned long *activeLine2VANCsource,
\r
6710 /* [out] */ unsigned long *activeLine3VANCsource) = 0;
\r
6712 virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat(
\r
6713 /* [in] */ BMDAudioConnection audioInputFormat) = 0;
\r
6715 virtual HRESULT STDMETHODCALLTYPE GetAudioInputFormat(
\r
6716 /* [out] */ BMDAudioConnection *audioInputFormat) = 0;
\r
6720 #else /* C style interface */
\r
6722 typedef struct IDeckLinkConfiguration_v7_6Vtbl
\r
6726 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6727 IDeckLinkConfiguration_v7_6 * This,
\r
6728 /* [in] */ REFIID riid,
\r
6729 /* [annotation][iid_is][out] */
\r
6730 __RPC__deref_out void **ppvObject);
\r
6732 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6733 IDeckLinkConfiguration_v7_6 * This);
\r
6735 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6736 IDeckLinkConfiguration_v7_6 * This);
\r
6738 HRESULT ( STDMETHODCALLTYPE *GetConfigurationValidator )(
\r
6739 IDeckLinkConfiguration_v7_6 * This,
\r
6740 /* [out] */ IDeckLinkConfiguration_v7_6 **configObject);
\r
6742 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )(
\r
6743 IDeckLinkConfiguration_v7_6 * This);
\r
6745 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFormat )(
\r
6746 IDeckLinkConfiguration_v7_6 * This,
\r
6747 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection);
\r
6749 HRESULT ( STDMETHODCALLTYPE *IsVideoOutputActive )(
\r
6750 IDeckLinkConfiguration_v7_6 * This,
\r
6751 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection,
\r
6752 /* [out] */ BOOL *active);
\r
6754 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoOutputFlags )(
\r
6755 IDeckLinkConfiguration_v7_6 * This,
\r
6756 /* [in] */ BMDAnalogVideoFlags analogVideoFlags);
\r
6758 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoOutputFlags )(
\r
6759 IDeckLinkConfiguration_v7_6 * This,
\r
6760 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
\r
6762 HRESULT ( STDMETHODCALLTYPE *EnableFieldFlickerRemovalWhenPaused )(
\r
6763 IDeckLinkConfiguration_v7_6 * This,
\r
6764 /* [in] */ BOOL enable);
\r
6766 HRESULT ( STDMETHODCALLTYPE *IsEnabledFieldFlickerRemovalWhenPaused )(
\r
6767 IDeckLinkConfiguration_v7_6 * This,
\r
6768 /* [out] */ BOOL *enabled);
\r
6770 HRESULT ( STDMETHODCALLTYPE *Set444And3GBpsVideoOutput )(
\r
6771 IDeckLinkConfiguration_v7_6 * This,
\r
6772 /* [in] */ BOOL enable444VideoOutput,
\r
6773 /* [in] */ BOOL enable3GbsOutput);
\r
6775 HRESULT ( STDMETHODCALLTYPE *Get444And3GBpsVideoOutput )(
\r
6776 IDeckLinkConfiguration_v7_6 * This,
\r
6777 /* [out] */ BOOL *is444VideoOutputEnabled,
\r
6778 /* [out] */ BOOL *threeGbsOutputEnabled);
\r
6780 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputConversionMode )(
\r
6781 IDeckLinkConfiguration_v7_6 * This,
\r
6782 /* [in] */ BMDVideoOutputConversionMode conversionMode);
\r
6784 HRESULT ( STDMETHODCALLTYPE *GetVideoOutputConversionMode )(
\r
6785 IDeckLinkConfiguration_v7_6 * This,
\r
6786 /* [out] */ BMDVideoOutputConversionMode *conversionMode);
\r
6788 HRESULT ( STDMETHODCALLTYPE *Set_HD1080p24_to_HD1080i5994_Conversion )(
\r
6789 IDeckLinkConfiguration_v7_6 * This,
\r
6790 /* [in] */ BOOL enable);
\r
6792 HRESULT ( STDMETHODCALLTYPE *Get_HD1080p24_to_HD1080i5994_Conversion )(
\r
6793 IDeckLinkConfiguration_v7_6 * This,
\r
6794 /* [out] */ BOOL *enabled);
\r
6796 HRESULT ( STDMETHODCALLTYPE *SetVideoInputFormat )(
\r
6797 IDeckLinkConfiguration_v7_6 * This,
\r
6798 /* [in] */ BMDVideoConnection_v7_6 videoInputFormat);
\r
6800 HRESULT ( STDMETHODCALLTYPE *GetVideoInputFormat )(
\r
6801 IDeckLinkConfiguration_v7_6 * This,
\r
6802 /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat);
\r
6804 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoInputFlags )(
\r
6805 IDeckLinkConfiguration_v7_6 * This,
\r
6806 /* [in] */ BMDAnalogVideoFlags analogVideoFlags);
\r
6808 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoInputFlags )(
\r
6809 IDeckLinkConfiguration_v7_6 * This,
\r
6810 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
\r
6812 HRESULT ( STDMETHODCALLTYPE *SetVideoInputConversionMode )(
\r
6813 IDeckLinkConfiguration_v7_6 * This,
\r
6814 /* [in] */ BMDVideoInputConversionMode conversionMode);
\r
6816 HRESULT ( STDMETHODCALLTYPE *GetVideoInputConversionMode )(
\r
6817 IDeckLinkConfiguration_v7_6 * This,
\r
6818 /* [out] */ BMDVideoInputConversionMode *conversionMode);
\r
6820 HRESULT ( STDMETHODCALLTYPE *SetBlackVideoOutputDuringCapture )(
\r
6821 IDeckLinkConfiguration_v7_6 * This,
\r
6822 /* [in] */ BOOL blackOutInCapture);
\r
6824 HRESULT ( STDMETHODCALLTYPE *GetBlackVideoOutputDuringCapture )(
\r
6825 IDeckLinkConfiguration_v7_6 * This,
\r
6826 /* [out] */ BOOL *blackOutInCapture);
\r
6828 HRESULT ( STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame )(
\r
6829 IDeckLinkConfiguration_v7_6 * This,
\r
6830 /* [in] */ unsigned long aFrameTimecode);
\r
6832 HRESULT ( STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame )(
\r
6833 IDeckLinkConfiguration_v7_6 * This,
\r
6834 /* [out] */ unsigned long *aFrameTimecode);
\r
6836 HRESULT ( STDMETHODCALLTYPE *SetVancSourceLineMapping )(
\r
6837 IDeckLinkConfiguration_v7_6 * This,
\r
6838 /* [in] */ unsigned long activeLine1VANCsource,
\r
6839 /* [in] */ unsigned long activeLine2VANCsource,
\r
6840 /* [in] */ unsigned long activeLine3VANCsource);
\r
6842 HRESULT ( STDMETHODCALLTYPE *GetVancSourceLineMapping )(
\r
6843 IDeckLinkConfiguration_v7_6 * This,
\r
6844 /* [out] */ unsigned long *activeLine1VANCsource,
\r
6845 /* [out] */ unsigned long *activeLine2VANCsource,
\r
6846 /* [out] */ unsigned long *activeLine3VANCsource);
\r
6848 HRESULT ( STDMETHODCALLTYPE *SetAudioInputFormat )(
\r
6849 IDeckLinkConfiguration_v7_6 * This,
\r
6850 /* [in] */ BMDAudioConnection audioInputFormat);
\r
6852 HRESULT ( STDMETHODCALLTYPE *GetAudioInputFormat )(
\r
6853 IDeckLinkConfiguration_v7_6 * This,
\r
6854 /* [out] */ BMDAudioConnection *audioInputFormat);
\r
6857 } IDeckLinkConfiguration_v7_6Vtbl;
\r
6859 interface IDeckLinkConfiguration_v7_6
\r
6861 CONST_VTBL struct IDeckLinkConfiguration_v7_6Vtbl *lpVtbl;
\r
6869 #define IDeckLinkConfiguration_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6870 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6872 #define IDeckLinkConfiguration_v7_6_AddRef(This) \
\r
6873 ( (This)->lpVtbl -> AddRef(This) )
\r
6875 #define IDeckLinkConfiguration_v7_6_Release(This) \
\r
6876 ( (This)->lpVtbl -> Release(This) )
\r
6879 #define IDeckLinkConfiguration_v7_6_GetConfigurationValidator(This,configObject) \
\r
6880 ( (This)->lpVtbl -> GetConfigurationValidator(This,configObject) )
\r
6882 #define IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(This) \
\r
6883 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) )
\r
6885 #define IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(This,videoOutputConnection) \
\r
6886 ( (This)->lpVtbl -> SetVideoOutputFormat(This,videoOutputConnection) )
\r
6888 #define IDeckLinkConfiguration_v7_6_IsVideoOutputActive(This,videoOutputConnection,active) \
\r
6889 ( (This)->lpVtbl -> IsVideoOutputActive(This,videoOutputConnection,active) )
\r
6891 #define IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(This,analogVideoFlags) \
\r
6892 ( (This)->lpVtbl -> SetAnalogVideoOutputFlags(This,analogVideoFlags) )
\r
6894 #define IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(This,analogVideoFlags) \
\r
6895 ( (This)->lpVtbl -> GetAnalogVideoOutputFlags(This,analogVideoFlags) )
\r
6897 #define IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(This,enable) \
\r
6898 ( (This)->lpVtbl -> EnableFieldFlickerRemovalWhenPaused(This,enable) )
\r
6900 #define IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) \
\r
6901 ( (This)->lpVtbl -> IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) )
\r
6903 #define IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) \
\r
6904 ( (This)->lpVtbl -> Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) )
\r
6906 #define IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) \
\r
6907 ( (This)->lpVtbl -> Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) )
\r
6909 #define IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(This,conversionMode) \
\r
6910 ( (This)->lpVtbl -> SetVideoOutputConversionMode(This,conversionMode) )
\r
6912 #define IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(This,conversionMode) \
\r
6913 ( (This)->lpVtbl -> GetVideoOutputConversionMode(This,conversionMode) )
\r
6915 #define IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) \
\r
6916 ( (This)->lpVtbl -> Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) )
\r
6918 #define IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) \
\r
6919 ( (This)->lpVtbl -> Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) )
\r
6921 #define IDeckLinkConfiguration_v7_6_SetVideoInputFormat(This,videoInputFormat) \
\r
6922 ( (This)->lpVtbl -> SetVideoInputFormat(This,videoInputFormat) )
\r
6924 #define IDeckLinkConfiguration_v7_6_GetVideoInputFormat(This,videoInputFormat) \
\r
6925 ( (This)->lpVtbl -> GetVideoInputFormat(This,videoInputFormat) )
\r
6927 #define IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(This,analogVideoFlags) \
\r
6928 ( (This)->lpVtbl -> SetAnalogVideoInputFlags(This,analogVideoFlags) )
\r
6930 #define IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(This,analogVideoFlags) \
\r
6931 ( (This)->lpVtbl -> GetAnalogVideoInputFlags(This,analogVideoFlags) )
\r
6933 #define IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(This,conversionMode) \
\r
6934 ( (This)->lpVtbl -> SetVideoInputConversionMode(This,conversionMode) )
\r
6936 #define IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(This,conversionMode) \
\r
6937 ( (This)->lpVtbl -> GetVideoInputConversionMode(This,conversionMode) )
\r
6939 #define IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
\r
6940 ( (This)->lpVtbl -> SetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
\r
6942 #define IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
\r
6943 ( (This)->lpVtbl -> GetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
\r
6945 #define IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
\r
6946 ( (This)->lpVtbl -> Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
\r
6948 #define IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
\r
6949 ( (This)->lpVtbl -> Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
\r
6951 #define IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
\r
6952 ( (This)->lpVtbl -> SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
\r
6954 #define IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
\r
6955 ( (This)->lpVtbl -> GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
\r
6957 #define IDeckLinkConfiguration_v7_6_SetAudioInputFormat(This,audioInputFormat) \
\r
6958 ( (This)->lpVtbl -> SetAudioInputFormat(This,audioInputFormat) )
\r
6960 #define IDeckLinkConfiguration_v7_6_GetAudioInputFormat(This,audioInputFormat) \
\r
6961 ( (This)->lpVtbl -> GetAudioInputFormat(This,audioInputFormat) )
\r
6963 #endif /* COBJMACROS */
\r
6966 #endif /* C style interface */
\r
6971 #endif /* __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ */
\r
6974 #ifndef __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__
\r
6975 #define __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__
\r
6977 /* interface IDeckLinkVideoOutputCallback_v7_6 */
\r
6978 /* [helpstring][uuid][object] */
\r
6981 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_6;
\r
6983 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6985 MIDL_INTERFACE("E763A626-4A3C-49D1-BF13-E7AD3692AE52")
\r
6986 IDeckLinkVideoOutputCallback_v7_6 : public IUnknown
\r
6989 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
\r
6990 /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame,
\r
6991 /* [in] */ BMDOutputFrameCompletionResult result) = 0;
\r
6993 virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0;
\r
6997 #else /* C style interface */
\r
6999 typedef struct IDeckLinkVideoOutputCallback_v7_6Vtbl
\r
7003 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7004 IDeckLinkVideoOutputCallback_v7_6 * This,
\r
7005 /* [in] */ REFIID riid,
\r
7006 /* [annotation][iid_is][out] */
\r
7007 __RPC__deref_out void **ppvObject);
\r
7009 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7010 IDeckLinkVideoOutputCallback_v7_6 * This);
\r
7012 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7013 IDeckLinkVideoOutputCallback_v7_6 * This);
\r
7015 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
\r
7016 IDeckLinkVideoOutputCallback_v7_6 * This,
\r
7017 /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame,
\r
7018 /* [in] */ BMDOutputFrameCompletionResult result);
\r
7020 HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )(
\r
7021 IDeckLinkVideoOutputCallback_v7_6 * This);
\r
7024 } IDeckLinkVideoOutputCallback_v7_6Vtbl;
\r
7026 interface IDeckLinkVideoOutputCallback_v7_6
\r
7028 CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_6Vtbl *lpVtbl;
\r
7036 #define IDeckLinkVideoOutputCallback_v7_6_QueryInterface(This,riid,ppvObject) \
\r
7037 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7039 #define IDeckLinkVideoOutputCallback_v7_6_AddRef(This) \
\r
7040 ( (This)->lpVtbl -> AddRef(This) )
\r
7042 #define IDeckLinkVideoOutputCallback_v7_6_Release(This) \
\r
7043 ( (This)->lpVtbl -> Release(This) )
\r
7046 #define IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(This,completedFrame,result) \
\r
7047 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
\r
7049 #define IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(This) \
\r
7050 ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) )
\r
7052 #endif /* COBJMACROS */
\r
7055 #endif /* C style interface */
\r
7060 #endif /* __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ */
\r
7063 #ifndef __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__
\r
7064 #define __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__
\r
7066 /* interface IDeckLinkInputCallback_v7_6 */
\r
7067 /* [helpstring][uuid][object] */
\r
7070 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_6;
\r
7072 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7074 MIDL_INTERFACE("31D28EE7-88B6-4CB1-897A-CDBF79A26414")
\r
7075 IDeckLinkInputCallback_v7_6 : public IUnknown
\r
7078 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
\r
7079 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
7080 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
7081 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
\r
7083 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
7084 /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame,
\r
7085 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
\r
7089 #else /* C style interface */
\r
7091 typedef struct IDeckLinkInputCallback_v7_6Vtbl
\r
7095 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7096 IDeckLinkInputCallback_v7_6 * This,
\r
7097 /* [in] */ REFIID riid,
\r
7098 /* [annotation][iid_is][out] */
\r
7099 __RPC__deref_out void **ppvObject);
\r
7101 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7102 IDeckLinkInputCallback_v7_6 * This);
\r
7104 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7105 IDeckLinkInputCallback_v7_6 * This);
\r
7107 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
\r
7108 IDeckLinkInputCallback_v7_6 * This,
\r
7109 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
7110 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
7111 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
\r
7113 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
7114 IDeckLinkInputCallback_v7_6 * This,
\r
7115 /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame,
\r
7116 /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
\r
7119 } IDeckLinkInputCallback_v7_6Vtbl;
\r
7121 interface IDeckLinkInputCallback_v7_6
\r
7123 CONST_VTBL struct IDeckLinkInputCallback_v7_6Vtbl *lpVtbl;
\r
7131 #define IDeckLinkInputCallback_v7_6_QueryInterface(This,riid,ppvObject) \
\r
7132 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7134 #define IDeckLinkInputCallback_v7_6_AddRef(This) \
\r
7135 ( (This)->lpVtbl -> AddRef(This) )
\r
7137 #define IDeckLinkInputCallback_v7_6_Release(This) \
\r
7138 ( (This)->lpVtbl -> Release(This) )
\r
7141 #define IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
\r
7142 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
\r
7144 #define IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
7145 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
7147 #endif /* COBJMACROS */
\r
7150 #endif /* C style interface */
\r
7155 #endif /* __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ */
\r
7158 EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper_v7_6;
\r
7160 #ifdef __cplusplus
\r
7162 class DECLSPEC_UUID("D398CEE7-4434-4CA3-9BA6-5AE34556B905")
\r
7163 CDeckLinkGLScreenPreviewHelper_v7_6;
\r
7166 EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion_v7_6;
\r
7168 #ifdef __cplusplus
\r
7170 class DECLSPEC_UUID("FFA84F77-73BE-4FB7-B03E-B5E44B9F759B")
\r
7171 CDeckLinkVideoConversion_v7_6;
\r
7174 #ifndef __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
\r
7175 #define __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
\r
7177 /* interface IDeckLinkInputCallback_v7_3 */
\r
7178 /* [helpstring][uuid][object] */
\r
7181 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_3;
\r
7183 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7185 MIDL_INTERFACE("FD6F311D-4D00-444B-9ED4-1F25B5730AD0")
\r
7186 IDeckLinkInputCallback_v7_3 : public IUnknown
\r
7189 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
\r
7190 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
7191 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
7192 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
\r
7194 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
7195 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
\r
7196 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
\r
7200 #else /* C style interface */
\r
7202 typedef struct IDeckLinkInputCallback_v7_3Vtbl
\r
7206 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7207 IDeckLinkInputCallback_v7_3 * This,
\r
7208 /* [in] */ REFIID riid,
\r
7209 /* [annotation][iid_is][out] */
\r
7210 __RPC__deref_out void **ppvObject);
\r
7212 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7213 IDeckLinkInputCallback_v7_3 * This);
\r
7215 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7216 IDeckLinkInputCallback_v7_3 * This);
\r
7218 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
\r
7219 IDeckLinkInputCallback_v7_3 * This,
\r
7220 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
7221 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
7222 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
\r
7224 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
7225 IDeckLinkInputCallback_v7_3 * This,
\r
7226 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
\r
7227 /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
\r
7230 } IDeckLinkInputCallback_v7_3Vtbl;
\r
7232 interface IDeckLinkInputCallback_v7_3
\r
7234 CONST_VTBL struct IDeckLinkInputCallback_v7_3Vtbl *lpVtbl;
\r
7242 #define IDeckLinkInputCallback_v7_3_QueryInterface(This,riid,ppvObject) \
\r
7243 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7245 #define IDeckLinkInputCallback_v7_3_AddRef(This) \
\r
7246 ( (This)->lpVtbl -> AddRef(This) )
\r
7248 #define IDeckLinkInputCallback_v7_3_Release(This) \
\r
7249 ( (This)->lpVtbl -> Release(This) )
\r
7252 #define IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
\r
7253 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
\r
7255 #define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
7256 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
7258 #endif /* COBJMACROS */
\r
7261 #endif /* C style interface */
\r
7266 #endif /* __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ */
\r
7269 #ifndef __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
\r
7270 #define __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
\r
7272 /* interface IDeckLinkOutput_v7_3 */
\r
7273 /* [helpstring][local][uuid][object] */
\r
7276 EXTERN_C const IID IID_IDeckLinkOutput_v7_3;
\r
7278 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7280 MIDL_INTERFACE("271C65E3-C323-4344-A30F-D908BCB20AA3")
\r
7281 IDeckLinkOutput_v7_3 : public IUnknown
\r
7284 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
7285 BMDDisplayMode displayMode,
\r
7286 BMDPixelFormat pixelFormat,
\r
7287 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
7289 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
7290 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
7292 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
7293 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
7295 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
7296 BMDDisplayMode displayMode,
\r
7297 BMDVideoOutputFlags flags) = 0;
\r
7299 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
7301 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
7302 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
7304 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
7308 BMDPixelFormat pixelFormat,
\r
7309 BMDFrameFlags flags,
\r
7310 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;
\r
7312 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
\r
7313 BMDPixelFormat pixelFormat,
\r
7314 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
\r
7316 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
7317 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
7319 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
7320 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
7321 BMDTimeValue displayTime,
\r
7322 BMDTimeValue displayDuration,
\r
7323 BMDTimeScale timeScale) = 0;
\r
7325 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
7326 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;
\r
7328 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
\r
7329 /* [out] */ unsigned long *bufferedFrameCount) = 0;
\r
7331 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
7332 BMDAudioSampleRate sampleRate,
\r
7333 BMDAudioSampleType sampleType,
\r
7334 unsigned long channelCount,
\r
7335 BMDAudioOutputStreamType streamType) = 0;
\r
7337 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
7339 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
7340 /* [in] */ void *buffer,
\r
7341 unsigned long sampleFrameCount,
\r
7342 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
7344 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
7346 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
7348 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
7349 /* [in] */ void *buffer,
\r
7350 unsigned long sampleFrameCount,
\r
7351 BMDTimeValue streamTime,
\r
7352 BMDTimeScale timeScale,
\r
7353 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
7355 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
7356 /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
\r
7358 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
7360 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
7361 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
7363 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
7364 BMDTimeValue playbackStartTime,
\r
7365 BMDTimeScale timeScale,
\r
7366 double playbackSpeed) = 0;
\r
7368 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
7369 BMDTimeValue stopPlaybackAtTime,
\r
7370 /* [out] */ BMDTimeValue *actualStopTime,
\r
7371 BMDTimeScale timeScale) = 0;
\r
7373 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
\r
7374 /* [out] */ BOOL *active) = 0;
\r
7376 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
7377 BMDTimeScale desiredTimeScale,
\r
7378 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
\r
7382 #else /* C style interface */
\r
7384 typedef struct IDeckLinkOutput_v7_3Vtbl
\r
7388 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7389 IDeckLinkOutput_v7_3 * This,
\r
7390 /* [in] */ REFIID riid,
\r
7391 /* [annotation][iid_is][out] */
\r
7392 __RPC__deref_out void **ppvObject);
\r
7394 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7395 IDeckLinkOutput_v7_3 * This);
\r
7397 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7398 IDeckLinkOutput_v7_3 * This);
\r
7400 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
7401 IDeckLinkOutput_v7_3 * This,
\r
7402 BMDDisplayMode displayMode,
\r
7403 BMDPixelFormat pixelFormat,
\r
7404 /* [out] */ BMDDisplayModeSupport *result);
\r
7406 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
7407 IDeckLinkOutput_v7_3 * This,
\r
7408 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
7410 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
7411 IDeckLinkOutput_v7_3 * This,
\r
7412 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
7414 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
7415 IDeckLinkOutput_v7_3 * This,
\r
7416 BMDDisplayMode displayMode,
\r
7417 BMDVideoOutputFlags flags);
\r
7419 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
7420 IDeckLinkOutput_v7_3 * This);
\r
7422 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
7423 IDeckLinkOutput_v7_3 * This,
\r
7424 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
7426 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
7427 IDeckLinkOutput_v7_3 * This,
\r
7431 BMDPixelFormat pixelFormat,
\r
7432 BMDFrameFlags flags,
\r
7433 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame);
\r
7435 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
\r
7436 IDeckLinkOutput_v7_3 * This,
\r
7437 BMDPixelFormat pixelFormat,
\r
7438 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
\r
7440 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
7441 IDeckLinkOutput_v7_3 * This,
\r
7442 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
7444 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
7445 IDeckLinkOutput_v7_3 * This,
\r
7446 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
7447 BMDTimeValue displayTime,
\r
7448 BMDTimeValue displayDuration,
\r
7449 BMDTimeScale timeScale);
\r
7451 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
7452 IDeckLinkOutput_v7_3 * This,
\r
7453 /* [in] */ IDeckLinkVideoOutputCallback *theCallback);
\r
7455 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
\r
7456 IDeckLinkOutput_v7_3 * This,
\r
7457 /* [out] */ unsigned long *bufferedFrameCount);
\r
7459 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
7460 IDeckLinkOutput_v7_3 * This,
\r
7461 BMDAudioSampleRate sampleRate,
\r
7462 BMDAudioSampleType sampleType,
\r
7463 unsigned long channelCount,
\r
7464 BMDAudioOutputStreamType streamType);
\r
7466 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
7467 IDeckLinkOutput_v7_3 * This);
\r
7469 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
7470 IDeckLinkOutput_v7_3 * This,
\r
7471 /* [in] */ void *buffer,
\r
7472 unsigned long sampleFrameCount,
\r
7473 /* [out] */ unsigned long *sampleFramesWritten);
\r
7475 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
7476 IDeckLinkOutput_v7_3 * This);
\r
7478 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
7479 IDeckLinkOutput_v7_3 * This);
\r
7481 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
7482 IDeckLinkOutput_v7_3 * This,
\r
7483 /* [in] */ void *buffer,
\r
7484 unsigned long sampleFrameCount,
\r
7485 BMDTimeValue streamTime,
\r
7486 BMDTimeScale timeScale,
\r
7487 /* [out] */ unsigned long *sampleFramesWritten);
\r
7489 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
7490 IDeckLinkOutput_v7_3 * This,
\r
7491 /* [out] */ unsigned long *bufferedSampleFrameCount);
\r
7493 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
7494 IDeckLinkOutput_v7_3 * This);
\r
7496 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
7497 IDeckLinkOutput_v7_3 * This,
\r
7498 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
7500 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
7501 IDeckLinkOutput_v7_3 * This,
\r
7502 BMDTimeValue playbackStartTime,
\r
7503 BMDTimeScale timeScale,
\r
7504 double playbackSpeed);
\r
7506 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
7507 IDeckLinkOutput_v7_3 * This,
\r
7508 BMDTimeValue stopPlaybackAtTime,
\r
7509 /* [out] */ BMDTimeValue *actualStopTime,
\r
7510 BMDTimeScale timeScale);
\r
7512 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
\r
7513 IDeckLinkOutput_v7_3 * This,
\r
7514 /* [out] */ BOOL *active);
\r
7516 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
7517 IDeckLinkOutput_v7_3 * This,
\r
7518 BMDTimeScale desiredTimeScale,
\r
7519 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan);
\r
7522 } IDeckLinkOutput_v7_3Vtbl;
\r
7524 interface IDeckLinkOutput_v7_3
\r
7526 CONST_VTBL struct IDeckLinkOutput_v7_3Vtbl *lpVtbl;
\r
7534 #define IDeckLinkOutput_v7_3_QueryInterface(This,riid,ppvObject) \
\r
7535 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7537 #define IDeckLinkOutput_v7_3_AddRef(This) \
\r
7538 ( (This)->lpVtbl -> AddRef(This) )
\r
7540 #define IDeckLinkOutput_v7_3_Release(This) \
\r
7541 ( (This)->lpVtbl -> Release(This) )
\r
7544 #define IDeckLinkOutput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
7545 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
7547 #define IDeckLinkOutput_v7_3_GetDisplayModeIterator(This,iterator) \
\r
7548 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
7550 #define IDeckLinkOutput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
\r
7551 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
7553 #define IDeckLinkOutput_v7_3_EnableVideoOutput(This,displayMode,flags) \
\r
7554 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
\r
7556 #define IDeckLinkOutput_v7_3_DisableVideoOutput(This) \
\r
7557 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
7559 #define IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
7560 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
7562 #define IDeckLinkOutput_v7_3_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
7563 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
7565 #define IDeckLinkOutput_v7_3_CreateAncillaryData(This,pixelFormat,outBuffer) \
\r
7566 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
\r
7568 #define IDeckLinkOutput_v7_3_DisplayVideoFrameSync(This,theFrame) \
\r
7569 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
7571 #define IDeckLinkOutput_v7_3_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
7572 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
7574 #define IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
7575 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
7577 #define IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
\r
7578 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
\r
7580 #define IDeckLinkOutput_v7_3_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
\r
7581 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
\r
7583 #define IDeckLinkOutput_v7_3_DisableAudioOutput(This) \
\r
7584 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
7586 #define IDeckLinkOutput_v7_3_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
7587 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
7589 #define IDeckLinkOutput_v7_3_BeginAudioPreroll(This) \
\r
7590 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
7592 #define IDeckLinkOutput_v7_3_EndAudioPreroll(This) \
\r
7593 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
7595 #define IDeckLinkOutput_v7_3_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
7596 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
7598 #define IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
\r
7599 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
\r
7601 #define IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(This) \
\r
7602 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
7604 #define IDeckLinkOutput_v7_3_SetAudioCallback(This,theCallback) \
\r
7605 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
7607 #define IDeckLinkOutput_v7_3_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
7608 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
7610 #define IDeckLinkOutput_v7_3_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
7611 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
7613 #define IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(This,active) \
\r
7614 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
\r
7616 #define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
\r
7617 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) )
\r
7619 #endif /* COBJMACROS */
\r
7622 #endif /* C style interface */
\r
7627 #endif /* __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ */
\r
7630 #ifndef __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
\r
7631 #define __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
\r
7633 /* interface IDeckLinkInput_v7_3 */
\r
7634 /* [helpstring][uuid][object] */
\r
7637 EXTERN_C const IID IID_IDeckLinkInput_v7_3;
\r
7639 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7641 MIDL_INTERFACE("4973F012-9925-458C-871C-18774CDBBECB")
\r
7642 IDeckLinkInput_v7_3 : public IUnknown
\r
7645 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
7646 BMDDisplayMode displayMode,
\r
7647 BMDPixelFormat pixelFormat,
\r
7648 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
7650 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
7651 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
7653 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
7654 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
7656 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
7657 BMDDisplayMode displayMode,
\r
7658 BMDPixelFormat pixelFormat,
\r
7659 BMDVideoInputFlags flags) = 0;
\r
7661 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
7663 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
\r
7664 /* [out] */ unsigned long *availableFrameCount) = 0;
\r
7666 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
7667 BMDAudioSampleRate sampleRate,
\r
7668 BMDAudioSampleType sampleType,
\r
7669 unsigned long channelCount) = 0;
\r
7671 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
7673 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
\r
7674 /* [out] */ unsigned long *availableSampleFrameCount) = 0;
\r
7676 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
7678 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
7680 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
7682 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
\r
7684 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
7685 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback) = 0;
\r
7689 #else /* C style interface */
\r
7691 typedef struct IDeckLinkInput_v7_3Vtbl
\r
7695 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7696 IDeckLinkInput_v7_3 * This,
\r
7697 /* [in] */ REFIID riid,
\r
7698 /* [annotation][iid_is][out] */
\r
7699 __RPC__deref_out void **ppvObject);
\r
7701 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7702 IDeckLinkInput_v7_3 * This);
\r
7704 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7705 IDeckLinkInput_v7_3 * This);
\r
7707 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
7708 IDeckLinkInput_v7_3 * This,
\r
7709 BMDDisplayMode displayMode,
\r
7710 BMDPixelFormat pixelFormat,
\r
7711 /* [out] */ BMDDisplayModeSupport *result);
\r
7713 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
7714 IDeckLinkInput_v7_3 * This,
\r
7715 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
7717 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
7718 IDeckLinkInput_v7_3 * This,
\r
7719 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
7721 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
7722 IDeckLinkInput_v7_3 * This,
\r
7723 BMDDisplayMode displayMode,
\r
7724 BMDPixelFormat pixelFormat,
\r
7725 BMDVideoInputFlags flags);
\r
7727 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
7728 IDeckLinkInput_v7_3 * This);
\r
7730 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
\r
7731 IDeckLinkInput_v7_3 * This,
\r
7732 /* [out] */ unsigned long *availableFrameCount);
\r
7734 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
7735 IDeckLinkInput_v7_3 * This,
\r
7736 BMDAudioSampleRate sampleRate,
\r
7737 BMDAudioSampleType sampleType,
\r
7738 unsigned long channelCount);
\r
7740 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
7741 IDeckLinkInput_v7_3 * This);
\r
7743 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
\r
7744 IDeckLinkInput_v7_3 * This,
\r
7745 /* [out] */ unsigned long *availableSampleFrameCount);
\r
7747 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
7748 IDeckLinkInput_v7_3 * This);
\r
7750 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
7751 IDeckLinkInput_v7_3 * This);
\r
7753 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
7754 IDeckLinkInput_v7_3 * This);
\r
7756 HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
\r
7757 IDeckLinkInput_v7_3 * This);
\r
7759 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
7760 IDeckLinkInput_v7_3 * This,
\r
7761 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback);
\r
7764 } IDeckLinkInput_v7_3Vtbl;
\r
7766 interface IDeckLinkInput_v7_3
\r
7768 CONST_VTBL struct IDeckLinkInput_v7_3Vtbl *lpVtbl;
\r
7776 #define IDeckLinkInput_v7_3_QueryInterface(This,riid,ppvObject) \
\r
7777 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7779 #define IDeckLinkInput_v7_3_AddRef(This) \
\r
7780 ( (This)->lpVtbl -> AddRef(This) )
\r
7782 #define IDeckLinkInput_v7_3_Release(This) \
\r
7783 ( (This)->lpVtbl -> Release(This) )
\r
7786 #define IDeckLinkInput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
7787 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
7789 #define IDeckLinkInput_v7_3_GetDisplayModeIterator(This,iterator) \
\r
7790 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
7792 #define IDeckLinkInput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
\r
7793 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
7795 #define IDeckLinkInput_v7_3_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
7796 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
7798 #define IDeckLinkInput_v7_3_DisableVideoInput(This) \
\r
7799 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
7801 #define IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(This,availableFrameCount) \
\r
7802 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
\r
7804 #define IDeckLinkInput_v7_3_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
7805 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
7807 #define IDeckLinkInput_v7_3_DisableAudioInput(This) \
\r
7808 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
7810 #define IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
\r
7811 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
\r
7813 #define IDeckLinkInput_v7_3_StartStreams(This) \
\r
7814 ( (This)->lpVtbl -> StartStreams(This) )
\r
7816 #define IDeckLinkInput_v7_3_StopStreams(This) \
\r
7817 ( (This)->lpVtbl -> StopStreams(This) )
\r
7819 #define IDeckLinkInput_v7_3_PauseStreams(This) \
\r
7820 ( (This)->lpVtbl -> PauseStreams(This) )
\r
7822 #define IDeckLinkInput_v7_3_FlushStreams(This) \
\r
7823 ( (This)->lpVtbl -> FlushStreams(This) )
\r
7825 #define IDeckLinkInput_v7_3_SetCallback(This,theCallback) \
\r
7826 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
7828 #endif /* COBJMACROS */
\r
7831 #endif /* C style interface */
\r
7836 #endif /* __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ */
\r
7839 #ifndef __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
\r
7840 #define __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
\r
7842 /* interface IDeckLinkVideoInputFrame_v7_3 */
\r
7843 /* [helpstring][local][uuid][object] */
\r
7846 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_3;
\r
7848 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7850 MIDL_INTERFACE("CF317790-2894-11DE-8C30-0800200C9A66")
\r
7851 IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame_v7_6
\r
7854 virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
\r
7855 /* [out] */ BMDTimeValue *frameTime,
\r
7856 /* [out] */ BMDTimeValue *frameDuration,
\r
7857 BMDTimeScale timeScale) = 0;
\r
7861 #else /* C style interface */
\r
7863 typedef struct IDeckLinkVideoInputFrame_v7_3Vtbl
\r
7867 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7868 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7869 /* [in] */ REFIID riid,
\r
7870 /* [annotation][iid_is][out] */
\r
7871 __RPC__deref_out void **ppvObject);
\r
7873 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7874 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7876 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7877 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7879 long ( STDMETHODCALLTYPE *GetWidth )(
\r
7880 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7882 long ( STDMETHODCALLTYPE *GetHeight )(
\r
7883 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7885 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
7886 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7888 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
7889 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7891 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
7892 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7894 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
7895 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7896 /* [out] */ void **buffer);
\r
7898 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
7899 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7900 BMDTimecodeFormat format,
\r
7901 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
7903 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
7904 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7905 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
7907 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
\r
7908 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7909 /* [out] */ BMDTimeValue *frameTime,
\r
7910 /* [out] */ BMDTimeValue *frameDuration,
\r
7911 BMDTimeScale timeScale);
\r
7914 } IDeckLinkVideoInputFrame_v7_3Vtbl;
\r
7916 interface IDeckLinkVideoInputFrame_v7_3
\r
7918 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_3Vtbl *lpVtbl;
\r
7926 #define IDeckLinkVideoInputFrame_v7_3_QueryInterface(This,riid,ppvObject) \
\r
7927 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7929 #define IDeckLinkVideoInputFrame_v7_3_AddRef(This) \
\r
7930 ( (This)->lpVtbl -> AddRef(This) )
\r
7932 #define IDeckLinkVideoInputFrame_v7_3_Release(This) \
\r
7933 ( (This)->lpVtbl -> Release(This) )
\r
7936 #define IDeckLinkVideoInputFrame_v7_3_GetWidth(This) \
\r
7937 ( (This)->lpVtbl -> GetWidth(This) )
\r
7939 #define IDeckLinkVideoInputFrame_v7_3_GetHeight(This) \
\r
7940 ( (This)->lpVtbl -> GetHeight(This) )
\r
7942 #define IDeckLinkVideoInputFrame_v7_3_GetRowBytes(This) \
\r
7943 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
7945 #define IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(This) \
\r
7946 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
7948 #define IDeckLinkVideoInputFrame_v7_3_GetFlags(This) \
\r
7949 ( (This)->lpVtbl -> GetFlags(This) )
\r
7951 #define IDeckLinkVideoInputFrame_v7_3_GetBytes(This,buffer) \
\r
7952 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
7954 #define IDeckLinkVideoInputFrame_v7_3_GetTimecode(This,format,timecode) \
\r
7955 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
7957 #define IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(This,ancillary) \
\r
7958 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
7961 #define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) \
\r
7962 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
\r
7964 #endif /* COBJMACROS */
\r
7967 #endif /* C style interface */
\r
7972 #endif /* __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ */
\r
7975 #ifndef __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
\r
7976 #define __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
\r
7978 /* interface IDeckLinkDisplayModeIterator_v7_1 */
\r
7979 /* [helpstring][uuid][object] */
\r
7982 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_1;
\r
7984 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7986 MIDL_INTERFACE("B28131B6-59AC-4857-B5AC-CD75D5883E2F")
\r
7987 IDeckLinkDisplayModeIterator_v7_1 : public IUnknown
\r
7990 virtual HRESULT STDMETHODCALLTYPE Next(
\r
7991 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) = 0;
\r
7995 #else /* C style interface */
\r
7997 typedef struct IDeckLinkDisplayModeIterator_v7_1Vtbl
\r
8001 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8002 IDeckLinkDisplayModeIterator_v7_1 * This,
\r
8003 /* [in] */ REFIID riid,
\r
8004 /* [annotation][iid_is][out] */
\r
8005 __RPC__deref_out void **ppvObject);
\r
8007 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8008 IDeckLinkDisplayModeIterator_v7_1 * This);
\r
8010 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8011 IDeckLinkDisplayModeIterator_v7_1 * This);
\r
8013 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
8014 IDeckLinkDisplayModeIterator_v7_1 * This,
\r
8015 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode);
\r
8018 } IDeckLinkDisplayModeIterator_v7_1Vtbl;
\r
8020 interface IDeckLinkDisplayModeIterator_v7_1
\r
8022 CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_1Vtbl *lpVtbl;
\r
8030 #define IDeckLinkDisplayModeIterator_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8031 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8033 #define IDeckLinkDisplayModeIterator_v7_1_AddRef(This) \
\r
8034 ( (This)->lpVtbl -> AddRef(This) )
\r
8036 #define IDeckLinkDisplayModeIterator_v7_1_Release(This) \
\r
8037 ( (This)->lpVtbl -> Release(This) )
\r
8040 #define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) \
\r
8041 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
\r
8043 #endif /* COBJMACROS */
\r
8046 #endif /* C style interface */
\r
8051 #endif /* __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ */
\r
8054 #ifndef __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
\r
8055 #define __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
\r
8057 /* interface IDeckLinkDisplayMode_v7_1 */
\r
8058 /* [helpstring][uuid][object] */
\r
8061 EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_1;
\r
8063 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8065 MIDL_INTERFACE("AF0CD6D5-8376-435E-8433-54F9DD530AC3")
\r
8066 IDeckLinkDisplayMode_v7_1 : public IUnknown
\r
8069 virtual HRESULT STDMETHODCALLTYPE GetName(
\r
8070 /* [out] */ BSTR *name) = 0;
\r
8072 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
8074 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
8076 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
8078 virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
\r
8079 /* [out] */ BMDTimeValue *frameDuration,
\r
8080 /* [out] */ BMDTimeScale *timeScale) = 0;
\r
8084 #else /* C style interface */
\r
8086 typedef struct IDeckLinkDisplayMode_v7_1Vtbl
\r
8090 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8091 IDeckLinkDisplayMode_v7_1 * This,
\r
8092 /* [in] */ REFIID riid,
\r
8093 /* [annotation][iid_is][out] */
\r
8094 __RPC__deref_out void **ppvObject);
\r
8096 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8097 IDeckLinkDisplayMode_v7_1 * This);
\r
8099 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8100 IDeckLinkDisplayMode_v7_1 * This);
\r
8102 HRESULT ( STDMETHODCALLTYPE *GetName )(
\r
8103 IDeckLinkDisplayMode_v7_1 * This,
\r
8104 /* [out] */ BSTR *name);
\r
8106 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
8107 IDeckLinkDisplayMode_v7_1 * This);
\r
8109 long ( STDMETHODCALLTYPE *GetWidth )(
\r
8110 IDeckLinkDisplayMode_v7_1 * This);
\r
8112 long ( STDMETHODCALLTYPE *GetHeight )(
\r
8113 IDeckLinkDisplayMode_v7_1 * This);
\r
8115 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
\r
8116 IDeckLinkDisplayMode_v7_1 * This,
\r
8117 /* [out] */ BMDTimeValue *frameDuration,
\r
8118 /* [out] */ BMDTimeScale *timeScale);
\r
8121 } IDeckLinkDisplayMode_v7_1Vtbl;
\r
8123 interface IDeckLinkDisplayMode_v7_1
\r
8125 CONST_VTBL struct IDeckLinkDisplayMode_v7_1Vtbl *lpVtbl;
\r
8133 #define IDeckLinkDisplayMode_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8134 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8136 #define IDeckLinkDisplayMode_v7_1_AddRef(This) \
\r
8137 ( (This)->lpVtbl -> AddRef(This) )
\r
8139 #define IDeckLinkDisplayMode_v7_1_Release(This) \
\r
8140 ( (This)->lpVtbl -> Release(This) )
\r
8143 #define IDeckLinkDisplayMode_v7_1_GetName(This,name) \
\r
8144 ( (This)->lpVtbl -> GetName(This,name) )
\r
8146 #define IDeckLinkDisplayMode_v7_1_GetDisplayMode(This) \
\r
8147 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
8149 #define IDeckLinkDisplayMode_v7_1_GetWidth(This) \
\r
8150 ( (This)->lpVtbl -> GetWidth(This) )
\r
8152 #define IDeckLinkDisplayMode_v7_1_GetHeight(This) \
\r
8153 ( (This)->lpVtbl -> GetHeight(This) )
\r
8155 #define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) \
\r
8156 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
\r
8158 #endif /* COBJMACROS */
\r
8161 #endif /* C style interface */
\r
8166 #endif /* __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ */
\r
8169 #ifndef __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
\r
8170 #define __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
\r
8172 /* interface IDeckLinkVideoFrame_v7_1 */
\r
8173 /* [helpstring][local][uuid][object] */
\r
8176 EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_1;
\r
8178 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8180 MIDL_INTERFACE("333F3A10-8C2D-43CF-B79D-46560FEEA1CE")
\r
8181 IDeckLinkVideoFrame_v7_1 : public IUnknown
\r
8184 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
8186 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
8188 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
\r
8190 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
8192 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
8194 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
8195 void **buffer) = 0;
\r
8199 #else /* C style interface */
\r
8201 typedef struct IDeckLinkVideoFrame_v7_1Vtbl
\r
8205 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8206 IDeckLinkVideoFrame_v7_1 * This,
\r
8207 /* [in] */ REFIID riid,
\r
8208 /* [annotation][iid_is][out] */
\r
8209 __RPC__deref_out void **ppvObject);
\r
8211 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8212 IDeckLinkVideoFrame_v7_1 * This);
\r
8214 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8215 IDeckLinkVideoFrame_v7_1 * This);
\r
8217 long ( STDMETHODCALLTYPE *GetWidth )(
\r
8218 IDeckLinkVideoFrame_v7_1 * This);
\r
8220 long ( STDMETHODCALLTYPE *GetHeight )(
\r
8221 IDeckLinkVideoFrame_v7_1 * This);
\r
8223 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
8224 IDeckLinkVideoFrame_v7_1 * This);
\r
8226 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
8227 IDeckLinkVideoFrame_v7_1 * This);
\r
8229 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
8230 IDeckLinkVideoFrame_v7_1 * This);
\r
8232 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
8233 IDeckLinkVideoFrame_v7_1 * This,
\r
8237 } IDeckLinkVideoFrame_v7_1Vtbl;
\r
8239 interface IDeckLinkVideoFrame_v7_1
\r
8241 CONST_VTBL struct IDeckLinkVideoFrame_v7_1Vtbl *lpVtbl;
\r
8249 #define IDeckLinkVideoFrame_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8250 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8252 #define IDeckLinkVideoFrame_v7_1_AddRef(This) \
\r
8253 ( (This)->lpVtbl -> AddRef(This) )
\r
8255 #define IDeckLinkVideoFrame_v7_1_Release(This) \
\r
8256 ( (This)->lpVtbl -> Release(This) )
\r
8259 #define IDeckLinkVideoFrame_v7_1_GetWidth(This) \
\r
8260 ( (This)->lpVtbl -> GetWidth(This) )
\r
8262 #define IDeckLinkVideoFrame_v7_1_GetHeight(This) \
\r
8263 ( (This)->lpVtbl -> GetHeight(This) )
\r
8265 #define IDeckLinkVideoFrame_v7_1_GetRowBytes(This) \
\r
8266 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
8268 #define IDeckLinkVideoFrame_v7_1_GetPixelFormat(This) \
\r
8269 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
8271 #define IDeckLinkVideoFrame_v7_1_GetFlags(This) \
\r
8272 ( (This)->lpVtbl -> GetFlags(This) )
\r
8274 #define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) \
\r
8275 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
8277 #endif /* COBJMACROS */
\r
8280 #endif /* C style interface */
\r
8285 #endif /* __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ */
\r
8288 #ifndef __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
\r
8289 #define __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
\r
8291 /* interface IDeckLinkVideoInputFrame_v7_1 */
\r
8292 /* [helpstring][local][uuid][object] */
\r
8295 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_1;
\r
8297 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8299 MIDL_INTERFACE("C8B41D95-8848-40EE-9B37-6E3417FB114B")
\r
8300 IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1
\r
8303 virtual HRESULT STDMETHODCALLTYPE GetFrameTime(
\r
8304 BMDTimeValue *frameTime,
\r
8305 BMDTimeValue *frameDuration,
\r
8306 BMDTimeScale timeScale) = 0;
\r
8310 #else /* C style interface */
\r
8312 typedef struct IDeckLinkVideoInputFrame_v7_1Vtbl
\r
8316 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8317 IDeckLinkVideoInputFrame_v7_1 * This,
\r
8318 /* [in] */ REFIID riid,
\r
8319 /* [annotation][iid_is][out] */
\r
8320 __RPC__deref_out void **ppvObject);
\r
8322 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8323 IDeckLinkVideoInputFrame_v7_1 * This);
\r
8325 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8326 IDeckLinkVideoInputFrame_v7_1 * This);
\r
8328 long ( STDMETHODCALLTYPE *GetWidth )(
\r
8329 IDeckLinkVideoInputFrame_v7_1 * This);
\r
8331 long ( STDMETHODCALLTYPE *GetHeight )(
\r
8332 IDeckLinkVideoInputFrame_v7_1 * This);
\r
8334 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
8335 IDeckLinkVideoInputFrame_v7_1 * This);
\r
8337 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
8338 IDeckLinkVideoInputFrame_v7_1 * This);
\r
8340 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
8341 IDeckLinkVideoInputFrame_v7_1 * This);
\r
8343 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
8344 IDeckLinkVideoInputFrame_v7_1 * This,
\r
8347 HRESULT ( STDMETHODCALLTYPE *GetFrameTime )(
\r
8348 IDeckLinkVideoInputFrame_v7_1 * This,
\r
8349 BMDTimeValue *frameTime,
\r
8350 BMDTimeValue *frameDuration,
\r
8351 BMDTimeScale timeScale);
\r
8354 } IDeckLinkVideoInputFrame_v7_1Vtbl;
\r
8356 interface IDeckLinkVideoInputFrame_v7_1
\r
8358 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_1Vtbl *lpVtbl;
\r
8366 #define IDeckLinkVideoInputFrame_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8367 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8369 #define IDeckLinkVideoInputFrame_v7_1_AddRef(This) \
\r
8370 ( (This)->lpVtbl -> AddRef(This) )
\r
8372 #define IDeckLinkVideoInputFrame_v7_1_Release(This) \
\r
8373 ( (This)->lpVtbl -> Release(This) )
\r
8376 #define IDeckLinkVideoInputFrame_v7_1_GetWidth(This) \
\r
8377 ( (This)->lpVtbl -> GetWidth(This) )
\r
8379 #define IDeckLinkVideoInputFrame_v7_1_GetHeight(This) \
\r
8380 ( (This)->lpVtbl -> GetHeight(This) )
\r
8382 #define IDeckLinkVideoInputFrame_v7_1_GetRowBytes(This) \
\r
8383 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
8385 #define IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(This) \
\r
8386 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
8388 #define IDeckLinkVideoInputFrame_v7_1_GetFlags(This) \
\r
8389 ( (This)->lpVtbl -> GetFlags(This) )
\r
8391 #define IDeckLinkVideoInputFrame_v7_1_GetBytes(This,buffer) \
\r
8392 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
8395 #define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) \
\r
8396 ( (This)->lpVtbl -> GetFrameTime(This,frameTime,frameDuration,timeScale) )
\r
8398 #endif /* COBJMACROS */
\r
8401 #endif /* C style interface */
\r
8406 #endif /* __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ */
\r
8409 #ifndef __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
\r
8410 #define __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
\r
8412 /* interface IDeckLinkAudioInputPacket_v7_1 */
\r
8413 /* [helpstring][local][uuid][object] */
\r
8416 EXTERN_C const IID IID_IDeckLinkAudioInputPacket_v7_1;
\r
8418 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8420 MIDL_INTERFACE("C86DE4F6-A29F-42E3-AB3A-1363E29F0788")
\r
8421 IDeckLinkAudioInputPacket_v7_1 : public IUnknown
\r
8424 virtual long STDMETHODCALLTYPE GetSampleCount( void) = 0;
\r
8426 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
8427 void **buffer) = 0;
\r
8429 virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime(
\r
8430 BMDTimeValue *packetTime,
\r
8431 BMDTimeScale timeScale) = 0;
\r
8435 #else /* C style interface */
\r
8437 typedef struct IDeckLinkAudioInputPacket_v7_1Vtbl
\r
8441 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8442 IDeckLinkAudioInputPacket_v7_1 * This,
\r
8443 /* [in] */ REFIID riid,
\r
8444 /* [annotation][iid_is][out] */
\r
8445 __RPC__deref_out void **ppvObject);
\r
8447 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8448 IDeckLinkAudioInputPacket_v7_1 * This);
\r
8450 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8451 IDeckLinkAudioInputPacket_v7_1 * This);
\r
8453 long ( STDMETHODCALLTYPE *GetSampleCount )(
\r
8454 IDeckLinkAudioInputPacket_v7_1 * This);
\r
8456 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
8457 IDeckLinkAudioInputPacket_v7_1 * This,
\r
8460 HRESULT ( STDMETHODCALLTYPE *GetAudioPacketTime )(
\r
8461 IDeckLinkAudioInputPacket_v7_1 * This,
\r
8462 BMDTimeValue *packetTime,
\r
8463 BMDTimeScale timeScale);
\r
8466 } IDeckLinkAudioInputPacket_v7_1Vtbl;
\r
8468 interface IDeckLinkAudioInputPacket_v7_1
\r
8470 CONST_VTBL struct IDeckLinkAudioInputPacket_v7_1Vtbl *lpVtbl;
\r
8478 #define IDeckLinkAudioInputPacket_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8479 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8481 #define IDeckLinkAudioInputPacket_v7_1_AddRef(This) \
\r
8482 ( (This)->lpVtbl -> AddRef(This) )
\r
8484 #define IDeckLinkAudioInputPacket_v7_1_Release(This) \
\r
8485 ( (This)->lpVtbl -> Release(This) )
\r
8488 #define IDeckLinkAudioInputPacket_v7_1_GetSampleCount(This) \
\r
8489 ( (This)->lpVtbl -> GetSampleCount(This) )
\r
8491 #define IDeckLinkAudioInputPacket_v7_1_GetBytes(This,buffer) \
\r
8492 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
8494 #define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) \
\r
8495 ( (This)->lpVtbl -> GetAudioPacketTime(This,packetTime,timeScale) )
\r
8497 #endif /* COBJMACROS */
\r
8500 #endif /* C style interface */
\r
8505 #endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */
\r
8508 #ifndef __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
\r
8509 #define __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
\r
8511 /* interface IDeckLinkVideoOutputCallback_v7_1 */
\r
8512 /* [helpstring][uuid][object] */
\r
8515 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_1;
\r
8517 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8519 MIDL_INTERFACE("EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9")
\r
8520 IDeckLinkVideoOutputCallback_v7_1 : public IUnknown
\r
8523 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
\r
8524 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
\r
8525 /* [in] */ BMDOutputFrameCompletionResult result) = 0;
\r
8529 #else /* C style interface */
\r
8531 typedef struct IDeckLinkVideoOutputCallback_v7_1Vtbl
\r
8535 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8536 IDeckLinkVideoOutputCallback_v7_1 * This,
\r
8537 /* [in] */ REFIID riid,
\r
8538 /* [annotation][iid_is][out] */
\r
8539 __RPC__deref_out void **ppvObject);
\r
8541 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8542 IDeckLinkVideoOutputCallback_v7_1 * This);
\r
8544 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8545 IDeckLinkVideoOutputCallback_v7_1 * This);
\r
8547 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
\r
8548 IDeckLinkVideoOutputCallback_v7_1 * This,
\r
8549 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
\r
8550 /* [in] */ BMDOutputFrameCompletionResult result);
\r
8553 } IDeckLinkVideoOutputCallback_v7_1Vtbl;
\r
8555 interface IDeckLinkVideoOutputCallback_v7_1
\r
8557 CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_1Vtbl *lpVtbl;
\r
8565 #define IDeckLinkVideoOutputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8566 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8568 #define IDeckLinkVideoOutputCallback_v7_1_AddRef(This) \
\r
8569 ( (This)->lpVtbl -> AddRef(This) )
\r
8571 #define IDeckLinkVideoOutputCallback_v7_1_Release(This) \
\r
8572 ( (This)->lpVtbl -> Release(This) )
\r
8575 #define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) \
\r
8576 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
\r
8578 #endif /* COBJMACROS */
\r
8581 #endif /* C style interface */
\r
8586 #endif /* __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ */
\r
8589 #ifndef __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
\r
8590 #define __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
\r
8592 /* interface IDeckLinkInputCallback_v7_1 */
\r
8593 /* [helpstring][uuid][object] */
\r
8596 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_1;
\r
8598 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8600 MIDL_INTERFACE("7F94F328-5ED4-4E9F-9729-76A86BDC99CC")
\r
8601 IDeckLinkInputCallback_v7_1 : public IUnknown
\r
8604 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
8605 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
\r
8606 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket) = 0;
\r
8610 #else /* C style interface */
\r
8612 typedef struct IDeckLinkInputCallback_v7_1Vtbl
\r
8616 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8617 IDeckLinkInputCallback_v7_1 * This,
\r
8618 /* [in] */ REFIID riid,
\r
8619 /* [annotation][iid_is][out] */
\r
8620 __RPC__deref_out void **ppvObject);
\r
8622 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8623 IDeckLinkInputCallback_v7_1 * This);
\r
8625 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8626 IDeckLinkInputCallback_v7_1 * This);
\r
8628 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
8629 IDeckLinkInputCallback_v7_1 * This,
\r
8630 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
\r
8631 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket);
\r
8634 } IDeckLinkInputCallback_v7_1Vtbl;
\r
8636 interface IDeckLinkInputCallback_v7_1
\r
8638 CONST_VTBL struct IDeckLinkInputCallback_v7_1Vtbl *lpVtbl;
\r
8646 #define IDeckLinkInputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8647 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8649 #define IDeckLinkInputCallback_v7_1_AddRef(This) \
\r
8650 ( (This)->lpVtbl -> AddRef(This) )
\r
8652 #define IDeckLinkInputCallback_v7_1_Release(This) \
\r
8653 ( (This)->lpVtbl -> Release(This) )
\r
8656 #define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
8657 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
8659 #endif /* COBJMACROS */
\r
8662 #endif /* C style interface */
\r
8667 #endif /* __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ */
\r
8670 #ifndef __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
\r
8671 #define __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
\r
8673 /* interface IDeckLinkOutput_v7_1 */
\r
8674 /* [helpstring][local][uuid][object] */
\r
8677 EXTERN_C const IID IID_IDeckLinkOutput_v7_1;
\r
8679 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8681 MIDL_INTERFACE("AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5")
\r
8682 IDeckLinkOutput_v7_1 : public IUnknown
\r
8685 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
8686 BMDDisplayMode displayMode,
\r
8687 BMDPixelFormat pixelFormat,
\r
8688 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
8690 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
8691 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
\r
8693 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
8694 BMDDisplayMode displayMode) = 0;
\r
8696 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
8698 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
8699 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
8701 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
8705 BMDPixelFormat pixelFormat,
\r
8706 BMDFrameFlags flags,
\r
8707 IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
\r
8709 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer(
\r
8714 BMDPixelFormat pixelFormat,
\r
8715 BMDFrameFlags flags,
\r
8716 IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
\r
8718 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
8719 IDeckLinkVideoFrame_v7_1 *theFrame) = 0;
\r
8721 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
8722 IDeckLinkVideoFrame_v7_1 *theFrame,
\r
8723 BMDTimeValue displayTime,
\r
8724 BMDTimeValue displayDuration,
\r
8725 BMDTimeScale timeScale) = 0;
\r
8727 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
8728 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback) = 0;
\r
8730 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
8731 BMDAudioSampleRate sampleRate,
\r
8732 BMDAudioSampleType sampleType,
\r
8733 unsigned long channelCount) = 0;
\r
8735 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
8737 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
8739 unsigned long sampleFrameCount,
\r
8740 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
8742 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
8744 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
8746 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
8748 unsigned long sampleFrameCount,
\r
8749 BMDTimeValue streamTime,
\r
8750 BMDTimeScale timeScale,
\r
8751 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
8753 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
8754 /* [out] */ unsigned long *bufferedSampleCount) = 0;
\r
8756 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
8758 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
8759 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
8761 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
8762 BMDTimeValue playbackStartTime,
\r
8763 BMDTimeScale timeScale,
\r
8764 double playbackSpeed) = 0;
\r
8766 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
8767 BMDTimeValue stopPlaybackAtTime,
\r
8768 BMDTimeValue *actualStopTime,
\r
8769 BMDTimeScale timeScale) = 0;
\r
8771 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
8772 BMDTimeScale desiredTimeScale,
\r
8773 BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
\r
8777 #else /* C style interface */
\r
8779 typedef struct IDeckLinkOutput_v7_1Vtbl
\r
8783 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8784 IDeckLinkOutput_v7_1 * This,
\r
8785 /* [in] */ REFIID riid,
\r
8786 /* [annotation][iid_is][out] */
\r
8787 __RPC__deref_out void **ppvObject);
\r
8789 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8790 IDeckLinkOutput_v7_1 * This);
\r
8792 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8793 IDeckLinkOutput_v7_1 * This);
\r
8795 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
8796 IDeckLinkOutput_v7_1 * This,
\r
8797 BMDDisplayMode displayMode,
\r
8798 BMDPixelFormat pixelFormat,
\r
8799 /* [out] */ BMDDisplayModeSupport *result);
\r
8801 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
8802 IDeckLinkOutput_v7_1 * This,
\r
8803 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
\r
8805 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
8806 IDeckLinkOutput_v7_1 * This,
\r
8807 BMDDisplayMode displayMode);
\r
8809 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
8810 IDeckLinkOutput_v7_1 * This);
\r
8812 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
8813 IDeckLinkOutput_v7_1 * This,
\r
8814 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
8816 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
8817 IDeckLinkOutput_v7_1 * This,
\r
8821 BMDPixelFormat pixelFormat,
\r
8822 BMDFrameFlags flags,
\r
8823 IDeckLinkVideoFrame_v7_1 **outFrame);
\r
8825 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrameFromBuffer )(
\r
8826 IDeckLinkOutput_v7_1 * This,
\r
8831 BMDPixelFormat pixelFormat,
\r
8832 BMDFrameFlags flags,
\r
8833 IDeckLinkVideoFrame_v7_1 **outFrame);
\r
8835 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
8836 IDeckLinkOutput_v7_1 * This,
\r
8837 IDeckLinkVideoFrame_v7_1 *theFrame);
\r
8839 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
8840 IDeckLinkOutput_v7_1 * This,
\r
8841 IDeckLinkVideoFrame_v7_1 *theFrame,
\r
8842 BMDTimeValue displayTime,
\r
8843 BMDTimeValue displayDuration,
\r
8844 BMDTimeScale timeScale);
\r
8846 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
8847 IDeckLinkOutput_v7_1 * This,
\r
8848 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback);
\r
8850 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
8851 IDeckLinkOutput_v7_1 * This,
\r
8852 BMDAudioSampleRate sampleRate,
\r
8853 BMDAudioSampleType sampleType,
\r
8854 unsigned long channelCount);
\r
8856 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
8857 IDeckLinkOutput_v7_1 * This);
\r
8859 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
8860 IDeckLinkOutput_v7_1 * This,
\r
8862 unsigned long sampleFrameCount,
\r
8863 /* [out] */ unsigned long *sampleFramesWritten);
\r
8865 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
8866 IDeckLinkOutput_v7_1 * This);
\r
8868 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
8869 IDeckLinkOutput_v7_1 * This);
\r
8871 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
8872 IDeckLinkOutput_v7_1 * This,
\r
8874 unsigned long sampleFrameCount,
\r
8875 BMDTimeValue streamTime,
\r
8876 BMDTimeScale timeScale,
\r
8877 /* [out] */ unsigned long *sampleFramesWritten);
\r
8879 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
8880 IDeckLinkOutput_v7_1 * This,
\r
8881 /* [out] */ unsigned long *bufferedSampleCount);
\r
8883 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
8884 IDeckLinkOutput_v7_1 * This);
\r
8886 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
8887 IDeckLinkOutput_v7_1 * This,
\r
8888 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
8890 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
8891 IDeckLinkOutput_v7_1 * This,
\r
8892 BMDTimeValue playbackStartTime,
\r
8893 BMDTimeScale timeScale,
\r
8894 double playbackSpeed);
\r
8896 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
8897 IDeckLinkOutput_v7_1 * This,
\r
8898 BMDTimeValue stopPlaybackAtTime,
\r
8899 BMDTimeValue *actualStopTime,
\r
8900 BMDTimeScale timeScale);
\r
8902 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
8903 IDeckLinkOutput_v7_1 * This,
\r
8904 BMDTimeScale desiredTimeScale,
\r
8905 BMDTimeValue *elapsedTimeSinceSchedulerBegan);
\r
8908 } IDeckLinkOutput_v7_1Vtbl;
\r
8910 interface IDeckLinkOutput_v7_1
\r
8912 CONST_VTBL struct IDeckLinkOutput_v7_1Vtbl *lpVtbl;
\r
8920 #define IDeckLinkOutput_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8921 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8923 #define IDeckLinkOutput_v7_1_AddRef(This) \
\r
8924 ( (This)->lpVtbl -> AddRef(This) )
\r
8926 #define IDeckLinkOutput_v7_1_Release(This) \
\r
8927 ( (This)->lpVtbl -> Release(This) )
\r
8930 #define IDeckLinkOutput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
8931 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
8933 #define IDeckLinkOutput_v7_1_GetDisplayModeIterator(This,iterator) \
\r
8934 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
8936 #define IDeckLinkOutput_v7_1_EnableVideoOutput(This,displayMode) \
\r
8937 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode) )
\r
8939 #define IDeckLinkOutput_v7_1_DisableVideoOutput(This) \
\r
8940 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
8942 #define IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
8943 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
8945 #define IDeckLinkOutput_v7_1_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
8946 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
8948 #define IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
8949 ( (This)->lpVtbl -> CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
8951 #define IDeckLinkOutput_v7_1_DisplayVideoFrameSync(This,theFrame) \
\r
8952 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
8954 #define IDeckLinkOutput_v7_1_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
8955 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
8957 #define IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
8958 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
8960 #define IDeckLinkOutput_v7_1_EnableAudioOutput(This,sampleRate,sampleType,channelCount) \
\r
8961 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount) )
\r
8963 #define IDeckLinkOutput_v7_1_DisableAudioOutput(This) \
\r
8964 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
8966 #define IDeckLinkOutput_v7_1_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
8967 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
8969 #define IDeckLinkOutput_v7_1_BeginAudioPreroll(This) \
\r
8970 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
8972 #define IDeckLinkOutput_v7_1_EndAudioPreroll(This) \
\r
8973 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
8975 #define IDeckLinkOutput_v7_1_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
8976 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
8978 #define IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
\r
8979 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
\r
8981 #define IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(This) \
\r
8982 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
8984 #define IDeckLinkOutput_v7_1_SetAudioCallback(This,theCallback) \
\r
8985 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
8987 #define IDeckLinkOutput_v7_1_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
8988 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
8990 #define IDeckLinkOutput_v7_1_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
8991 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
8993 #define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
\r
8994 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) )
\r
8996 #endif /* COBJMACROS */
\r
8999 #endif /* C style interface */
\r
9004 #endif /* __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ */
\r
9007 #ifndef __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
\r
9008 #define __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
\r
9010 /* interface IDeckLinkInput_v7_1 */
\r
9011 /* [helpstring][uuid][object] */
\r
9014 EXTERN_C const IID IID_IDeckLinkInput_v7_1;
\r
9016 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
9018 MIDL_INTERFACE("2B54EDEF-5B32-429F-BA11-BB990596EACD")
\r
9019 IDeckLinkInput_v7_1 : public IUnknown
\r
9022 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
9023 BMDDisplayMode displayMode,
\r
9024 BMDPixelFormat pixelFormat,
\r
9025 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
9027 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
9028 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
\r
9030 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
9031 BMDDisplayMode displayMode,
\r
9032 BMDPixelFormat pixelFormat,
\r
9033 BMDVideoInputFlags flags) = 0;
\r
9035 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
9037 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
9038 BMDAudioSampleRate sampleRate,
\r
9039 BMDAudioSampleType sampleType,
\r
9040 unsigned long channelCount) = 0;
\r
9042 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
9044 virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples(
\r
9046 unsigned long sampleFrameCount,
\r
9047 /* [out] */ unsigned long *sampleFramesRead,
\r
9048 /* [out] */ BMDTimeValue *audioPacketTime,
\r
9049 BMDTimeScale timeScale) = 0;
\r
9051 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
9052 /* [out] */ unsigned long *bufferedSampleCount) = 0;
\r
9054 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
9056 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
9058 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
9060 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
9061 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback) = 0;
\r
9065 #else /* C style interface */
\r
9067 typedef struct IDeckLinkInput_v7_1Vtbl
\r
9071 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
9072 IDeckLinkInput_v7_1 * This,
\r
9073 /* [in] */ REFIID riid,
\r
9074 /* [annotation][iid_is][out] */
\r
9075 __RPC__deref_out void **ppvObject);
\r
9077 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
9078 IDeckLinkInput_v7_1 * This);
\r
9080 ULONG ( STDMETHODCALLTYPE *Release )(
\r
9081 IDeckLinkInput_v7_1 * This);
\r
9083 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
9084 IDeckLinkInput_v7_1 * This,
\r
9085 BMDDisplayMode displayMode,
\r
9086 BMDPixelFormat pixelFormat,
\r
9087 /* [out] */ BMDDisplayModeSupport *result);
\r
9089 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
9090 IDeckLinkInput_v7_1 * This,
\r
9091 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
\r
9093 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
9094 IDeckLinkInput_v7_1 * This,
\r
9095 BMDDisplayMode displayMode,
\r
9096 BMDPixelFormat pixelFormat,
\r
9097 BMDVideoInputFlags flags);
\r
9099 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
9100 IDeckLinkInput_v7_1 * This);
\r
9102 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
9103 IDeckLinkInput_v7_1 * This,
\r
9104 BMDAudioSampleRate sampleRate,
\r
9105 BMDAudioSampleType sampleType,
\r
9106 unsigned long channelCount);
\r
9108 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
9109 IDeckLinkInput_v7_1 * This);
\r
9111 HRESULT ( STDMETHODCALLTYPE *ReadAudioSamples )(
\r
9112 IDeckLinkInput_v7_1 * This,
\r
9114 unsigned long sampleFrameCount,
\r
9115 /* [out] */ unsigned long *sampleFramesRead,
\r
9116 /* [out] */ BMDTimeValue *audioPacketTime,
\r
9117 BMDTimeScale timeScale);
\r
9119 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
9120 IDeckLinkInput_v7_1 * This,
\r
9121 /* [out] */ unsigned long *bufferedSampleCount);
\r
9123 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
9124 IDeckLinkInput_v7_1 * This);
\r
9126 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
9127 IDeckLinkInput_v7_1 * This);
\r
9129 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
9130 IDeckLinkInput_v7_1 * This);
\r
9132 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
9133 IDeckLinkInput_v7_1 * This,
\r
9134 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback);
\r
9137 } IDeckLinkInput_v7_1Vtbl;
\r
9139 interface IDeckLinkInput_v7_1
\r
9141 CONST_VTBL struct IDeckLinkInput_v7_1Vtbl *lpVtbl;
\r
9149 #define IDeckLinkInput_v7_1_QueryInterface(This,riid,ppvObject) \
\r
9150 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
9152 #define IDeckLinkInput_v7_1_AddRef(This) \
\r
9153 ( (This)->lpVtbl -> AddRef(This) )
\r
9155 #define IDeckLinkInput_v7_1_Release(This) \
\r
9156 ( (This)->lpVtbl -> Release(This) )
\r
9159 #define IDeckLinkInput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
9160 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
9162 #define IDeckLinkInput_v7_1_GetDisplayModeIterator(This,iterator) \
\r
9163 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
9165 #define IDeckLinkInput_v7_1_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
9166 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
9168 #define IDeckLinkInput_v7_1_DisableVideoInput(This) \
\r
9169 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
9171 #define IDeckLinkInput_v7_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
9172 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
9174 #define IDeckLinkInput_v7_1_DisableAudioInput(This) \
\r
9175 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
9177 #define IDeckLinkInput_v7_1_ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) \
\r
9178 ( (This)->lpVtbl -> ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) )
\r
9180 #define IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
\r
9181 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
\r
9183 #define IDeckLinkInput_v7_1_StartStreams(This) \
\r
9184 ( (This)->lpVtbl -> StartStreams(This) )
\r
9186 #define IDeckLinkInput_v7_1_StopStreams(This) \
\r
9187 ( (This)->lpVtbl -> StopStreams(This) )
\r
9189 #define IDeckLinkInput_v7_1_PauseStreams(This) \
\r
9190 ( (This)->lpVtbl -> PauseStreams(This) )
\r
9192 #define IDeckLinkInput_v7_1_SetCallback(This,theCallback) \
\r
9193 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
9195 #endif /* COBJMACROS */
\r
9198 #endif /* C style interface */
\r
9203 #endif /* __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ */
\r
9205 #endif /* __DeckLinkAPI_LIBRARY_DEFINED__ */
\r
9207 /* Additional Prototypes for ALL interfaces */
\r
9209 /* end of Additional Prototypes */
\r
9211 #ifdef __cplusplus
\r