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 Wed Mar 09 13:57:51 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 __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
\r
213 #define __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
\r
216 typedef class CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper;
\r
218 typedef struct CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper;
\r
219 #endif /* __cplusplus */
\r
221 #endif /* __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */
\r
224 #ifndef __CDeckLinkVideoConversion_FWD_DEFINED__
\r
225 #define __CDeckLinkVideoConversion_FWD_DEFINED__
\r
228 typedef class CDeckLinkVideoConversion CDeckLinkVideoConversion;
\r
230 typedef struct CDeckLinkVideoConversion CDeckLinkVideoConversion;
\r
231 #endif /* __cplusplus */
\r
233 #endif /* __CDeckLinkVideoConversion_FWD_DEFINED__ */
\r
236 #ifndef __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__
\r
237 #define __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__
\r
238 typedef interface IDeckLinkDisplayModeIterator_v7_6 IDeckLinkDisplayModeIterator_v7_6;
\r
239 #endif /* __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ */
\r
242 #ifndef __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__
\r
243 #define __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__
\r
244 typedef interface IDeckLinkDisplayMode_v7_6 IDeckLinkDisplayMode_v7_6;
\r
245 #endif /* __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ */
\r
248 #ifndef __IDeckLinkOutput_v7_6_FWD_DEFINED__
\r
249 #define __IDeckLinkOutput_v7_6_FWD_DEFINED__
\r
250 typedef interface IDeckLinkOutput_v7_6 IDeckLinkOutput_v7_6;
\r
251 #endif /* __IDeckLinkOutput_v7_6_FWD_DEFINED__ */
\r
254 #ifndef __IDeckLinkInput_v7_6_FWD_DEFINED__
\r
255 #define __IDeckLinkInput_v7_6_FWD_DEFINED__
\r
256 typedef interface IDeckLinkInput_v7_6 IDeckLinkInput_v7_6;
\r
257 #endif /* __IDeckLinkInput_v7_6_FWD_DEFINED__ */
\r
260 #ifndef __IDeckLinkTimecode_v7_6_FWD_DEFINED__
\r
261 #define __IDeckLinkTimecode_v7_6_FWD_DEFINED__
\r
262 typedef interface IDeckLinkTimecode_v7_6 IDeckLinkTimecode_v7_6;
\r
263 #endif /* __IDeckLinkTimecode_v7_6_FWD_DEFINED__ */
\r
266 #ifndef __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__
\r
267 #define __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__
\r
268 typedef interface IDeckLinkVideoFrame_v7_6 IDeckLinkVideoFrame_v7_6;
\r
269 #endif /* __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ */
\r
272 #ifndef __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__
\r
273 #define __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__
\r
274 typedef interface IDeckLinkMutableVideoFrame_v7_6 IDeckLinkMutableVideoFrame_v7_6;
\r
275 #endif /* __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ */
\r
278 #ifndef __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__
\r
279 #define __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__
\r
280 typedef interface IDeckLinkVideoInputFrame_v7_6 IDeckLinkVideoInputFrame_v7_6;
\r
281 #endif /* __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ */
\r
284 #ifndef __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__
\r
285 #define __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__
\r
286 typedef interface IDeckLinkScreenPreviewCallback_v7_6 IDeckLinkScreenPreviewCallback_v7_6;
\r
287 #endif /* __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ */
\r
290 #ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
\r
291 #define __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
\r
292 typedef interface IDeckLinkGLScreenPreviewHelper_v7_6 IDeckLinkGLScreenPreviewHelper_v7_6;
\r
293 #endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */
\r
296 #ifndef __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__
\r
297 #define __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__
\r
298 typedef interface IDeckLinkVideoConversion_v7_6 IDeckLinkVideoConversion_v7_6;
\r
299 #endif /* __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */
\r
302 #ifndef __IDeckLinkConfiguration_v7_6_FWD_DEFINED__
\r
303 #define __IDeckLinkConfiguration_v7_6_FWD_DEFINED__
\r
304 typedef interface IDeckLinkConfiguration_v7_6 IDeckLinkConfiguration_v7_6;
\r
305 #endif /* __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ */
\r
308 #ifndef __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__
\r
309 #define __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__
\r
310 typedef interface IDeckLinkVideoOutputCallback_v7_6 IDeckLinkVideoOutputCallback_v7_6;
\r
311 #endif /* __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ */
\r
314 #ifndef __IDeckLinkInputCallback_v7_6_FWD_DEFINED__
\r
315 #define __IDeckLinkInputCallback_v7_6_FWD_DEFINED__
\r
316 typedef interface IDeckLinkInputCallback_v7_6 IDeckLinkInputCallback_v7_6;
\r
317 #endif /* __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ */
\r
320 #ifndef __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
\r
321 #define __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
\r
324 typedef class CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6;
\r
326 typedef struct CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6;
\r
327 #endif /* __cplusplus */
\r
329 #endif /* __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */
\r
332 #ifndef __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__
\r
333 #define __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__
\r
336 typedef class CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6;
\r
338 typedef struct CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6;
\r
339 #endif /* __cplusplus */
\r
341 #endif /* __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */
\r
344 #ifndef __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
\r
345 #define __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
\r
346 typedef interface IDeckLinkInputCallback_v7_3 IDeckLinkInputCallback_v7_3;
\r
347 #endif /* __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ */
\r
350 #ifndef __IDeckLinkOutput_v7_3_FWD_DEFINED__
\r
351 #define __IDeckLinkOutput_v7_3_FWD_DEFINED__
\r
352 typedef interface IDeckLinkOutput_v7_3 IDeckLinkOutput_v7_3;
\r
353 #endif /* __IDeckLinkOutput_v7_3_FWD_DEFINED__ */
\r
356 #ifndef __IDeckLinkInput_v7_3_FWD_DEFINED__
\r
357 #define __IDeckLinkInput_v7_3_FWD_DEFINED__
\r
358 typedef interface IDeckLinkInput_v7_3 IDeckLinkInput_v7_3;
\r
359 #endif /* __IDeckLinkInput_v7_3_FWD_DEFINED__ */
\r
362 #ifndef __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
\r
363 #define __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
\r
364 typedef interface IDeckLinkVideoInputFrame_v7_3 IDeckLinkVideoInputFrame_v7_3;
\r
365 #endif /* __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ */
\r
368 #ifndef __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
\r
369 #define __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
\r
370 typedef interface IDeckLinkDisplayModeIterator_v7_1 IDeckLinkDisplayModeIterator_v7_1;
\r
371 #endif /* __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ */
\r
374 #ifndef __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__
\r
375 #define __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__
\r
376 typedef interface IDeckLinkDisplayMode_v7_1 IDeckLinkDisplayMode_v7_1;
\r
377 #endif /* __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ */
\r
380 #ifndef __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__
\r
381 #define __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__
\r
382 typedef interface IDeckLinkVideoFrame_v7_1 IDeckLinkVideoFrame_v7_1;
\r
383 #endif /* __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ */
\r
386 #ifndef __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__
\r
387 #define __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__
\r
388 typedef interface IDeckLinkVideoInputFrame_v7_1 IDeckLinkVideoInputFrame_v7_1;
\r
389 #endif /* __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ */
\r
392 #ifndef __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__
\r
393 #define __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__
\r
394 typedef interface IDeckLinkAudioInputPacket_v7_1 IDeckLinkAudioInputPacket_v7_1;
\r
395 #endif /* __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ */
\r
398 #ifndef __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__
\r
399 #define __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__
\r
400 typedef interface IDeckLinkVideoOutputCallback_v7_1 IDeckLinkVideoOutputCallback_v7_1;
\r
401 #endif /* __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ */
\r
404 #ifndef __IDeckLinkInputCallback_v7_1_FWD_DEFINED__
\r
405 #define __IDeckLinkInputCallback_v7_1_FWD_DEFINED__
\r
406 typedef interface IDeckLinkInputCallback_v7_1 IDeckLinkInputCallback_v7_1;
\r
407 #endif /* __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ */
\r
410 #ifndef __IDeckLinkOutput_v7_1_FWD_DEFINED__
\r
411 #define __IDeckLinkOutput_v7_1_FWD_DEFINED__
\r
412 typedef interface IDeckLinkOutput_v7_1 IDeckLinkOutput_v7_1;
\r
413 #endif /* __IDeckLinkOutput_v7_1_FWD_DEFINED__ */
\r
416 #ifndef __IDeckLinkInput_v7_1_FWD_DEFINED__
\r
417 #define __IDeckLinkInput_v7_1_FWD_DEFINED__
\r
418 typedef interface IDeckLinkInput_v7_1 IDeckLinkInput_v7_1;
\r
419 #endif /* __IDeckLinkInput_v7_1_FWD_DEFINED__ */
\r
422 /* header files for imported files */
\r
423 #include "unknwn.h"
\r
431 #ifndef __DeckLinkAPI_LIBRARY_DEFINED__
\r
432 #define __DeckLinkAPI_LIBRARY_DEFINED__
\r
434 /* library DeckLinkAPI */
\r
435 /* [helpstring][version][uuid] */
\r
437 typedef LONGLONG BMDTimeValue;
\r
439 typedef LONGLONG BMDTimeScale;
\r
441 typedef unsigned long BMDTimecodeBCD;
\r
443 typedef unsigned long BMDTimecodeUserBits;
\r
445 typedef unsigned long BMDDisplayModeFlags;
\r
446 typedef unsigned long BMDFrameFlags;
\r
447 typedef unsigned long BMDVideoInputFlags;
\r
448 typedef unsigned long BMDVideoInputFormatChangedEvents;
\r
449 typedef unsigned long BMDDetectedVideoInputFormatFlags;
\r
450 typedef unsigned long BMDTimecodeFlags;
\r
451 typedef unsigned long BMDAnalogVideoFlags;
\r
452 typedef unsigned long BMDDeckControlStatusFlags;
\r
453 typedef unsigned long BMDDeckControlExportModeOpsFlags;
\r
455 typedef enum _BMDDisplayModeFlags BMDDisplayModeFlags;
\r
457 typedef enum _BMDFrameFlags BMDFrameFlags;
\r
459 typedef enum _BMDVideoInputFlags BMDVideoInputFlags;
\r
461 typedef enum _BMDVideoInputFormatChangedEvents BMDVideoInputFormatChangedEvents;
\r
463 typedef enum _BMDDetectedVideoInputFormatFlags BMDDetectedVideoInputFormatFlags;
\r
465 typedef enum _BMDTimecodeFlags BMDTimecodeFlags;
\r
467 typedef enum _BMDAnalogVideoFlags BMDAnalogVideoFlags;
\r
469 typedef enum _BMDDeckControlStatusFlags BMDDeckControlStatusFlags;
\r
471 typedef enum _BMDDeckControlExportModeOpsFlags BMDDeckControlExportModeOpsFlags;
\r
474 typedef /* [v1_enum] */
\r
475 enum _BMDDisplayMode
\r
476 { bmdModeNTSC = 0x6e747363,
\r
477 bmdModeNTSC2398 = 0x6e743233,
\r
478 bmdModePAL = 0x70616c20,
\r
479 bmdModeNTSCp = 0x6e747370,
\r
480 bmdModePALp = 0x70616c70,
\r
481 bmdModeHD1080p2398 = 0x32337073,
\r
482 bmdModeHD1080p24 = 0x32347073,
\r
483 bmdModeHD1080p25 = 0x48703235,
\r
484 bmdModeHD1080p2997 = 0x48703239,
\r
485 bmdModeHD1080p30 = 0x48703330,
\r
486 bmdModeHD1080i50 = 0x48693530,
\r
487 bmdModeHD1080i5994 = 0x48693539,
\r
488 bmdModeHD1080i6000 = 0x48693630,
\r
489 bmdModeHD1080p50 = 0x48703530,
\r
490 bmdModeHD1080p5994 = 0x48703539,
\r
491 bmdModeHD1080p6000 = 0x48703630,
\r
492 bmdModeHD720p50 = 0x68703530,
\r
493 bmdModeHD720p5994 = 0x68703539,
\r
494 bmdModeHD720p60 = 0x68703630,
\r
495 bmdMode2k2398 = 0x326b3233,
\r
496 bmdMode2k24 = 0x326b3234,
\r
497 bmdMode2k25 = 0x326b3235
\r
500 typedef /* [v1_enum] */
\r
501 enum _BMDFieldDominance
\r
502 { bmdUnknownFieldDominance = 0,
\r
503 bmdLowerFieldFirst = 0x6c6f7772,
\r
504 bmdUpperFieldFirst = 0x75707072,
\r
505 bmdProgressiveFrame = 0x70726f67,
\r
506 bmdProgressiveSegmentedFrame = 0x70736620
\r
507 } BMDFieldDominance;
\r
509 typedef /* [v1_enum] */
\r
510 enum _BMDPixelFormat
\r
511 { bmdFormat8BitYUV = 0x32767579,
\r
512 bmdFormat10BitYUV = 0x76323130,
\r
513 bmdFormat8BitARGB = 32,
\r
514 bmdFormat8BitBGRA = 0x42475241,
\r
515 bmdFormat10BitRGB = 0x72323130
\r
519 enum _BMDDisplayModeFlags
\r
520 { bmdDisplayModeSupports3D = ( 1 << 0 ) ,
\r
521 bmdDisplayModeColorspaceRec601 = ( 1 << 1 ) ,
\r
522 bmdDisplayModeColorspaceRec709 = ( 1 << 2 )
\r
524 typedef /* [v1_enum] */
\r
525 enum _BMDVideoOutputFlags
\r
526 { bmdVideoOutputFlagDefault = 0,
\r
527 bmdVideoOutputVANC = ( 1 << 0 ) ,
\r
528 bmdVideoOutputVITC = ( 1 << 1 ) ,
\r
529 bmdVideoOutputRP188 = ( 1 << 2 ) ,
\r
530 bmdVideoOutputDualStream3D = ( 1 << 4 )
\r
531 } BMDVideoOutputFlags;
\r
534 enum _BMDFrameFlags
\r
535 { bmdFrameFlagDefault = 0,
\r
536 bmdFrameFlagFlipVertical = ( 1 << 0 ) ,
\r
537 bmdFrameHasNoInputSource = ( 1 << 31 )
\r
540 enum _BMDVideoInputFlags
\r
541 { bmdVideoInputFlagDefault = 0,
\r
542 bmdVideoInputEnableFormatDetection = ( 1 << 0 ) ,
\r
543 bmdVideoInputDualStream3D = ( 1 << 1 )
\r
546 enum _BMDVideoInputFormatChangedEvents
\r
547 { bmdVideoInputDisplayModeChanged = ( 1 << 0 ) ,
\r
548 bmdVideoInputFieldDominanceChanged = ( 1 << 1 ) ,
\r
549 bmdVideoInputColorspaceChanged = ( 1 << 2 )
\r
552 enum _BMDDetectedVideoInputFormatFlags
\r
553 { bmdDetectedVideoInputYCbCr422 = ( 1 << 0 ) ,
\r
554 bmdDetectedVideoInputRGB444 = ( 1 << 1 )
\r
556 typedef /* [v1_enum] */
\r
557 enum _BMDOutputFrameCompletionResult
\r
558 { bmdOutputFrameCompleted = 0,
\r
559 bmdOutputFrameDisplayedLate = ( bmdOutputFrameCompleted + 1 ) ,
\r
560 bmdOutputFrameDropped = ( bmdOutputFrameDisplayedLate + 1 ) ,
\r
561 bmdOutputFrameFlushed = ( bmdOutputFrameDropped + 1 )
\r
562 } BMDOutputFrameCompletionResult;
\r
564 typedef /* [v1_enum] */
\r
565 enum _BMDReferenceStatus
\r
566 { bmdReferenceNotSupportedByHardware = ( 1 << 0 ) ,
\r
567 bmdReferenceLocked = ( 1 << 1 )
\r
568 } BMDReferenceStatus;
\r
570 typedef /* [v1_enum] */
\r
571 enum _BMDAudioSampleRate
\r
572 { bmdAudioSampleRate48kHz = 48000
\r
573 } BMDAudioSampleRate;
\r
575 typedef /* [v1_enum] */
\r
576 enum _BMDAudioSampleType
\r
577 { bmdAudioSampleType16bitInteger = 16,
\r
578 bmdAudioSampleType32bitInteger = 32
\r
579 } BMDAudioSampleType;
\r
581 typedef /* [v1_enum] */
\r
582 enum _BMDAudioOutputStreamType
\r
583 { bmdAudioOutputStreamContinuous = 0,
\r
584 bmdAudioOutputStreamContinuousDontResample = ( bmdAudioOutputStreamContinuous + 1 ) ,
\r
585 bmdAudioOutputStreamTimestamped = ( bmdAudioOutputStreamContinuousDontResample + 1 )
\r
586 } BMDAudioOutputStreamType;
\r
588 typedef /* [v1_enum] */
\r
589 enum _BMDDisplayModeSupport
\r
590 { bmdDisplayModeNotSupported = 0,
\r
591 bmdDisplayModeSupported = ( bmdDisplayModeNotSupported + 1 ) ,
\r
592 bmdDisplayModeSupportedWithConversion = ( bmdDisplayModeSupported + 1 )
\r
593 } BMDDisplayModeSupport;
\r
595 typedef /* [v1_enum] */
\r
596 enum _BMDTimecodeFormat
\r
597 { bmdTimecodeRP188 = 0x72703138,
\r
598 bmdTimecodeVITC = 0x76697463,
\r
599 bmdTimecodeSerial = 0x73657269
\r
600 } BMDTimecodeFormat;
\r
603 enum _BMDTimecodeFlags
\r
604 { bmdTimecodeFlagDefault = 0,
\r
605 bmdTimecodeIsDropFrame = ( 1 << 0 )
\r
607 typedef /* [v1_enum] */
\r
608 enum _BMDVideoConnection
\r
609 { bmdVideoConnectionSDI = ( 1 << 0 ) ,
\r
610 bmdVideoConnectionHDMI = ( 1 << 1 ) ,
\r
611 bmdVideoConnectionOpticalSDI = ( 1 << 2 ) ,
\r
612 bmdVideoConnectionComponent = ( 1 << 3 ) ,
\r
613 bmdVideoConnectionComposite = ( 1 << 4 ) ,
\r
614 bmdVideoConnectionSVideo = ( 1 << 5 )
\r
615 } BMDVideoConnection;
\r
618 enum _BMDAnalogVideoFlags
\r
619 { bmdAnalogVideoFlagCompositeSetup75 = ( 1 << 0 ) ,
\r
620 bmdAnalogVideoFlagComponentBetacamLevels = ( 1 << 1 )
\r
622 typedef /* [v1_enum] */
\r
623 enum _BMDAudioConnection
\r
624 { bmdAudioConnectionEmbedded = 0x656d6264,
\r
625 bmdAudioConnectionAESEBU = 0x61657320,
\r
626 bmdAudioConnectionAnalog = 0x616e6c67
\r
627 } BMDAudioConnection;
\r
629 typedef /* [v1_enum] */
\r
630 enum _BMDAudioOutputAnalogAESSwitch
\r
631 { bmdAudioOutputSwitchAESEBU = 0x61657320,
\r
632 bmdAudioOutputSwitchAnalog = 0x616e6c67
\r
633 } BMDAudioOutputAnalogAESSwitch;
\r
635 typedef /* [v1_enum] */
\r
636 enum _BMDVideoOutputConversionMode
\r
637 { bmdNoVideoOutputConversion = 0x6e6f6e65,
\r
638 bmdVideoOutputLetterboxDownconversion = 0x6c746278,
\r
639 bmdVideoOutputAnamorphicDownconversion = 0x616d7068,
\r
640 bmdVideoOutputHD720toHD1080Conversion = 0x37323063,
\r
641 bmdVideoOutputHardwareLetterboxDownconversion = 0x48576c62,
\r
642 bmdVideoOutputHardwareAnamorphicDownconversion = 0x4857616d,
\r
643 bmdVideoOutputHardwareCenterCutDownconversion = 0x48576363,
\r
644 bmdVideoOutputHardware720p1080pCrossconversion = 0x78636170,
\r
645 bmdVideoOutputHardwareAnamorphic720pUpconversion = 0x75613770,
\r
646 bmdVideoOutputHardwareAnamorphic1080iUpconversion = 0x75613169,
\r
647 bmdVideoOutputHardwareAnamorphic149To720pUpconversion = 0x75343770,
\r
648 bmdVideoOutputHardwareAnamorphic149To1080iUpconversion = 0x75343169,
\r
649 bmdVideoOutputHardwarePillarbox720pUpconversion = 0x75703770,
\r
650 bmdVideoOutputHardwarePillarbox1080iUpconversion = 0x75703169
\r
651 } BMDVideoOutputConversionMode;
\r
653 typedef /* [v1_enum] */
\r
654 enum _BMDVideoInputConversionMode
\r
655 { bmdNoVideoInputConversion = 0x6e6f6e65,
\r
656 bmdVideoInputLetterboxDownconversionFromHD1080 = 0x31306c62,
\r
657 bmdVideoInputAnamorphicDownconversionFromHD1080 = 0x3130616d,
\r
658 bmdVideoInputLetterboxDownconversionFromHD720 = 0x37326c62,
\r
659 bmdVideoInputAnamorphicDownconversionFromHD720 = 0x3732616d,
\r
660 bmdVideoInputLetterboxUpconversion = 0x6c627570,
\r
661 bmdVideoInputAnamorphicUpconversion = 0x616d7570
\r
662 } BMDVideoInputConversionMode;
\r
664 typedef /* [v1_enum] */
\r
665 enum _BMDVideo3DPackingFormat
\r
666 { bmdVideo3DPackingSidebySideHalf = 0x73627368,
\r
667 bmdVideo3DPackingLinebyLine = 0x6c62796c,
\r
668 bmdVideo3DPackingTopAndBottom = 0x7461626f,
\r
669 bmdVideo3DPackingFramePacking = 0x6672706b,
\r
670 bmdVideo3DPackingLeftOnly = 0x6c656674,
\r
671 bmdVideo3DPackingRightOnly = 0x72696768
\r
672 } BMDVideo3DPackingFormat;
\r
674 typedef /* [v1_enum] */
\r
675 enum _BMDDeckLinkConfigurationID
\r
676 { bmdDeckLinkConfigUse1080pNotPsF = 0x6670726f,
\r
677 bmdDeckLinkConfigHDMI3DPackingFormat = 0x33647066,
\r
678 bmdDeckLinkConfigAnalogAudioConsumerLevels = 0x6161636c,
\r
679 bmdDeckLinkConfigFieldFlickerRemoval = 0x66646672,
\r
680 bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 0x746f3539,
\r
681 bmdDeckLinkConfig444SDIVideoOutput = 0x3434346f,
\r
682 bmdDeckLinkConfig3GBpsVideoOutput = 0x33676273,
\r
683 bmdDeckLinkConfigBlackVideoOutputDuringCapture = 0x62766f63,
\r
684 bmdDeckLinkConfigLowLatencyVideoOutput = 0x6c6c766f,
\r
685 bmdDeckLinkConfigVideoOutputConnection = 0x766f636e,
\r
686 bmdDeckLinkConfigVideoOutputConversionMode = 0x766f636d,
\r
687 bmdDeckLinkConfigAnalogVideoOutputFlags = 0x61766f66,
\r
688 bmdDeckLinkConfigReferenceInputTimingOffset = 0x676c6f74,
\r
689 bmdDeckLinkConfigVideoInputConnection = 0x7669636e,
\r
690 bmdDeckLinkConfigAnalogVideoInputFlags = 0x61766966,
\r
691 bmdDeckLinkConfigVideoInputConversionMode = 0x7669636d,
\r
692 bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = 0x70646966,
\r
693 bmdDeckLinkConfigVANCSourceLine1Mapping = 0x76736c31,
\r
694 bmdDeckLinkConfigVANCSourceLine2Mapping = 0x76736c32,
\r
695 bmdDeckLinkConfigVANCSourceLine3Mapping = 0x76736c33,
\r
696 bmdDeckLinkConfigAudioInputConnection = 0x6169636e,
\r
697 bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = 0x61697331,
\r
698 bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = 0x61697332,
\r
699 bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 0x61697333,
\r
700 bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 0x61697334,
\r
701 bmdDeckLinkConfigDigitalAudioInputScale = 0x64616973,
\r
702 bmdDeckLinkConfigAudioOutputAESAnalogSwitch = 0x616f6161,
\r
703 bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = 0x616f7331,
\r
704 bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 0x616f7332,
\r
705 bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 0x616f7333,
\r
706 bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 0x616f7334,
\r
707 bmdDeckLinkConfigDigitalAudioOutputScale = 0x64616f73
\r
708 } BMDDeckLinkConfigurationID;
\r
710 typedef /* [v1_enum] */
\r
711 enum _BMDDeckLinkAttributeID
\r
712 { BMDDeckLinkSupportsInternalKeying = 0x6b657969,
\r
713 BMDDeckLinkSupportsExternalKeying = 0x6b657965,
\r
714 BMDDeckLinkSupportsHDKeying = 0x6b657968,
\r
715 BMDDeckLinkSupportsInputFormatDetection = 0x696e6664,
\r
716 BMDDeckLinkHasReferenceInput = 0x6872696e,
\r
717 BMDDeckLinkHasSerialPort = 0x68737074,
\r
718 BMDDeckLinkMaximumAudioChannels = 0x6d616368,
\r
719 BMDDeckLinkNumberOfSubDevices = 0x6e736264,
\r
720 BMDDeckLinkSubDeviceIndex = 0x73756269,
\r
721 BMDDeckLinkVideoOutputConnections = 0x766f636e,
\r
722 BMDDeckLinkVideoInputConnections = 0x7669636e,
\r
723 BMDDeckLinkSerialPortDeviceName = 0x736c706e
\r
724 } BMDDeckLinkAttributeID;
\r
726 typedef /* [v1_enum] */
\r
727 enum _BMDDeckLinkAPIInformationID
\r
728 { BMDDeckLinkAPIVersion = 0x76657273
\r
729 } BMDDeckLinkAPIInformationID;
\r
731 typedef /* [v1_enum] */
\r
732 enum _BMDDeckControlMode
\r
733 { bmdDeckControlNotOpened = 0x6e746f70,
\r
734 bmdDeckControlVTRControlMode = 0x76747263,
\r
735 bmdDeckControlExportMode = 0x6578706d,
\r
736 bmdDeckControlCaptureMode = 0x6361706d
\r
737 } BMDDeckControlMode;
\r
739 typedef /* [v1_enum] */
\r
740 enum _BMDDeckControlEvent
\r
741 { bmdDeckControlAbortedEvent = 0x61627465,
\r
742 bmdDeckControlPrepareForExportEvent = 0x70666565,
\r
743 bmdDeckControlExportCompleteEvent = 0x65786365,
\r
744 bmdDeckControlPrepareForCaptureEvent = 0x70666365,
\r
745 bmdDeckControlCaptureCompleteEvent = 0x63636576
\r
746 } BMDDeckControlEvent;
\r
748 typedef /* [v1_enum] */
\r
749 enum _BMDDeckControlVTRControlState
\r
750 { bmdDeckControlNotInVTRControlMode = 0x6e76636d,
\r
751 bmdDeckControlVTRControlPlaying = 0x76747270,
\r
752 bmdDeckControlVTRControlRecording = 0x76747272,
\r
753 bmdDeckControlVTRControlStill = 0x76747261,
\r
754 bmdDeckControlVTRControlSeeking = 0x76747273,
\r
755 bmdDeckControlVTRControlStopped = 0x7674726f
\r
756 } BMDDeckControlVTRControlState;
\r
759 enum _BMDDeckControlStatusFlags
\r
760 { bmdDeckControlStatusDeckConnected = ( 1 << 0 ) ,
\r
761 bmdDeckControlStatusRemoteMode = ( 1 << 1 ) ,
\r
762 bmdDeckControlStatusRecordInhibited = ( 1 << 2 ) ,
\r
763 bmdDeckControlStatusCassetteOut = ( 1 << 3 )
\r
766 enum _BMDDeckControlExportModeOpsFlags
\r
767 { bmdDeckControlExportModeInsertVideo = ( 1 << 0 ) ,
\r
768 bmdDeckControlExportModeInsertAudio1 = ( 1 << 1 ) ,
\r
769 bmdDeckControlExportModeInsertAudio2 = ( 1 << 2 ) ,
\r
770 bmdDeckControlExportModeInsertAudio3 = ( 1 << 3 ) ,
\r
771 bmdDeckControlExportModeInsertAudio4 = ( 1 << 4 ) ,
\r
772 bmdDeckControlExportModeInsertAudio5 = ( 1 << 5 ) ,
\r
773 bmdDeckControlExportModeInsertAudio6 = ( 1 << 6 ) ,
\r
774 bmdDeckControlExportModeInsertAudio7 = ( 1 << 7 ) ,
\r
775 bmdDeckControlExportModeInsertAudio8 = ( 1 << 8 ) ,
\r
776 bmdDeckControlExportModeInsertAudio9 = ( 1 << 9 ) ,
\r
777 bmdDeckControlExportModeInsertAudio10 = ( 1 << 10 ) ,
\r
778 bmdDeckControlExportModeInsertAudio11 = ( 1 << 11 ) ,
\r
779 bmdDeckControlExportModeInsertAudio12 = ( 1 << 12 ) ,
\r
780 bmdDeckControlExportModeInsertTimeCode = ( 1 << 13 ) ,
\r
781 bmdDeckControlExportModeInsertAssemble = ( 1 << 14 ) ,
\r
782 bmdDeckControlExportModeInsertPreview = ( 1 << 15 ) ,
\r
783 bmdDeckControlUseManualExport = ( 1 << 16 )
\r
785 typedef /* [v1_enum] */
\r
786 enum _BMDDeckControlError
\r
787 { bmdDeckControlNoError = 0x6e6f6572,
\r
788 bmdDeckControlModeError = 0x6d6f6572,
\r
789 bmdDeckControlMissedInPointError = 0x6d696572,
\r
790 bmdDeckControlDeckTimeoutError = 0x64746572,
\r
791 bmdDeckControlCommandFailedError = 0x63666572,
\r
792 bmdDeckControlDeviceAlreadyOpenedError = 0x64616c6f,
\r
793 bmdDeckControlFailedToOpenDeviceError = 0x66646572,
\r
794 bmdDeckControlInLocalModeError = 0x6c6d6572,
\r
795 bmdDeckControlEndOfTapeError = 0x65746572,
\r
796 bmdDeckControlUserAbortError = 0x75616572,
\r
797 bmdDeckControlNoTapeInDeckError = 0x6e746572,
\r
798 bmdDeckControlNoVideoFromCardError = 0x6e766663,
\r
799 bmdDeckControlNoCommunicationError = 0x6e636f6d,
\r
800 bmdDeckControlUnknownError = 0x756e6572
\r
801 } BMDDeckControlError;
\r
803 typedef /* [v1_enum] */
\r
804 enum _BMD3DPreviewFormat
\r
805 { bmd3DPreviewFormatDefault = 0x64656661,
\r
806 bmd3DPreviewFormatLeftOnly = 0x6c656674,
\r
807 bmd3DPreviewFormatRightOnly = 0x72696768,
\r
808 bmd3DPreviewFormatSideBySide = 0x73696465,
\r
809 bmd3DPreviewFormatTopBottom = 0x746f7062
\r
810 } BMD3DPreviewFormat;
\r
838 typedef /* [v1_enum] */
\r
839 enum _BMDVideoConnection_v7_6
\r
840 { bmdVideoConnectionSDI_v7_6 = 0x73646920,
\r
841 bmdVideoConnectionHDMI_v7_6 = 0x68646d69,
\r
842 bmdVideoConnectionOpticalSDI_v7_6 = 0x6f707469,
\r
843 bmdVideoConnectionComponent_v7_6 = 0x63706e74,
\r
844 bmdVideoConnectionComposite_v7_6 = 0x636d7374,
\r
845 bmdVideoConnectionSVideo_v7_6 = 0x73766964
\r
846 } BMDVideoConnection_v7_6;
\r
870 EXTERN_C const IID LIBID_DeckLinkAPI;
\r
872 #ifndef __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__
\r
873 #define __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__
\r
875 /* interface IDeckLinkVideoOutputCallback */
\r
876 /* [helpstring][uuid][object] */
\r
879 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback;
\r
881 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
883 MIDL_INTERFACE("20AA5225-1958-47CB-820B-80A8D521A6EE")
\r
884 IDeckLinkVideoOutputCallback : public IUnknown
\r
887 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
\r
888 /* [in] */ IDeckLinkVideoFrame *completedFrame,
\r
889 /* [in] */ BMDOutputFrameCompletionResult result) = 0;
\r
891 virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0;
\r
895 #else /* C style interface */
\r
897 typedef struct IDeckLinkVideoOutputCallbackVtbl
\r
901 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
902 IDeckLinkVideoOutputCallback * This,
\r
903 /* [in] */ REFIID riid,
\r
904 /* [annotation][iid_is][out] */
\r
905 __RPC__deref_out void **ppvObject);
\r
907 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
908 IDeckLinkVideoOutputCallback * This);
\r
910 ULONG ( STDMETHODCALLTYPE *Release )(
\r
911 IDeckLinkVideoOutputCallback * This);
\r
913 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
\r
914 IDeckLinkVideoOutputCallback * This,
\r
915 /* [in] */ IDeckLinkVideoFrame *completedFrame,
\r
916 /* [in] */ BMDOutputFrameCompletionResult result);
\r
918 HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )(
\r
919 IDeckLinkVideoOutputCallback * This);
\r
922 } IDeckLinkVideoOutputCallbackVtbl;
\r
924 interface IDeckLinkVideoOutputCallback
\r
926 CONST_VTBL struct IDeckLinkVideoOutputCallbackVtbl *lpVtbl;
\r
934 #define IDeckLinkVideoOutputCallback_QueryInterface(This,riid,ppvObject) \
\r
935 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
937 #define IDeckLinkVideoOutputCallback_AddRef(This) \
\r
938 ( (This)->lpVtbl -> AddRef(This) )
\r
940 #define IDeckLinkVideoOutputCallback_Release(This) \
\r
941 ( (This)->lpVtbl -> Release(This) )
\r
944 #define IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(This,completedFrame,result) \
\r
945 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
\r
947 #define IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(This) \
\r
948 ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) )
\r
950 #endif /* COBJMACROS */
\r
953 #endif /* C style interface */
\r
958 #endif /* __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ */
\r
961 #ifndef __IDeckLinkInputCallback_INTERFACE_DEFINED__
\r
962 #define __IDeckLinkInputCallback_INTERFACE_DEFINED__
\r
964 /* interface IDeckLinkInputCallback */
\r
965 /* [helpstring][uuid][object] */
\r
968 EXTERN_C const IID IID_IDeckLinkInputCallback;
\r
970 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
972 MIDL_INTERFACE("DD04E5EC-7415-42AB-AE4A-E80C4DFC044A")
\r
973 IDeckLinkInputCallback : public IUnknown
\r
976 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
\r
977 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
978 /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
\r
979 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
\r
981 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
982 /* [in] */ IDeckLinkVideoInputFrame *videoFrame,
\r
983 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
\r
987 #else /* C style interface */
\r
989 typedef struct IDeckLinkInputCallbackVtbl
\r
993 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
994 IDeckLinkInputCallback * This,
\r
995 /* [in] */ REFIID riid,
\r
996 /* [annotation][iid_is][out] */
\r
997 __RPC__deref_out void **ppvObject);
\r
999 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1000 IDeckLinkInputCallback * This);
\r
1002 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1003 IDeckLinkInputCallback * This);
\r
1005 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
\r
1006 IDeckLinkInputCallback * This,
\r
1007 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
1008 /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
\r
1009 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
\r
1011 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
1012 IDeckLinkInputCallback * This,
\r
1013 /* [in] */ IDeckLinkVideoInputFrame *videoFrame,
\r
1014 /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
\r
1017 } IDeckLinkInputCallbackVtbl;
\r
1019 interface IDeckLinkInputCallback
\r
1021 CONST_VTBL struct IDeckLinkInputCallbackVtbl *lpVtbl;
\r
1029 #define IDeckLinkInputCallback_QueryInterface(This,riid,ppvObject) \
\r
1030 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1032 #define IDeckLinkInputCallback_AddRef(This) \
\r
1033 ( (This)->lpVtbl -> AddRef(This) )
\r
1035 #define IDeckLinkInputCallback_Release(This) \
\r
1036 ( (This)->lpVtbl -> Release(This) )
\r
1039 #define IDeckLinkInputCallback_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
\r
1040 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
\r
1042 #define IDeckLinkInputCallback_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
1043 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
1045 #endif /* COBJMACROS */
\r
1048 #endif /* C style interface */
\r
1053 #endif /* __IDeckLinkInputCallback_INTERFACE_DEFINED__ */
\r
1056 #ifndef __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__
\r
1057 #define __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__
\r
1059 /* interface IDeckLinkMemoryAllocator */
\r
1060 /* [helpstring][local][uuid][object] */
\r
1063 EXTERN_C const IID IID_IDeckLinkMemoryAllocator;
\r
1065 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1067 MIDL_INTERFACE("B36EB6E7-9D29-4AA8-92EF-843B87A289E8")
\r
1068 IDeckLinkMemoryAllocator : public IUnknown
\r
1071 virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(
\r
1072 /* [in] */ unsigned long bufferSize,
\r
1073 /* [out] */ void **allocatedBuffer) = 0;
\r
1075 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
\r
1076 /* [in] */ void *buffer) = 0;
\r
1078 virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
\r
1080 virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
\r
1084 #else /* C style interface */
\r
1086 typedef struct IDeckLinkMemoryAllocatorVtbl
\r
1090 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1091 IDeckLinkMemoryAllocator * This,
\r
1092 /* [in] */ REFIID riid,
\r
1093 /* [annotation][iid_is][out] */
\r
1094 __RPC__deref_out void **ppvObject);
\r
1096 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1097 IDeckLinkMemoryAllocator * This);
\r
1099 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1100 IDeckLinkMemoryAllocator * This);
\r
1102 HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )(
\r
1103 IDeckLinkMemoryAllocator * This,
\r
1104 /* [in] */ unsigned long bufferSize,
\r
1105 /* [out] */ void **allocatedBuffer);
\r
1107 HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
\r
1108 IDeckLinkMemoryAllocator * This,
\r
1109 /* [in] */ void *buffer);
\r
1111 HRESULT ( STDMETHODCALLTYPE *Commit )(
\r
1112 IDeckLinkMemoryAllocator * This);
\r
1114 HRESULT ( STDMETHODCALLTYPE *Decommit )(
\r
1115 IDeckLinkMemoryAllocator * This);
\r
1118 } IDeckLinkMemoryAllocatorVtbl;
\r
1120 interface IDeckLinkMemoryAllocator
\r
1122 CONST_VTBL struct IDeckLinkMemoryAllocatorVtbl *lpVtbl;
\r
1130 #define IDeckLinkMemoryAllocator_QueryInterface(This,riid,ppvObject) \
\r
1131 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1133 #define IDeckLinkMemoryAllocator_AddRef(This) \
\r
1134 ( (This)->lpVtbl -> AddRef(This) )
\r
1136 #define IDeckLinkMemoryAllocator_Release(This) \
\r
1137 ( (This)->lpVtbl -> Release(This) )
\r
1140 #define IDeckLinkMemoryAllocator_AllocateBuffer(This,bufferSize,allocatedBuffer) \
\r
1141 ( (This)->lpVtbl -> AllocateBuffer(This,bufferSize,allocatedBuffer) )
\r
1143 #define IDeckLinkMemoryAllocator_ReleaseBuffer(This,buffer) \
\r
1144 ( (This)->lpVtbl -> ReleaseBuffer(This,buffer) )
\r
1146 #define IDeckLinkMemoryAllocator_Commit(This) \
\r
1147 ( (This)->lpVtbl -> Commit(This) )
\r
1149 #define IDeckLinkMemoryAllocator_Decommit(This) \
\r
1150 ( (This)->lpVtbl -> Decommit(This) )
\r
1152 #endif /* COBJMACROS */
\r
1155 #endif /* C style interface */
\r
1160 #endif /* __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ */
\r
1163 #ifndef __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__
\r
1164 #define __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__
\r
1166 /* interface IDeckLinkAudioOutputCallback */
\r
1167 /* [helpstring][local][uuid][object] */
\r
1170 EXTERN_C const IID IID_IDeckLinkAudioOutputCallback;
\r
1172 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1174 MIDL_INTERFACE("403C681B-7F46-4A12-B993-2BB127084EE6")
\r
1175 IDeckLinkAudioOutputCallback : public IUnknown
\r
1178 virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples(
\r
1179 /* [in] */ BOOL preroll) = 0;
\r
1183 #else /* C style interface */
\r
1185 typedef struct IDeckLinkAudioOutputCallbackVtbl
\r
1189 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1190 IDeckLinkAudioOutputCallback * This,
\r
1191 /* [in] */ REFIID riid,
\r
1192 /* [annotation][iid_is][out] */
\r
1193 __RPC__deref_out void **ppvObject);
\r
1195 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1196 IDeckLinkAudioOutputCallback * This);
\r
1198 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1199 IDeckLinkAudioOutputCallback * This);
\r
1201 HRESULT ( STDMETHODCALLTYPE *RenderAudioSamples )(
\r
1202 IDeckLinkAudioOutputCallback * This,
\r
1203 /* [in] */ BOOL preroll);
\r
1206 } IDeckLinkAudioOutputCallbackVtbl;
\r
1208 interface IDeckLinkAudioOutputCallback
\r
1210 CONST_VTBL struct IDeckLinkAudioOutputCallbackVtbl *lpVtbl;
\r
1218 #define IDeckLinkAudioOutputCallback_QueryInterface(This,riid,ppvObject) \
\r
1219 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1221 #define IDeckLinkAudioOutputCallback_AddRef(This) \
\r
1222 ( (This)->lpVtbl -> AddRef(This) )
\r
1224 #define IDeckLinkAudioOutputCallback_Release(This) \
\r
1225 ( (This)->lpVtbl -> Release(This) )
\r
1228 #define IDeckLinkAudioOutputCallback_RenderAudioSamples(This,preroll) \
\r
1229 ( (This)->lpVtbl -> RenderAudioSamples(This,preroll) )
\r
1231 #endif /* COBJMACROS */
\r
1234 #endif /* C style interface */
\r
1239 #endif /* __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ */
\r
1242 #ifndef __IDeckLinkIterator_INTERFACE_DEFINED__
\r
1243 #define __IDeckLinkIterator_INTERFACE_DEFINED__
\r
1245 /* interface IDeckLinkIterator */
\r
1246 /* [helpstring][uuid][object] */
\r
1249 EXTERN_C const IID IID_IDeckLinkIterator;
\r
1251 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1253 MIDL_INTERFACE("74E936FC-CC28-4A67-81A0-1E94E52D4E69")
\r
1254 IDeckLinkIterator : public IUnknown
\r
1257 virtual HRESULT STDMETHODCALLTYPE Next(
\r
1258 /* [out] */ IDeckLink **deckLinkInstance) = 0;
\r
1262 #else /* C style interface */
\r
1264 typedef struct IDeckLinkIteratorVtbl
\r
1268 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1269 IDeckLinkIterator * This,
\r
1270 /* [in] */ REFIID riid,
\r
1271 /* [annotation][iid_is][out] */
\r
1272 __RPC__deref_out void **ppvObject);
\r
1274 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1275 IDeckLinkIterator * This);
\r
1277 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1278 IDeckLinkIterator * This);
\r
1280 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
1281 IDeckLinkIterator * This,
\r
1282 /* [out] */ IDeckLink **deckLinkInstance);
\r
1285 } IDeckLinkIteratorVtbl;
\r
1287 interface IDeckLinkIterator
\r
1289 CONST_VTBL struct IDeckLinkIteratorVtbl *lpVtbl;
\r
1297 #define IDeckLinkIterator_QueryInterface(This,riid,ppvObject) \
\r
1298 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1300 #define IDeckLinkIterator_AddRef(This) \
\r
1301 ( (This)->lpVtbl -> AddRef(This) )
\r
1303 #define IDeckLinkIterator_Release(This) \
\r
1304 ( (This)->lpVtbl -> Release(This) )
\r
1307 #define IDeckLinkIterator_Next(This,deckLinkInstance) \
\r
1308 ( (This)->lpVtbl -> Next(This,deckLinkInstance) )
\r
1310 #endif /* COBJMACROS */
\r
1313 #endif /* C style interface */
\r
1318 #endif /* __IDeckLinkIterator_INTERFACE_DEFINED__ */
\r
1321 #ifndef __IDeckLinkAPIInformation_INTERFACE_DEFINED__
\r
1322 #define __IDeckLinkAPIInformation_INTERFACE_DEFINED__
\r
1324 /* interface IDeckLinkAPIInformation */
\r
1325 /* [helpstring][uuid][object] */
\r
1328 EXTERN_C const IID IID_IDeckLinkAPIInformation;
\r
1330 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1332 MIDL_INTERFACE("7BEA3C68-730D-4322-AF34-8A7152B532A4")
\r
1333 IDeckLinkAPIInformation : public IUnknown
\r
1336 virtual HRESULT STDMETHODCALLTYPE GetFlag(
\r
1337 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1338 /* [out] */ BOOL *value) = 0;
\r
1340 virtual HRESULT STDMETHODCALLTYPE GetInt(
\r
1341 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1342 /* [out] */ LONGLONG *value) = 0;
\r
1344 virtual HRESULT STDMETHODCALLTYPE GetFloat(
\r
1345 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1346 /* [out] */ double *value) = 0;
\r
1348 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
1349 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1350 /* [out] */ BSTR *value) = 0;
\r
1354 #else /* C style interface */
\r
1356 typedef struct IDeckLinkAPIInformationVtbl
\r
1360 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1361 IDeckLinkAPIInformation * This,
\r
1362 /* [in] */ REFIID riid,
\r
1363 /* [annotation][iid_is][out] */
\r
1364 __RPC__deref_out void **ppvObject);
\r
1366 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1367 IDeckLinkAPIInformation * This);
\r
1369 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1370 IDeckLinkAPIInformation * This);
\r
1372 HRESULT ( STDMETHODCALLTYPE *GetFlag )(
\r
1373 IDeckLinkAPIInformation * This,
\r
1374 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1375 /* [out] */ BOOL *value);
\r
1377 HRESULT ( STDMETHODCALLTYPE *GetInt )(
\r
1378 IDeckLinkAPIInformation * This,
\r
1379 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1380 /* [out] */ LONGLONG *value);
\r
1382 HRESULT ( STDMETHODCALLTYPE *GetFloat )(
\r
1383 IDeckLinkAPIInformation * This,
\r
1384 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1385 /* [out] */ double *value);
\r
1387 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
1388 IDeckLinkAPIInformation * This,
\r
1389 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1390 /* [out] */ BSTR *value);
\r
1393 } IDeckLinkAPIInformationVtbl;
\r
1395 interface IDeckLinkAPIInformation
\r
1397 CONST_VTBL struct IDeckLinkAPIInformationVtbl *lpVtbl;
\r
1405 #define IDeckLinkAPIInformation_QueryInterface(This,riid,ppvObject) \
\r
1406 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1408 #define IDeckLinkAPIInformation_AddRef(This) \
\r
1409 ( (This)->lpVtbl -> AddRef(This) )
\r
1411 #define IDeckLinkAPIInformation_Release(This) \
\r
1412 ( (This)->lpVtbl -> Release(This) )
\r
1415 #define IDeckLinkAPIInformation_GetFlag(This,cfgID,value) \
\r
1416 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
\r
1418 #define IDeckLinkAPIInformation_GetInt(This,cfgID,value) \
\r
1419 ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
\r
1421 #define IDeckLinkAPIInformation_GetFloat(This,cfgID,value) \
\r
1422 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
\r
1424 #define IDeckLinkAPIInformation_GetString(This,cfgID,value) \
\r
1425 ( (This)->lpVtbl -> GetString(This,cfgID,value) )
\r
1427 #endif /* COBJMACROS */
\r
1430 #endif /* C style interface */
\r
1435 #endif /* __IDeckLinkAPIInformation_INTERFACE_DEFINED__ */
\r
1438 #ifndef __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__
\r
1439 #define __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__
\r
1441 /* interface IDeckLinkDisplayModeIterator */
\r
1442 /* [helpstring][uuid][object] */
\r
1445 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator;
\r
1447 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1449 MIDL_INTERFACE("9C88499F-F601-4021-B80B-032E4EB41C35")
\r
1450 IDeckLinkDisplayModeIterator : public IUnknown
\r
1453 virtual HRESULT STDMETHODCALLTYPE Next(
\r
1454 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0;
\r
1458 #else /* C style interface */
\r
1460 typedef struct IDeckLinkDisplayModeIteratorVtbl
\r
1464 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1465 IDeckLinkDisplayModeIterator * This,
\r
1466 /* [in] */ REFIID riid,
\r
1467 /* [annotation][iid_is][out] */
\r
1468 __RPC__deref_out void **ppvObject);
\r
1470 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1471 IDeckLinkDisplayModeIterator * This);
\r
1473 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1474 IDeckLinkDisplayModeIterator * This);
\r
1476 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
1477 IDeckLinkDisplayModeIterator * This,
\r
1478 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode);
\r
1481 } IDeckLinkDisplayModeIteratorVtbl;
\r
1483 interface IDeckLinkDisplayModeIterator
\r
1485 CONST_VTBL struct IDeckLinkDisplayModeIteratorVtbl *lpVtbl;
\r
1493 #define IDeckLinkDisplayModeIterator_QueryInterface(This,riid,ppvObject) \
\r
1494 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1496 #define IDeckLinkDisplayModeIterator_AddRef(This) \
\r
1497 ( (This)->lpVtbl -> AddRef(This) )
\r
1499 #define IDeckLinkDisplayModeIterator_Release(This) \
\r
1500 ( (This)->lpVtbl -> Release(This) )
\r
1503 #define IDeckLinkDisplayModeIterator_Next(This,deckLinkDisplayMode) \
\r
1504 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
\r
1506 #endif /* COBJMACROS */
\r
1509 #endif /* C style interface */
\r
1514 #endif /* __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ */
\r
1517 #ifndef __IDeckLinkDisplayMode_INTERFACE_DEFINED__
\r
1518 #define __IDeckLinkDisplayMode_INTERFACE_DEFINED__
\r
1520 /* interface IDeckLinkDisplayMode */
\r
1521 /* [helpstring][uuid][object] */
\r
1524 EXTERN_C const IID IID_IDeckLinkDisplayMode;
\r
1526 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1528 MIDL_INTERFACE("3EB2C1AB-0A3D-4523-A3AD-F40D7FB14E78")
\r
1529 IDeckLinkDisplayMode : public IUnknown
\r
1532 virtual HRESULT STDMETHODCALLTYPE GetName(
\r
1533 /* [out] */ BSTR *name) = 0;
\r
1535 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
1537 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
1539 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
1541 virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
\r
1542 /* [out] */ BMDTimeValue *frameDuration,
\r
1543 /* [out] */ BMDTimeScale *timeScale) = 0;
\r
1545 virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0;
\r
1547 virtual BMDDisplayModeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
1551 #else /* C style interface */
\r
1553 typedef struct IDeckLinkDisplayModeVtbl
\r
1557 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1558 IDeckLinkDisplayMode * This,
\r
1559 /* [in] */ REFIID riid,
\r
1560 /* [annotation][iid_is][out] */
\r
1561 __RPC__deref_out void **ppvObject);
\r
1563 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1564 IDeckLinkDisplayMode * This);
\r
1566 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1567 IDeckLinkDisplayMode * This);
\r
1569 HRESULT ( STDMETHODCALLTYPE *GetName )(
\r
1570 IDeckLinkDisplayMode * This,
\r
1571 /* [out] */ BSTR *name);
\r
1573 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
1574 IDeckLinkDisplayMode * This);
\r
1576 long ( STDMETHODCALLTYPE *GetWidth )(
\r
1577 IDeckLinkDisplayMode * This);
\r
1579 long ( STDMETHODCALLTYPE *GetHeight )(
\r
1580 IDeckLinkDisplayMode * This);
\r
1582 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
\r
1583 IDeckLinkDisplayMode * This,
\r
1584 /* [out] */ BMDTimeValue *frameDuration,
\r
1585 /* [out] */ BMDTimeScale *timeScale);
\r
1587 BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )(
\r
1588 IDeckLinkDisplayMode * This);
\r
1590 BMDDisplayModeFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
1591 IDeckLinkDisplayMode * This);
\r
1594 } IDeckLinkDisplayModeVtbl;
\r
1596 interface IDeckLinkDisplayMode
\r
1598 CONST_VTBL struct IDeckLinkDisplayModeVtbl *lpVtbl;
\r
1606 #define IDeckLinkDisplayMode_QueryInterface(This,riid,ppvObject) \
\r
1607 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1609 #define IDeckLinkDisplayMode_AddRef(This) \
\r
1610 ( (This)->lpVtbl -> AddRef(This) )
\r
1612 #define IDeckLinkDisplayMode_Release(This) \
\r
1613 ( (This)->lpVtbl -> Release(This) )
\r
1616 #define IDeckLinkDisplayMode_GetName(This,name) \
\r
1617 ( (This)->lpVtbl -> GetName(This,name) )
\r
1619 #define IDeckLinkDisplayMode_GetDisplayMode(This) \
\r
1620 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
1622 #define IDeckLinkDisplayMode_GetWidth(This) \
\r
1623 ( (This)->lpVtbl -> GetWidth(This) )
\r
1625 #define IDeckLinkDisplayMode_GetHeight(This) \
\r
1626 ( (This)->lpVtbl -> GetHeight(This) )
\r
1628 #define IDeckLinkDisplayMode_GetFrameRate(This,frameDuration,timeScale) \
\r
1629 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
\r
1631 #define IDeckLinkDisplayMode_GetFieldDominance(This) \
\r
1632 ( (This)->lpVtbl -> GetFieldDominance(This) )
\r
1634 #define IDeckLinkDisplayMode_GetFlags(This) \
\r
1635 ( (This)->lpVtbl -> GetFlags(This) )
\r
1637 #endif /* COBJMACROS */
\r
1640 #endif /* C style interface */
\r
1645 #endif /* __IDeckLinkDisplayMode_INTERFACE_DEFINED__ */
\r
1648 #ifndef __IDeckLink_INTERFACE_DEFINED__
\r
1649 #define __IDeckLink_INTERFACE_DEFINED__
\r
1651 /* interface IDeckLink */
\r
1652 /* [helpstring][uuid][object] */
\r
1655 EXTERN_C const IID IID_IDeckLink;
\r
1657 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1659 MIDL_INTERFACE("62BFF75D-6569-4E55-8D4D-66AA03829ABC")
\r
1660 IDeckLink : public IUnknown
\r
1663 virtual HRESULT STDMETHODCALLTYPE GetModelName(
\r
1664 /* [out] */ BSTR *modelName) = 0;
\r
1668 #else /* C style interface */
\r
1670 typedef struct IDeckLinkVtbl
\r
1674 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1676 /* [in] */ REFIID riid,
\r
1677 /* [annotation][iid_is][out] */
\r
1678 __RPC__deref_out void **ppvObject);
\r
1680 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1681 IDeckLink * This);
\r
1683 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1684 IDeckLink * This);
\r
1686 HRESULT ( STDMETHODCALLTYPE *GetModelName )(
\r
1688 /* [out] */ BSTR *modelName);
\r
1693 interface IDeckLink
\r
1695 CONST_VTBL struct IDeckLinkVtbl *lpVtbl;
\r
1703 #define IDeckLink_QueryInterface(This,riid,ppvObject) \
\r
1704 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1706 #define IDeckLink_AddRef(This) \
\r
1707 ( (This)->lpVtbl -> AddRef(This) )
\r
1709 #define IDeckLink_Release(This) \
\r
1710 ( (This)->lpVtbl -> Release(This) )
\r
1713 #define IDeckLink_GetModelName(This,modelName) \
\r
1714 ( (This)->lpVtbl -> GetModelName(This,modelName) )
\r
1716 #endif /* COBJMACROS */
\r
1719 #endif /* C style interface */
\r
1724 #endif /* __IDeckLink_INTERFACE_DEFINED__ */
\r
1727 #ifndef __IDeckLinkOutput_INTERFACE_DEFINED__
\r
1728 #define __IDeckLinkOutput_INTERFACE_DEFINED__
\r
1730 /* interface IDeckLinkOutput */
\r
1731 /* [helpstring][local][uuid][object] */
\r
1734 EXTERN_C const IID IID_IDeckLinkOutput;
\r
1736 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1738 MIDL_INTERFACE("A3EF0963-0862-44ED-92A9-EE89ABF431C7")
\r
1739 IDeckLinkOutput : public IUnknown
\r
1742 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
1743 /* [in] */ BMDDisplayMode displayMode,
\r
1744 /* [in] */ BMDPixelFormat pixelFormat,
\r
1745 /* [in] */ BMDVideoOutputFlags flags,
\r
1746 /* [out] */ BMDDisplayModeSupport *result,
\r
1747 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0;
\r
1749 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
1750 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
\r
1752 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
1753 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
1755 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
1756 /* [in] */ BMDDisplayMode displayMode,
\r
1757 /* [in] */ BMDVideoOutputFlags flags) = 0;
\r
1759 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
1761 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
1762 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
1764 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
1765 /* [in] */ long width,
\r
1766 /* [in] */ long height,
\r
1767 /* [in] */ long rowBytes,
\r
1768 /* [in] */ BMDPixelFormat pixelFormat,
\r
1769 /* [in] */ BMDFrameFlags flags,
\r
1770 /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0;
\r
1772 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
\r
1773 /* [in] */ BMDPixelFormat pixelFormat,
\r
1774 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
\r
1776 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
1777 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
1779 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
1780 /* [in] */ IDeckLinkVideoFrame *theFrame,
\r
1781 /* [in] */ BMDTimeValue displayTime,
\r
1782 /* [in] */ BMDTimeValue displayDuration,
\r
1783 /* [in] */ BMDTimeScale timeScale) = 0;
\r
1785 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
1786 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;
\r
1788 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
\r
1789 /* [out] */ unsigned long *bufferedFrameCount) = 0;
\r
1791 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
1792 /* [in] */ BMDAudioSampleRate sampleRate,
\r
1793 /* [in] */ BMDAudioSampleType sampleType,
\r
1794 /* [in] */ unsigned long channelCount,
\r
1795 /* [in] */ BMDAudioOutputStreamType streamType) = 0;
\r
1797 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
1799 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
1800 /* [in] */ void *buffer,
\r
1801 /* [in] */ unsigned long sampleFrameCount,
\r
1802 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
1804 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
1806 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
1808 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
1809 /* [in] */ void *buffer,
\r
1810 /* [in] */ unsigned long sampleFrameCount,
\r
1811 /* [in] */ BMDTimeValue streamTime,
\r
1812 /* [in] */ BMDTimeScale timeScale,
\r
1813 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
1815 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
1816 /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
\r
1818 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
1820 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
1821 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
1823 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
1824 /* [in] */ BMDTimeValue playbackStartTime,
\r
1825 /* [in] */ BMDTimeScale timeScale,
\r
1826 /* [in] */ double playbackSpeed) = 0;
\r
1828 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
1829 /* [in] */ BMDTimeValue stopPlaybackAtTime,
\r
1830 /* [out] */ BMDTimeValue *actualStopTime,
\r
1831 /* [in] */ BMDTimeScale timeScale) = 0;
\r
1833 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
\r
1834 /* [out] */ BOOL *active) = 0;
\r
1836 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
\r
1837 /* [in] */ BMDTimeScale desiredTimeScale,
\r
1838 /* [out] */ BMDTimeValue *streamTime,
\r
1839 /* [out] */ double *playbackSpeed) = 0;
\r
1841 virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus(
\r
1842 /* [out] */ BMDReferenceStatus *referenceStatus) = 0;
\r
1844 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
1845 /* [in] */ BMDTimeScale desiredTimeScale,
\r
1846 /* [out] */ BMDTimeValue *hardwareTime,
\r
1847 /* [out] */ BMDTimeValue *timeInFrame,
\r
1848 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
1852 #else /* C style interface */
\r
1854 typedef struct IDeckLinkOutputVtbl
\r
1858 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1859 IDeckLinkOutput * This,
\r
1860 /* [in] */ REFIID riid,
\r
1861 /* [annotation][iid_is][out] */
\r
1862 __RPC__deref_out void **ppvObject);
\r
1864 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1865 IDeckLinkOutput * This);
\r
1867 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1868 IDeckLinkOutput * This);
\r
1870 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
1871 IDeckLinkOutput * This,
\r
1872 /* [in] */ BMDDisplayMode displayMode,
\r
1873 /* [in] */ BMDPixelFormat pixelFormat,
\r
1874 /* [in] */ BMDVideoOutputFlags flags,
\r
1875 /* [out] */ BMDDisplayModeSupport *result,
\r
1876 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode);
\r
1878 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
1879 IDeckLinkOutput * This,
\r
1880 /* [out] */ IDeckLinkDisplayModeIterator **iterator);
\r
1882 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
1883 IDeckLinkOutput * This,
\r
1884 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
1886 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
1887 IDeckLinkOutput * This,
\r
1888 /* [in] */ BMDDisplayMode displayMode,
\r
1889 /* [in] */ BMDVideoOutputFlags flags);
\r
1891 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
1892 IDeckLinkOutput * This);
\r
1894 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
1895 IDeckLinkOutput * This,
\r
1896 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
1898 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
1899 IDeckLinkOutput * This,
\r
1900 /* [in] */ long width,
\r
1901 /* [in] */ long height,
\r
1902 /* [in] */ long rowBytes,
\r
1903 /* [in] */ BMDPixelFormat pixelFormat,
\r
1904 /* [in] */ BMDFrameFlags flags,
\r
1905 /* [out] */ IDeckLinkMutableVideoFrame **outFrame);
\r
1907 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
\r
1908 IDeckLinkOutput * This,
\r
1909 /* [in] */ BMDPixelFormat pixelFormat,
\r
1910 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
\r
1912 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
1913 IDeckLinkOutput * This,
\r
1914 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
1916 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
1917 IDeckLinkOutput * This,
\r
1918 /* [in] */ IDeckLinkVideoFrame *theFrame,
\r
1919 /* [in] */ BMDTimeValue displayTime,
\r
1920 /* [in] */ BMDTimeValue displayDuration,
\r
1921 /* [in] */ BMDTimeScale timeScale);
\r
1923 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
1924 IDeckLinkOutput * This,
\r
1925 /* [in] */ IDeckLinkVideoOutputCallback *theCallback);
\r
1927 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
\r
1928 IDeckLinkOutput * This,
\r
1929 /* [out] */ unsigned long *bufferedFrameCount);
\r
1931 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
1932 IDeckLinkOutput * This,
\r
1933 /* [in] */ BMDAudioSampleRate sampleRate,
\r
1934 /* [in] */ BMDAudioSampleType sampleType,
\r
1935 /* [in] */ unsigned long channelCount,
\r
1936 /* [in] */ BMDAudioOutputStreamType streamType);
\r
1938 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
1939 IDeckLinkOutput * This);
\r
1941 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
1942 IDeckLinkOutput * This,
\r
1943 /* [in] */ void *buffer,
\r
1944 /* [in] */ unsigned long sampleFrameCount,
\r
1945 /* [out] */ unsigned long *sampleFramesWritten);
\r
1947 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
1948 IDeckLinkOutput * This);
\r
1950 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
1951 IDeckLinkOutput * This);
\r
1953 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
1954 IDeckLinkOutput * This,
\r
1955 /* [in] */ void *buffer,
\r
1956 /* [in] */ unsigned long sampleFrameCount,
\r
1957 /* [in] */ BMDTimeValue streamTime,
\r
1958 /* [in] */ BMDTimeScale timeScale,
\r
1959 /* [out] */ unsigned long *sampleFramesWritten);
\r
1961 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
1962 IDeckLinkOutput * This,
\r
1963 /* [out] */ unsigned long *bufferedSampleFrameCount);
\r
1965 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
1966 IDeckLinkOutput * This);
\r
1968 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
1969 IDeckLinkOutput * This,
\r
1970 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
1972 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
1973 IDeckLinkOutput * This,
\r
1974 /* [in] */ BMDTimeValue playbackStartTime,
\r
1975 /* [in] */ BMDTimeScale timeScale,
\r
1976 /* [in] */ double playbackSpeed);
\r
1978 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
1979 IDeckLinkOutput * This,
\r
1980 /* [in] */ BMDTimeValue stopPlaybackAtTime,
\r
1981 /* [out] */ BMDTimeValue *actualStopTime,
\r
1982 /* [in] */ BMDTimeScale timeScale);
\r
1984 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
\r
1985 IDeckLinkOutput * This,
\r
1986 /* [out] */ BOOL *active);
\r
1988 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )(
\r
1989 IDeckLinkOutput * This,
\r
1990 /* [in] */ BMDTimeScale desiredTimeScale,
\r
1991 /* [out] */ BMDTimeValue *streamTime,
\r
1992 /* [out] */ double *playbackSpeed);
\r
1994 HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )(
\r
1995 IDeckLinkOutput * This,
\r
1996 /* [out] */ BMDReferenceStatus *referenceStatus);
\r
1998 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
1999 IDeckLinkOutput * This,
\r
2000 /* [in] */ BMDTimeScale desiredTimeScale,
\r
2001 /* [out] */ BMDTimeValue *hardwareTime,
\r
2002 /* [out] */ BMDTimeValue *timeInFrame,
\r
2003 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
2006 } IDeckLinkOutputVtbl;
\r
2008 interface IDeckLinkOutput
\r
2010 CONST_VTBL struct IDeckLinkOutputVtbl *lpVtbl;
\r
2018 #define IDeckLinkOutput_QueryInterface(This,riid,ppvObject) \
\r
2019 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2021 #define IDeckLinkOutput_AddRef(This) \
\r
2022 ( (This)->lpVtbl -> AddRef(This) )
\r
2024 #define IDeckLinkOutput_Release(This) \
\r
2025 ( (This)->lpVtbl -> Release(This) )
\r
2028 #define IDeckLinkOutput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \
\r
2029 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) )
\r
2031 #define IDeckLinkOutput_GetDisplayModeIterator(This,iterator) \
\r
2032 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
2034 #define IDeckLinkOutput_SetScreenPreviewCallback(This,previewCallback) \
\r
2035 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
2037 #define IDeckLinkOutput_EnableVideoOutput(This,displayMode,flags) \
\r
2038 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
\r
2040 #define IDeckLinkOutput_DisableVideoOutput(This) \
\r
2041 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
2043 #define IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
2044 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
2046 #define IDeckLinkOutput_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
2047 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
2049 #define IDeckLinkOutput_CreateAncillaryData(This,pixelFormat,outBuffer) \
\r
2050 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
\r
2052 #define IDeckLinkOutput_DisplayVideoFrameSync(This,theFrame) \
\r
2053 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
2055 #define IDeckLinkOutput_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
2056 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
2058 #define IDeckLinkOutput_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
2059 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
2061 #define IDeckLinkOutput_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
\r
2062 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
\r
2064 #define IDeckLinkOutput_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
\r
2065 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
\r
2067 #define IDeckLinkOutput_DisableAudioOutput(This) \
\r
2068 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
2070 #define IDeckLinkOutput_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
2071 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
2073 #define IDeckLinkOutput_BeginAudioPreroll(This) \
\r
2074 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
2076 #define IDeckLinkOutput_EndAudioPreroll(This) \
\r
2077 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
2079 #define IDeckLinkOutput_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
2080 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
2082 #define IDeckLinkOutput_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
\r
2083 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
\r
2085 #define IDeckLinkOutput_FlushBufferedAudioSamples(This) \
\r
2086 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
2088 #define IDeckLinkOutput_SetAudioCallback(This,theCallback) \
\r
2089 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
2091 #define IDeckLinkOutput_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
2092 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
2094 #define IDeckLinkOutput_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
2095 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
2097 #define IDeckLinkOutput_IsScheduledPlaybackRunning(This,active) \
\r
2098 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
\r
2100 #define IDeckLinkOutput_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \
\r
2101 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) )
\r
2103 #define IDeckLinkOutput_GetReferenceStatus(This,referenceStatus) \
\r
2104 ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) )
\r
2106 #define IDeckLinkOutput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
2107 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
2109 #endif /* COBJMACROS */
\r
2112 #endif /* C style interface */
\r
2117 #endif /* __IDeckLinkOutput_INTERFACE_DEFINED__ */
\r
2120 #ifndef __IDeckLinkInput_INTERFACE_DEFINED__
\r
2121 #define __IDeckLinkInput_INTERFACE_DEFINED__
\r
2123 /* interface IDeckLinkInput */
\r
2124 /* [helpstring][uuid][object] */
\r
2127 EXTERN_C const IID IID_IDeckLinkInput;
\r
2129 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2131 MIDL_INTERFACE("6D40EF78-28B9-4E21-990D-95BB7750A04F")
\r
2132 IDeckLinkInput : public IUnknown
\r
2135 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
2136 /* [in] */ BMDDisplayMode displayMode,
\r
2137 /* [in] */ BMDPixelFormat pixelFormat,
\r
2138 /* [in] */ BMDVideoInputFlags flags,
\r
2139 /* [out] */ BMDDisplayModeSupport *result,
\r
2140 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0;
\r
2142 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
2143 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
\r
2145 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
2146 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
2148 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
2149 /* [in] */ BMDDisplayMode displayMode,
\r
2150 /* [in] */ BMDPixelFormat pixelFormat,
\r
2151 /* [in] */ BMDVideoInputFlags flags) = 0;
\r
2153 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
2155 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
\r
2156 /* [out] */ unsigned long *availableFrameCount) = 0;
\r
2158 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
2159 /* [in] */ BMDAudioSampleRate sampleRate,
\r
2160 /* [in] */ BMDAudioSampleType sampleType,
\r
2161 /* [in] */ unsigned long channelCount) = 0;
\r
2163 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
2165 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
\r
2166 /* [out] */ unsigned long *availableSampleFrameCount) = 0;
\r
2168 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
2170 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
2172 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
2174 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
\r
2176 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
2177 /* [in] */ IDeckLinkInputCallback *theCallback) = 0;
\r
2179 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
2180 /* [in] */ BMDTimeScale desiredTimeScale,
\r
2181 /* [out] */ BMDTimeValue *hardwareTime,
\r
2182 /* [out] */ BMDTimeValue *timeInFrame,
\r
2183 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
2187 #else /* C style interface */
\r
2189 typedef struct IDeckLinkInputVtbl
\r
2193 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2194 IDeckLinkInput * This,
\r
2195 /* [in] */ REFIID riid,
\r
2196 /* [annotation][iid_is][out] */
\r
2197 __RPC__deref_out void **ppvObject);
\r
2199 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2200 IDeckLinkInput * This);
\r
2202 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2203 IDeckLinkInput * This);
\r
2205 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
2206 IDeckLinkInput * This,
\r
2207 /* [in] */ BMDDisplayMode displayMode,
\r
2208 /* [in] */ BMDPixelFormat pixelFormat,
\r
2209 /* [in] */ BMDVideoInputFlags flags,
\r
2210 /* [out] */ BMDDisplayModeSupport *result,
\r
2211 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode);
\r
2213 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
2214 IDeckLinkInput * This,
\r
2215 /* [out] */ IDeckLinkDisplayModeIterator **iterator);
\r
2217 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
2218 IDeckLinkInput * This,
\r
2219 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
2221 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
2222 IDeckLinkInput * This,
\r
2223 /* [in] */ BMDDisplayMode displayMode,
\r
2224 /* [in] */ BMDPixelFormat pixelFormat,
\r
2225 /* [in] */ BMDVideoInputFlags flags);
\r
2227 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
2228 IDeckLinkInput * This);
\r
2230 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
\r
2231 IDeckLinkInput * This,
\r
2232 /* [out] */ unsigned long *availableFrameCount);
\r
2234 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
2235 IDeckLinkInput * This,
\r
2236 /* [in] */ BMDAudioSampleRate sampleRate,
\r
2237 /* [in] */ BMDAudioSampleType sampleType,
\r
2238 /* [in] */ unsigned long channelCount);
\r
2240 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
2241 IDeckLinkInput * This);
\r
2243 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
\r
2244 IDeckLinkInput * This,
\r
2245 /* [out] */ unsigned long *availableSampleFrameCount);
\r
2247 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
2248 IDeckLinkInput * This);
\r
2250 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
2251 IDeckLinkInput * This);
\r
2253 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
2254 IDeckLinkInput * This);
\r
2256 HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
\r
2257 IDeckLinkInput * This);
\r
2259 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
2260 IDeckLinkInput * This,
\r
2261 /* [in] */ IDeckLinkInputCallback *theCallback);
\r
2263 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
2264 IDeckLinkInput * This,
\r
2265 /* [in] */ BMDTimeScale desiredTimeScale,
\r
2266 /* [out] */ BMDTimeValue *hardwareTime,
\r
2267 /* [out] */ BMDTimeValue *timeInFrame,
\r
2268 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
2271 } IDeckLinkInputVtbl;
\r
2273 interface IDeckLinkInput
\r
2275 CONST_VTBL struct IDeckLinkInputVtbl *lpVtbl;
\r
2283 #define IDeckLinkInput_QueryInterface(This,riid,ppvObject) \
\r
2284 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2286 #define IDeckLinkInput_AddRef(This) \
\r
2287 ( (This)->lpVtbl -> AddRef(This) )
\r
2289 #define IDeckLinkInput_Release(This) \
\r
2290 ( (This)->lpVtbl -> Release(This) )
\r
2293 #define IDeckLinkInput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \
\r
2294 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) )
\r
2296 #define IDeckLinkInput_GetDisplayModeIterator(This,iterator) \
\r
2297 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
2299 #define IDeckLinkInput_SetScreenPreviewCallback(This,previewCallback) \
\r
2300 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
2302 #define IDeckLinkInput_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
2303 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
2305 #define IDeckLinkInput_DisableVideoInput(This) \
\r
2306 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
2308 #define IDeckLinkInput_GetAvailableVideoFrameCount(This,availableFrameCount) \
\r
2309 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
\r
2311 #define IDeckLinkInput_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
2312 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
2314 #define IDeckLinkInput_DisableAudioInput(This) \
\r
2315 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
2317 #define IDeckLinkInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
\r
2318 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
\r
2320 #define IDeckLinkInput_StartStreams(This) \
\r
2321 ( (This)->lpVtbl -> StartStreams(This) )
\r
2323 #define IDeckLinkInput_StopStreams(This) \
\r
2324 ( (This)->lpVtbl -> StopStreams(This) )
\r
2326 #define IDeckLinkInput_PauseStreams(This) \
\r
2327 ( (This)->lpVtbl -> PauseStreams(This) )
\r
2329 #define IDeckLinkInput_FlushStreams(This) \
\r
2330 ( (This)->lpVtbl -> FlushStreams(This) )
\r
2332 #define IDeckLinkInput_SetCallback(This,theCallback) \
\r
2333 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
2335 #define IDeckLinkInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
2336 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
2338 #endif /* COBJMACROS */
\r
2341 #endif /* C style interface */
\r
2346 #endif /* __IDeckLinkInput_INTERFACE_DEFINED__ */
\r
2349 #ifndef __IDeckLinkTimecode_INTERFACE_DEFINED__
\r
2350 #define __IDeckLinkTimecode_INTERFACE_DEFINED__
\r
2352 /* interface IDeckLinkTimecode */
\r
2353 /* [helpstring][uuid][object] */
\r
2356 EXTERN_C const IID IID_IDeckLinkTimecode;
\r
2358 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2360 MIDL_INTERFACE("BC6CFBD3-8317-4325-AC1C-1216391E9340")
\r
2361 IDeckLinkTimecode : public IUnknown
\r
2364 virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0;
\r
2366 virtual HRESULT STDMETHODCALLTYPE GetComponents(
\r
2367 /* [out] */ unsigned char *hours,
\r
2368 /* [out] */ unsigned char *minutes,
\r
2369 /* [out] */ unsigned char *seconds,
\r
2370 /* [out] */ unsigned char *frames) = 0;
\r
2372 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
2373 /* [out] */ BSTR *timecode) = 0;
\r
2375 virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
2377 virtual HRESULT STDMETHODCALLTYPE GetTimecodeUserBits(
\r
2378 /* [out] */ BMDTimecodeUserBits *userBits) = 0;
\r
2382 #else /* C style interface */
\r
2384 typedef struct IDeckLinkTimecodeVtbl
\r
2388 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2389 IDeckLinkTimecode * This,
\r
2390 /* [in] */ REFIID riid,
\r
2391 /* [annotation][iid_is][out] */
\r
2392 __RPC__deref_out void **ppvObject);
\r
2394 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2395 IDeckLinkTimecode * This);
\r
2397 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2398 IDeckLinkTimecode * This);
\r
2400 BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )(
\r
2401 IDeckLinkTimecode * This);
\r
2403 HRESULT ( STDMETHODCALLTYPE *GetComponents )(
\r
2404 IDeckLinkTimecode * This,
\r
2405 /* [out] */ unsigned char *hours,
\r
2406 /* [out] */ unsigned char *minutes,
\r
2407 /* [out] */ unsigned char *seconds,
\r
2408 /* [out] */ unsigned char *frames);
\r
2410 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
2411 IDeckLinkTimecode * This,
\r
2412 /* [out] */ BSTR *timecode);
\r
2414 BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2415 IDeckLinkTimecode * This);
\r
2417 HRESULT ( STDMETHODCALLTYPE *GetTimecodeUserBits )(
\r
2418 IDeckLinkTimecode * This,
\r
2419 /* [out] */ BMDTimecodeUserBits *userBits);
\r
2422 } IDeckLinkTimecodeVtbl;
\r
2424 interface IDeckLinkTimecode
\r
2426 CONST_VTBL struct IDeckLinkTimecodeVtbl *lpVtbl;
\r
2434 #define IDeckLinkTimecode_QueryInterface(This,riid,ppvObject) \
\r
2435 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2437 #define IDeckLinkTimecode_AddRef(This) \
\r
2438 ( (This)->lpVtbl -> AddRef(This) )
\r
2440 #define IDeckLinkTimecode_Release(This) \
\r
2441 ( (This)->lpVtbl -> Release(This) )
\r
2444 #define IDeckLinkTimecode_GetBCD(This) \
\r
2445 ( (This)->lpVtbl -> GetBCD(This) )
\r
2447 #define IDeckLinkTimecode_GetComponents(This,hours,minutes,seconds,frames) \
\r
2448 ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) )
\r
2450 #define IDeckLinkTimecode_GetString(This,timecode) \
\r
2451 ( (This)->lpVtbl -> GetString(This,timecode) )
\r
2453 #define IDeckLinkTimecode_GetFlags(This) \
\r
2454 ( (This)->lpVtbl -> GetFlags(This) )
\r
2456 #define IDeckLinkTimecode_GetTimecodeUserBits(This,userBits) \
\r
2457 ( (This)->lpVtbl -> GetTimecodeUserBits(This,userBits) )
\r
2459 #endif /* COBJMACROS */
\r
2462 #endif /* C style interface */
\r
2467 #endif /* __IDeckLinkTimecode_INTERFACE_DEFINED__ */
\r
2470 #ifndef __IDeckLinkVideoFrame_INTERFACE_DEFINED__
\r
2471 #define __IDeckLinkVideoFrame_INTERFACE_DEFINED__
\r
2473 /* interface IDeckLinkVideoFrame */
\r
2474 /* [helpstring][local][uuid][object] */
\r
2477 EXTERN_C const IID IID_IDeckLinkVideoFrame;
\r
2479 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2481 MIDL_INTERFACE("3F716FE0-F023-4111-BE5D-EF4414C05B17")
\r
2482 IDeckLinkVideoFrame : public IUnknown
\r
2485 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
2487 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
2489 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
\r
2491 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
2493 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
2495 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
2496 /* [out] */ void **buffer) = 0;
\r
2498 virtual HRESULT STDMETHODCALLTYPE GetTimecode(
\r
2499 /* [in] */ BMDTimecodeFormat format,
\r
2500 /* [out] */ IDeckLinkTimecode **timecode) = 0;
\r
2502 virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(
\r
2503 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0;
\r
2507 #else /* C style interface */
\r
2509 typedef struct IDeckLinkVideoFrameVtbl
\r
2513 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2514 IDeckLinkVideoFrame * This,
\r
2515 /* [in] */ REFIID riid,
\r
2516 /* [annotation][iid_is][out] */
\r
2517 __RPC__deref_out void **ppvObject);
\r
2519 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2520 IDeckLinkVideoFrame * This);
\r
2522 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2523 IDeckLinkVideoFrame * This);
\r
2525 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2526 IDeckLinkVideoFrame * This);
\r
2528 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2529 IDeckLinkVideoFrame * This);
\r
2531 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2532 IDeckLinkVideoFrame * This);
\r
2534 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2535 IDeckLinkVideoFrame * This);
\r
2537 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2538 IDeckLinkVideoFrame * This);
\r
2540 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2541 IDeckLinkVideoFrame * This,
\r
2542 /* [out] */ void **buffer);
\r
2544 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
2545 IDeckLinkVideoFrame * This,
\r
2546 /* [in] */ BMDTimecodeFormat format,
\r
2547 /* [out] */ IDeckLinkTimecode **timecode);
\r
2549 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
2550 IDeckLinkVideoFrame * This,
\r
2551 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
2554 } IDeckLinkVideoFrameVtbl;
\r
2556 interface IDeckLinkVideoFrame
\r
2558 CONST_VTBL struct IDeckLinkVideoFrameVtbl *lpVtbl;
\r
2566 #define IDeckLinkVideoFrame_QueryInterface(This,riid,ppvObject) \
\r
2567 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2569 #define IDeckLinkVideoFrame_AddRef(This) \
\r
2570 ( (This)->lpVtbl -> AddRef(This) )
\r
2572 #define IDeckLinkVideoFrame_Release(This) \
\r
2573 ( (This)->lpVtbl -> Release(This) )
\r
2576 #define IDeckLinkVideoFrame_GetWidth(This) \
\r
2577 ( (This)->lpVtbl -> GetWidth(This) )
\r
2579 #define IDeckLinkVideoFrame_GetHeight(This) \
\r
2580 ( (This)->lpVtbl -> GetHeight(This) )
\r
2582 #define IDeckLinkVideoFrame_GetRowBytes(This) \
\r
2583 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
2585 #define IDeckLinkVideoFrame_GetPixelFormat(This) \
\r
2586 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
2588 #define IDeckLinkVideoFrame_GetFlags(This) \
\r
2589 ( (This)->lpVtbl -> GetFlags(This) )
\r
2591 #define IDeckLinkVideoFrame_GetBytes(This,buffer) \
\r
2592 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
2594 #define IDeckLinkVideoFrame_GetTimecode(This,format,timecode) \
\r
2595 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
2597 #define IDeckLinkVideoFrame_GetAncillaryData(This,ancillary) \
\r
2598 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
2600 #endif /* COBJMACROS */
\r
2603 #endif /* C style interface */
\r
2608 #endif /* __IDeckLinkVideoFrame_INTERFACE_DEFINED__ */
\r
2611 #ifndef __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__
\r
2612 #define __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__
\r
2614 /* interface IDeckLinkMutableVideoFrame */
\r
2615 /* [helpstring][local][uuid][object] */
\r
2618 EXTERN_C const IID IID_IDeckLinkMutableVideoFrame;
\r
2620 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2622 MIDL_INTERFACE("69E2639F-40DA-4E19-B6F2-20ACE815C390")
\r
2623 IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame
\r
2626 virtual HRESULT STDMETHODCALLTYPE SetFlags(
\r
2627 /* [in] */ BMDFrameFlags newFlags) = 0;
\r
2629 virtual HRESULT STDMETHODCALLTYPE SetTimecode(
\r
2630 /* [in] */ BMDTimecodeFormat format,
\r
2631 /* [in] */ IDeckLinkTimecode *timecode) = 0;
\r
2633 virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents(
\r
2634 /* [in] */ BMDTimecodeFormat format,
\r
2635 /* [in] */ unsigned char hours,
\r
2636 /* [in] */ unsigned char minutes,
\r
2637 /* [in] */ unsigned char seconds,
\r
2638 /* [in] */ unsigned char frames,
\r
2639 /* [in] */ BMDTimecodeFlags flags) = 0;
\r
2641 virtual HRESULT STDMETHODCALLTYPE SetAncillaryData(
\r
2642 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0;
\r
2644 virtual HRESULT STDMETHODCALLTYPE SetTimecodeUserBits(
\r
2645 /* [in] */ BMDTimecodeFormat format,
\r
2646 /* [in] */ BMDTimecodeUserBits userBits) = 0;
\r
2650 #else /* C style interface */
\r
2652 typedef struct IDeckLinkMutableVideoFrameVtbl
\r
2656 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2657 IDeckLinkMutableVideoFrame * This,
\r
2658 /* [in] */ REFIID riid,
\r
2659 /* [annotation][iid_is][out] */
\r
2660 __RPC__deref_out void **ppvObject);
\r
2662 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2663 IDeckLinkMutableVideoFrame * This);
\r
2665 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2666 IDeckLinkMutableVideoFrame * This);
\r
2668 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2669 IDeckLinkMutableVideoFrame * This);
\r
2671 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2672 IDeckLinkMutableVideoFrame * This);
\r
2674 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2675 IDeckLinkMutableVideoFrame * This);
\r
2677 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2678 IDeckLinkMutableVideoFrame * This);
\r
2680 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2681 IDeckLinkMutableVideoFrame * This);
\r
2683 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2684 IDeckLinkMutableVideoFrame * This,
\r
2685 /* [out] */ void **buffer);
\r
2687 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
2688 IDeckLinkMutableVideoFrame * This,
\r
2689 /* [in] */ BMDTimecodeFormat format,
\r
2690 /* [out] */ IDeckLinkTimecode **timecode);
\r
2692 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
2693 IDeckLinkMutableVideoFrame * This,
\r
2694 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
2696 HRESULT ( STDMETHODCALLTYPE *SetFlags )(
\r
2697 IDeckLinkMutableVideoFrame * This,
\r
2698 /* [in] */ BMDFrameFlags newFlags);
\r
2700 HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
\r
2701 IDeckLinkMutableVideoFrame * This,
\r
2702 /* [in] */ BMDTimecodeFormat format,
\r
2703 /* [in] */ IDeckLinkTimecode *timecode);
\r
2705 HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )(
\r
2706 IDeckLinkMutableVideoFrame * This,
\r
2707 /* [in] */ BMDTimecodeFormat format,
\r
2708 /* [in] */ unsigned char hours,
\r
2709 /* [in] */ unsigned char minutes,
\r
2710 /* [in] */ unsigned char seconds,
\r
2711 /* [in] */ unsigned char frames,
\r
2712 /* [in] */ BMDTimecodeFlags flags);
\r
2714 HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )(
\r
2715 IDeckLinkMutableVideoFrame * This,
\r
2716 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary);
\r
2718 HRESULT ( STDMETHODCALLTYPE *SetTimecodeUserBits )(
\r
2719 IDeckLinkMutableVideoFrame * This,
\r
2720 /* [in] */ BMDTimecodeFormat format,
\r
2721 /* [in] */ BMDTimecodeUserBits userBits);
\r
2724 } IDeckLinkMutableVideoFrameVtbl;
\r
2726 interface IDeckLinkMutableVideoFrame
\r
2728 CONST_VTBL struct IDeckLinkMutableVideoFrameVtbl *lpVtbl;
\r
2736 #define IDeckLinkMutableVideoFrame_QueryInterface(This,riid,ppvObject) \
\r
2737 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2739 #define IDeckLinkMutableVideoFrame_AddRef(This) \
\r
2740 ( (This)->lpVtbl -> AddRef(This) )
\r
2742 #define IDeckLinkMutableVideoFrame_Release(This) \
\r
2743 ( (This)->lpVtbl -> Release(This) )
\r
2746 #define IDeckLinkMutableVideoFrame_GetWidth(This) \
\r
2747 ( (This)->lpVtbl -> GetWidth(This) )
\r
2749 #define IDeckLinkMutableVideoFrame_GetHeight(This) \
\r
2750 ( (This)->lpVtbl -> GetHeight(This) )
\r
2752 #define IDeckLinkMutableVideoFrame_GetRowBytes(This) \
\r
2753 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
2755 #define IDeckLinkMutableVideoFrame_GetPixelFormat(This) \
\r
2756 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
2758 #define IDeckLinkMutableVideoFrame_GetFlags(This) \
\r
2759 ( (This)->lpVtbl -> GetFlags(This) )
\r
2761 #define IDeckLinkMutableVideoFrame_GetBytes(This,buffer) \
\r
2762 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
2764 #define IDeckLinkMutableVideoFrame_GetTimecode(This,format,timecode) \
\r
2765 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
2767 #define IDeckLinkMutableVideoFrame_GetAncillaryData(This,ancillary) \
\r
2768 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
2771 #define IDeckLinkMutableVideoFrame_SetFlags(This,newFlags) \
\r
2772 ( (This)->lpVtbl -> SetFlags(This,newFlags) )
\r
2774 #define IDeckLinkMutableVideoFrame_SetTimecode(This,format,timecode) \
\r
2775 ( (This)->lpVtbl -> SetTimecode(This,format,timecode) )
\r
2777 #define IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \
\r
2778 ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) )
\r
2780 #define IDeckLinkMutableVideoFrame_SetAncillaryData(This,ancillary) \
\r
2781 ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) )
\r
2783 #define IDeckLinkMutableVideoFrame_SetTimecodeUserBits(This,format,userBits) \
\r
2784 ( (This)->lpVtbl -> SetTimecodeUserBits(This,format,userBits) )
\r
2786 #endif /* COBJMACROS */
\r
2789 #endif /* C style interface */
\r
2794 #endif /* __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ */
\r
2797 #ifndef __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__
\r
2798 #define __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__
\r
2800 /* interface IDeckLinkVideoFrame3DExtensions */
\r
2801 /* [helpstring][local][uuid][object] */
\r
2804 EXTERN_C const IID IID_IDeckLinkVideoFrame3DExtensions;
\r
2806 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2808 MIDL_INTERFACE("DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7")
\r
2809 IDeckLinkVideoFrame3DExtensions : public IUnknown
\r
2812 virtual BMDVideo3DPackingFormat STDMETHODCALLTYPE Get3DPackingFormat( void) = 0;
\r
2814 virtual HRESULT STDMETHODCALLTYPE GetFrameForRightEye(
\r
2815 /* [out] */ IDeckLinkVideoFrame **rightEyeFrame) = 0;
\r
2819 #else /* C style interface */
\r
2821 typedef struct IDeckLinkVideoFrame3DExtensionsVtbl
\r
2825 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2826 IDeckLinkVideoFrame3DExtensions * This,
\r
2827 /* [in] */ REFIID riid,
\r
2828 /* [annotation][iid_is][out] */
\r
2829 __RPC__deref_out void **ppvObject);
\r
2831 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2832 IDeckLinkVideoFrame3DExtensions * This);
\r
2834 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2835 IDeckLinkVideoFrame3DExtensions * This);
\r
2837 BMDVideo3DPackingFormat ( STDMETHODCALLTYPE *Get3DPackingFormat )(
\r
2838 IDeckLinkVideoFrame3DExtensions * This);
\r
2840 HRESULT ( STDMETHODCALLTYPE *GetFrameForRightEye )(
\r
2841 IDeckLinkVideoFrame3DExtensions * This,
\r
2842 /* [out] */ IDeckLinkVideoFrame **rightEyeFrame);
\r
2845 } IDeckLinkVideoFrame3DExtensionsVtbl;
\r
2847 interface IDeckLinkVideoFrame3DExtensions
\r
2849 CONST_VTBL struct IDeckLinkVideoFrame3DExtensionsVtbl *lpVtbl;
\r
2857 #define IDeckLinkVideoFrame3DExtensions_QueryInterface(This,riid,ppvObject) \
\r
2858 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2860 #define IDeckLinkVideoFrame3DExtensions_AddRef(This) \
\r
2861 ( (This)->lpVtbl -> AddRef(This) )
\r
2863 #define IDeckLinkVideoFrame3DExtensions_Release(This) \
\r
2864 ( (This)->lpVtbl -> Release(This) )
\r
2867 #define IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(This) \
\r
2868 ( (This)->lpVtbl -> Get3DPackingFormat(This) )
\r
2870 #define IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(This,rightEyeFrame) \
\r
2871 ( (This)->lpVtbl -> GetFrameForRightEye(This,rightEyeFrame) )
\r
2873 #endif /* COBJMACROS */
\r
2876 #endif /* C style interface */
\r
2881 #endif /* __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ */
\r
2884 #ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
\r
2885 #define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
\r
2887 /* interface IDeckLinkVideoInputFrame */
\r
2888 /* [helpstring][local][uuid][object] */
\r
2891 EXTERN_C const IID IID_IDeckLinkVideoInputFrame;
\r
2893 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2895 MIDL_INTERFACE("05CFE374-537C-4094-9A57-680525118F44")
\r
2896 IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame
\r
2899 virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
\r
2900 /* [out] */ BMDTimeValue *frameTime,
\r
2901 /* [out] */ BMDTimeValue *frameDuration,
\r
2902 /* [in] */ BMDTimeScale timeScale) = 0;
\r
2904 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
\r
2905 /* [in] */ BMDTimeScale timeScale,
\r
2906 /* [out] */ BMDTimeValue *frameTime,
\r
2907 /* [out] */ BMDTimeValue *frameDuration) = 0;
\r
2911 #else /* C style interface */
\r
2913 typedef struct IDeckLinkVideoInputFrameVtbl
\r
2917 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2918 IDeckLinkVideoInputFrame * This,
\r
2919 /* [in] */ REFIID riid,
\r
2920 /* [annotation][iid_is][out] */
\r
2921 __RPC__deref_out void **ppvObject);
\r
2923 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2924 IDeckLinkVideoInputFrame * This);
\r
2926 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2927 IDeckLinkVideoInputFrame * This);
\r
2929 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2930 IDeckLinkVideoInputFrame * This);
\r
2932 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2933 IDeckLinkVideoInputFrame * This);
\r
2935 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2936 IDeckLinkVideoInputFrame * This);
\r
2938 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2939 IDeckLinkVideoInputFrame * This);
\r
2941 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2942 IDeckLinkVideoInputFrame * This);
\r
2944 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2945 IDeckLinkVideoInputFrame * This,
\r
2946 /* [out] */ void **buffer);
\r
2948 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
2949 IDeckLinkVideoInputFrame * This,
\r
2950 /* [in] */ BMDTimecodeFormat format,
\r
2951 /* [out] */ IDeckLinkTimecode **timecode);
\r
2953 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
2954 IDeckLinkVideoInputFrame * This,
\r
2955 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
2957 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
\r
2958 IDeckLinkVideoInputFrame * This,
\r
2959 /* [out] */ BMDTimeValue *frameTime,
\r
2960 /* [out] */ BMDTimeValue *frameDuration,
\r
2961 /* [in] */ BMDTimeScale timeScale);
\r
2963 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )(
\r
2964 IDeckLinkVideoInputFrame * This,
\r
2965 /* [in] */ BMDTimeScale timeScale,
\r
2966 /* [out] */ BMDTimeValue *frameTime,
\r
2967 /* [out] */ BMDTimeValue *frameDuration);
\r
2970 } IDeckLinkVideoInputFrameVtbl;
\r
2972 interface IDeckLinkVideoInputFrame
\r
2974 CONST_VTBL struct IDeckLinkVideoInputFrameVtbl *lpVtbl;
\r
2982 #define IDeckLinkVideoInputFrame_QueryInterface(This,riid,ppvObject) \
\r
2983 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2985 #define IDeckLinkVideoInputFrame_AddRef(This) \
\r
2986 ( (This)->lpVtbl -> AddRef(This) )
\r
2988 #define IDeckLinkVideoInputFrame_Release(This) \
\r
2989 ( (This)->lpVtbl -> Release(This) )
\r
2992 #define IDeckLinkVideoInputFrame_GetWidth(This) \
\r
2993 ( (This)->lpVtbl -> GetWidth(This) )
\r
2995 #define IDeckLinkVideoInputFrame_GetHeight(This) \
\r
2996 ( (This)->lpVtbl -> GetHeight(This) )
\r
2998 #define IDeckLinkVideoInputFrame_GetRowBytes(This) \
\r
2999 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
3001 #define IDeckLinkVideoInputFrame_GetPixelFormat(This) \
\r
3002 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
3004 #define IDeckLinkVideoInputFrame_GetFlags(This) \
\r
3005 ( (This)->lpVtbl -> GetFlags(This) )
\r
3007 #define IDeckLinkVideoInputFrame_GetBytes(This,buffer) \
\r
3008 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
3010 #define IDeckLinkVideoInputFrame_GetTimecode(This,format,timecode) \
\r
3011 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
3013 #define IDeckLinkVideoInputFrame_GetAncillaryData(This,ancillary) \
\r
3014 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
3017 #define IDeckLinkVideoInputFrame_GetStreamTime(This,frameTime,frameDuration,timeScale) \
\r
3018 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
\r
3020 #define IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \
\r
3021 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) )
\r
3023 #endif /* COBJMACROS */
\r
3026 #endif /* C style interface */
\r
3031 #endif /* __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ */
\r
3034 #ifndef __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__
\r
3035 #define __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__
\r
3037 /* interface IDeckLinkVideoFrameAncillary */
\r
3038 /* [helpstring][local][uuid][object] */
\r
3041 EXTERN_C const IID IID_IDeckLinkVideoFrameAncillary;
\r
3043 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3045 MIDL_INTERFACE("732E723C-D1A4-4E29-9E8E-4A88797A0004")
\r
3046 IDeckLinkVideoFrameAncillary : public IUnknown
\r
3049 virtual HRESULT STDMETHODCALLTYPE GetBufferForVerticalBlankingLine(
\r
3050 /* [in] */ unsigned long lineNumber,
\r
3051 /* [out] */ void **buffer) = 0;
\r
3053 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
3055 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
3059 #else /* C style interface */
\r
3061 typedef struct IDeckLinkVideoFrameAncillaryVtbl
\r
3065 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3066 IDeckLinkVideoFrameAncillary * This,
\r
3067 /* [in] */ REFIID riid,
\r
3068 /* [annotation][iid_is][out] */
\r
3069 __RPC__deref_out void **ppvObject);
\r
3071 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3072 IDeckLinkVideoFrameAncillary * This);
\r
3074 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3075 IDeckLinkVideoFrameAncillary * This);
\r
3077 HRESULT ( STDMETHODCALLTYPE *GetBufferForVerticalBlankingLine )(
\r
3078 IDeckLinkVideoFrameAncillary * This,
\r
3079 /* [in] */ unsigned long lineNumber,
\r
3080 /* [out] */ void **buffer);
\r
3082 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
3083 IDeckLinkVideoFrameAncillary * This);
\r
3085 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
3086 IDeckLinkVideoFrameAncillary * This);
\r
3089 } IDeckLinkVideoFrameAncillaryVtbl;
\r
3091 interface IDeckLinkVideoFrameAncillary
\r
3093 CONST_VTBL struct IDeckLinkVideoFrameAncillaryVtbl *lpVtbl;
\r
3101 #define IDeckLinkVideoFrameAncillary_QueryInterface(This,riid,ppvObject) \
\r
3102 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3104 #define IDeckLinkVideoFrameAncillary_AddRef(This) \
\r
3105 ( (This)->lpVtbl -> AddRef(This) )
\r
3107 #define IDeckLinkVideoFrameAncillary_Release(This) \
\r
3108 ( (This)->lpVtbl -> Release(This) )
\r
3111 #define IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(This,lineNumber,buffer) \
\r
3112 ( (This)->lpVtbl -> GetBufferForVerticalBlankingLine(This,lineNumber,buffer) )
\r
3114 #define IDeckLinkVideoFrameAncillary_GetPixelFormat(This) \
\r
3115 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
3117 #define IDeckLinkVideoFrameAncillary_GetDisplayMode(This) \
\r
3118 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
3120 #endif /* COBJMACROS */
\r
3123 #endif /* C style interface */
\r
3128 #endif /* __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ */
\r
3131 #ifndef __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__
\r
3132 #define __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__
\r
3134 /* interface IDeckLinkAudioInputPacket */
\r
3135 /* [helpstring][local][uuid][object] */
\r
3138 EXTERN_C const IID IID_IDeckLinkAudioInputPacket;
\r
3140 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3142 MIDL_INTERFACE("E43D5870-2894-11DE-8C30-0800200C9A66")
\r
3143 IDeckLinkAudioInputPacket : public IUnknown
\r
3146 virtual long STDMETHODCALLTYPE GetSampleFrameCount( void) = 0;
\r
3148 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
3149 /* [out] */ void **buffer) = 0;
\r
3151 virtual HRESULT STDMETHODCALLTYPE GetPacketTime(
\r
3152 /* [out] */ BMDTimeValue *packetTime,
\r
3153 /* [in] */ BMDTimeScale timeScale) = 0;
\r
3157 #else /* C style interface */
\r
3159 typedef struct IDeckLinkAudioInputPacketVtbl
\r
3163 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3164 IDeckLinkAudioInputPacket * This,
\r
3165 /* [in] */ REFIID riid,
\r
3166 /* [annotation][iid_is][out] */
\r
3167 __RPC__deref_out void **ppvObject);
\r
3169 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3170 IDeckLinkAudioInputPacket * This);
\r
3172 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3173 IDeckLinkAudioInputPacket * This);
\r
3175 long ( STDMETHODCALLTYPE *GetSampleFrameCount )(
\r
3176 IDeckLinkAudioInputPacket * This);
\r
3178 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
3179 IDeckLinkAudioInputPacket * This,
\r
3180 /* [out] */ void **buffer);
\r
3182 HRESULT ( STDMETHODCALLTYPE *GetPacketTime )(
\r
3183 IDeckLinkAudioInputPacket * This,
\r
3184 /* [out] */ BMDTimeValue *packetTime,
\r
3185 /* [in] */ BMDTimeScale timeScale);
\r
3188 } IDeckLinkAudioInputPacketVtbl;
\r
3190 interface IDeckLinkAudioInputPacket
\r
3192 CONST_VTBL struct IDeckLinkAudioInputPacketVtbl *lpVtbl;
\r
3200 #define IDeckLinkAudioInputPacket_QueryInterface(This,riid,ppvObject) \
\r
3201 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3203 #define IDeckLinkAudioInputPacket_AddRef(This) \
\r
3204 ( (This)->lpVtbl -> AddRef(This) )
\r
3206 #define IDeckLinkAudioInputPacket_Release(This) \
\r
3207 ( (This)->lpVtbl -> Release(This) )
\r
3210 #define IDeckLinkAudioInputPacket_GetSampleFrameCount(This) \
\r
3211 ( (This)->lpVtbl -> GetSampleFrameCount(This) )
\r
3213 #define IDeckLinkAudioInputPacket_GetBytes(This,buffer) \
\r
3214 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
3216 #define IDeckLinkAudioInputPacket_GetPacketTime(This,packetTime,timeScale) \
\r
3217 ( (This)->lpVtbl -> GetPacketTime(This,packetTime,timeScale) )
\r
3219 #endif /* COBJMACROS */
\r
3222 #endif /* C style interface */
\r
3227 #endif /* __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ */
\r
3230 #ifndef __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__
\r
3231 #define __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__
\r
3233 /* interface IDeckLinkScreenPreviewCallback */
\r
3234 /* [helpstring][local][uuid][object] */
\r
3237 EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback;
\r
3239 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3241 MIDL_INTERFACE("B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438")
\r
3242 IDeckLinkScreenPreviewCallback : public IUnknown
\r
3245 virtual HRESULT STDMETHODCALLTYPE DrawFrame(
\r
3246 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
3250 #else /* C style interface */
\r
3252 typedef struct IDeckLinkScreenPreviewCallbackVtbl
\r
3256 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3257 IDeckLinkScreenPreviewCallback * This,
\r
3258 /* [in] */ REFIID riid,
\r
3259 /* [annotation][iid_is][out] */
\r
3260 __RPC__deref_out void **ppvObject);
\r
3262 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3263 IDeckLinkScreenPreviewCallback * This);
\r
3265 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3266 IDeckLinkScreenPreviewCallback * This);
\r
3268 HRESULT ( STDMETHODCALLTYPE *DrawFrame )(
\r
3269 IDeckLinkScreenPreviewCallback * This,
\r
3270 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
3273 } IDeckLinkScreenPreviewCallbackVtbl;
\r
3275 interface IDeckLinkScreenPreviewCallback
\r
3277 CONST_VTBL struct IDeckLinkScreenPreviewCallbackVtbl *lpVtbl;
\r
3285 #define IDeckLinkScreenPreviewCallback_QueryInterface(This,riid,ppvObject) \
\r
3286 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3288 #define IDeckLinkScreenPreviewCallback_AddRef(This) \
\r
3289 ( (This)->lpVtbl -> AddRef(This) )
\r
3291 #define IDeckLinkScreenPreviewCallback_Release(This) \
\r
3292 ( (This)->lpVtbl -> Release(This) )
\r
3295 #define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) \
\r
3296 ( (This)->lpVtbl -> DrawFrame(This,theFrame) )
\r
3298 #endif /* COBJMACROS */
\r
3301 #endif /* C style interface */
\r
3306 #endif /* __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ */
\r
3309 #ifndef __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__
\r
3310 #define __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__
\r
3312 /* interface IDeckLinkGLScreenPreviewHelper */
\r
3313 /* [helpstring][local][uuid][object] */
\r
3316 EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper;
\r
3318 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3320 MIDL_INTERFACE("504E2209-CAC7-4C1A-9FB4-C5BB6274D22F")
\r
3321 IDeckLinkGLScreenPreviewHelper : public IUnknown
\r
3324 virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0;
\r
3326 virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0;
\r
3328 virtual HRESULT STDMETHODCALLTYPE SetFrame(
\r
3329 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
3331 virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat(
\r
3332 /* [in] */ BMD3DPreviewFormat previewFormat) = 0;
\r
3336 #else /* C style interface */
\r
3338 typedef struct IDeckLinkGLScreenPreviewHelperVtbl
\r
3342 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3343 IDeckLinkGLScreenPreviewHelper * This,
\r
3344 /* [in] */ REFIID riid,
\r
3345 /* [annotation][iid_is][out] */
\r
3346 __RPC__deref_out void **ppvObject);
\r
3348 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3349 IDeckLinkGLScreenPreviewHelper * This);
\r
3351 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3352 IDeckLinkGLScreenPreviewHelper * This);
\r
3354 HRESULT ( STDMETHODCALLTYPE *InitializeGL )(
\r
3355 IDeckLinkGLScreenPreviewHelper * This);
\r
3357 HRESULT ( STDMETHODCALLTYPE *PaintGL )(
\r
3358 IDeckLinkGLScreenPreviewHelper * This);
\r
3360 HRESULT ( STDMETHODCALLTYPE *SetFrame )(
\r
3361 IDeckLinkGLScreenPreviewHelper * This,
\r
3362 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
3364 HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )(
\r
3365 IDeckLinkGLScreenPreviewHelper * This,
\r
3366 /* [in] */ BMD3DPreviewFormat previewFormat);
\r
3369 } IDeckLinkGLScreenPreviewHelperVtbl;
\r
3371 interface IDeckLinkGLScreenPreviewHelper
\r
3373 CONST_VTBL struct IDeckLinkGLScreenPreviewHelperVtbl *lpVtbl;
\r
3381 #define IDeckLinkGLScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \
\r
3382 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3384 #define IDeckLinkGLScreenPreviewHelper_AddRef(This) \
\r
3385 ( (This)->lpVtbl -> AddRef(This) )
\r
3387 #define IDeckLinkGLScreenPreviewHelper_Release(This) \
\r
3388 ( (This)->lpVtbl -> Release(This) )
\r
3391 #define IDeckLinkGLScreenPreviewHelper_InitializeGL(This) \
\r
3392 ( (This)->lpVtbl -> InitializeGL(This) )
\r
3394 #define IDeckLinkGLScreenPreviewHelper_PaintGL(This) \
\r
3395 ( (This)->lpVtbl -> PaintGL(This) )
\r
3397 #define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) \
\r
3398 ( (This)->lpVtbl -> SetFrame(This,theFrame) )
\r
3400 #define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \
\r
3401 ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) )
\r
3403 #endif /* COBJMACROS */
\r
3406 #endif /* C style interface */
\r
3411 #endif /* __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ */
\r
3414 #ifndef __IDeckLinkConfiguration_INTERFACE_DEFINED__
\r
3415 #define __IDeckLinkConfiguration_INTERFACE_DEFINED__
\r
3417 /* interface IDeckLinkConfiguration */
\r
3418 /* [helpstring][local][uuid][object] */
\r
3421 EXTERN_C const IID IID_IDeckLinkConfiguration;
\r
3423 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3425 MIDL_INTERFACE("C679A35B-610C-4D09-B748-1D0478100FC0")
\r
3426 IDeckLinkConfiguration : public IUnknown
\r
3429 virtual HRESULT STDMETHODCALLTYPE SetFlag(
\r
3430 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3431 /* [in] */ BOOL value) = 0;
\r
3433 virtual HRESULT STDMETHODCALLTYPE GetFlag(
\r
3434 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3435 /* [out] */ BOOL *value) = 0;
\r
3437 virtual HRESULT STDMETHODCALLTYPE SetInt(
\r
3438 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3439 /* [in] */ LONGLONG value) = 0;
\r
3441 virtual HRESULT STDMETHODCALLTYPE GetInt(
\r
3442 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3443 /* [out] */ LONGLONG *value) = 0;
\r
3445 virtual HRESULT STDMETHODCALLTYPE SetFloat(
\r
3446 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3447 /* [in] */ double value) = 0;
\r
3449 virtual HRESULT STDMETHODCALLTYPE GetFloat(
\r
3450 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3451 /* [out] */ double *value) = 0;
\r
3453 virtual HRESULT STDMETHODCALLTYPE SetString(
\r
3454 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3455 /* [in] */ BSTR value) = 0;
\r
3457 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
3458 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3459 /* [out] */ BSTR *value) = 0;
\r
3461 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;
\r
3465 #else /* C style interface */
\r
3467 typedef struct IDeckLinkConfigurationVtbl
\r
3471 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3472 IDeckLinkConfiguration * This,
\r
3473 /* [in] */ REFIID riid,
\r
3474 /* [annotation][iid_is][out] */
\r
3475 __RPC__deref_out void **ppvObject);
\r
3477 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3478 IDeckLinkConfiguration * This);
\r
3480 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3481 IDeckLinkConfiguration * This);
\r
3483 HRESULT ( STDMETHODCALLTYPE *SetFlag )(
\r
3484 IDeckLinkConfiguration * This,
\r
3485 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3486 /* [in] */ BOOL value);
\r
3488 HRESULT ( STDMETHODCALLTYPE *GetFlag )(
\r
3489 IDeckLinkConfiguration * This,
\r
3490 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3491 /* [out] */ BOOL *value);
\r
3493 HRESULT ( STDMETHODCALLTYPE *SetInt )(
\r
3494 IDeckLinkConfiguration * This,
\r
3495 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3496 /* [in] */ LONGLONG value);
\r
3498 HRESULT ( STDMETHODCALLTYPE *GetInt )(
\r
3499 IDeckLinkConfiguration * This,
\r
3500 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3501 /* [out] */ LONGLONG *value);
\r
3503 HRESULT ( STDMETHODCALLTYPE *SetFloat )(
\r
3504 IDeckLinkConfiguration * This,
\r
3505 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3506 /* [in] */ double value);
\r
3508 HRESULT ( STDMETHODCALLTYPE *GetFloat )(
\r
3509 IDeckLinkConfiguration * This,
\r
3510 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3511 /* [out] */ double *value);
\r
3513 HRESULT ( STDMETHODCALLTYPE *SetString )(
\r
3514 IDeckLinkConfiguration * This,
\r
3515 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3516 /* [in] */ BSTR value);
\r
3518 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
3519 IDeckLinkConfiguration * This,
\r
3520 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3521 /* [out] */ BSTR *value);
\r
3523 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )(
\r
3524 IDeckLinkConfiguration * This);
\r
3527 } IDeckLinkConfigurationVtbl;
\r
3529 interface IDeckLinkConfiguration
\r
3531 CONST_VTBL struct IDeckLinkConfigurationVtbl *lpVtbl;
\r
3539 #define IDeckLinkConfiguration_QueryInterface(This,riid,ppvObject) \
\r
3540 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3542 #define IDeckLinkConfiguration_AddRef(This) \
\r
3543 ( (This)->lpVtbl -> AddRef(This) )
\r
3545 #define IDeckLinkConfiguration_Release(This) \
\r
3546 ( (This)->lpVtbl -> Release(This) )
\r
3549 #define IDeckLinkConfiguration_SetFlag(This,cfgID,value) \
\r
3550 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) )
\r
3552 #define IDeckLinkConfiguration_GetFlag(This,cfgID,value) \
\r
3553 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
\r
3555 #define IDeckLinkConfiguration_SetInt(This,cfgID,value) \
\r
3556 ( (This)->lpVtbl -> SetInt(This,cfgID,value) )
\r
3558 #define IDeckLinkConfiguration_GetInt(This,cfgID,value) \
\r
3559 ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
\r
3561 #define IDeckLinkConfiguration_SetFloat(This,cfgID,value) \
\r
3562 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) )
\r
3564 #define IDeckLinkConfiguration_GetFloat(This,cfgID,value) \
\r
3565 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
\r
3567 #define IDeckLinkConfiguration_SetString(This,cfgID,value) \
\r
3568 ( (This)->lpVtbl -> SetString(This,cfgID,value) )
\r
3570 #define IDeckLinkConfiguration_GetString(This,cfgID,value) \
\r
3571 ( (This)->lpVtbl -> GetString(This,cfgID,value) )
\r
3573 #define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) \
\r
3574 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) )
\r
3576 #endif /* COBJMACROS */
\r
3579 #endif /* C style interface */
\r
3584 #endif /* __IDeckLinkConfiguration_INTERFACE_DEFINED__ */
\r
3587 #ifndef __IDeckLinkAttributes_INTERFACE_DEFINED__
\r
3588 #define __IDeckLinkAttributes_INTERFACE_DEFINED__
\r
3590 /* interface IDeckLinkAttributes */
\r
3591 /* [helpstring][local][uuid][object] */
\r
3594 EXTERN_C const IID IID_IDeckLinkAttributes;
\r
3596 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3598 MIDL_INTERFACE("ABC11843-D966-44CB-96E2-A1CB5D3135C4")
\r
3599 IDeckLinkAttributes : public IUnknown
\r
3602 virtual HRESULT STDMETHODCALLTYPE GetFlag(
\r
3603 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3604 /* [out] */ BOOL *value) = 0;
\r
3606 virtual HRESULT STDMETHODCALLTYPE GetInt(
\r
3607 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3608 /* [out] */ LONGLONG *value) = 0;
\r
3610 virtual HRESULT STDMETHODCALLTYPE GetFloat(
\r
3611 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3612 /* [out] */ double *value) = 0;
\r
3614 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
3615 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3616 /* [out] */ BSTR *value) = 0;
\r
3620 #else /* C style interface */
\r
3622 typedef struct IDeckLinkAttributesVtbl
\r
3626 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3627 IDeckLinkAttributes * This,
\r
3628 /* [in] */ REFIID riid,
\r
3629 /* [annotation][iid_is][out] */
\r
3630 __RPC__deref_out void **ppvObject);
\r
3632 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3633 IDeckLinkAttributes * This);
\r
3635 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3636 IDeckLinkAttributes * This);
\r
3638 HRESULT ( STDMETHODCALLTYPE *GetFlag )(
\r
3639 IDeckLinkAttributes * This,
\r
3640 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3641 /* [out] */ BOOL *value);
\r
3643 HRESULT ( STDMETHODCALLTYPE *GetInt )(
\r
3644 IDeckLinkAttributes * This,
\r
3645 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3646 /* [out] */ LONGLONG *value);
\r
3648 HRESULT ( STDMETHODCALLTYPE *GetFloat )(
\r
3649 IDeckLinkAttributes * This,
\r
3650 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3651 /* [out] */ double *value);
\r
3653 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
3654 IDeckLinkAttributes * This,
\r
3655 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3656 /* [out] */ BSTR *value);
\r
3659 } IDeckLinkAttributesVtbl;
\r
3661 interface IDeckLinkAttributes
\r
3663 CONST_VTBL struct IDeckLinkAttributesVtbl *lpVtbl;
\r
3671 #define IDeckLinkAttributes_QueryInterface(This,riid,ppvObject) \
\r
3672 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3674 #define IDeckLinkAttributes_AddRef(This) \
\r
3675 ( (This)->lpVtbl -> AddRef(This) )
\r
3677 #define IDeckLinkAttributes_Release(This) \
\r
3678 ( (This)->lpVtbl -> Release(This) )
\r
3681 #define IDeckLinkAttributes_GetFlag(This,cfgID,value) \
\r
3682 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
\r
3684 #define IDeckLinkAttributes_GetInt(This,cfgID,value) \
\r
3685 ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
\r
3687 #define IDeckLinkAttributes_GetFloat(This,cfgID,value) \
\r
3688 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
\r
3690 #define IDeckLinkAttributes_GetString(This,cfgID,value) \
\r
3691 ( (This)->lpVtbl -> GetString(This,cfgID,value) )
\r
3693 #endif /* COBJMACROS */
\r
3696 #endif /* C style interface */
\r
3701 #endif /* __IDeckLinkAttributes_INTERFACE_DEFINED__ */
\r
3704 #ifndef __IDeckLinkKeyer_INTERFACE_DEFINED__
\r
3705 #define __IDeckLinkKeyer_INTERFACE_DEFINED__
\r
3707 /* interface IDeckLinkKeyer */
\r
3708 /* [helpstring][local][uuid][object] */
\r
3711 EXTERN_C const IID IID_IDeckLinkKeyer;
\r
3713 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3715 MIDL_INTERFACE("89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3")
\r
3716 IDeckLinkKeyer : public IUnknown
\r
3719 virtual HRESULT STDMETHODCALLTYPE Enable(
\r
3720 /* [in] */ BOOL isExternal) = 0;
\r
3722 virtual HRESULT STDMETHODCALLTYPE SetLevel(
\r
3723 /* [in] */ unsigned char level) = 0;
\r
3725 virtual HRESULT STDMETHODCALLTYPE RampUp(
\r
3726 /* [in] */ unsigned long numberOfFrames) = 0;
\r
3728 virtual HRESULT STDMETHODCALLTYPE RampDown(
\r
3729 /* [in] */ unsigned long numberOfFrames) = 0;
\r
3731 virtual HRESULT STDMETHODCALLTYPE Disable( void) = 0;
\r
3735 #else /* C style interface */
\r
3737 typedef struct IDeckLinkKeyerVtbl
\r
3741 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3742 IDeckLinkKeyer * This,
\r
3743 /* [in] */ REFIID riid,
\r
3744 /* [annotation][iid_is][out] */
\r
3745 __RPC__deref_out void **ppvObject);
\r
3747 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3748 IDeckLinkKeyer * This);
\r
3750 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3751 IDeckLinkKeyer * This);
\r
3753 HRESULT ( STDMETHODCALLTYPE *Enable )(
\r
3754 IDeckLinkKeyer * This,
\r
3755 /* [in] */ BOOL isExternal);
\r
3757 HRESULT ( STDMETHODCALLTYPE *SetLevel )(
\r
3758 IDeckLinkKeyer * This,
\r
3759 /* [in] */ unsigned char level);
\r
3761 HRESULT ( STDMETHODCALLTYPE *RampUp )(
\r
3762 IDeckLinkKeyer * This,
\r
3763 /* [in] */ unsigned long numberOfFrames);
\r
3765 HRESULT ( STDMETHODCALLTYPE *RampDown )(
\r
3766 IDeckLinkKeyer * This,
\r
3767 /* [in] */ unsigned long numberOfFrames);
\r
3769 HRESULT ( STDMETHODCALLTYPE *Disable )(
\r
3770 IDeckLinkKeyer * This);
\r
3773 } IDeckLinkKeyerVtbl;
\r
3775 interface IDeckLinkKeyer
\r
3777 CONST_VTBL struct IDeckLinkKeyerVtbl *lpVtbl;
\r
3785 #define IDeckLinkKeyer_QueryInterface(This,riid,ppvObject) \
\r
3786 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3788 #define IDeckLinkKeyer_AddRef(This) \
\r
3789 ( (This)->lpVtbl -> AddRef(This) )
\r
3791 #define IDeckLinkKeyer_Release(This) \
\r
3792 ( (This)->lpVtbl -> Release(This) )
\r
3795 #define IDeckLinkKeyer_Enable(This,isExternal) \
\r
3796 ( (This)->lpVtbl -> Enable(This,isExternal) )
\r
3798 #define IDeckLinkKeyer_SetLevel(This,level) \
\r
3799 ( (This)->lpVtbl -> SetLevel(This,level) )
\r
3801 #define IDeckLinkKeyer_RampUp(This,numberOfFrames) \
\r
3802 ( (This)->lpVtbl -> RampUp(This,numberOfFrames) )
\r
3804 #define IDeckLinkKeyer_RampDown(This,numberOfFrames) \
\r
3805 ( (This)->lpVtbl -> RampDown(This,numberOfFrames) )
\r
3807 #define IDeckLinkKeyer_Disable(This) \
\r
3808 ( (This)->lpVtbl -> Disable(This) )
\r
3810 #endif /* COBJMACROS */
\r
3813 #endif /* C style interface */
\r
3818 #endif /* __IDeckLinkKeyer_INTERFACE_DEFINED__ */
\r
3821 #ifndef __IDeckLinkVideoConversion_INTERFACE_DEFINED__
\r
3822 #define __IDeckLinkVideoConversion_INTERFACE_DEFINED__
\r
3824 /* interface IDeckLinkVideoConversion */
\r
3825 /* [helpstring][local][uuid][object] */
\r
3828 EXTERN_C const IID IID_IDeckLinkVideoConversion;
\r
3830 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3832 MIDL_INTERFACE("3BBCB8A2-DA2C-42D9-B5D8-88083644E99A")
\r
3833 IDeckLinkVideoConversion : public IUnknown
\r
3836 virtual HRESULT STDMETHODCALLTYPE ConvertFrame(
\r
3837 /* [in] */ IDeckLinkVideoFrame *srcFrame,
\r
3838 /* [in] */ IDeckLinkVideoFrame *dstFrame) = 0;
\r
3842 #else /* C style interface */
\r
3844 typedef struct IDeckLinkVideoConversionVtbl
\r
3848 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3849 IDeckLinkVideoConversion * This,
\r
3850 /* [in] */ REFIID riid,
\r
3851 /* [annotation][iid_is][out] */
\r
3852 __RPC__deref_out void **ppvObject);
\r
3854 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3855 IDeckLinkVideoConversion * This);
\r
3857 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3858 IDeckLinkVideoConversion * This);
\r
3860 HRESULT ( STDMETHODCALLTYPE *ConvertFrame )(
\r
3861 IDeckLinkVideoConversion * This,
\r
3862 /* [in] */ IDeckLinkVideoFrame *srcFrame,
\r
3863 /* [in] */ IDeckLinkVideoFrame *dstFrame);
\r
3866 } IDeckLinkVideoConversionVtbl;
\r
3868 interface IDeckLinkVideoConversion
\r
3870 CONST_VTBL struct IDeckLinkVideoConversionVtbl *lpVtbl;
\r
3878 #define IDeckLinkVideoConversion_QueryInterface(This,riid,ppvObject) \
\r
3879 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3881 #define IDeckLinkVideoConversion_AddRef(This) \
\r
3882 ( (This)->lpVtbl -> AddRef(This) )
\r
3884 #define IDeckLinkVideoConversion_Release(This) \
\r
3885 ( (This)->lpVtbl -> Release(This) )
\r
3888 #define IDeckLinkVideoConversion_ConvertFrame(This,srcFrame,dstFrame) \
\r
3889 ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) )
\r
3891 #endif /* COBJMACROS */
\r
3894 #endif /* C style interface */
\r
3899 #endif /* __IDeckLinkVideoConversion_INTERFACE_DEFINED__ */
\r
3902 #ifndef __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__
\r
3903 #define __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__
\r
3905 /* interface IDeckLinkDeckControlStatusCallback */
\r
3906 /* [helpstring][uuid][object] */
\r
3909 EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback;
\r
3911 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3913 MIDL_INTERFACE("E5F693C1-4283-4716-B18F-C1431521955B")
\r
3914 IDeckLinkDeckControlStatusCallback : public IUnknown
\r
3917 virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate(
\r
3918 /* [in] */ BMDTimecodeBCD currentTimecode) = 0;
\r
3920 virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged(
\r
3921 /* [in] */ BMDDeckControlVTRControlState newState,
\r
3922 /* [in] */ BMDDeckControlError error) = 0;
\r
3924 virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived(
\r
3925 /* [in] */ BMDDeckControlEvent event,
\r
3926 /* [in] */ BMDDeckControlError error) = 0;
\r
3928 virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged(
\r
3929 /* [in] */ BMDDeckControlStatusFlags flags,
\r
3930 /* [in] */ unsigned long mask) = 0;
\r
3934 #else /* C style interface */
\r
3936 typedef struct IDeckLinkDeckControlStatusCallbackVtbl
\r
3940 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3941 IDeckLinkDeckControlStatusCallback * This,
\r
3942 /* [in] */ REFIID riid,
\r
3943 /* [annotation][iid_is][out] */
\r
3944 __RPC__deref_out void **ppvObject);
\r
3946 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3947 IDeckLinkDeckControlStatusCallback * This);
\r
3949 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3950 IDeckLinkDeckControlStatusCallback * This);
\r
3952 HRESULT ( STDMETHODCALLTYPE *TimecodeUpdate )(
\r
3953 IDeckLinkDeckControlStatusCallback * This,
\r
3954 /* [in] */ BMDTimecodeBCD currentTimecode);
\r
3956 HRESULT ( STDMETHODCALLTYPE *VTRControlStateChanged )(
\r
3957 IDeckLinkDeckControlStatusCallback * This,
\r
3958 /* [in] */ BMDDeckControlVTRControlState newState,
\r
3959 /* [in] */ BMDDeckControlError error);
\r
3961 HRESULT ( STDMETHODCALLTYPE *DeckControlEventReceived )(
\r
3962 IDeckLinkDeckControlStatusCallback * This,
\r
3963 /* [in] */ BMDDeckControlEvent event,
\r
3964 /* [in] */ BMDDeckControlError error);
\r
3966 HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )(
\r
3967 IDeckLinkDeckControlStatusCallback * This,
\r
3968 /* [in] */ BMDDeckControlStatusFlags flags,
\r
3969 /* [in] */ unsigned long mask);
\r
3972 } IDeckLinkDeckControlStatusCallbackVtbl;
\r
3974 interface IDeckLinkDeckControlStatusCallback
\r
3976 CONST_VTBL struct IDeckLinkDeckControlStatusCallbackVtbl *lpVtbl;
\r
3984 #define IDeckLinkDeckControlStatusCallback_QueryInterface(This,riid,ppvObject) \
\r
3985 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3987 #define IDeckLinkDeckControlStatusCallback_AddRef(This) \
\r
3988 ( (This)->lpVtbl -> AddRef(This) )
\r
3990 #define IDeckLinkDeckControlStatusCallback_Release(This) \
\r
3991 ( (This)->lpVtbl -> Release(This) )
\r
3994 #define IDeckLinkDeckControlStatusCallback_TimecodeUpdate(This,currentTimecode) \
\r
3995 ( (This)->lpVtbl -> TimecodeUpdate(This,currentTimecode) )
\r
3997 #define IDeckLinkDeckControlStatusCallback_VTRControlStateChanged(This,newState,error) \
\r
3998 ( (This)->lpVtbl -> VTRControlStateChanged(This,newState,error) )
\r
4000 #define IDeckLinkDeckControlStatusCallback_DeckControlEventReceived(This,event,error) \
\r
4001 ( (This)->lpVtbl -> DeckControlEventReceived(This,event,error) )
\r
4003 #define IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(This,flags,mask) \
\r
4004 ( (This)->lpVtbl -> DeckControlStatusChanged(This,flags,mask) )
\r
4006 #endif /* COBJMACROS */
\r
4009 #endif /* C style interface */
\r
4014 #endif /* __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ */
\r
4017 #ifndef __IDeckLinkDeckControl_INTERFACE_DEFINED__
\r
4018 #define __IDeckLinkDeckControl_INTERFACE_DEFINED__
\r
4020 /* interface IDeckLinkDeckControl */
\r
4021 /* [helpstring][uuid][object] */
\r
4024 EXTERN_C const IID IID_IDeckLinkDeckControl;
\r
4026 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4028 MIDL_INTERFACE("A4D81043-0619-42B7-8ED6-602D29041DF7")
\r
4029 IDeckLinkDeckControl : public IUnknown
\r
4032 virtual HRESULT STDMETHODCALLTYPE Open(
\r
4033 /* [in] */ BMDTimeScale timeScale,
\r
4034 /* [in] */ BMDTimeValue timeValue,
\r
4035 /* [in] */ BOOL timecodeIsDropFrame,
\r
4036 /* [out] */ BMDDeckControlError *error) = 0;
\r
4038 virtual HRESULT STDMETHODCALLTYPE Close(
\r
4039 /* [in] */ BOOL standbyOn) = 0;
\r
4041 virtual HRESULT STDMETHODCALLTYPE GetCurrentState(
\r
4042 /* [out] */ BMDDeckControlMode *mode,
\r
4043 /* [out] */ BMDDeckControlVTRControlState *vtrControlState,
\r
4044 /* [out] */ BMDDeckControlStatusFlags *flags) = 0;
\r
4046 virtual HRESULT STDMETHODCALLTYPE SetStandby(
\r
4047 /* [in] */ BOOL standbyOn) = 0;
\r
4049 virtual HRESULT STDMETHODCALLTYPE Play(
\r
4050 /* [out] */ BMDDeckControlError *error) = 0;
\r
4052 virtual HRESULT STDMETHODCALLTYPE Stop(
\r
4053 /* [out] */ BMDDeckControlError *error) = 0;
\r
4055 virtual HRESULT STDMETHODCALLTYPE TogglePlayStop(
\r
4056 /* [out] */ BMDDeckControlError *error) = 0;
\r
4058 virtual HRESULT STDMETHODCALLTYPE Eject(
\r
4059 /* [out] */ BMDDeckControlError *error) = 0;
\r
4061 virtual HRESULT STDMETHODCALLTYPE GoToTimecode(
\r
4062 /* [in] */ BMDTimecodeBCD timecode,
\r
4063 /* [out] */ BMDDeckControlError *error) = 0;
\r
4065 virtual HRESULT STDMETHODCALLTYPE FastForward(
\r
4066 /* [in] */ BOOL viewTape,
\r
4067 /* [out] */ BMDDeckControlError *error) = 0;
\r
4069 virtual HRESULT STDMETHODCALLTYPE Rewind(
\r
4070 /* [in] */ BOOL viewTape,
\r
4071 /* [out] */ BMDDeckControlError *error) = 0;
\r
4073 virtual HRESULT STDMETHODCALLTYPE StepForward(
\r
4074 /* [out] */ BMDDeckControlError *error) = 0;
\r
4076 virtual HRESULT STDMETHODCALLTYPE StepBack(
\r
4077 /* [out] */ BMDDeckControlError *error) = 0;
\r
4079 virtual HRESULT STDMETHODCALLTYPE Jog(
\r
4080 /* [in] */ double rate,
\r
4081 /* [out] */ BMDDeckControlError *error) = 0;
\r
4083 virtual HRESULT STDMETHODCALLTYPE Shuttle(
\r
4084 /* [in] */ double rate,
\r
4085 /* [out] */ BMDDeckControlError *error) = 0;
\r
4087 virtual HRESULT STDMETHODCALLTYPE GetTimecodeString(
\r
4088 /* [out] */ BSTR *currentTimeCode,
\r
4089 /* [out] */ BMDDeckControlError *error) = 0;
\r
4091 virtual HRESULT STDMETHODCALLTYPE GetTimecode(
\r
4092 /* [out] */ IDeckLinkTimecode **currentTimecode,
\r
4093 /* [out] */ BMDDeckControlError *error) = 0;
\r
4095 virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD(
\r
4096 /* [out] */ BMDTimecodeBCD *currentTimecode,
\r
4097 /* [out] */ BMDDeckControlError *error) = 0;
\r
4099 virtual HRESULT STDMETHODCALLTYPE SetPreroll(
\r
4100 /* [in] */ unsigned long prerollSeconds) = 0;
\r
4102 virtual HRESULT STDMETHODCALLTYPE GetPreroll(
\r
4103 /* [out] */ unsigned long *prerollSeconds) = 0;
\r
4105 virtual HRESULT STDMETHODCALLTYPE SetExportOffset(
\r
4106 /* [in] */ long exportOffsetFields) = 0;
\r
4108 virtual HRESULT STDMETHODCALLTYPE GetExportOffset(
\r
4109 /* [out] */ long *exportOffsetFields) = 0;
\r
4111 virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset(
\r
4112 /* [out] */ long *deckManualExportOffsetFields) = 0;
\r
4114 virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset(
\r
4115 /* [in] */ long captureOffsetFields) = 0;
\r
4117 virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset(
\r
4118 /* [out] */ long *captureOffsetFields) = 0;
\r
4120 virtual HRESULT STDMETHODCALLTYPE StartExport(
\r
4121 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4122 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4123 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,
\r
4124 /* [out] */ BMDDeckControlError *error) = 0;
\r
4126 virtual HRESULT STDMETHODCALLTYPE StartCapture(
\r
4127 /* [in] */ BOOL useVITC,
\r
4128 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4129 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4130 /* [out] */ BMDDeckControlError *error) = 0;
\r
4132 virtual HRESULT STDMETHODCALLTYPE GetDeviceID(
\r
4133 /* [out] */ unsigned short *deviceId,
\r
4134 /* [out] */ BMDDeckControlError *error) = 0;
\r
4136 virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
\r
4138 virtual HRESULT STDMETHODCALLTYPE CrashRecordStart(
\r
4139 /* [out] */ BMDDeckControlError *error) = 0;
\r
4141 virtual HRESULT STDMETHODCALLTYPE CrashRecordStop(
\r
4142 /* [out] */ BMDDeckControlError *error) = 0;
\r
4144 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
4145 /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0;
\r
4149 #else /* C style interface */
\r
4151 typedef struct IDeckLinkDeckControlVtbl
\r
4155 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4156 IDeckLinkDeckControl * This,
\r
4157 /* [in] */ REFIID riid,
\r
4158 /* [annotation][iid_is][out] */
\r
4159 __RPC__deref_out void **ppvObject);
\r
4161 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4162 IDeckLinkDeckControl * This);
\r
4164 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4165 IDeckLinkDeckControl * This);
\r
4167 HRESULT ( STDMETHODCALLTYPE *Open )(
\r
4168 IDeckLinkDeckControl * This,
\r
4169 /* [in] */ BMDTimeScale timeScale,
\r
4170 /* [in] */ BMDTimeValue timeValue,
\r
4171 /* [in] */ BOOL timecodeIsDropFrame,
\r
4172 /* [out] */ BMDDeckControlError *error);
\r
4174 HRESULT ( STDMETHODCALLTYPE *Close )(
\r
4175 IDeckLinkDeckControl * This,
\r
4176 /* [in] */ BOOL standbyOn);
\r
4178 HRESULT ( STDMETHODCALLTYPE *GetCurrentState )(
\r
4179 IDeckLinkDeckControl * This,
\r
4180 /* [out] */ BMDDeckControlMode *mode,
\r
4181 /* [out] */ BMDDeckControlVTRControlState *vtrControlState,
\r
4182 /* [out] */ BMDDeckControlStatusFlags *flags);
\r
4184 HRESULT ( STDMETHODCALLTYPE *SetStandby )(
\r
4185 IDeckLinkDeckControl * This,
\r
4186 /* [in] */ BOOL standbyOn);
\r
4188 HRESULT ( STDMETHODCALLTYPE *Play )(
\r
4189 IDeckLinkDeckControl * This,
\r
4190 /* [out] */ BMDDeckControlError *error);
\r
4192 HRESULT ( STDMETHODCALLTYPE *Stop )(
\r
4193 IDeckLinkDeckControl * This,
\r
4194 /* [out] */ BMDDeckControlError *error);
\r
4196 HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )(
\r
4197 IDeckLinkDeckControl * This,
\r
4198 /* [out] */ BMDDeckControlError *error);
\r
4200 HRESULT ( STDMETHODCALLTYPE *Eject )(
\r
4201 IDeckLinkDeckControl * This,
\r
4202 /* [out] */ BMDDeckControlError *error);
\r
4204 HRESULT ( STDMETHODCALLTYPE *GoToTimecode )(
\r
4205 IDeckLinkDeckControl * This,
\r
4206 /* [in] */ BMDTimecodeBCD timecode,
\r
4207 /* [out] */ BMDDeckControlError *error);
\r
4209 HRESULT ( STDMETHODCALLTYPE *FastForward )(
\r
4210 IDeckLinkDeckControl * This,
\r
4211 /* [in] */ BOOL viewTape,
\r
4212 /* [out] */ BMDDeckControlError *error);
\r
4214 HRESULT ( STDMETHODCALLTYPE *Rewind )(
\r
4215 IDeckLinkDeckControl * This,
\r
4216 /* [in] */ BOOL viewTape,
\r
4217 /* [out] */ BMDDeckControlError *error);
\r
4219 HRESULT ( STDMETHODCALLTYPE *StepForward )(
\r
4220 IDeckLinkDeckControl * This,
\r
4221 /* [out] */ BMDDeckControlError *error);
\r
4223 HRESULT ( STDMETHODCALLTYPE *StepBack )(
\r
4224 IDeckLinkDeckControl * This,
\r
4225 /* [out] */ BMDDeckControlError *error);
\r
4227 HRESULT ( STDMETHODCALLTYPE *Jog )(
\r
4228 IDeckLinkDeckControl * This,
\r
4229 /* [in] */ double rate,
\r
4230 /* [out] */ BMDDeckControlError *error);
\r
4232 HRESULT ( STDMETHODCALLTYPE *Shuttle )(
\r
4233 IDeckLinkDeckControl * This,
\r
4234 /* [in] */ double rate,
\r
4235 /* [out] */ BMDDeckControlError *error);
\r
4237 HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )(
\r
4238 IDeckLinkDeckControl * This,
\r
4239 /* [out] */ BSTR *currentTimeCode,
\r
4240 /* [out] */ BMDDeckControlError *error);
\r
4242 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
4243 IDeckLinkDeckControl * This,
\r
4244 /* [out] */ IDeckLinkTimecode **currentTimecode,
\r
4245 /* [out] */ BMDDeckControlError *error);
\r
4247 HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )(
\r
4248 IDeckLinkDeckControl * This,
\r
4249 /* [out] */ BMDTimecodeBCD *currentTimecode,
\r
4250 /* [out] */ BMDDeckControlError *error);
\r
4252 HRESULT ( STDMETHODCALLTYPE *SetPreroll )(
\r
4253 IDeckLinkDeckControl * This,
\r
4254 /* [in] */ unsigned long prerollSeconds);
\r
4256 HRESULT ( STDMETHODCALLTYPE *GetPreroll )(
\r
4257 IDeckLinkDeckControl * This,
\r
4258 /* [out] */ unsigned long *prerollSeconds);
\r
4260 HRESULT ( STDMETHODCALLTYPE *SetExportOffset )(
\r
4261 IDeckLinkDeckControl * This,
\r
4262 /* [in] */ long exportOffsetFields);
\r
4264 HRESULT ( STDMETHODCALLTYPE *GetExportOffset )(
\r
4265 IDeckLinkDeckControl * This,
\r
4266 /* [out] */ long *exportOffsetFields);
\r
4268 HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )(
\r
4269 IDeckLinkDeckControl * This,
\r
4270 /* [out] */ long *deckManualExportOffsetFields);
\r
4272 HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )(
\r
4273 IDeckLinkDeckControl * This,
\r
4274 /* [in] */ long captureOffsetFields);
\r
4276 HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )(
\r
4277 IDeckLinkDeckControl * This,
\r
4278 /* [out] */ long *captureOffsetFields);
\r
4280 HRESULT ( STDMETHODCALLTYPE *StartExport )(
\r
4281 IDeckLinkDeckControl * This,
\r
4282 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4283 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4284 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,
\r
4285 /* [out] */ BMDDeckControlError *error);
\r
4287 HRESULT ( STDMETHODCALLTYPE *StartCapture )(
\r
4288 IDeckLinkDeckControl * This,
\r
4289 /* [in] */ BOOL useVITC,
\r
4290 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4291 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4292 /* [out] */ BMDDeckControlError *error);
\r
4294 HRESULT ( STDMETHODCALLTYPE *GetDeviceID )(
\r
4295 IDeckLinkDeckControl * This,
\r
4296 /* [out] */ unsigned short *deviceId,
\r
4297 /* [out] */ BMDDeckControlError *error);
\r
4299 HRESULT ( STDMETHODCALLTYPE *Abort )(
\r
4300 IDeckLinkDeckControl * This);
\r
4302 HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )(
\r
4303 IDeckLinkDeckControl * This,
\r
4304 /* [out] */ BMDDeckControlError *error);
\r
4306 HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )(
\r
4307 IDeckLinkDeckControl * This,
\r
4308 /* [out] */ BMDDeckControlError *error);
\r
4310 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
4311 IDeckLinkDeckControl * This,
\r
4312 /* [in] */ IDeckLinkDeckControlStatusCallback *callback);
\r
4315 } IDeckLinkDeckControlVtbl;
\r
4317 interface IDeckLinkDeckControl
\r
4319 CONST_VTBL struct IDeckLinkDeckControlVtbl *lpVtbl;
\r
4327 #define IDeckLinkDeckControl_QueryInterface(This,riid,ppvObject) \
\r
4328 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4330 #define IDeckLinkDeckControl_AddRef(This) \
\r
4331 ( (This)->lpVtbl -> AddRef(This) )
\r
4333 #define IDeckLinkDeckControl_Release(This) \
\r
4334 ( (This)->lpVtbl -> Release(This) )
\r
4337 #define IDeckLinkDeckControl_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \
\r
4338 ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) )
\r
4340 #define IDeckLinkDeckControl_Close(This,standbyOn) \
\r
4341 ( (This)->lpVtbl -> Close(This,standbyOn) )
\r
4343 #define IDeckLinkDeckControl_GetCurrentState(This,mode,vtrControlState,flags) \
\r
4344 ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) )
\r
4346 #define IDeckLinkDeckControl_SetStandby(This,standbyOn) \
\r
4347 ( (This)->lpVtbl -> SetStandby(This,standbyOn) )
\r
4349 #define IDeckLinkDeckControl_Play(This,error) \
\r
4350 ( (This)->lpVtbl -> Play(This,error) )
\r
4352 #define IDeckLinkDeckControl_Stop(This,error) \
\r
4353 ( (This)->lpVtbl -> Stop(This,error) )
\r
4355 #define IDeckLinkDeckControl_TogglePlayStop(This,error) \
\r
4356 ( (This)->lpVtbl -> TogglePlayStop(This,error) )
\r
4358 #define IDeckLinkDeckControl_Eject(This,error) \
\r
4359 ( (This)->lpVtbl -> Eject(This,error) )
\r
4361 #define IDeckLinkDeckControl_GoToTimecode(This,timecode,error) \
\r
4362 ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) )
\r
4364 #define IDeckLinkDeckControl_FastForward(This,viewTape,error) \
\r
4365 ( (This)->lpVtbl -> FastForward(This,viewTape,error) )
\r
4367 #define IDeckLinkDeckControl_Rewind(This,viewTape,error) \
\r
4368 ( (This)->lpVtbl -> Rewind(This,viewTape,error) )
\r
4370 #define IDeckLinkDeckControl_StepForward(This,error) \
\r
4371 ( (This)->lpVtbl -> StepForward(This,error) )
\r
4373 #define IDeckLinkDeckControl_StepBack(This,error) \
\r
4374 ( (This)->lpVtbl -> StepBack(This,error) )
\r
4376 #define IDeckLinkDeckControl_Jog(This,rate,error) \
\r
4377 ( (This)->lpVtbl -> Jog(This,rate,error) )
\r
4379 #define IDeckLinkDeckControl_Shuttle(This,rate,error) \
\r
4380 ( (This)->lpVtbl -> Shuttle(This,rate,error) )
\r
4382 #define IDeckLinkDeckControl_GetTimecodeString(This,currentTimeCode,error) \
\r
4383 ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) )
\r
4385 #define IDeckLinkDeckControl_GetTimecode(This,currentTimecode,error) \
\r
4386 ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) )
\r
4388 #define IDeckLinkDeckControl_GetTimecodeBCD(This,currentTimecode,error) \
\r
4389 ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) )
\r
4391 #define IDeckLinkDeckControl_SetPreroll(This,prerollSeconds) \
\r
4392 ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) )
\r
4394 #define IDeckLinkDeckControl_GetPreroll(This,prerollSeconds) \
\r
4395 ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) )
\r
4397 #define IDeckLinkDeckControl_SetExportOffset(This,exportOffsetFields) \
\r
4398 ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) )
\r
4400 #define IDeckLinkDeckControl_GetExportOffset(This,exportOffsetFields) \
\r
4401 ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) )
\r
4403 #define IDeckLinkDeckControl_GetManualExportOffset(This,deckManualExportOffsetFields) \
\r
4404 ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) )
\r
4406 #define IDeckLinkDeckControl_SetCaptureOffset(This,captureOffsetFields) \
\r
4407 ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) )
\r
4409 #define IDeckLinkDeckControl_GetCaptureOffset(This,captureOffsetFields) \
\r
4410 ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) )
\r
4412 #define IDeckLinkDeckControl_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \
\r
4413 ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) )
\r
4415 #define IDeckLinkDeckControl_StartCapture(This,useVITC,inTimecode,outTimecode,error) \
\r
4416 ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) )
\r
4418 #define IDeckLinkDeckControl_GetDeviceID(This,deviceId,error) \
\r
4419 ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) )
\r
4421 #define IDeckLinkDeckControl_Abort(This) \
\r
4422 ( (This)->lpVtbl -> Abort(This) )
\r
4424 #define IDeckLinkDeckControl_CrashRecordStart(This,error) \
\r
4425 ( (This)->lpVtbl -> CrashRecordStart(This,error) )
\r
4427 #define IDeckLinkDeckControl_CrashRecordStop(This,error) \
\r
4428 ( (This)->lpVtbl -> CrashRecordStop(This,error) )
\r
4430 #define IDeckLinkDeckControl_SetCallback(This,callback) \
\r
4431 ( (This)->lpVtbl -> SetCallback(This,callback) )
\r
4433 #endif /* COBJMACROS */
\r
4436 #endif /* C style interface */
\r
4441 #endif /* __IDeckLinkDeckControl_INTERFACE_DEFINED__ */
\r
4444 EXTERN_C const CLSID CLSID_CDeckLinkIterator;
\r
4446 #ifdef __cplusplus
\r
4448 class DECLSPEC_UUID("D9EDA3B3-2887-41FA-B724-017CF1EB1D37")
\r
4449 CDeckLinkIterator;
\r
4452 EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper;
\r
4454 #ifdef __cplusplus
\r
4456 class DECLSPEC_UUID("F63E77C7-B655-4A4A-9AD0-3CA85D394343")
\r
4457 CDeckLinkGLScreenPreviewHelper;
\r
4460 EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion;
\r
4462 #ifdef __cplusplus
\r
4464 class DECLSPEC_UUID("7DBBBB11-5B7B-467D-AEA4-CEA468FD368C")
\r
4465 CDeckLinkVideoConversion;
\r
4468 #ifndef __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__
\r
4469 #define __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__
\r
4471 /* interface IDeckLinkDisplayModeIterator_v7_6 */
\r
4472 /* [helpstring][uuid][object] */
\r
4475 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_6;
\r
4477 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4479 MIDL_INTERFACE("455D741F-1779-4800-86F5-0B5D13D79751")
\r
4480 IDeckLinkDisplayModeIterator_v7_6 : public IUnknown
\r
4483 virtual HRESULT STDMETHODCALLTYPE Next(
\r
4484 /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) = 0;
\r
4488 #else /* C style interface */
\r
4490 typedef struct IDeckLinkDisplayModeIterator_v7_6Vtbl
\r
4494 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4495 IDeckLinkDisplayModeIterator_v7_6 * This,
\r
4496 /* [in] */ REFIID riid,
\r
4497 /* [annotation][iid_is][out] */
\r
4498 __RPC__deref_out void **ppvObject);
\r
4500 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4501 IDeckLinkDisplayModeIterator_v7_6 * This);
\r
4503 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4504 IDeckLinkDisplayModeIterator_v7_6 * This);
\r
4506 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
4507 IDeckLinkDisplayModeIterator_v7_6 * This,
\r
4508 /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode);
\r
4511 } IDeckLinkDisplayModeIterator_v7_6Vtbl;
\r
4513 interface IDeckLinkDisplayModeIterator_v7_6
\r
4515 CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_6Vtbl *lpVtbl;
\r
4523 #define IDeckLinkDisplayModeIterator_v7_6_QueryInterface(This,riid,ppvObject) \
\r
4524 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4526 #define IDeckLinkDisplayModeIterator_v7_6_AddRef(This) \
\r
4527 ( (This)->lpVtbl -> AddRef(This) )
\r
4529 #define IDeckLinkDisplayModeIterator_v7_6_Release(This) \
\r
4530 ( (This)->lpVtbl -> Release(This) )
\r
4533 #define IDeckLinkDisplayModeIterator_v7_6_Next(This,deckLinkDisplayMode) \
\r
4534 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
\r
4536 #endif /* COBJMACROS */
\r
4539 #endif /* C style interface */
\r
4544 #endif /* __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ */
\r
4547 #ifndef __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__
\r
4548 #define __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__
\r
4550 /* interface IDeckLinkDisplayMode_v7_6 */
\r
4551 /* [helpstring][uuid][object] */
\r
4554 EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_6;
\r
4556 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4558 MIDL_INTERFACE("87451E84-2B7E-439E-A629-4393EA4A8550")
\r
4559 IDeckLinkDisplayMode_v7_6 : public IUnknown
\r
4562 virtual HRESULT STDMETHODCALLTYPE GetName(
\r
4563 /* [out] */ BSTR *name) = 0;
\r
4565 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
4567 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
4569 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
4571 virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
\r
4572 /* [out] */ BMDTimeValue *frameDuration,
\r
4573 /* [out] */ BMDTimeScale *timeScale) = 0;
\r
4575 virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0;
\r
4579 #else /* C style interface */
\r
4581 typedef struct IDeckLinkDisplayMode_v7_6Vtbl
\r
4585 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4586 IDeckLinkDisplayMode_v7_6 * This,
\r
4587 /* [in] */ REFIID riid,
\r
4588 /* [annotation][iid_is][out] */
\r
4589 __RPC__deref_out void **ppvObject);
\r
4591 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4592 IDeckLinkDisplayMode_v7_6 * This);
\r
4594 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4595 IDeckLinkDisplayMode_v7_6 * This);
\r
4597 HRESULT ( STDMETHODCALLTYPE *GetName )(
\r
4598 IDeckLinkDisplayMode_v7_6 * This,
\r
4599 /* [out] */ BSTR *name);
\r
4601 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
4602 IDeckLinkDisplayMode_v7_6 * This);
\r
4604 long ( STDMETHODCALLTYPE *GetWidth )(
\r
4605 IDeckLinkDisplayMode_v7_6 * This);
\r
4607 long ( STDMETHODCALLTYPE *GetHeight )(
\r
4608 IDeckLinkDisplayMode_v7_6 * This);
\r
4610 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
\r
4611 IDeckLinkDisplayMode_v7_6 * This,
\r
4612 /* [out] */ BMDTimeValue *frameDuration,
\r
4613 /* [out] */ BMDTimeScale *timeScale);
\r
4615 BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )(
\r
4616 IDeckLinkDisplayMode_v7_6 * This);
\r
4619 } IDeckLinkDisplayMode_v7_6Vtbl;
\r
4621 interface IDeckLinkDisplayMode_v7_6
\r
4623 CONST_VTBL struct IDeckLinkDisplayMode_v7_6Vtbl *lpVtbl;
\r
4631 #define IDeckLinkDisplayMode_v7_6_QueryInterface(This,riid,ppvObject) \
\r
4632 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4634 #define IDeckLinkDisplayMode_v7_6_AddRef(This) \
\r
4635 ( (This)->lpVtbl -> AddRef(This) )
\r
4637 #define IDeckLinkDisplayMode_v7_6_Release(This) \
\r
4638 ( (This)->lpVtbl -> Release(This) )
\r
4641 #define IDeckLinkDisplayMode_v7_6_GetName(This,name) \
\r
4642 ( (This)->lpVtbl -> GetName(This,name) )
\r
4644 #define IDeckLinkDisplayMode_v7_6_GetDisplayMode(This) \
\r
4645 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
4647 #define IDeckLinkDisplayMode_v7_6_GetWidth(This) \
\r
4648 ( (This)->lpVtbl -> GetWidth(This) )
\r
4650 #define IDeckLinkDisplayMode_v7_6_GetHeight(This) \
\r
4651 ( (This)->lpVtbl -> GetHeight(This) )
\r
4653 #define IDeckLinkDisplayMode_v7_6_GetFrameRate(This,frameDuration,timeScale) \
\r
4654 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
\r
4656 #define IDeckLinkDisplayMode_v7_6_GetFieldDominance(This) \
\r
4657 ( (This)->lpVtbl -> GetFieldDominance(This) )
\r
4659 #endif /* COBJMACROS */
\r
4662 #endif /* C style interface */
\r
4667 #endif /* __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ */
\r
4670 #ifndef __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__
\r
4671 #define __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__
\r
4673 /* interface IDeckLinkOutput_v7_6 */
\r
4674 /* [helpstring][local][uuid][object] */
\r
4677 EXTERN_C const IID IID_IDeckLinkOutput_v7_6;
\r
4679 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4681 MIDL_INTERFACE("29228142-EB8C-4141-A621-F74026450955")
\r
4682 IDeckLinkOutput_v7_6 : public IUnknown
\r
4685 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
4686 BMDDisplayMode displayMode,
\r
4687 BMDPixelFormat pixelFormat,
\r
4688 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
4690 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
4691 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
4693 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
4694 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;
\r
4696 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
4697 BMDDisplayMode displayMode,
\r
4698 BMDVideoOutputFlags flags) = 0;
\r
4700 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
4702 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
4703 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
4705 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
4709 BMDPixelFormat pixelFormat,
\r
4710 BMDFrameFlags flags,
\r
4711 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;
\r
4713 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
\r
4714 BMDPixelFormat pixelFormat,
\r
4715 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
\r
4717 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
4718 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
4720 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
4721 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
4722 BMDTimeValue displayTime,
\r
4723 BMDTimeValue displayDuration,
\r
4724 BMDTimeScale timeScale) = 0;
\r
4726 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
4727 /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0;
\r
4729 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
\r
4730 /* [out] */ unsigned long *bufferedFrameCount) = 0;
\r
4732 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
4733 BMDAudioSampleRate sampleRate,
\r
4734 BMDAudioSampleType sampleType,
\r
4735 unsigned long channelCount,
\r
4736 BMDAudioOutputStreamType streamType) = 0;
\r
4738 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
4740 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
4741 /* [in] */ void *buffer,
\r
4742 unsigned long sampleFrameCount,
\r
4743 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
4745 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
4747 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
4749 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
4750 /* [in] */ void *buffer,
\r
4751 unsigned long sampleFrameCount,
\r
4752 BMDTimeValue streamTime,
\r
4753 BMDTimeScale timeScale,
\r
4754 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
4756 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
4757 /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
\r
4759 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
4761 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
4762 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
4764 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
4765 BMDTimeValue playbackStartTime,
\r
4766 BMDTimeScale timeScale,
\r
4767 double playbackSpeed) = 0;
\r
4769 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
4770 BMDTimeValue stopPlaybackAtTime,
\r
4771 /* [out] */ BMDTimeValue *actualStopTime,
\r
4772 BMDTimeScale timeScale) = 0;
\r
4774 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
\r
4775 /* [out] */ BOOL *active) = 0;
\r
4777 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
\r
4778 BMDTimeScale desiredTimeScale,
\r
4779 /* [out] */ BMDTimeValue *streamTime,
\r
4780 /* [out] */ double *playbackSpeed) = 0;
\r
4782 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
4783 BMDTimeScale desiredTimeScale,
\r
4784 /* [out] */ BMDTimeValue *hardwareTime,
\r
4785 /* [out] */ BMDTimeValue *timeInFrame,
\r
4786 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
4790 #else /* C style interface */
\r
4792 typedef struct IDeckLinkOutput_v7_6Vtbl
\r
4796 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4797 IDeckLinkOutput_v7_6 * This,
\r
4798 /* [in] */ REFIID riid,
\r
4799 /* [annotation][iid_is][out] */
\r
4800 __RPC__deref_out void **ppvObject);
\r
4802 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4803 IDeckLinkOutput_v7_6 * This);
\r
4805 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4806 IDeckLinkOutput_v7_6 * This);
\r
4808 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
4809 IDeckLinkOutput_v7_6 * This,
\r
4810 BMDDisplayMode displayMode,
\r
4811 BMDPixelFormat pixelFormat,
\r
4812 /* [out] */ BMDDisplayModeSupport *result);
\r
4814 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
4815 IDeckLinkOutput_v7_6 * This,
\r
4816 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
4818 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
4819 IDeckLinkOutput_v7_6 * This,
\r
4820 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
\r
4822 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
4823 IDeckLinkOutput_v7_6 * This,
\r
4824 BMDDisplayMode displayMode,
\r
4825 BMDVideoOutputFlags flags);
\r
4827 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
4828 IDeckLinkOutput_v7_6 * This);
\r
4830 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
4831 IDeckLinkOutput_v7_6 * This,
\r
4832 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
4834 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
4835 IDeckLinkOutput_v7_6 * This,
\r
4839 BMDPixelFormat pixelFormat,
\r
4840 BMDFrameFlags flags,
\r
4841 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame);
\r
4843 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
\r
4844 IDeckLinkOutput_v7_6 * This,
\r
4845 BMDPixelFormat pixelFormat,
\r
4846 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
\r
4848 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
4849 IDeckLinkOutput_v7_6 * This,
\r
4850 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
4852 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
4853 IDeckLinkOutput_v7_6 * This,
\r
4854 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
4855 BMDTimeValue displayTime,
\r
4856 BMDTimeValue displayDuration,
\r
4857 BMDTimeScale timeScale);
\r
4859 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
4860 IDeckLinkOutput_v7_6 * This,
\r
4861 /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback);
\r
4863 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
\r
4864 IDeckLinkOutput_v7_6 * This,
\r
4865 /* [out] */ unsigned long *bufferedFrameCount);
\r
4867 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
4868 IDeckLinkOutput_v7_6 * This,
\r
4869 BMDAudioSampleRate sampleRate,
\r
4870 BMDAudioSampleType sampleType,
\r
4871 unsigned long channelCount,
\r
4872 BMDAudioOutputStreamType streamType);
\r
4874 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
4875 IDeckLinkOutput_v7_6 * This);
\r
4877 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
4878 IDeckLinkOutput_v7_6 * This,
\r
4879 /* [in] */ void *buffer,
\r
4880 unsigned long sampleFrameCount,
\r
4881 /* [out] */ unsigned long *sampleFramesWritten);
\r
4883 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
4884 IDeckLinkOutput_v7_6 * This);
\r
4886 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
4887 IDeckLinkOutput_v7_6 * This);
\r
4889 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
4890 IDeckLinkOutput_v7_6 * This,
\r
4891 /* [in] */ void *buffer,
\r
4892 unsigned long sampleFrameCount,
\r
4893 BMDTimeValue streamTime,
\r
4894 BMDTimeScale timeScale,
\r
4895 /* [out] */ unsigned long *sampleFramesWritten);
\r
4897 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
4898 IDeckLinkOutput_v7_6 * This,
\r
4899 /* [out] */ unsigned long *bufferedSampleFrameCount);
\r
4901 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
4902 IDeckLinkOutput_v7_6 * This);
\r
4904 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
4905 IDeckLinkOutput_v7_6 * This,
\r
4906 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
4908 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
4909 IDeckLinkOutput_v7_6 * This,
\r
4910 BMDTimeValue playbackStartTime,
\r
4911 BMDTimeScale timeScale,
\r
4912 double playbackSpeed);
\r
4914 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
4915 IDeckLinkOutput_v7_6 * This,
\r
4916 BMDTimeValue stopPlaybackAtTime,
\r
4917 /* [out] */ BMDTimeValue *actualStopTime,
\r
4918 BMDTimeScale timeScale);
\r
4920 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
\r
4921 IDeckLinkOutput_v7_6 * This,
\r
4922 /* [out] */ BOOL *active);
\r
4924 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )(
\r
4925 IDeckLinkOutput_v7_6 * This,
\r
4926 BMDTimeScale desiredTimeScale,
\r
4927 /* [out] */ BMDTimeValue *streamTime,
\r
4928 /* [out] */ double *playbackSpeed);
\r
4930 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
4931 IDeckLinkOutput_v7_6 * This,
\r
4932 BMDTimeScale desiredTimeScale,
\r
4933 /* [out] */ BMDTimeValue *hardwareTime,
\r
4934 /* [out] */ BMDTimeValue *timeInFrame,
\r
4935 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
4938 } IDeckLinkOutput_v7_6Vtbl;
\r
4940 interface IDeckLinkOutput_v7_6
\r
4942 CONST_VTBL struct IDeckLinkOutput_v7_6Vtbl *lpVtbl;
\r
4950 #define IDeckLinkOutput_v7_6_QueryInterface(This,riid,ppvObject) \
\r
4951 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4953 #define IDeckLinkOutput_v7_6_AddRef(This) \
\r
4954 ( (This)->lpVtbl -> AddRef(This) )
\r
4956 #define IDeckLinkOutput_v7_6_Release(This) \
\r
4957 ( (This)->lpVtbl -> Release(This) )
\r
4960 #define IDeckLinkOutput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
4961 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
4963 #define IDeckLinkOutput_v7_6_GetDisplayModeIterator(This,iterator) \
\r
4964 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
4966 #define IDeckLinkOutput_v7_6_SetScreenPreviewCallback(This,previewCallback) \
\r
4967 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
4969 #define IDeckLinkOutput_v7_6_EnableVideoOutput(This,displayMode,flags) \
\r
4970 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
\r
4972 #define IDeckLinkOutput_v7_6_DisableVideoOutput(This) \
\r
4973 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
4975 #define IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
4976 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
4978 #define IDeckLinkOutput_v7_6_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
4979 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
4981 #define IDeckLinkOutput_v7_6_CreateAncillaryData(This,pixelFormat,outBuffer) \
\r
4982 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
\r
4984 #define IDeckLinkOutput_v7_6_DisplayVideoFrameSync(This,theFrame) \
\r
4985 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
4987 #define IDeckLinkOutput_v7_6_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
4988 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
4990 #define IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
4991 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
4993 #define IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
\r
4994 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
\r
4996 #define IDeckLinkOutput_v7_6_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
\r
4997 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
\r
4999 #define IDeckLinkOutput_v7_6_DisableAudioOutput(This) \
\r
5000 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
5002 #define IDeckLinkOutput_v7_6_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
5003 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
5005 #define IDeckLinkOutput_v7_6_BeginAudioPreroll(This) \
\r
5006 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
5008 #define IDeckLinkOutput_v7_6_EndAudioPreroll(This) \
\r
5009 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
5011 #define IDeckLinkOutput_v7_6_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
5012 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
5014 #define IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
\r
5015 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
\r
5017 #define IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(This) \
\r
5018 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
5020 #define IDeckLinkOutput_v7_6_SetAudioCallback(This,theCallback) \
\r
5021 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
5023 #define IDeckLinkOutput_v7_6_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
5024 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
5026 #define IDeckLinkOutput_v7_6_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
5027 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
5029 #define IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(This,active) \
\r
5030 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
\r
5032 #define IDeckLinkOutput_v7_6_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \
\r
5033 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) )
\r
5035 #define IDeckLinkOutput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
5036 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
5038 #endif /* COBJMACROS */
\r
5041 #endif /* C style interface */
\r
5046 #endif /* __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ */
\r
5049 #ifndef __IDeckLinkInput_v7_6_INTERFACE_DEFINED__
\r
5050 #define __IDeckLinkInput_v7_6_INTERFACE_DEFINED__
\r
5052 /* interface IDeckLinkInput_v7_6 */
\r
5053 /* [helpstring][uuid][object] */
\r
5056 EXTERN_C const IID IID_IDeckLinkInput_v7_6;
\r
5058 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5060 MIDL_INTERFACE("300C135A-9F43-48E2-9906-6D7911D93CF1")
\r
5061 IDeckLinkInput_v7_6 : public IUnknown
\r
5064 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
5065 BMDDisplayMode displayMode,
\r
5066 BMDPixelFormat pixelFormat,
\r
5067 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
5069 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
5070 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
5072 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
5073 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;
\r
5075 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
5076 BMDDisplayMode displayMode,
\r
5077 BMDPixelFormat pixelFormat,
\r
5078 BMDVideoInputFlags flags) = 0;
\r
5080 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
5082 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
\r
5083 /* [out] */ unsigned long *availableFrameCount) = 0;
\r
5085 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
5086 BMDAudioSampleRate sampleRate,
\r
5087 BMDAudioSampleType sampleType,
\r
5088 unsigned long channelCount) = 0;
\r
5090 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
5092 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
\r
5093 /* [out] */ unsigned long *availableSampleFrameCount) = 0;
\r
5095 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
5097 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
5099 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
5101 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
\r
5103 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
5104 /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback) = 0;
\r
5106 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
5107 BMDTimeScale desiredTimeScale,
\r
5108 /* [out] */ BMDTimeValue *hardwareTime,
\r
5109 /* [out] */ BMDTimeValue *timeInFrame,
\r
5110 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
5114 #else /* C style interface */
\r
5116 typedef struct IDeckLinkInput_v7_6Vtbl
\r
5120 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5121 IDeckLinkInput_v7_6 * This,
\r
5122 /* [in] */ REFIID riid,
\r
5123 /* [annotation][iid_is][out] */
\r
5124 __RPC__deref_out void **ppvObject);
\r
5126 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5127 IDeckLinkInput_v7_6 * This);
\r
5129 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5130 IDeckLinkInput_v7_6 * This);
\r
5132 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
5133 IDeckLinkInput_v7_6 * This,
\r
5134 BMDDisplayMode displayMode,
\r
5135 BMDPixelFormat pixelFormat,
\r
5136 /* [out] */ BMDDisplayModeSupport *result);
\r
5138 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
5139 IDeckLinkInput_v7_6 * This,
\r
5140 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
5142 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
5143 IDeckLinkInput_v7_6 * This,
\r
5144 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
\r
5146 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
5147 IDeckLinkInput_v7_6 * This,
\r
5148 BMDDisplayMode displayMode,
\r
5149 BMDPixelFormat pixelFormat,
\r
5150 BMDVideoInputFlags flags);
\r
5152 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
5153 IDeckLinkInput_v7_6 * This);
\r
5155 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
\r
5156 IDeckLinkInput_v7_6 * This,
\r
5157 /* [out] */ unsigned long *availableFrameCount);
\r
5159 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
5160 IDeckLinkInput_v7_6 * This,
\r
5161 BMDAudioSampleRate sampleRate,
\r
5162 BMDAudioSampleType sampleType,
\r
5163 unsigned long channelCount);
\r
5165 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
5166 IDeckLinkInput_v7_6 * This);
\r
5168 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
\r
5169 IDeckLinkInput_v7_6 * This,
\r
5170 /* [out] */ unsigned long *availableSampleFrameCount);
\r
5172 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
5173 IDeckLinkInput_v7_6 * This);
\r
5175 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
5176 IDeckLinkInput_v7_6 * This);
\r
5178 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
5179 IDeckLinkInput_v7_6 * This);
\r
5181 HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
\r
5182 IDeckLinkInput_v7_6 * This);
\r
5184 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
5185 IDeckLinkInput_v7_6 * This,
\r
5186 /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback);
\r
5188 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
5189 IDeckLinkInput_v7_6 * This,
\r
5190 BMDTimeScale desiredTimeScale,
\r
5191 /* [out] */ BMDTimeValue *hardwareTime,
\r
5192 /* [out] */ BMDTimeValue *timeInFrame,
\r
5193 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
5196 } IDeckLinkInput_v7_6Vtbl;
\r
5198 interface IDeckLinkInput_v7_6
\r
5200 CONST_VTBL struct IDeckLinkInput_v7_6Vtbl *lpVtbl;
\r
5208 #define IDeckLinkInput_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5209 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5211 #define IDeckLinkInput_v7_6_AddRef(This) \
\r
5212 ( (This)->lpVtbl -> AddRef(This) )
\r
5214 #define IDeckLinkInput_v7_6_Release(This) \
\r
5215 ( (This)->lpVtbl -> Release(This) )
\r
5218 #define IDeckLinkInput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
5219 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
5221 #define IDeckLinkInput_v7_6_GetDisplayModeIterator(This,iterator) \
\r
5222 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
5224 #define IDeckLinkInput_v7_6_SetScreenPreviewCallback(This,previewCallback) \
\r
5225 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
5227 #define IDeckLinkInput_v7_6_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
5228 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
5230 #define IDeckLinkInput_v7_6_DisableVideoInput(This) \
\r
5231 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
5233 #define IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(This,availableFrameCount) \
\r
5234 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
\r
5236 #define IDeckLinkInput_v7_6_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
5237 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
5239 #define IDeckLinkInput_v7_6_DisableAudioInput(This) \
\r
5240 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
5242 #define IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
\r
5243 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
\r
5245 #define IDeckLinkInput_v7_6_StartStreams(This) \
\r
5246 ( (This)->lpVtbl -> StartStreams(This) )
\r
5248 #define IDeckLinkInput_v7_6_StopStreams(This) \
\r
5249 ( (This)->lpVtbl -> StopStreams(This) )
\r
5251 #define IDeckLinkInput_v7_6_PauseStreams(This) \
\r
5252 ( (This)->lpVtbl -> PauseStreams(This) )
\r
5254 #define IDeckLinkInput_v7_6_FlushStreams(This) \
\r
5255 ( (This)->lpVtbl -> FlushStreams(This) )
\r
5257 #define IDeckLinkInput_v7_6_SetCallback(This,theCallback) \
\r
5258 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
5260 #define IDeckLinkInput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
5261 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
5263 #endif /* COBJMACROS */
\r
5266 #endif /* C style interface */
\r
5271 #endif /* __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ */
\r
5274 #ifndef __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__
\r
5275 #define __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__
\r
5277 /* interface IDeckLinkTimecode_v7_6 */
\r
5278 /* [helpstring][uuid][object] */
\r
5281 EXTERN_C const IID IID_IDeckLinkTimecode_v7_6;
\r
5283 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5285 MIDL_INTERFACE("EFB9BCA6-A521-44F7-BD69-2332F24D9EE6")
\r
5286 IDeckLinkTimecode_v7_6 : public IUnknown
\r
5289 virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0;
\r
5291 virtual HRESULT STDMETHODCALLTYPE GetComponents(
\r
5292 /* [out] */ unsigned char *hours,
\r
5293 /* [out] */ unsigned char *minutes,
\r
5294 /* [out] */ unsigned char *seconds,
\r
5295 /* [out] */ unsigned char *frames) = 0;
\r
5297 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
5298 /* [out] */ BSTR *timecode) = 0;
\r
5300 virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
5304 #else /* C style interface */
\r
5306 typedef struct IDeckLinkTimecode_v7_6Vtbl
\r
5310 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5311 IDeckLinkTimecode_v7_6 * This,
\r
5312 /* [in] */ REFIID riid,
\r
5313 /* [annotation][iid_is][out] */
\r
5314 __RPC__deref_out void **ppvObject);
\r
5316 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5317 IDeckLinkTimecode_v7_6 * This);
\r
5319 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5320 IDeckLinkTimecode_v7_6 * This);
\r
5322 BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )(
\r
5323 IDeckLinkTimecode_v7_6 * This);
\r
5325 HRESULT ( STDMETHODCALLTYPE *GetComponents )(
\r
5326 IDeckLinkTimecode_v7_6 * This,
\r
5327 /* [out] */ unsigned char *hours,
\r
5328 /* [out] */ unsigned char *minutes,
\r
5329 /* [out] */ unsigned char *seconds,
\r
5330 /* [out] */ unsigned char *frames);
\r
5332 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
5333 IDeckLinkTimecode_v7_6 * This,
\r
5334 /* [out] */ BSTR *timecode);
\r
5336 BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
5337 IDeckLinkTimecode_v7_6 * This);
\r
5340 } IDeckLinkTimecode_v7_6Vtbl;
\r
5342 interface IDeckLinkTimecode_v7_6
\r
5344 CONST_VTBL struct IDeckLinkTimecode_v7_6Vtbl *lpVtbl;
\r
5352 #define IDeckLinkTimecode_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5353 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5355 #define IDeckLinkTimecode_v7_6_AddRef(This) \
\r
5356 ( (This)->lpVtbl -> AddRef(This) )
\r
5358 #define IDeckLinkTimecode_v7_6_Release(This) \
\r
5359 ( (This)->lpVtbl -> Release(This) )
\r
5362 #define IDeckLinkTimecode_v7_6_GetBCD(This) \
\r
5363 ( (This)->lpVtbl -> GetBCD(This) )
\r
5365 #define IDeckLinkTimecode_v7_6_GetComponents(This,hours,minutes,seconds,frames) \
\r
5366 ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) )
\r
5368 #define IDeckLinkTimecode_v7_6_GetString(This,timecode) \
\r
5369 ( (This)->lpVtbl -> GetString(This,timecode) )
\r
5371 #define IDeckLinkTimecode_v7_6_GetFlags(This) \
\r
5372 ( (This)->lpVtbl -> GetFlags(This) )
\r
5374 #endif /* COBJMACROS */
\r
5377 #endif /* C style interface */
\r
5382 #endif /* __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ */
\r
5385 #ifndef __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__
\r
5386 #define __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__
\r
5388 /* interface IDeckLinkVideoFrame_v7_6 */
\r
5389 /* [helpstring][local][uuid][object] */
\r
5392 EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_6;
\r
5394 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5396 MIDL_INTERFACE("A8D8238E-6B18-4196-99E1-5AF717B83D32")
\r
5397 IDeckLinkVideoFrame_v7_6 : public IUnknown
\r
5400 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
5402 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
5404 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
\r
5406 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
5408 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
5410 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
5411 /* [out] */ void **buffer) = 0;
\r
5413 virtual HRESULT STDMETHODCALLTYPE GetTimecode(
\r
5414 BMDTimecodeFormat format,
\r
5415 /* [out] */ IDeckLinkTimecode_v7_6 **timecode) = 0;
\r
5417 virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(
\r
5418 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0;
\r
5422 #else /* C style interface */
\r
5424 typedef struct IDeckLinkVideoFrame_v7_6Vtbl
\r
5428 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5429 IDeckLinkVideoFrame_v7_6 * This,
\r
5430 /* [in] */ REFIID riid,
\r
5431 /* [annotation][iid_is][out] */
\r
5432 __RPC__deref_out void **ppvObject);
\r
5434 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5435 IDeckLinkVideoFrame_v7_6 * This);
\r
5437 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5438 IDeckLinkVideoFrame_v7_6 * This);
\r
5440 long ( STDMETHODCALLTYPE *GetWidth )(
\r
5441 IDeckLinkVideoFrame_v7_6 * This);
\r
5443 long ( STDMETHODCALLTYPE *GetHeight )(
\r
5444 IDeckLinkVideoFrame_v7_6 * This);
\r
5446 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
5447 IDeckLinkVideoFrame_v7_6 * This);
\r
5449 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
5450 IDeckLinkVideoFrame_v7_6 * This);
\r
5452 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
5453 IDeckLinkVideoFrame_v7_6 * This);
\r
5455 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
5456 IDeckLinkVideoFrame_v7_6 * This,
\r
5457 /* [out] */ void **buffer);
\r
5459 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
5460 IDeckLinkVideoFrame_v7_6 * This,
\r
5461 BMDTimecodeFormat format,
\r
5462 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
5464 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
5465 IDeckLinkVideoFrame_v7_6 * This,
\r
5466 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
5469 } IDeckLinkVideoFrame_v7_6Vtbl;
\r
5471 interface IDeckLinkVideoFrame_v7_6
\r
5473 CONST_VTBL struct IDeckLinkVideoFrame_v7_6Vtbl *lpVtbl;
\r
5481 #define IDeckLinkVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5482 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5484 #define IDeckLinkVideoFrame_v7_6_AddRef(This) \
\r
5485 ( (This)->lpVtbl -> AddRef(This) )
\r
5487 #define IDeckLinkVideoFrame_v7_6_Release(This) \
\r
5488 ( (This)->lpVtbl -> Release(This) )
\r
5491 #define IDeckLinkVideoFrame_v7_6_GetWidth(This) \
\r
5492 ( (This)->lpVtbl -> GetWidth(This) )
\r
5494 #define IDeckLinkVideoFrame_v7_6_GetHeight(This) \
\r
5495 ( (This)->lpVtbl -> GetHeight(This) )
\r
5497 #define IDeckLinkVideoFrame_v7_6_GetRowBytes(This) \
\r
5498 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
5500 #define IDeckLinkVideoFrame_v7_6_GetPixelFormat(This) \
\r
5501 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
5503 #define IDeckLinkVideoFrame_v7_6_GetFlags(This) \
\r
5504 ( (This)->lpVtbl -> GetFlags(This) )
\r
5506 #define IDeckLinkVideoFrame_v7_6_GetBytes(This,buffer) \
\r
5507 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
5509 #define IDeckLinkVideoFrame_v7_6_GetTimecode(This,format,timecode) \
\r
5510 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
5512 #define IDeckLinkVideoFrame_v7_6_GetAncillaryData(This,ancillary) \
\r
5513 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
5515 #endif /* COBJMACROS */
\r
5518 #endif /* C style interface */
\r
5523 #endif /* __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ */
\r
5526 #ifndef __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__
\r
5527 #define __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__
\r
5529 /* interface IDeckLinkMutableVideoFrame_v7_6 */
\r
5530 /* [helpstring][local][uuid][object] */
\r
5533 EXTERN_C const IID IID_IDeckLinkMutableVideoFrame_v7_6;
\r
5535 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5537 MIDL_INTERFACE("46FCEE00-B4E6-43D0-91C0-023A7FCEB34F")
\r
5538 IDeckLinkMutableVideoFrame_v7_6 : public IDeckLinkVideoFrame_v7_6
\r
5541 virtual HRESULT STDMETHODCALLTYPE SetFlags(
\r
5542 BMDFrameFlags newFlags) = 0;
\r
5544 virtual HRESULT STDMETHODCALLTYPE SetTimecode(
\r
5545 BMDTimecodeFormat format,
\r
5546 /* [in] */ IDeckLinkTimecode_v7_6 *timecode) = 0;
\r
5548 virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents(
\r
5549 BMDTimecodeFormat format,
\r
5550 unsigned char hours,
\r
5551 unsigned char minutes,
\r
5552 unsigned char seconds,
\r
5553 unsigned char frames,
\r
5554 BMDTimecodeFlags flags) = 0;
\r
5556 virtual HRESULT STDMETHODCALLTYPE SetAncillaryData(
\r
5557 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0;
\r
5561 #else /* C style interface */
\r
5563 typedef struct IDeckLinkMutableVideoFrame_v7_6Vtbl
\r
5567 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5568 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5569 /* [in] */ REFIID riid,
\r
5570 /* [annotation][iid_is][out] */
\r
5571 __RPC__deref_out void **ppvObject);
\r
5573 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5574 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5576 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5577 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5579 long ( STDMETHODCALLTYPE *GetWidth )(
\r
5580 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5582 long ( STDMETHODCALLTYPE *GetHeight )(
\r
5583 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5585 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
5586 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5588 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
5589 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5591 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
5592 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5594 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
5595 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5596 /* [out] */ void **buffer);
\r
5598 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
5599 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5600 BMDTimecodeFormat format,
\r
5601 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
5603 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
5604 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5605 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
5607 HRESULT ( STDMETHODCALLTYPE *SetFlags )(
\r
5608 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5609 BMDFrameFlags newFlags);
\r
5611 HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
\r
5612 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5613 BMDTimecodeFormat format,
\r
5614 /* [in] */ IDeckLinkTimecode_v7_6 *timecode);
\r
5616 HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )(
\r
5617 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5618 BMDTimecodeFormat format,
\r
5619 unsigned char hours,
\r
5620 unsigned char minutes,
\r
5621 unsigned char seconds,
\r
5622 unsigned char frames,
\r
5623 BMDTimecodeFlags flags);
\r
5625 HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )(
\r
5626 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5627 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary);
\r
5630 } IDeckLinkMutableVideoFrame_v7_6Vtbl;
\r
5632 interface IDeckLinkMutableVideoFrame_v7_6
\r
5634 CONST_VTBL struct IDeckLinkMutableVideoFrame_v7_6Vtbl *lpVtbl;
\r
5642 #define IDeckLinkMutableVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5643 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5645 #define IDeckLinkMutableVideoFrame_v7_6_AddRef(This) \
\r
5646 ( (This)->lpVtbl -> AddRef(This) )
\r
5648 #define IDeckLinkMutableVideoFrame_v7_6_Release(This) \
\r
5649 ( (This)->lpVtbl -> Release(This) )
\r
5652 #define IDeckLinkMutableVideoFrame_v7_6_GetWidth(This) \
\r
5653 ( (This)->lpVtbl -> GetWidth(This) )
\r
5655 #define IDeckLinkMutableVideoFrame_v7_6_GetHeight(This) \
\r
5656 ( (This)->lpVtbl -> GetHeight(This) )
\r
5658 #define IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(This) \
\r
5659 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
5661 #define IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(This) \
\r
5662 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
5664 #define IDeckLinkMutableVideoFrame_v7_6_GetFlags(This) \
\r
5665 ( (This)->lpVtbl -> GetFlags(This) )
\r
5667 #define IDeckLinkMutableVideoFrame_v7_6_GetBytes(This,buffer) \
\r
5668 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
5670 #define IDeckLinkMutableVideoFrame_v7_6_GetTimecode(This,format,timecode) \
\r
5671 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
5673 #define IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(This,ancillary) \
\r
5674 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
5677 #define IDeckLinkMutableVideoFrame_v7_6_SetFlags(This,newFlags) \
\r
5678 ( (This)->lpVtbl -> SetFlags(This,newFlags) )
\r
5680 #define IDeckLinkMutableVideoFrame_v7_6_SetTimecode(This,format,timecode) \
\r
5681 ( (This)->lpVtbl -> SetTimecode(This,format,timecode) )
\r
5683 #define IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \
\r
5684 ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) )
\r
5686 #define IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(This,ancillary) \
\r
5687 ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) )
\r
5689 #endif /* COBJMACROS */
\r
5692 #endif /* C style interface */
\r
5697 #endif /* __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ */
\r
5700 #ifndef __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__
\r
5701 #define __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__
\r
5703 /* interface IDeckLinkVideoInputFrame_v7_6 */
\r
5704 /* [helpstring][local][uuid][object] */
\r
5707 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_6;
\r
5709 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5711 MIDL_INTERFACE("9A74FA41-AE9F-47AC-8CF4-01F42DD59965")
\r
5712 IDeckLinkVideoInputFrame_v7_6 : public IDeckLinkVideoFrame_v7_6
\r
5715 virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
\r
5716 /* [out] */ BMDTimeValue *frameTime,
\r
5717 /* [out] */ BMDTimeValue *frameDuration,
\r
5718 BMDTimeScale timeScale) = 0;
\r
5720 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
\r
5721 BMDTimeScale timeScale,
\r
5722 /* [out] */ BMDTimeValue *frameTime,
\r
5723 /* [out] */ BMDTimeValue *frameDuration) = 0;
\r
5727 #else /* C style interface */
\r
5729 typedef struct IDeckLinkVideoInputFrame_v7_6Vtbl
\r
5733 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5734 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5735 /* [in] */ REFIID riid,
\r
5736 /* [annotation][iid_is][out] */
\r
5737 __RPC__deref_out void **ppvObject);
\r
5739 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5740 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5742 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5743 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5745 long ( STDMETHODCALLTYPE *GetWidth )(
\r
5746 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5748 long ( STDMETHODCALLTYPE *GetHeight )(
\r
5749 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5751 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
5752 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5754 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
5755 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5757 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
5758 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5760 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
5761 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5762 /* [out] */ void **buffer);
\r
5764 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
5765 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5766 BMDTimecodeFormat format,
\r
5767 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
5769 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
5770 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5771 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
5773 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
\r
5774 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5775 /* [out] */ BMDTimeValue *frameTime,
\r
5776 /* [out] */ BMDTimeValue *frameDuration,
\r
5777 BMDTimeScale timeScale);
\r
5779 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )(
\r
5780 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5781 BMDTimeScale timeScale,
\r
5782 /* [out] */ BMDTimeValue *frameTime,
\r
5783 /* [out] */ BMDTimeValue *frameDuration);
\r
5786 } IDeckLinkVideoInputFrame_v7_6Vtbl;
\r
5788 interface IDeckLinkVideoInputFrame_v7_6
\r
5790 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_6Vtbl *lpVtbl;
\r
5798 #define IDeckLinkVideoInputFrame_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5799 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5801 #define IDeckLinkVideoInputFrame_v7_6_AddRef(This) \
\r
5802 ( (This)->lpVtbl -> AddRef(This) )
\r
5804 #define IDeckLinkVideoInputFrame_v7_6_Release(This) \
\r
5805 ( (This)->lpVtbl -> Release(This) )
\r
5808 #define IDeckLinkVideoInputFrame_v7_6_GetWidth(This) \
\r
5809 ( (This)->lpVtbl -> GetWidth(This) )
\r
5811 #define IDeckLinkVideoInputFrame_v7_6_GetHeight(This) \
\r
5812 ( (This)->lpVtbl -> GetHeight(This) )
\r
5814 #define IDeckLinkVideoInputFrame_v7_6_GetRowBytes(This) \
\r
5815 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
5817 #define IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(This) \
\r
5818 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
5820 #define IDeckLinkVideoInputFrame_v7_6_GetFlags(This) \
\r
5821 ( (This)->lpVtbl -> GetFlags(This) )
\r
5823 #define IDeckLinkVideoInputFrame_v7_6_GetBytes(This,buffer) \
\r
5824 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
5826 #define IDeckLinkVideoInputFrame_v7_6_GetTimecode(This,format,timecode) \
\r
5827 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
5829 #define IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(This,ancillary) \
\r
5830 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
5833 #define IDeckLinkVideoInputFrame_v7_6_GetStreamTime(This,frameTime,frameDuration,timeScale) \
\r
5834 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
\r
5836 #define IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \
\r
5837 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) )
\r
5839 #endif /* COBJMACROS */
\r
5842 #endif /* C style interface */
\r
5847 #endif /* __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ */
\r
5850 #ifndef __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__
\r
5851 #define __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__
\r
5853 /* interface IDeckLinkScreenPreviewCallback_v7_6 */
\r
5854 /* [helpstring][local][uuid][object] */
\r
5857 EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback_v7_6;
\r
5859 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5861 MIDL_INTERFACE("373F499D-4B4D-4518-AD22-6354E5A5825E")
\r
5862 IDeckLinkScreenPreviewCallback_v7_6 : public IUnknown
\r
5865 virtual HRESULT STDMETHODCALLTYPE DrawFrame(
\r
5866 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
5870 #else /* C style interface */
\r
5872 typedef struct IDeckLinkScreenPreviewCallback_v7_6Vtbl
\r
5876 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5877 IDeckLinkScreenPreviewCallback_v7_6 * This,
\r
5878 /* [in] */ REFIID riid,
\r
5879 /* [annotation][iid_is][out] */
\r
5880 __RPC__deref_out void **ppvObject);
\r
5882 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5883 IDeckLinkScreenPreviewCallback_v7_6 * This);
\r
5885 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5886 IDeckLinkScreenPreviewCallback_v7_6 * This);
\r
5888 HRESULT ( STDMETHODCALLTYPE *DrawFrame )(
\r
5889 IDeckLinkScreenPreviewCallback_v7_6 * This,
\r
5890 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
5893 } IDeckLinkScreenPreviewCallback_v7_6Vtbl;
\r
5895 interface IDeckLinkScreenPreviewCallback_v7_6
\r
5897 CONST_VTBL struct IDeckLinkScreenPreviewCallback_v7_6Vtbl *lpVtbl;
\r
5905 #define IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5906 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5908 #define IDeckLinkScreenPreviewCallback_v7_6_AddRef(This) \
\r
5909 ( (This)->lpVtbl -> AddRef(This) )
\r
5911 #define IDeckLinkScreenPreviewCallback_v7_6_Release(This) \
\r
5912 ( (This)->lpVtbl -> Release(This) )
\r
5915 #define IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(This,theFrame) \
\r
5916 ( (This)->lpVtbl -> DrawFrame(This,theFrame) )
\r
5918 #endif /* COBJMACROS */
\r
5921 #endif /* C style interface */
\r
5926 #endif /* __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ */
\r
5929 #ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__
\r
5930 #define __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__
\r
5932 /* interface IDeckLinkGLScreenPreviewHelper_v7_6 */
\r
5933 /* [helpstring][local][uuid][object] */
\r
5936 EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper_v7_6;
\r
5938 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5940 MIDL_INTERFACE("BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA")
\r
5941 IDeckLinkGLScreenPreviewHelper_v7_6 : public IUnknown
\r
5944 virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0;
\r
5946 virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0;
\r
5948 virtual HRESULT STDMETHODCALLTYPE SetFrame(
\r
5949 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
5953 #else /* C style interface */
\r
5955 typedef struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl
\r
5959 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5960 IDeckLinkGLScreenPreviewHelper_v7_6 * This,
\r
5961 /* [in] */ REFIID riid,
\r
5962 /* [annotation][iid_is][out] */
\r
5963 __RPC__deref_out void **ppvObject);
\r
5965 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5966 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
5968 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5969 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
5971 HRESULT ( STDMETHODCALLTYPE *InitializeGL )(
\r
5972 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
5974 HRESULT ( STDMETHODCALLTYPE *PaintGL )(
\r
5975 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
5977 HRESULT ( STDMETHODCALLTYPE *SetFrame )(
\r
5978 IDeckLinkGLScreenPreviewHelper_v7_6 * This,
\r
5979 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
5982 } IDeckLinkGLScreenPreviewHelper_v7_6Vtbl;
\r
5984 interface IDeckLinkGLScreenPreviewHelper_v7_6
\r
5986 CONST_VTBL struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl *lpVtbl;
\r
5994 #define IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5995 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5997 #define IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(This) \
\r
5998 ( (This)->lpVtbl -> AddRef(This) )
\r
6000 #define IDeckLinkGLScreenPreviewHelper_v7_6_Release(This) \
\r
6001 ( (This)->lpVtbl -> Release(This) )
\r
6004 #define IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(This) \
\r
6005 ( (This)->lpVtbl -> InitializeGL(This) )
\r
6007 #define IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(This) \
\r
6008 ( (This)->lpVtbl -> PaintGL(This) )
\r
6010 #define IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(This,theFrame) \
\r
6011 ( (This)->lpVtbl -> SetFrame(This,theFrame) )
\r
6013 #endif /* COBJMACROS */
\r
6016 #endif /* C style interface */
\r
6021 #endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ */
\r
6024 #ifndef __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__
\r
6025 #define __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__
\r
6027 /* interface IDeckLinkVideoConversion_v7_6 */
\r
6028 /* [helpstring][local][uuid][object] */
\r
6031 EXTERN_C const IID IID_IDeckLinkVideoConversion_v7_6;
\r
6033 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6035 MIDL_INTERFACE("3EB504C9-F97D-40FE-A158-D407D48CB53B")
\r
6036 IDeckLinkVideoConversion_v7_6 : public IUnknown
\r
6039 virtual HRESULT STDMETHODCALLTYPE ConvertFrame(
\r
6040 /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame,
\r
6041 /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame) = 0;
\r
6045 #else /* C style interface */
\r
6047 typedef struct IDeckLinkVideoConversion_v7_6Vtbl
\r
6051 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6052 IDeckLinkVideoConversion_v7_6 * This,
\r
6053 /* [in] */ REFIID riid,
\r
6054 /* [annotation][iid_is][out] */
\r
6055 __RPC__deref_out void **ppvObject);
\r
6057 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6058 IDeckLinkVideoConversion_v7_6 * This);
\r
6060 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6061 IDeckLinkVideoConversion_v7_6 * This);
\r
6063 HRESULT ( STDMETHODCALLTYPE *ConvertFrame )(
\r
6064 IDeckLinkVideoConversion_v7_6 * This,
\r
6065 /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame,
\r
6066 /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame);
\r
6069 } IDeckLinkVideoConversion_v7_6Vtbl;
\r
6071 interface IDeckLinkVideoConversion_v7_6
\r
6073 CONST_VTBL struct IDeckLinkVideoConversion_v7_6Vtbl *lpVtbl;
\r
6081 #define IDeckLinkVideoConversion_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6082 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6084 #define IDeckLinkVideoConversion_v7_6_AddRef(This) \
\r
6085 ( (This)->lpVtbl -> AddRef(This) )
\r
6087 #define IDeckLinkVideoConversion_v7_6_Release(This) \
\r
6088 ( (This)->lpVtbl -> Release(This) )
\r
6091 #define IDeckLinkVideoConversion_v7_6_ConvertFrame(This,srcFrame,dstFrame) \
\r
6092 ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) )
\r
6094 #endif /* COBJMACROS */
\r
6097 #endif /* C style interface */
\r
6102 #endif /* __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ */
\r
6105 #ifndef __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__
\r
6106 #define __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__
\r
6108 /* interface IDeckLinkConfiguration_v7_6 */
\r
6109 /* [helpstring][uuid][object] */
\r
6112 EXTERN_C const IID IID_IDeckLinkConfiguration_v7_6;
\r
6114 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6116 MIDL_INTERFACE("B8EAD569-B764-47F0-A73F-AE40DF6CBF10")
\r
6117 IDeckLinkConfiguration_v7_6 : public IUnknown
\r
6120 virtual HRESULT STDMETHODCALLTYPE GetConfigurationValidator(
\r
6121 /* [out] */ IDeckLinkConfiguration_v7_6 **configObject) = 0;
\r
6123 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;
\r
6125 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFormat(
\r
6126 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection) = 0;
\r
6128 virtual HRESULT STDMETHODCALLTYPE IsVideoOutputActive(
\r
6129 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection,
\r
6130 /* [out] */ BOOL *active) = 0;
\r
6132 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoOutputFlags(
\r
6133 /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0;
\r
6135 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoOutputFlags(
\r
6136 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
\r
6138 virtual HRESULT STDMETHODCALLTYPE EnableFieldFlickerRemovalWhenPaused(
\r
6139 /* [in] */ BOOL enable) = 0;
\r
6141 virtual HRESULT STDMETHODCALLTYPE IsEnabledFieldFlickerRemovalWhenPaused(
\r
6142 /* [out] */ BOOL *enabled) = 0;
\r
6144 virtual HRESULT STDMETHODCALLTYPE Set444And3GBpsVideoOutput(
\r
6145 /* [in] */ BOOL enable444VideoOutput,
\r
6146 /* [in] */ BOOL enable3GbsOutput) = 0;
\r
6148 virtual HRESULT STDMETHODCALLTYPE Get444And3GBpsVideoOutput(
\r
6149 /* [out] */ BOOL *is444VideoOutputEnabled,
\r
6150 /* [out] */ BOOL *threeGbsOutputEnabled) = 0;
\r
6152 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputConversionMode(
\r
6153 /* [in] */ BMDVideoOutputConversionMode conversionMode) = 0;
\r
6155 virtual HRESULT STDMETHODCALLTYPE GetVideoOutputConversionMode(
\r
6156 /* [out] */ BMDVideoOutputConversionMode *conversionMode) = 0;
\r
6158 virtual HRESULT STDMETHODCALLTYPE Set_HD1080p24_to_HD1080i5994_Conversion(
\r
6159 /* [in] */ BOOL enable) = 0;
\r
6161 virtual HRESULT STDMETHODCALLTYPE Get_HD1080p24_to_HD1080i5994_Conversion(
\r
6162 /* [out] */ BOOL *enabled) = 0;
\r
6164 virtual HRESULT STDMETHODCALLTYPE SetVideoInputFormat(
\r
6165 /* [in] */ BMDVideoConnection_v7_6 videoInputFormat) = 0;
\r
6167 virtual HRESULT STDMETHODCALLTYPE GetVideoInputFormat(
\r
6168 /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat) = 0;
\r
6170 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoInputFlags(
\r
6171 /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0;
\r
6173 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoInputFlags(
\r
6174 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
\r
6176 virtual HRESULT STDMETHODCALLTYPE SetVideoInputConversionMode(
\r
6177 /* [in] */ BMDVideoInputConversionMode conversionMode) = 0;
\r
6179 virtual HRESULT STDMETHODCALLTYPE GetVideoInputConversionMode(
\r
6180 /* [out] */ BMDVideoInputConversionMode *conversionMode) = 0;
\r
6182 virtual HRESULT STDMETHODCALLTYPE SetBlackVideoOutputDuringCapture(
\r
6183 /* [in] */ BOOL blackOutInCapture) = 0;
\r
6185 virtual HRESULT STDMETHODCALLTYPE GetBlackVideoOutputDuringCapture(
\r
6186 /* [out] */ BOOL *blackOutInCapture) = 0;
\r
6188 virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame(
\r
6189 /* [in] */ unsigned long aFrameTimecode) = 0;
\r
6191 virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame(
\r
6192 /* [out] */ unsigned long *aFrameTimecode) = 0;
\r
6194 virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping(
\r
6195 /* [in] */ unsigned long activeLine1VANCsource,
\r
6196 /* [in] */ unsigned long activeLine2VANCsource,
\r
6197 /* [in] */ unsigned long activeLine3VANCsource) = 0;
\r
6199 virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping(
\r
6200 /* [out] */ unsigned long *activeLine1VANCsource,
\r
6201 /* [out] */ unsigned long *activeLine2VANCsource,
\r
6202 /* [out] */ unsigned long *activeLine3VANCsource) = 0;
\r
6204 virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat(
\r
6205 /* [in] */ BMDAudioConnection audioInputFormat) = 0;
\r
6207 virtual HRESULT STDMETHODCALLTYPE GetAudioInputFormat(
\r
6208 /* [out] */ BMDAudioConnection *audioInputFormat) = 0;
\r
6212 #else /* C style interface */
\r
6214 typedef struct IDeckLinkConfiguration_v7_6Vtbl
\r
6218 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6219 IDeckLinkConfiguration_v7_6 * This,
\r
6220 /* [in] */ REFIID riid,
\r
6221 /* [annotation][iid_is][out] */
\r
6222 __RPC__deref_out void **ppvObject);
\r
6224 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6225 IDeckLinkConfiguration_v7_6 * This);
\r
6227 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6228 IDeckLinkConfiguration_v7_6 * This);
\r
6230 HRESULT ( STDMETHODCALLTYPE *GetConfigurationValidator )(
\r
6231 IDeckLinkConfiguration_v7_6 * This,
\r
6232 /* [out] */ IDeckLinkConfiguration_v7_6 **configObject);
\r
6234 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )(
\r
6235 IDeckLinkConfiguration_v7_6 * This);
\r
6237 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFormat )(
\r
6238 IDeckLinkConfiguration_v7_6 * This,
\r
6239 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection);
\r
6241 HRESULT ( STDMETHODCALLTYPE *IsVideoOutputActive )(
\r
6242 IDeckLinkConfiguration_v7_6 * This,
\r
6243 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection,
\r
6244 /* [out] */ BOOL *active);
\r
6246 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoOutputFlags )(
\r
6247 IDeckLinkConfiguration_v7_6 * This,
\r
6248 /* [in] */ BMDAnalogVideoFlags analogVideoFlags);
\r
6250 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoOutputFlags )(
\r
6251 IDeckLinkConfiguration_v7_6 * This,
\r
6252 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
\r
6254 HRESULT ( STDMETHODCALLTYPE *EnableFieldFlickerRemovalWhenPaused )(
\r
6255 IDeckLinkConfiguration_v7_6 * This,
\r
6256 /* [in] */ BOOL enable);
\r
6258 HRESULT ( STDMETHODCALLTYPE *IsEnabledFieldFlickerRemovalWhenPaused )(
\r
6259 IDeckLinkConfiguration_v7_6 * This,
\r
6260 /* [out] */ BOOL *enabled);
\r
6262 HRESULT ( STDMETHODCALLTYPE *Set444And3GBpsVideoOutput )(
\r
6263 IDeckLinkConfiguration_v7_6 * This,
\r
6264 /* [in] */ BOOL enable444VideoOutput,
\r
6265 /* [in] */ BOOL enable3GbsOutput);
\r
6267 HRESULT ( STDMETHODCALLTYPE *Get444And3GBpsVideoOutput )(
\r
6268 IDeckLinkConfiguration_v7_6 * This,
\r
6269 /* [out] */ BOOL *is444VideoOutputEnabled,
\r
6270 /* [out] */ BOOL *threeGbsOutputEnabled);
\r
6272 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputConversionMode )(
\r
6273 IDeckLinkConfiguration_v7_6 * This,
\r
6274 /* [in] */ BMDVideoOutputConversionMode conversionMode);
\r
6276 HRESULT ( STDMETHODCALLTYPE *GetVideoOutputConversionMode )(
\r
6277 IDeckLinkConfiguration_v7_6 * This,
\r
6278 /* [out] */ BMDVideoOutputConversionMode *conversionMode);
\r
6280 HRESULT ( STDMETHODCALLTYPE *Set_HD1080p24_to_HD1080i5994_Conversion )(
\r
6281 IDeckLinkConfiguration_v7_6 * This,
\r
6282 /* [in] */ BOOL enable);
\r
6284 HRESULT ( STDMETHODCALLTYPE *Get_HD1080p24_to_HD1080i5994_Conversion )(
\r
6285 IDeckLinkConfiguration_v7_6 * This,
\r
6286 /* [out] */ BOOL *enabled);
\r
6288 HRESULT ( STDMETHODCALLTYPE *SetVideoInputFormat )(
\r
6289 IDeckLinkConfiguration_v7_6 * This,
\r
6290 /* [in] */ BMDVideoConnection_v7_6 videoInputFormat);
\r
6292 HRESULT ( STDMETHODCALLTYPE *GetVideoInputFormat )(
\r
6293 IDeckLinkConfiguration_v7_6 * This,
\r
6294 /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat);
\r
6296 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoInputFlags )(
\r
6297 IDeckLinkConfiguration_v7_6 * This,
\r
6298 /* [in] */ BMDAnalogVideoFlags analogVideoFlags);
\r
6300 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoInputFlags )(
\r
6301 IDeckLinkConfiguration_v7_6 * This,
\r
6302 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
\r
6304 HRESULT ( STDMETHODCALLTYPE *SetVideoInputConversionMode )(
\r
6305 IDeckLinkConfiguration_v7_6 * This,
\r
6306 /* [in] */ BMDVideoInputConversionMode conversionMode);
\r
6308 HRESULT ( STDMETHODCALLTYPE *GetVideoInputConversionMode )(
\r
6309 IDeckLinkConfiguration_v7_6 * This,
\r
6310 /* [out] */ BMDVideoInputConversionMode *conversionMode);
\r
6312 HRESULT ( STDMETHODCALLTYPE *SetBlackVideoOutputDuringCapture )(
\r
6313 IDeckLinkConfiguration_v7_6 * This,
\r
6314 /* [in] */ BOOL blackOutInCapture);
\r
6316 HRESULT ( STDMETHODCALLTYPE *GetBlackVideoOutputDuringCapture )(
\r
6317 IDeckLinkConfiguration_v7_6 * This,
\r
6318 /* [out] */ BOOL *blackOutInCapture);
\r
6320 HRESULT ( STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame )(
\r
6321 IDeckLinkConfiguration_v7_6 * This,
\r
6322 /* [in] */ unsigned long aFrameTimecode);
\r
6324 HRESULT ( STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame )(
\r
6325 IDeckLinkConfiguration_v7_6 * This,
\r
6326 /* [out] */ unsigned long *aFrameTimecode);
\r
6328 HRESULT ( STDMETHODCALLTYPE *SetVancSourceLineMapping )(
\r
6329 IDeckLinkConfiguration_v7_6 * This,
\r
6330 /* [in] */ unsigned long activeLine1VANCsource,
\r
6331 /* [in] */ unsigned long activeLine2VANCsource,
\r
6332 /* [in] */ unsigned long activeLine3VANCsource);
\r
6334 HRESULT ( STDMETHODCALLTYPE *GetVancSourceLineMapping )(
\r
6335 IDeckLinkConfiguration_v7_6 * This,
\r
6336 /* [out] */ unsigned long *activeLine1VANCsource,
\r
6337 /* [out] */ unsigned long *activeLine2VANCsource,
\r
6338 /* [out] */ unsigned long *activeLine3VANCsource);
\r
6340 HRESULT ( STDMETHODCALLTYPE *SetAudioInputFormat )(
\r
6341 IDeckLinkConfiguration_v7_6 * This,
\r
6342 /* [in] */ BMDAudioConnection audioInputFormat);
\r
6344 HRESULT ( STDMETHODCALLTYPE *GetAudioInputFormat )(
\r
6345 IDeckLinkConfiguration_v7_6 * This,
\r
6346 /* [out] */ BMDAudioConnection *audioInputFormat);
\r
6349 } IDeckLinkConfiguration_v7_6Vtbl;
\r
6351 interface IDeckLinkConfiguration_v7_6
\r
6353 CONST_VTBL struct IDeckLinkConfiguration_v7_6Vtbl *lpVtbl;
\r
6361 #define IDeckLinkConfiguration_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6362 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6364 #define IDeckLinkConfiguration_v7_6_AddRef(This) \
\r
6365 ( (This)->lpVtbl -> AddRef(This) )
\r
6367 #define IDeckLinkConfiguration_v7_6_Release(This) \
\r
6368 ( (This)->lpVtbl -> Release(This) )
\r
6371 #define IDeckLinkConfiguration_v7_6_GetConfigurationValidator(This,configObject) \
\r
6372 ( (This)->lpVtbl -> GetConfigurationValidator(This,configObject) )
\r
6374 #define IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(This) \
\r
6375 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) )
\r
6377 #define IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(This,videoOutputConnection) \
\r
6378 ( (This)->lpVtbl -> SetVideoOutputFormat(This,videoOutputConnection) )
\r
6380 #define IDeckLinkConfiguration_v7_6_IsVideoOutputActive(This,videoOutputConnection,active) \
\r
6381 ( (This)->lpVtbl -> IsVideoOutputActive(This,videoOutputConnection,active) )
\r
6383 #define IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(This,analogVideoFlags) \
\r
6384 ( (This)->lpVtbl -> SetAnalogVideoOutputFlags(This,analogVideoFlags) )
\r
6386 #define IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(This,analogVideoFlags) \
\r
6387 ( (This)->lpVtbl -> GetAnalogVideoOutputFlags(This,analogVideoFlags) )
\r
6389 #define IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(This,enable) \
\r
6390 ( (This)->lpVtbl -> EnableFieldFlickerRemovalWhenPaused(This,enable) )
\r
6392 #define IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) \
\r
6393 ( (This)->lpVtbl -> IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) )
\r
6395 #define IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) \
\r
6396 ( (This)->lpVtbl -> Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) )
\r
6398 #define IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) \
\r
6399 ( (This)->lpVtbl -> Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) )
\r
6401 #define IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(This,conversionMode) \
\r
6402 ( (This)->lpVtbl -> SetVideoOutputConversionMode(This,conversionMode) )
\r
6404 #define IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(This,conversionMode) \
\r
6405 ( (This)->lpVtbl -> GetVideoOutputConversionMode(This,conversionMode) )
\r
6407 #define IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) \
\r
6408 ( (This)->lpVtbl -> Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) )
\r
6410 #define IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) \
\r
6411 ( (This)->lpVtbl -> Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) )
\r
6413 #define IDeckLinkConfiguration_v7_6_SetVideoInputFormat(This,videoInputFormat) \
\r
6414 ( (This)->lpVtbl -> SetVideoInputFormat(This,videoInputFormat) )
\r
6416 #define IDeckLinkConfiguration_v7_6_GetVideoInputFormat(This,videoInputFormat) \
\r
6417 ( (This)->lpVtbl -> GetVideoInputFormat(This,videoInputFormat) )
\r
6419 #define IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(This,analogVideoFlags) \
\r
6420 ( (This)->lpVtbl -> SetAnalogVideoInputFlags(This,analogVideoFlags) )
\r
6422 #define IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(This,analogVideoFlags) \
\r
6423 ( (This)->lpVtbl -> GetAnalogVideoInputFlags(This,analogVideoFlags) )
\r
6425 #define IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(This,conversionMode) \
\r
6426 ( (This)->lpVtbl -> SetVideoInputConversionMode(This,conversionMode) )
\r
6428 #define IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(This,conversionMode) \
\r
6429 ( (This)->lpVtbl -> GetVideoInputConversionMode(This,conversionMode) )
\r
6431 #define IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
\r
6432 ( (This)->lpVtbl -> SetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
\r
6434 #define IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
\r
6435 ( (This)->lpVtbl -> GetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
\r
6437 #define IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
\r
6438 ( (This)->lpVtbl -> Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
\r
6440 #define IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
\r
6441 ( (This)->lpVtbl -> Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
\r
6443 #define IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
\r
6444 ( (This)->lpVtbl -> SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
\r
6446 #define IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
\r
6447 ( (This)->lpVtbl -> GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
\r
6449 #define IDeckLinkConfiguration_v7_6_SetAudioInputFormat(This,audioInputFormat) \
\r
6450 ( (This)->lpVtbl -> SetAudioInputFormat(This,audioInputFormat) )
\r
6452 #define IDeckLinkConfiguration_v7_6_GetAudioInputFormat(This,audioInputFormat) \
\r
6453 ( (This)->lpVtbl -> GetAudioInputFormat(This,audioInputFormat) )
\r
6455 #endif /* COBJMACROS */
\r
6458 #endif /* C style interface */
\r
6463 #endif /* __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ */
\r
6466 #ifndef __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__
\r
6467 #define __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__
\r
6469 /* interface IDeckLinkVideoOutputCallback_v7_6 */
\r
6470 /* [helpstring][uuid][object] */
\r
6473 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_6;
\r
6475 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6477 MIDL_INTERFACE("E763A626-4A3C-49D1-BF13-E7AD3692AE52")
\r
6478 IDeckLinkVideoOutputCallback_v7_6 : public IUnknown
\r
6481 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
\r
6482 /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame,
\r
6483 /* [in] */ BMDOutputFrameCompletionResult result) = 0;
\r
6485 virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0;
\r
6489 #else /* C style interface */
\r
6491 typedef struct IDeckLinkVideoOutputCallback_v7_6Vtbl
\r
6495 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6496 IDeckLinkVideoOutputCallback_v7_6 * This,
\r
6497 /* [in] */ REFIID riid,
\r
6498 /* [annotation][iid_is][out] */
\r
6499 __RPC__deref_out void **ppvObject);
\r
6501 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6502 IDeckLinkVideoOutputCallback_v7_6 * This);
\r
6504 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6505 IDeckLinkVideoOutputCallback_v7_6 * This);
\r
6507 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
\r
6508 IDeckLinkVideoOutputCallback_v7_6 * This,
\r
6509 /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame,
\r
6510 /* [in] */ BMDOutputFrameCompletionResult result);
\r
6512 HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )(
\r
6513 IDeckLinkVideoOutputCallback_v7_6 * This);
\r
6516 } IDeckLinkVideoOutputCallback_v7_6Vtbl;
\r
6518 interface IDeckLinkVideoOutputCallback_v7_6
\r
6520 CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_6Vtbl *lpVtbl;
\r
6528 #define IDeckLinkVideoOutputCallback_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6529 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6531 #define IDeckLinkVideoOutputCallback_v7_6_AddRef(This) \
\r
6532 ( (This)->lpVtbl -> AddRef(This) )
\r
6534 #define IDeckLinkVideoOutputCallback_v7_6_Release(This) \
\r
6535 ( (This)->lpVtbl -> Release(This) )
\r
6538 #define IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(This,completedFrame,result) \
\r
6539 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
\r
6541 #define IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(This) \
\r
6542 ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) )
\r
6544 #endif /* COBJMACROS */
\r
6547 #endif /* C style interface */
\r
6552 #endif /* __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ */
\r
6555 #ifndef __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__
\r
6556 #define __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__
\r
6558 /* interface IDeckLinkInputCallback_v7_6 */
\r
6559 /* [helpstring][uuid][object] */
\r
6562 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_6;
\r
6564 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6566 MIDL_INTERFACE("31D28EE7-88B6-4CB1-897A-CDBF79A26414")
\r
6567 IDeckLinkInputCallback_v7_6 : public IUnknown
\r
6570 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
\r
6571 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
6572 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
6573 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
\r
6575 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
6576 /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame,
\r
6577 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
\r
6581 #else /* C style interface */
\r
6583 typedef struct IDeckLinkInputCallback_v7_6Vtbl
\r
6587 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6588 IDeckLinkInputCallback_v7_6 * This,
\r
6589 /* [in] */ REFIID riid,
\r
6590 /* [annotation][iid_is][out] */
\r
6591 __RPC__deref_out void **ppvObject);
\r
6593 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6594 IDeckLinkInputCallback_v7_6 * This);
\r
6596 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6597 IDeckLinkInputCallback_v7_6 * This);
\r
6599 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
\r
6600 IDeckLinkInputCallback_v7_6 * This,
\r
6601 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
6602 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
6603 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
\r
6605 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
6606 IDeckLinkInputCallback_v7_6 * This,
\r
6607 /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame,
\r
6608 /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
\r
6611 } IDeckLinkInputCallback_v7_6Vtbl;
\r
6613 interface IDeckLinkInputCallback_v7_6
\r
6615 CONST_VTBL struct IDeckLinkInputCallback_v7_6Vtbl *lpVtbl;
\r
6623 #define IDeckLinkInputCallback_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6624 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6626 #define IDeckLinkInputCallback_v7_6_AddRef(This) \
\r
6627 ( (This)->lpVtbl -> AddRef(This) )
\r
6629 #define IDeckLinkInputCallback_v7_6_Release(This) \
\r
6630 ( (This)->lpVtbl -> Release(This) )
\r
6633 #define IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
\r
6634 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
\r
6636 #define IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
6637 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
6639 #endif /* COBJMACROS */
\r
6642 #endif /* C style interface */
\r
6647 #endif /* __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ */
\r
6650 EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper_v7_6;
\r
6652 #ifdef __cplusplus
\r
6654 class DECLSPEC_UUID("D398CEE7-4434-4CA3-9BA6-5AE34556B905")
\r
6655 CDeckLinkGLScreenPreviewHelper_v7_6;
\r
6658 EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion_v7_6;
\r
6660 #ifdef __cplusplus
\r
6662 class DECLSPEC_UUID("FFA84F77-73BE-4FB7-B03E-B5E44B9F759B")
\r
6663 CDeckLinkVideoConversion_v7_6;
\r
6666 #ifndef __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
\r
6667 #define __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
\r
6669 /* interface IDeckLinkInputCallback_v7_3 */
\r
6670 /* [helpstring][uuid][object] */
\r
6673 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_3;
\r
6675 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6677 MIDL_INTERFACE("FD6F311D-4D00-444B-9ED4-1F25B5730AD0")
\r
6678 IDeckLinkInputCallback_v7_3 : public IUnknown
\r
6681 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
\r
6682 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
6683 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
6684 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
\r
6686 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
6687 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
\r
6688 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
\r
6692 #else /* C style interface */
\r
6694 typedef struct IDeckLinkInputCallback_v7_3Vtbl
\r
6698 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6699 IDeckLinkInputCallback_v7_3 * This,
\r
6700 /* [in] */ REFIID riid,
\r
6701 /* [annotation][iid_is][out] */
\r
6702 __RPC__deref_out void **ppvObject);
\r
6704 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6705 IDeckLinkInputCallback_v7_3 * This);
\r
6707 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6708 IDeckLinkInputCallback_v7_3 * This);
\r
6710 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
\r
6711 IDeckLinkInputCallback_v7_3 * This,
\r
6712 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
6713 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
6714 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
\r
6716 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
6717 IDeckLinkInputCallback_v7_3 * This,
\r
6718 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
\r
6719 /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
\r
6722 } IDeckLinkInputCallback_v7_3Vtbl;
\r
6724 interface IDeckLinkInputCallback_v7_3
\r
6726 CONST_VTBL struct IDeckLinkInputCallback_v7_3Vtbl *lpVtbl;
\r
6734 #define IDeckLinkInputCallback_v7_3_QueryInterface(This,riid,ppvObject) \
\r
6735 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6737 #define IDeckLinkInputCallback_v7_3_AddRef(This) \
\r
6738 ( (This)->lpVtbl -> AddRef(This) )
\r
6740 #define IDeckLinkInputCallback_v7_3_Release(This) \
\r
6741 ( (This)->lpVtbl -> Release(This) )
\r
6744 #define IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
\r
6745 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
\r
6747 #define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
6748 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
6750 #endif /* COBJMACROS */
\r
6753 #endif /* C style interface */
\r
6758 #endif /* __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ */
\r
6761 #ifndef __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
\r
6762 #define __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
\r
6764 /* interface IDeckLinkOutput_v7_3 */
\r
6765 /* [helpstring][local][uuid][object] */
\r
6768 EXTERN_C const IID IID_IDeckLinkOutput_v7_3;
\r
6770 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6772 MIDL_INTERFACE("271C65E3-C323-4344-A30F-D908BCB20AA3")
\r
6773 IDeckLinkOutput_v7_3 : public IUnknown
\r
6776 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
6777 BMDDisplayMode displayMode,
\r
6778 BMDPixelFormat pixelFormat,
\r
6779 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
6781 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
6782 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
6784 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
6785 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
6787 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
6788 BMDDisplayMode displayMode,
\r
6789 BMDVideoOutputFlags flags) = 0;
\r
6791 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
6793 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
6794 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
6796 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
6800 BMDPixelFormat pixelFormat,
\r
6801 BMDFrameFlags flags,
\r
6802 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;
\r
6804 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
\r
6805 BMDPixelFormat pixelFormat,
\r
6806 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
\r
6808 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
6809 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
6811 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
6812 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
6813 BMDTimeValue displayTime,
\r
6814 BMDTimeValue displayDuration,
\r
6815 BMDTimeScale timeScale) = 0;
\r
6817 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
6818 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;
\r
6820 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
\r
6821 /* [out] */ unsigned long *bufferedFrameCount) = 0;
\r
6823 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
6824 BMDAudioSampleRate sampleRate,
\r
6825 BMDAudioSampleType sampleType,
\r
6826 unsigned long channelCount,
\r
6827 BMDAudioOutputStreamType streamType) = 0;
\r
6829 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
6831 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
6832 /* [in] */ void *buffer,
\r
6833 unsigned long sampleFrameCount,
\r
6834 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
6836 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
6838 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
6840 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
6841 /* [in] */ void *buffer,
\r
6842 unsigned long sampleFrameCount,
\r
6843 BMDTimeValue streamTime,
\r
6844 BMDTimeScale timeScale,
\r
6845 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
6847 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
6848 /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
\r
6850 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
6852 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
6853 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
6855 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
6856 BMDTimeValue playbackStartTime,
\r
6857 BMDTimeScale timeScale,
\r
6858 double playbackSpeed) = 0;
\r
6860 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
6861 BMDTimeValue stopPlaybackAtTime,
\r
6862 /* [out] */ BMDTimeValue *actualStopTime,
\r
6863 BMDTimeScale timeScale) = 0;
\r
6865 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
\r
6866 /* [out] */ BOOL *active) = 0;
\r
6868 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
6869 BMDTimeScale desiredTimeScale,
\r
6870 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
\r
6874 #else /* C style interface */
\r
6876 typedef struct IDeckLinkOutput_v7_3Vtbl
\r
6880 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6881 IDeckLinkOutput_v7_3 * This,
\r
6882 /* [in] */ REFIID riid,
\r
6883 /* [annotation][iid_is][out] */
\r
6884 __RPC__deref_out void **ppvObject);
\r
6886 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6887 IDeckLinkOutput_v7_3 * This);
\r
6889 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6890 IDeckLinkOutput_v7_3 * This);
\r
6892 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
6893 IDeckLinkOutput_v7_3 * This,
\r
6894 BMDDisplayMode displayMode,
\r
6895 BMDPixelFormat pixelFormat,
\r
6896 /* [out] */ BMDDisplayModeSupport *result);
\r
6898 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
6899 IDeckLinkOutput_v7_3 * This,
\r
6900 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
6902 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
6903 IDeckLinkOutput_v7_3 * This,
\r
6904 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
6906 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
6907 IDeckLinkOutput_v7_3 * This,
\r
6908 BMDDisplayMode displayMode,
\r
6909 BMDVideoOutputFlags flags);
\r
6911 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
6912 IDeckLinkOutput_v7_3 * This);
\r
6914 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
6915 IDeckLinkOutput_v7_3 * This,
\r
6916 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
6918 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
6919 IDeckLinkOutput_v7_3 * This,
\r
6923 BMDPixelFormat pixelFormat,
\r
6924 BMDFrameFlags flags,
\r
6925 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame);
\r
6927 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
\r
6928 IDeckLinkOutput_v7_3 * This,
\r
6929 BMDPixelFormat pixelFormat,
\r
6930 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
\r
6932 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
6933 IDeckLinkOutput_v7_3 * This,
\r
6934 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
6936 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
6937 IDeckLinkOutput_v7_3 * This,
\r
6938 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
6939 BMDTimeValue displayTime,
\r
6940 BMDTimeValue displayDuration,
\r
6941 BMDTimeScale timeScale);
\r
6943 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
6944 IDeckLinkOutput_v7_3 * This,
\r
6945 /* [in] */ IDeckLinkVideoOutputCallback *theCallback);
\r
6947 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
\r
6948 IDeckLinkOutput_v7_3 * This,
\r
6949 /* [out] */ unsigned long *bufferedFrameCount);
\r
6951 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
6952 IDeckLinkOutput_v7_3 * This,
\r
6953 BMDAudioSampleRate sampleRate,
\r
6954 BMDAudioSampleType sampleType,
\r
6955 unsigned long channelCount,
\r
6956 BMDAudioOutputStreamType streamType);
\r
6958 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
6959 IDeckLinkOutput_v7_3 * This);
\r
6961 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
6962 IDeckLinkOutput_v7_3 * This,
\r
6963 /* [in] */ void *buffer,
\r
6964 unsigned long sampleFrameCount,
\r
6965 /* [out] */ unsigned long *sampleFramesWritten);
\r
6967 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
6968 IDeckLinkOutput_v7_3 * This);
\r
6970 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
6971 IDeckLinkOutput_v7_3 * This);
\r
6973 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
6974 IDeckLinkOutput_v7_3 * This,
\r
6975 /* [in] */ void *buffer,
\r
6976 unsigned long sampleFrameCount,
\r
6977 BMDTimeValue streamTime,
\r
6978 BMDTimeScale timeScale,
\r
6979 /* [out] */ unsigned long *sampleFramesWritten);
\r
6981 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
6982 IDeckLinkOutput_v7_3 * This,
\r
6983 /* [out] */ unsigned long *bufferedSampleFrameCount);
\r
6985 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
6986 IDeckLinkOutput_v7_3 * This);
\r
6988 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
6989 IDeckLinkOutput_v7_3 * This,
\r
6990 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
6992 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
6993 IDeckLinkOutput_v7_3 * This,
\r
6994 BMDTimeValue playbackStartTime,
\r
6995 BMDTimeScale timeScale,
\r
6996 double playbackSpeed);
\r
6998 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
6999 IDeckLinkOutput_v7_3 * This,
\r
7000 BMDTimeValue stopPlaybackAtTime,
\r
7001 /* [out] */ BMDTimeValue *actualStopTime,
\r
7002 BMDTimeScale timeScale);
\r
7004 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
\r
7005 IDeckLinkOutput_v7_3 * This,
\r
7006 /* [out] */ BOOL *active);
\r
7008 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
7009 IDeckLinkOutput_v7_3 * This,
\r
7010 BMDTimeScale desiredTimeScale,
\r
7011 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan);
\r
7014 } IDeckLinkOutput_v7_3Vtbl;
\r
7016 interface IDeckLinkOutput_v7_3
\r
7018 CONST_VTBL struct IDeckLinkOutput_v7_3Vtbl *lpVtbl;
\r
7026 #define IDeckLinkOutput_v7_3_QueryInterface(This,riid,ppvObject) \
\r
7027 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7029 #define IDeckLinkOutput_v7_3_AddRef(This) \
\r
7030 ( (This)->lpVtbl -> AddRef(This) )
\r
7032 #define IDeckLinkOutput_v7_3_Release(This) \
\r
7033 ( (This)->lpVtbl -> Release(This) )
\r
7036 #define IDeckLinkOutput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
7037 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
7039 #define IDeckLinkOutput_v7_3_GetDisplayModeIterator(This,iterator) \
\r
7040 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
7042 #define IDeckLinkOutput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
\r
7043 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
7045 #define IDeckLinkOutput_v7_3_EnableVideoOutput(This,displayMode,flags) \
\r
7046 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
\r
7048 #define IDeckLinkOutput_v7_3_DisableVideoOutput(This) \
\r
7049 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
7051 #define IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
7052 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
7054 #define IDeckLinkOutput_v7_3_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
7055 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
7057 #define IDeckLinkOutput_v7_3_CreateAncillaryData(This,pixelFormat,outBuffer) \
\r
7058 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
\r
7060 #define IDeckLinkOutput_v7_3_DisplayVideoFrameSync(This,theFrame) \
\r
7061 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
7063 #define IDeckLinkOutput_v7_3_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
7064 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
7066 #define IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
7067 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
7069 #define IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
\r
7070 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
\r
7072 #define IDeckLinkOutput_v7_3_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
\r
7073 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
\r
7075 #define IDeckLinkOutput_v7_3_DisableAudioOutput(This) \
\r
7076 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
7078 #define IDeckLinkOutput_v7_3_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
7079 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
7081 #define IDeckLinkOutput_v7_3_BeginAudioPreroll(This) \
\r
7082 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
7084 #define IDeckLinkOutput_v7_3_EndAudioPreroll(This) \
\r
7085 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
7087 #define IDeckLinkOutput_v7_3_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
7088 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
7090 #define IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
\r
7091 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
\r
7093 #define IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(This) \
\r
7094 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
7096 #define IDeckLinkOutput_v7_3_SetAudioCallback(This,theCallback) \
\r
7097 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
7099 #define IDeckLinkOutput_v7_3_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
7100 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
7102 #define IDeckLinkOutput_v7_3_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
7103 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
7105 #define IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(This,active) \
\r
7106 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
\r
7108 #define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
\r
7109 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) )
\r
7111 #endif /* COBJMACROS */
\r
7114 #endif /* C style interface */
\r
7119 #endif /* __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ */
\r
7122 #ifndef __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
\r
7123 #define __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
\r
7125 /* interface IDeckLinkInput_v7_3 */
\r
7126 /* [helpstring][uuid][object] */
\r
7129 EXTERN_C const IID IID_IDeckLinkInput_v7_3;
\r
7131 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7133 MIDL_INTERFACE("4973F012-9925-458C-871C-18774CDBBECB")
\r
7134 IDeckLinkInput_v7_3 : public IUnknown
\r
7137 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
7138 BMDDisplayMode displayMode,
\r
7139 BMDPixelFormat pixelFormat,
\r
7140 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
7142 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
7143 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
7145 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
7146 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
7148 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
7149 BMDDisplayMode displayMode,
\r
7150 BMDPixelFormat pixelFormat,
\r
7151 BMDVideoInputFlags flags) = 0;
\r
7153 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
7155 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
\r
7156 /* [out] */ unsigned long *availableFrameCount) = 0;
\r
7158 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
7159 BMDAudioSampleRate sampleRate,
\r
7160 BMDAudioSampleType sampleType,
\r
7161 unsigned long channelCount) = 0;
\r
7163 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
7165 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
\r
7166 /* [out] */ unsigned long *availableSampleFrameCount) = 0;
\r
7168 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
7170 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
7172 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
7174 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
\r
7176 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
7177 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback) = 0;
\r
7181 #else /* C style interface */
\r
7183 typedef struct IDeckLinkInput_v7_3Vtbl
\r
7187 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7188 IDeckLinkInput_v7_3 * This,
\r
7189 /* [in] */ REFIID riid,
\r
7190 /* [annotation][iid_is][out] */
\r
7191 __RPC__deref_out void **ppvObject);
\r
7193 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7194 IDeckLinkInput_v7_3 * This);
\r
7196 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7197 IDeckLinkInput_v7_3 * This);
\r
7199 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
7200 IDeckLinkInput_v7_3 * This,
\r
7201 BMDDisplayMode displayMode,
\r
7202 BMDPixelFormat pixelFormat,
\r
7203 /* [out] */ BMDDisplayModeSupport *result);
\r
7205 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
7206 IDeckLinkInput_v7_3 * This,
\r
7207 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
7209 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
7210 IDeckLinkInput_v7_3 * This,
\r
7211 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
7213 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
7214 IDeckLinkInput_v7_3 * This,
\r
7215 BMDDisplayMode displayMode,
\r
7216 BMDPixelFormat pixelFormat,
\r
7217 BMDVideoInputFlags flags);
\r
7219 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
7220 IDeckLinkInput_v7_3 * This);
\r
7222 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
\r
7223 IDeckLinkInput_v7_3 * This,
\r
7224 /* [out] */ unsigned long *availableFrameCount);
\r
7226 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
7227 IDeckLinkInput_v7_3 * This,
\r
7228 BMDAudioSampleRate sampleRate,
\r
7229 BMDAudioSampleType sampleType,
\r
7230 unsigned long channelCount);
\r
7232 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
7233 IDeckLinkInput_v7_3 * This);
\r
7235 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
\r
7236 IDeckLinkInput_v7_3 * This,
\r
7237 /* [out] */ unsigned long *availableSampleFrameCount);
\r
7239 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
7240 IDeckLinkInput_v7_3 * This);
\r
7242 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
7243 IDeckLinkInput_v7_3 * This);
\r
7245 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
7246 IDeckLinkInput_v7_3 * This);
\r
7248 HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
\r
7249 IDeckLinkInput_v7_3 * This);
\r
7251 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
7252 IDeckLinkInput_v7_3 * This,
\r
7253 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback);
\r
7256 } IDeckLinkInput_v7_3Vtbl;
\r
7258 interface IDeckLinkInput_v7_3
\r
7260 CONST_VTBL struct IDeckLinkInput_v7_3Vtbl *lpVtbl;
\r
7268 #define IDeckLinkInput_v7_3_QueryInterface(This,riid,ppvObject) \
\r
7269 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7271 #define IDeckLinkInput_v7_3_AddRef(This) \
\r
7272 ( (This)->lpVtbl -> AddRef(This) )
\r
7274 #define IDeckLinkInput_v7_3_Release(This) \
\r
7275 ( (This)->lpVtbl -> Release(This) )
\r
7278 #define IDeckLinkInput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
7279 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
7281 #define IDeckLinkInput_v7_3_GetDisplayModeIterator(This,iterator) \
\r
7282 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
7284 #define IDeckLinkInput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
\r
7285 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
7287 #define IDeckLinkInput_v7_3_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
7288 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
7290 #define IDeckLinkInput_v7_3_DisableVideoInput(This) \
\r
7291 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
7293 #define IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(This,availableFrameCount) \
\r
7294 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
\r
7296 #define IDeckLinkInput_v7_3_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
7297 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
7299 #define IDeckLinkInput_v7_3_DisableAudioInput(This) \
\r
7300 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
7302 #define IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
\r
7303 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
\r
7305 #define IDeckLinkInput_v7_3_StartStreams(This) \
\r
7306 ( (This)->lpVtbl -> StartStreams(This) )
\r
7308 #define IDeckLinkInput_v7_3_StopStreams(This) \
\r
7309 ( (This)->lpVtbl -> StopStreams(This) )
\r
7311 #define IDeckLinkInput_v7_3_PauseStreams(This) \
\r
7312 ( (This)->lpVtbl -> PauseStreams(This) )
\r
7314 #define IDeckLinkInput_v7_3_FlushStreams(This) \
\r
7315 ( (This)->lpVtbl -> FlushStreams(This) )
\r
7317 #define IDeckLinkInput_v7_3_SetCallback(This,theCallback) \
\r
7318 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
7320 #endif /* COBJMACROS */
\r
7323 #endif /* C style interface */
\r
7328 #endif /* __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ */
\r
7331 #ifndef __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
\r
7332 #define __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
\r
7334 /* interface IDeckLinkVideoInputFrame_v7_3 */
\r
7335 /* [helpstring][local][uuid][object] */
\r
7338 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_3;
\r
7340 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7342 MIDL_INTERFACE("CF317790-2894-11DE-8C30-0800200C9A66")
\r
7343 IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame_v7_6
\r
7346 virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
\r
7347 /* [out] */ BMDTimeValue *frameTime,
\r
7348 /* [out] */ BMDTimeValue *frameDuration,
\r
7349 BMDTimeScale timeScale) = 0;
\r
7353 #else /* C style interface */
\r
7355 typedef struct IDeckLinkVideoInputFrame_v7_3Vtbl
\r
7359 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7360 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7361 /* [in] */ REFIID riid,
\r
7362 /* [annotation][iid_is][out] */
\r
7363 __RPC__deref_out void **ppvObject);
\r
7365 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7366 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7368 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7369 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7371 long ( STDMETHODCALLTYPE *GetWidth )(
\r
7372 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7374 long ( STDMETHODCALLTYPE *GetHeight )(
\r
7375 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7377 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
7378 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7380 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
7381 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7383 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
7384 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7386 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
7387 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7388 /* [out] */ void **buffer);
\r
7390 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
7391 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7392 BMDTimecodeFormat format,
\r
7393 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
7395 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
7396 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7397 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
7399 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
\r
7400 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7401 /* [out] */ BMDTimeValue *frameTime,
\r
7402 /* [out] */ BMDTimeValue *frameDuration,
\r
7403 BMDTimeScale timeScale);
\r
7406 } IDeckLinkVideoInputFrame_v7_3Vtbl;
\r
7408 interface IDeckLinkVideoInputFrame_v7_3
\r
7410 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_3Vtbl *lpVtbl;
\r
7418 #define IDeckLinkVideoInputFrame_v7_3_QueryInterface(This,riid,ppvObject) \
\r
7419 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7421 #define IDeckLinkVideoInputFrame_v7_3_AddRef(This) \
\r
7422 ( (This)->lpVtbl -> AddRef(This) )
\r
7424 #define IDeckLinkVideoInputFrame_v7_3_Release(This) \
\r
7425 ( (This)->lpVtbl -> Release(This) )
\r
7428 #define IDeckLinkVideoInputFrame_v7_3_GetWidth(This) \
\r
7429 ( (This)->lpVtbl -> GetWidth(This) )
\r
7431 #define IDeckLinkVideoInputFrame_v7_3_GetHeight(This) \
\r
7432 ( (This)->lpVtbl -> GetHeight(This) )
\r
7434 #define IDeckLinkVideoInputFrame_v7_3_GetRowBytes(This) \
\r
7435 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
7437 #define IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(This) \
\r
7438 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
7440 #define IDeckLinkVideoInputFrame_v7_3_GetFlags(This) \
\r
7441 ( (This)->lpVtbl -> GetFlags(This) )
\r
7443 #define IDeckLinkVideoInputFrame_v7_3_GetBytes(This,buffer) \
\r
7444 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
7446 #define IDeckLinkVideoInputFrame_v7_3_GetTimecode(This,format,timecode) \
\r
7447 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
7449 #define IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(This,ancillary) \
\r
7450 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
7453 #define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) \
\r
7454 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
\r
7456 #endif /* COBJMACROS */
\r
7459 #endif /* C style interface */
\r
7464 #endif /* __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ */
\r
7467 #ifndef __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
\r
7468 #define __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
\r
7470 /* interface IDeckLinkDisplayModeIterator_v7_1 */
\r
7471 /* [helpstring][uuid][object] */
\r
7474 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_1;
\r
7476 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7478 MIDL_INTERFACE("B28131B6-59AC-4857-B5AC-CD75D5883E2F")
\r
7479 IDeckLinkDisplayModeIterator_v7_1 : public IUnknown
\r
7482 virtual HRESULT STDMETHODCALLTYPE Next(
\r
7483 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) = 0;
\r
7487 #else /* C style interface */
\r
7489 typedef struct IDeckLinkDisplayModeIterator_v7_1Vtbl
\r
7493 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7494 IDeckLinkDisplayModeIterator_v7_1 * This,
\r
7495 /* [in] */ REFIID riid,
\r
7496 /* [annotation][iid_is][out] */
\r
7497 __RPC__deref_out void **ppvObject);
\r
7499 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7500 IDeckLinkDisplayModeIterator_v7_1 * This);
\r
7502 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7503 IDeckLinkDisplayModeIterator_v7_1 * This);
\r
7505 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
7506 IDeckLinkDisplayModeIterator_v7_1 * This,
\r
7507 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode);
\r
7510 } IDeckLinkDisplayModeIterator_v7_1Vtbl;
\r
7512 interface IDeckLinkDisplayModeIterator_v7_1
\r
7514 CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_1Vtbl *lpVtbl;
\r
7522 #define IDeckLinkDisplayModeIterator_v7_1_QueryInterface(This,riid,ppvObject) \
\r
7523 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7525 #define IDeckLinkDisplayModeIterator_v7_1_AddRef(This) \
\r
7526 ( (This)->lpVtbl -> AddRef(This) )
\r
7528 #define IDeckLinkDisplayModeIterator_v7_1_Release(This) \
\r
7529 ( (This)->lpVtbl -> Release(This) )
\r
7532 #define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) \
\r
7533 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
\r
7535 #endif /* COBJMACROS */
\r
7538 #endif /* C style interface */
\r
7543 #endif /* __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ */
\r
7546 #ifndef __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
\r
7547 #define __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
\r
7549 /* interface IDeckLinkDisplayMode_v7_1 */
\r
7550 /* [helpstring][uuid][object] */
\r
7553 EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_1;
\r
7555 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7557 MIDL_INTERFACE("AF0CD6D5-8376-435E-8433-54F9DD530AC3")
\r
7558 IDeckLinkDisplayMode_v7_1 : public IUnknown
\r
7561 virtual HRESULT STDMETHODCALLTYPE GetName(
\r
7562 /* [out] */ BSTR *name) = 0;
\r
7564 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
7566 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
7568 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
7570 virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
\r
7571 /* [out] */ BMDTimeValue *frameDuration,
\r
7572 /* [out] */ BMDTimeScale *timeScale) = 0;
\r
7576 #else /* C style interface */
\r
7578 typedef struct IDeckLinkDisplayMode_v7_1Vtbl
\r
7582 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7583 IDeckLinkDisplayMode_v7_1 * This,
\r
7584 /* [in] */ REFIID riid,
\r
7585 /* [annotation][iid_is][out] */
\r
7586 __RPC__deref_out void **ppvObject);
\r
7588 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7589 IDeckLinkDisplayMode_v7_1 * This);
\r
7591 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7592 IDeckLinkDisplayMode_v7_1 * This);
\r
7594 HRESULT ( STDMETHODCALLTYPE *GetName )(
\r
7595 IDeckLinkDisplayMode_v7_1 * This,
\r
7596 /* [out] */ BSTR *name);
\r
7598 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
7599 IDeckLinkDisplayMode_v7_1 * This);
\r
7601 long ( STDMETHODCALLTYPE *GetWidth )(
\r
7602 IDeckLinkDisplayMode_v7_1 * This);
\r
7604 long ( STDMETHODCALLTYPE *GetHeight )(
\r
7605 IDeckLinkDisplayMode_v7_1 * This);
\r
7607 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
\r
7608 IDeckLinkDisplayMode_v7_1 * This,
\r
7609 /* [out] */ BMDTimeValue *frameDuration,
\r
7610 /* [out] */ BMDTimeScale *timeScale);
\r
7613 } IDeckLinkDisplayMode_v7_1Vtbl;
\r
7615 interface IDeckLinkDisplayMode_v7_1
\r
7617 CONST_VTBL struct IDeckLinkDisplayMode_v7_1Vtbl *lpVtbl;
\r
7625 #define IDeckLinkDisplayMode_v7_1_QueryInterface(This,riid,ppvObject) \
\r
7626 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7628 #define IDeckLinkDisplayMode_v7_1_AddRef(This) \
\r
7629 ( (This)->lpVtbl -> AddRef(This) )
\r
7631 #define IDeckLinkDisplayMode_v7_1_Release(This) \
\r
7632 ( (This)->lpVtbl -> Release(This) )
\r
7635 #define IDeckLinkDisplayMode_v7_1_GetName(This,name) \
\r
7636 ( (This)->lpVtbl -> GetName(This,name) )
\r
7638 #define IDeckLinkDisplayMode_v7_1_GetDisplayMode(This) \
\r
7639 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
7641 #define IDeckLinkDisplayMode_v7_1_GetWidth(This) \
\r
7642 ( (This)->lpVtbl -> GetWidth(This) )
\r
7644 #define IDeckLinkDisplayMode_v7_1_GetHeight(This) \
\r
7645 ( (This)->lpVtbl -> GetHeight(This) )
\r
7647 #define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) \
\r
7648 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
\r
7650 #endif /* COBJMACROS */
\r
7653 #endif /* C style interface */
\r
7658 #endif /* __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ */
\r
7661 #ifndef __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
\r
7662 #define __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
\r
7664 /* interface IDeckLinkVideoFrame_v7_1 */
\r
7665 /* [helpstring][local][uuid][object] */
\r
7668 EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_1;
\r
7670 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7672 MIDL_INTERFACE("333F3A10-8C2D-43CF-B79D-46560FEEA1CE")
\r
7673 IDeckLinkVideoFrame_v7_1 : public IUnknown
\r
7676 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
7678 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
7680 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
\r
7682 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
7684 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
7686 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
7687 void **buffer) = 0;
\r
7691 #else /* C style interface */
\r
7693 typedef struct IDeckLinkVideoFrame_v7_1Vtbl
\r
7697 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7698 IDeckLinkVideoFrame_v7_1 * This,
\r
7699 /* [in] */ REFIID riid,
\r
7700 /* [annotation][iid_is][out] */
\r
7701 __RPC__deref_out void **ppvObject);
\r
7703 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7704 IDeckLinkVideoFrame_v7_1 * This);
\r
7706 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7707 IDeckLinkVideoFrame_v7_1 * This);
\r
7709 long ( STDMETHODCALLTYPE *GetWidth )(
\r
7710 IDeckLinkVideoFrame_v7_1 * This);
\r
7712 long ( STDMETHODCALLTYPE *GetHeight )(
\r
7713 IDeckLinkVideoFrame_v7_1 * This);
\r
7715 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
7716 IDeckLinkVideoFrame_v7_1 * This);
\r
7718 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
7719 IDeckLinkVideoFrame_v7_1 * This);
\r
7721 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
7722 IDeckLinkVideoFrame_v7_1 * This);
\r
7724 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
7725 IDeckLinkVideoFrame_v7_1 * This,
\r
7729 } IDeckLinkVideoFrame_v7_1Vtbl;
\r
7731 interface IDeckLinkVideoFrame_v7_1
\r
7733 CONST_VTBL struct IDeckLinkVideoFrame_v7_1Vtbl *lpVtbl;
\r
7741 #define IDeckLinkVideoFrame_v7_1_QueryInterface(This,riid,ppvObject) \
\r
7742 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7744 #define IDeckLinkVideoFrame_v7_1_AddRef(This) \
\r
7745 ( (This)->lpVtbl -> AddRef(This) )
\r
7747 #define IDeckLinkVideoFrame_v7_1_Release(This) \
\r
7748 ( (This)->lpVtbl -> Release(This) )
\r
7751 #define IDeckLinkVideoFrame_v7_1_GetWidth(This) \
\r
7752 ( (This)->lpVtbl -> GetWidth(This) )
\r
7754 #define IDeckLinkVideoFrame_v7_1_GetHeight(This) \
\r
7755 ( (This)->lpVtbl -> GetHeight(This) )
\r
7757 #define IDeckLinkVideoFrame_v7_1_GetRowBytes(This) \
\r
7758 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
7760 #define IDeckLinkVideoFrame_v7_1_GetPixelFormat(This) \
\r
7761 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
7763 #define IDeckLinkVideoFrame_v7_1_GetFlags(This) \
\r
7764 ( (This)->lpVtbl -> GetFlags(This) )
\r
7766 #define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) \
\r
7767 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
7769 #endif /* COBJMACROS */
\r
7772 #endif /* C style interface */
\r
7777 #endif /* __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ */
\r
7780 #ifndef __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
\r
7781 #define __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
\r
7783 /* interface IDeckLinkVideoInputFrame_v7_1 */
\r
7784 /* [helpstring][local][uuid][object] */
\r
7787 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_1;
\r
7789 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7791 MIDL_INTERFACE("C8B41D95-8848-40EE-9B37-6E3417FB114B")
\r
7792 IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1
\r
7795 virtual HRESULT STDMETHODCALLTYPE GetFrameTime(
\r
7796 BMDTimeValue *frameTime,
\r
7797 BMDTimeValue *frameDuration,
\r
7798 BMDTimeScale timeScale) = 0;
\r
7802 #else /* C style interface */
\r
7804 typedef struct IDeckLinkVideoInputFrame_v7_1Vtbl
\r
7808 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7809 IDeckLinkVideoInputFrame_v7_1 * This,
\r
7810 /* [in] */ REFIID riid,
\r
7811 /* [annotation][iid_is][out] */
\r
7812 __RPC__deref_out void **ppvObject);
\r
7814 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7815 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7817 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7818 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7820 long ( STDMETHODCALLTYPE *GetWidth )(
\r
7821 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7823 long ( STDMETHODCALLTYPE *GetHeight )(
\r
7824 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7826 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
7827 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7829 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
7830 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7832 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
7833 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7835 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
7836 IDeckLinkVideoInputFrame_v7_1 * This,
\r
7839 HRESULT ( STDMETHODCALLTYPE *GetFrameTime )(
\r
7840 IDeckLinkVideoInputFrame_v7_1 * This,
\r
7841 BMDTimeValue *frameTime,
\r
7842 BMDTimeValue *frameDuration,
\r
7843 BMDTimeScale timeScale);
\r
7846 } IDeckLinkVideoInputFrame_v7_1Vtbl;
\r
7848 interface IDeckLinkVideoInputFrame_v7_1
\r
7850 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_1Vtbl *lpVtbl;
\r
7858 #define IDeckLinkVideoInputFrame_v7_1_QueryInterface(This,riid,ppvObject) \
\r
7859 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7861 #define IDeckLinkVideoInputFrame_v7_1_AddRef(This) \
\r
7862 ( (This)->lpVtbl -> AddRef(This) )
\r
7864 #define IDeckLinkVideoInputFrame_v7_1_Release(This) \
\r
7865 ( (This)->lpVtbl -> Release(This) )
\r
7868 #define IDeckLinkVideoInputFrame_v7_1_GetWidth(This) \
\r
7869 ( (This)->lpVtbl -> GetWidth(This) )
\r
7871 #define IDeckLinkVideoInputFrame_v7_1_GetHeight(This) \
\r
7872 ( (This)->lpVtbl -> GetHeight(This) )
\r
7874 #define IDeckLinkVideoInputFrame_v7_1_GetRowBytes(This) \
\r
7875 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
7877 #define IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(This) \
\r
7878 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
7880 #define IDeckLinkVideoInputFrame_v7_1_GetFlags(This) \
\r
7881 ( (This)->lpVtbl -> GetFlags(This) )
\r
7883 #define IDeckLinkVideoInputFrame_v7_1_GetBytes(This,buffer) \
\r
7884 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
7887 #define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) \
\r
7888 ( (This)->lpVtbl -> GetFrameTime(This,frameTime,frameDuration,timeScale) )
\r
7890 #endif /* COBJMACROS */
\r
7893 #endif /* C style interface */
\r
7898 #endif /* __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ */
\r
7901 #ifndef __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
\r
7902 #define __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
\r
7904 /* interface IDeckLinkAudioInputPacket_v7_1 */
\r
7905 /* [helpstring][local][uuid][object] */
\r
7908 EXTERN_C const IID IID_IDeckLinkAudioInputPacket_v7_1;
\r
7910 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7912 MIDL_INTERFACE("C86DE4F6-A29F-42E3-AB3A-1363E29F0788")
\r
7913 IDeckLinkAudioInputPacket_v7_1 : public IUnknown
\r
7916 virtual long STDMETHODCALLTYPE GetSampleCount( void) = 0;
\r
7918 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
7919 void **buffer) = 0;
\r
7921 virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime(
\r
7922 BMDTimeValue *packetTime,
\r
7923 BMDTimeScale timeScale) = 0;
\r
7927 #else /* C style interface */
\r
7929 typedef struct IDeckLinkAudioInputPacket_v7_1Vtbl
\r
7933 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7934 IDeckLinkAudioInputPacket_v7_1 * This,
\r
7935 /* [in] */ REFIID riid,
\r
7936 /* [annotation][iid_is][out] */
\r
7937 __RPC__deref_out void **ppvObject);
\r
7939 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7940 IDeckLinkAudioInputPacket_v7_1 * This);
\r
7942 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7943 IDeckLinkAudioInputPacket_v7_1 * This);
\r
7945 long ( STDMETHODCALLTYPE *GetSampleCount )(
\r
7946 IDeckLinkAudioInputPacket_v7_1 * This);
\r
7948 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
7949 IDeckLinkAudioInputPacket_v7_1 * This,
\r
7952 HRESULT ( STDMETHODCALLTYPE *GetAudioPacketTime )(
\r
7953 IDeckLinkAudioInputPacket_v7_1 * This,
\r
7954 BMDTimeValue *packetTime,
\r
7955 BMDTimeScale timeScale);
\r
7958 } IDeckLinkAudioInputPacket_v7_1Vtbl;
\r
7960 interface IDeckLinkAudioInputPacket_v7_1
\r
7962 CONST_VTBL struct IDeckLinkAudioInputPacket_v7_1Vtbl *lpVtbl;
\r
7970 #define IDeckLinkAudioInputPacket_v7_1_QueryInterface(This,riid,ppvObject) \
\r
7971 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7973 #define IDeckLinkAudioInputPacket_v7_1_AddRef(This) \
\r
7974 ( (This)->lpVtbl -> AddRef(This) )
\r
7976 #define IDeckLinkAudioInputPacket_v7_1_Release(This) \
\r
7977 ( (This)->lpVtbl -> Release(This) )
\r
7980 #define IDeckLinkAudioInputPacket_v7_1_GetSampleCount(This) \
\r
7981 ( (This)->lpVtbl -> GetSampleCount(This) )
\r
7983 #define IDeckLinkAudioInputPacket_v7_1_GetBytes(This,buffer) \
\r
7984 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
7986 #define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) \
\r
7987 ( (This)->lpVtbl -> GetAudioPacketTime(This,packetTime,timeScale) )
\r
7989 #endif /* COBJMACROS */
\r
7992 #endif /* C style interface */
\r
7997 #endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */
\r
8000 #ifndef __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
\r
8001 #define __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
\r
8003 /* interface IDeckLinkVideoOutputCallback_v7_1 */
\r
8004 /* [helpstring][uuid][object] */
\r
8007 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_1;
\r
8009 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8011 MIDL_INTERFACE("EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9")
\r
8012 IDeckLinkVideoOutputCallback_v7_1 : public IUnknown
\r
8015 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
\r
8016 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
\r
8017 /* [in] */ BMDOutputFrameCompletionResult result) = 0;
\r
8021 #else /* C style interface */
\r
8023 typedef struct IDeckLinkVideoOutputCallback_v7_1Vtbl
\r
8027 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8028 IDeckLinkVideoOutputCallback_v7_1 * This,
\r
8029 /* [in] */ REFIID riid,
\r
8030 /* [annotation][iid_is][out] */
\r
8031 __RPC__deref_out void **ppvObject);
\r
8033 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8034 IDeckLinkVideoOutputCallback_v7_1 * This);
\r
8036 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8037 IDeckLinkVideoOutputCallback_v7_1 * This);
\r
8039 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
\r
8040 IDeckLinkVideoOutputCallback_v7_1 * This,
\r
8041 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
\r
8042 /* [in] */ BMDOutputFrameCompletionResult result);
\r
8045 } IDeckLinkVideoOutputCallback_v7_1Vtbl;
\r
8047 interface IDeckLinkVideoOutputCallback_v7_1
\r
8049 CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_1Vtbl *lpVtbl;
\r
8057 #define IDeckLinkVideoOutputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8058 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8060 #define IDeckLinkVideoOutputCallback_v7_1_AddRef(This) \
\r
8061 ( (This)->lpVtbl -> AddRef(This) )
\r
8063 #define IDeckLinkVideoOutputCallback_v7_1_Release(This) \
\r
8064 ( (This)->lpVtbl -> Release(This) )
\r
8067 #define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) \
\r
8068 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
\r
8070 #endif /* COBJMACROS */
\r
8073 #endif /* C style interface */
\r
8078 #endif /* __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ */
\r
8081 #ifndef __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
\r
8082 #define __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
\r
8084 /* interface IDeckLinkInputCallback_v7_1 */
\r
8085 /* [helpstring][uuid][object] */
\r
8088 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_1;
\r
8090 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8092 MIDL_INTERFACE("7F94F328-5ED4-4E9F-9729-76A86BDC99CC")
\r
8093 IDeckLinkInputCallback_v7_1 : public IUnknown
\r
8096 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
8097 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
\r
8098 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket) = 0;
\r
8102 #else /* C style interface */
\r
8104 typedef struct IDeckLinkInputCallback_v7_1Vtbl
\r
8108 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8109 IDeckLinkInputCallback_v7_1 * This,
\r
8110 /* [in] */ REFIID riid,
\r
8111 /* [annotation][iid_is][out] */
\r
8112 __RPC__deref_out void **ppvObject);
\r
8114 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8115 IDeckLinkInputCallback_v7_1 * This);
\r
8117 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8118 IDeckLinkInputCallback_v7_1 * This);
\r
8120 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
8121 IDeckLinkInputCallback_v7_1 * This,
\r
8122 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
\r
8123 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket);
\r
8126 } IDeckLinkInputCallback_v7_1Vtbl;
\r
8128 interface IDeckLinkInputCallback_v7_1
\r
8130 CONST_VTBL struct IDeckLinkInputCallback_v7_1Vtbl *lpVtbl;
\r
8138 #define IDeckLinkInputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8139 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8141 #define IDeckLinkInputCallback_v7_1_AddRef(This) \
\r
8142 ( (This)->lpVtbl -> AddRef(This) )
\r
8144 #define IDeckLinkInputCallback_v7_1_Release(This) \
\r
8145 ( (This)->lpVtbl -> Release(This) )
\r
8148 #define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
8149 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
8151 #endif /* COBJMACROS */
\r
8154 #endif /* C style interface */
\r
8159 #endif /* __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ */
\r
8162 #ifndef __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
\r
8163 #define __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
\r
8165 /* interface IDeckLinkOutput_v7_1 */
\r
8166 /* [helpstring][local][uuid][object] */
\r
8169 EXTERN_C const IID IID_IDeckLinkOutput_v7_1;
\r
8171 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8173 MIDL_INTERFACE("AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5")
\r
8174 IDeckLinkOutput_v7_1 : public IUnknown
\r
8177 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
8178 BMDDisplayMode displayMode,
\r
8179 BMDPixelFormat pixelFormat,
\r
8180 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
8182 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
8183 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
\r
8185 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
8186 BMDDisplayMode displayMode) = 0;
\r
8188 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
8190 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
8191 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
8193 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
8197 BMDPixelFormat pixelFormat,
\r
8198 BMDFrameFlags flags,
\r
8199 IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
\r
8201 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer(
\r
8206 BMDPixelFormat pixelFormat,
\r
8207 BMDFrameFlags flags,
\r
8208 IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
\r
8210 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
8211 IDeckLinkVideoFrame_v7_1 *theFrame) = 0;
\r
8213 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
8214 IDeckLinkVideoFrame_v7_1 *theFrame,
\r
8215 BMDTimeValue displayTime,
\r
8216 BMDTimeValue displayDuration,
\r
8217 BMDTimeScale timeScale) = 0;
\r
8219 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
8220 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback) = 0;
\r
8222 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
8223 BMDAudioSampleRate sampleRate,
\r
8224 BMDAudioSampleType sampleType,
\r
8225 unsigned long channelCount) = 0;
\r
8227 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
8229 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
8231 unsigned long sampleFrameCount,
\r
8232 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
8234 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
8236 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
8238 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
8240 unsigned long sampleFrameCount,
\r
8241 BMDTimeValue streamTime,
\r
8242 BMDTimeScale timeScale,
\r
8243 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
8245 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
8246 /* [out] */ unsigned long *bufferedSampleCount) = 0;
\r
8248 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
8250 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
8251 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
8253 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
8254 BMDTimeValue playbackStartTime,
\r
8255 BMDTimeScale timeScale,
\r
8256 double playbackSpeed) = 0;
\r
8258 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
8259 BMDTimeValue stopPlaybackAtTime,
\r
8260 BMDTimeValue *actualStopTime,
\r
8261 BMDTimeScale timeScale) = 0;
\r
8263 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
8264 BMDTimeScale desiredTimeScale,
\r
8265 BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
\r
8269 #else /* C style interface */
\r
8271 typedef struct IDeckLinkOutput_v7_1Vtbl
\r
8275 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8276 IDeckLinkOutput_v7_1 * This,
\r
8277 /* [in] */ REFIID riid,
\r
8278 /* [annotation][iid_is][out] */
\r
8279 __RPC__deref_out void **ppvObject);
\r
8281 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8282 IDeckLinkOutput_v7_1 * This);
\r
8284 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8285 IDeckLinkOutput_v7_1 * This);
\r
8287 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
8288 IDeckLinkOutput_v7_1 * This,
\r
8289 BMDDisplayMode displayMode,
\r
8290 BMDPixelFormat pixelFormat,
\r
8291 /* [out] */ BMDDisplayModeSupport *result);
\r
8293 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
8294 IDeckLinkOutput_v7_1 * This,
\r
8295 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
\r
8297 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
8298 IDeckLinkOutput_v7_1 * This,
\r
8299 BMDDisplayMode displayMode);
\r
8301 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
8302 IDeckLinkOutput_v7_1 * This);
\r
8304 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
8305 IDeckLinkOutput_v7_1 * This,
\r
8306 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
8308 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
8309 IDeckLinkOutput_v7_1 * This,
\r
8313 BMDPixelFormat pixelFormat,
\r
8314 BMDFrameFlags flags,
\r
8315 IDeckLinkVideoFrame_v7_1 **outFrame);
\r
8317 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrameFromBuffer )(
\r
8318 IDeckLinkOutput_v7_1 * This,
\r
8323 BMDPixelFormat pixelFormat,
\r
8324 BMDFrameFlags flags,
\r
8325 IDeckLinkVideoFrame_v7_1 **outFrame);
\r
8327 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
8328 IDeckLinkOutput_v7_1 * This,
\r
8329 IDeckLinkVideoFrame_v7_1 *theFrame);
\r
8331 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
8332 IDeckLinkOutput_v7_1 * This,
\r
8333 IDeckLinkVideoFrame_v7_1 *theFrame,
\r
8334 BMDTimeValue displayTime,
\r
8335 BMDTimeValue displayDuration,
\r
8336 BMDTimeScale timeScale);
\r
8338 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
8339 IDeckLinkOutput_v7_1 * This,
\r
8340 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback);
\r
8342 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
8343 IDeckLinkOutput_v7_1 * This,
\r
8344 BMDAudioSampleRate sampleRate,
\r
8345 BMDAudioSampleType sampleType,
\r
8346 unsigned long channelCount);
\r
8348 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
8349 IDeckLinkOutput_v7_1 * This);
\r
8351 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
8352 IDeckLinkOutput_v7_1 * This,
\r
8354 unsigned long sampleFrameCount,
\r
8355 /* [out] */ unsigned long *sampleFramesWritten);
\r
8357 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
8358 IDeckLinkOutput_v7_1 * This);
\r
8360 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
8361 IDeckLinkOutput_v7_1 * This);
\r
8363 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
8364 IDeckLinkOutput_v7_1 * This,
\r
8366 unsigned long sampleFrameCount,
\r
8367 BMDTimeValue streamTime,
\r
8368 BMDTimeScale timeScale,
\r
8369 /* [out] */ unsigned long *sampleFramesWritten);
\r
8371 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
8372 IDeckLinkOutput_v7_1 * This,
\r
8373 /* [out] */ unsigned long *bufferedSampleCount);
\r
8375 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
8376 IDeckLinkOutput_v7_1 * This);
\r
8378 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
8379 IDeckLinkOutput_v7_1 * This,
\r
8380 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
8382 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
8383 IDeckLinkOutput_v7_1 * This,
\r
8384 BMDTimeValue playbackStartTime,
\r
8385 BMDTimeScale timeScale,
\r
8386 double playbackSpeed);
\r
8388 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
8389 IDeckLinkOutput_v7_1 * This,
\r
8390 BMDTimeValue stopPlaybackAtTime,
\r
8391 BMDTimeValue *actualStopTime,
\r
8392 BMDTimeScale timeScale);
\r
8394 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
8395 IDeckLinkOutput_v7_1 * This,
\r
8396 BMDTimeScale desiredTimeScale,
\r
8397 BMDTimeValue *elapsedTimeSinceSchedulerBegan);
\r
8400 } IDeckLinkOutput_v7_1Vtbl;
\r
8402 interface IDeckLinkOutput_v7_1
\r
8404 CONST_VTBL struct IDeckLinkOutput_v7_1Vtbl *lpVtbl;
\r
8412 #define IDeckLinkOutput_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8413 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8415 #define IDeckLinkOutput_v7_1_AddRef(This) \
\r
8416 ( (This)->lpVtbl -> AddRef(This) )
\r
8418 #define IDeckLinkOutput_v7_1_Release(This) \
\r
8419 ( (This)->lpVtbl -> Release(This) )
\r
8422 #define IDeckLinkOutput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
8423 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
8425 #define IDeckLinkOutput_v7_1_GetDisplayModeIterator(This,iterator) \
\r
8426 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
8428 #define IDeckLinkOutput_v7_1_EnableVideoOutput(This,displayMode) \
\r
8429 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode) )
\r
8431 #define IDeckLinkOutput_v7_1_DisableVideoOutput(This) \
\r
8432 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
8434 #define IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
8435 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
8437 #define IDeckLinkOutput_v7_1_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
8438 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
8440 #define IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
8441 ( (This)->lpVtbl -> CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
8443 #define IDeckLinkOutput_v7_1_DisplayVideoFrameSync(This,theFrame) \
\r
8444 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
8446 #define IDeckLinkOutput_v7_1_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
8447 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
8449 #define IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
8450 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
8452 #define IDeckLinkOutput_v7_1_EnableAudioOutput(This,sampleRate,sampleType,channelCount) \
\r
8453 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount) )
\r
8455 #define IDeckLinkOutput_v7_1_DisableAudioOutput(This) \
\r
8456 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
8458 #define IDeckLinkOutput_v7_1_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
8459 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
8461 #define IDeckLinkOutput_v7_1_BeginAudioPreroll(This) \
\r
8462 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
8464 #define IDeckLinkOutput_v7_1_EndAudioPreroll(This) \
\r
8465 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
8467 #define IDeckLinkOutput_v7_1_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
8468 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
8470 #define IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
\r
8471 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
\r
8473 #define IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(This) \
\r
8474 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
8476 #define IDeckLinkOutput_v7_1_SetAudioCallback(This,theCallback) \
\r
8477 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
8479 #define IDeckLinkOutput_v7_1_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
8480 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
8482 #define IDeckLinkOutput_v7_1_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
8483 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
8485 #define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
\r
8486 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) )
\r
8488 #endif /* COBJMACROS */
\r
8491 #endif /* C style interface */
\r
8496 #endif /* __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ */
\r
8499 #ifndef __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
\r
8500 #define __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
\r
8502 /* interface IDeckLinkInput_v7_1 */
\r
8503 /* [helpstring][uuid][object] */
\r
8506 EXTERN_C const IID IID_IDeckLinkInput_v7_1;
\r
8508 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8510 MIDL_INTERFACE("2B54EDEF-5B32-429F-BA11-BB990596EACD")
\r
8511 IDeckLinkInput_v7_1 : public IUnknown
\r
8514 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
8515 BMDDisplayMode displayMode,
\r
8516 BMDPixelFormat pixelFormat,
\r
8517 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
8519 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
8520 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
\r
8522 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
8523 BMDDisplayMode displayMode,
\r
8524 BMDPixelFormat pixelFormat,
\r
8525 BMDVideoInputFlags flags) = 0;
\r
8527 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
8529 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
8530 BMDAudioSampleRate sampleRate,
\r
8531 BMDAudioSampleType sampleType,
\r
8532 unsigned long channelCount) = 0;
\r
8534 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
8536 virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples(
\r
8538 unsigned long sampleFrameCount,
\r
8539 /* [out] */ unsigned long *sampleFramesRead,
\r
8540 /* [out] */ BMDTimeValue *audioPacketTime,
\r
8541 BMDTimeScale timeScale) = 0;
\r
8543 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
8544 /* [out] */ unsigned long *bufferedSampleCount) = 0;
\r
8546 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
8548 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
8550 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
8552 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
8553 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback) = 0;
\r
8557 #else /* C style interface */
\r
8559 typedef struct IDeckLinkInput_v7_1Vtbl
\r
8563 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8564 IDeckLinkInput_v7_1 * This,
\r
8565 /* [in] */ REFIID riid,
\r
8566 /* [annotation][iid_is][out] */
\r
8567 __RPC__deref_out void **ppvObject);
\r
8569 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8570 IDeckLinkInput_v7_1 * This);
\r
8572 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8573 IDeckLinkInput_v7_1 * This);
\r
8575 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
8576 IDeckLinkInput_v7_1 * This,
\r
8577 BMDDisplayMode displayMode,
\r
8578 BMDPixelFormat pixelFormat,
\r
8579 /* [out] */ BMDDisplayModeSupport *result);
\r
8581 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
8582 IDeckLinkInput_v7_1 * This,
\r
8583 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
\r
8585 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
8586 IDeckLinkInput_v7_1 * This,
\r
8587 BMDDisplayMode displayMode,
\r
8588 BMDPixelFormat pixelFormat,
\r
8589 BMDVideoInputFlags flags);
\r
8591 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
8592 IDeckLinkInput_v7_1 * This);
\r
8594 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
8595 IDeckLinkInput_v7_1 * This,
\r
8596 BMDAudioSampleRate sampleRate,
\r
8597 BMDAudioSampleType sampleType,
\r
8598 unsigned long channelCount);
\r
8600 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
8601 IDeckLinkInput_v7_1 * This);
\r
8603 HRESULT ( STDMETHODCALLTYPE *ReadAudioSamples )(
\r
8604 IDeckLinkInput_v7_1 * This,
\r
8606 unsigned long sampleFrameCount,
\r
8607 /* [out] */ unsigned long *sampleFramesRead,
\r
8608 /* [out] */ BMDTimeValue *audioPacketTime,
\r
8609 BMDTimeScale timeScale);
\r
8611 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
8612 IDeckLinkInput_v7_1 * This,
\r
8613 /* [out] */ unsigned long *bufferedSampleCount);
\r
8615 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
8616 IDeckLinkInput_v7_1 * This);
\r
8618 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
8619 IDeckLinkInput_v7_1 * This);
\r
8621 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
8622 IDeckLinkInput_v7_1 * This);
\r
8624 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
8625 IDeckLinkInput_v7_1 * This,
\r
8626 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback);
\r
8629 } IDeckLinkInput_v7_1Vtbl;
\r
8631 interface IDeckLinkInput_v7_1
\r
8633 CONST_VTBL struct IDeckLinkInput_v7_1Vtbl *lpVtbl;
\r
8641 #define IDeckLinkInput_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8642 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8644 #define IDeckLinkInput_v7_1_AddRef(This) \
\r
8645 ( (This)->lpVtbl -> AddRef(This) )
\r
8647 #define IDeckLinkInput_v7_1_Release(This) \
\r
8648 ( (This)->lpVtbl -> Release(This) )
\r
8651 #define IDeckLinkInput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
8652 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
8654 #define IDeckLinkInput_v7_1_GetDisplayModeIterator(This,iterator) \
\r
8655 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
8657 #define IDeckLinkInput_v7_1_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
8658 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
8660 #define IDeckLinkInput_v7_1_DisableVideoInput(This) \
\r
8661 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
8663 #define IDeckLinkInput_v7_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
8664 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
8666 #define IDeckLinkInput_v7_1_DisableAudioInput(This) \
\r
8667 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
8669 #define IDeckLinkInput_v7_1_ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) \
\r
8670 ( (This)->lpVtbl -> ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) )
\r
8672 #define IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
\r
8673 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
\r
8675 #define IDeckLinkInput_v7_1_StartStreams(This) \
\r
8676 ( (This)->lpVtbl -> StartStreams(This) )
\r
8678 #define IDeckLinkInput_v7_1_StopStreams(This) \
\r
8679 ( (This)->lpVtbl -> StopStreams(This) )
\r
8681 #define IDeckLinkInput_v7_1_PauseStreams(This) \
\r
8682 ( (This)->lpVtbl -> PauseStreams(This) )
\r
8684 #define IDeckLinkInput_v7_1_SetCallback(This,theCallback) \
\r
8685 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
8687 #endif /* COBJMACROS */
\r
8690 #endif /* C style interface */
\r
8695 #endif /* __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ */
\r
8697 #endif /* __DeckLinkAPI_LIBRARY_DEFINED__ */
\r
8699 /* Additional Prototypes for ALL interfaces */
\r
8701 /* end of Additional Prototypes */
\r
8703 #ifdef __cplusplus
\r