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 11:25:59 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 bmdModeHD1080p2398 = 0x32337073,
\r
480 bmdModeHD1080p24 = 0x32347073,
\r
481 bmdModeHD1080p25 = 0x48703235,
\r
482 bmdModeHD1080p2997 = 0x48703239,
\r
483 bmdModeHD1080p30 = 0x48703330,
\r
484 bmdModeHD1080i50 = 0x48693530,
\r
485 bmdModeHD1080i5994 = 0x48693539,
\r
486 bmdModeHD1080i6000 = 0x48693630,
\r
487 bmdModeHD1080p50 = 0x48703530,
\r
488 bmdModeHD1080p5994 = 0x48703539,
\r
489 bmdModeHD1080p6000 = 0x48703630,
\r
490 bmdModeHD720p50 = 0x68703530,
\r
491 bmdModeHD720p5994 = 0x68703539,
\r
492 bmdModeHD720p60 = 0x68703630,
\r
493 bmdMode2k2398 = 0x326b3233,
\r
494 bmdMode2k24 = 0x326b3234,
\r
495 bmdMode2k25 = 0x326b3235
\r
498 typedef /* [v1_enum] */
\r
499 enum _BMDFieldDominance
\r
500 { bmdUnknownFieldDominance = 0,
\r
501 bmdLowerFieldFirst = 0x6c6f7772,
\r
502 bmdUpperFieldFirst = 0x75707072,
\r
503 bmdProgressiveFrame = 0x70726f67,
\r
504 bmdProgressiveSegmentedFrame = 0x70736620
\r
505 } BMDFieldDominance;
\r
507 typedef /* [v1_enum] */
\r
508 enum _BMDPixelFormat
\r
509 { bmdFormat8BitYUV = 0x32767579,
\r
510 bmdFormat10BitYUV = 0x76323130,
\r
511 bmdFormat8BitARGB = 32,
\r
512 bmdFormat8BitBGRA = 0x42475241,
\r
513 bmdFormat10BitRGB = 0x72323130
\r
517 enum _BMDDisplayModeFlags
\r
518 { bmdDisplayModeSupports3D = ( 1 << 0 ) ,
\r
519 bmdDisplayModeColorspaceRec601 = ( 1 << 1 ) ,
\r
520 bmdDisplayModeColorspaceRec709 = ( 1 << 2 )
\r
522 typedef /* [v1_enum] */
\r
523 enum _BMDVideoOutputFlags
\r
524 { bmdVideoOutputFlagDefault = 0,
\r
525 bmdVideoOutputVANC = ( 1 << 0 ) ,
\r
526 bmdVideoOutputVITC = ( 1 << 1 ) ,
\r
527 bmdVideoOutputRP188 = ( 1 << 2 ) ,
\r
528 bmdVideoOutputDualStream3D = ( 1 << 4 )
\r
529 } BMDVideoOutputFlags;
\r
532 enum _BMDFrameFlags
\r
533 { bmdFrameFlagDefault = 0,
\r
534 bmdFrameFlagFlipVertical = ( 1 << 0 ) ,
\r
535 bmdFrameHasNoInputSource = ( 1 << 31 )
\r
538 enum _BMDVideoInputFlags
\r
539 { bmdVideoInputFlagDefault = 0,
\r
540 bmdVideoInputEnableFormatDetection = ( 1 << 0 ) ,
\r
541 bmdVideoInputDualStream3D = ( 1 << 1 )
\r
544 enum _BMDVideoInputFormatChangedEvents
\r
545 { bmdVideoInputDisplayModeChanged = ( 1 << 0 ) ,
\r
546 bmdVideoInputFieldDominanceChanged = ( 1 << 1 ) ,
\r
547 bmdVideoInputColorspaceChanged = ( 1 << 2 )
\r
550 enum _BMDDetectedVideoInputFormatFlags
\r
551 { bmdDetectedVideoInputYCbCr422 = ( 1 << 0 ) ,
\r
552 bmdDetectedVideoInputRGB444 = ( 1 << 1 )
\r
554 typedef /* [v1_enum] */
\r
555 enum _BMDOutputFrameCompletionResult
\r
556 { bmdOutputFrameCompleted = 0,
\r
557 bmdOutputFrameDisplayedLate = ( bmdOutputFrameCompleted + 1 ) ,
\r
558 bmdOutputFrameDropped = ( bmdOutputFrameDisplayedLate + 1 ) ,
\r
559 bmdOutputFrameFlushed = ( bmdOutputFrameDropped + 1 )
\r
560 } BMDOutputFrameCompletionResult;
\r
562 typedef /* [v1_enum] */
\r
563 enum _BMDReferenceStatus
\r
564 { bmdReferenceNotSupportedByHardware = ( 1 << 0 ) ,
\r
565 bmdReferenceLocked = ( 1 << 1 )
\r
566 } BMDReferenceStatus;
\r
568 typedef /* [v1_enum] */
\r
569 enum _BMDAudioSampleRate
\r
570 { bmdAudioSampleRate48kHz = 48000
\r
571 } BMDAudioSampleRate;
\r
573 typedef /* [v1_enum] */
\r
574 enum _BMDAudioSampleType
\r
575 { bmdAudioSampleType16bitInteger = 16,
\r
576 bmdAudioSampleType32bitInteger = 32
\r
577 } BMDAudioSampleType;
\r
579 typedef /* [v1_enum] */
\r
580 enum _BMDAudioOutputStreamType
\r
581 { bmdAudioOutputStreamContinuous = 0,
\r
582 bmdAudioOutputStreamContinuousDontResample = ( bmdAudioOutputStreamContinuous + 1 ) ,
\r
583 bmdAudioOutputStreamTimestamped = ( bmdAudioOutputStreamContinuousDontResample + 1 )
\r
584 } BMDAudioOutputStreamType;
\r
586 typedef /* [v1_enum] */
\r
587 enum _BMDDisplayModeSupport
\r
588 { bmdDisplayModeNotSupported = 0,
\r
589 bmdDisplayModeSupported = ( bmdDisplayModeNotSupported + 1 ) ,
\r
590 bmdDisplayModeSupportedWithConversion = ( bmdDisplayModeSupported + 1 )
\r
591 } BMDDisplayModeSupport;
\r
593 typedef /* [v1_enum] */
\r
594 enum _BMDTimecodeFormat
\r
595 { bmdTimecodeRP188 = 0x72703138,
\r
596 bmdTimecodeVITC = 0x76697463,
\r
597 bmdTimecodeSerial = 0x73657269
\r
598 } BMDTimecodeFormat;
\r
601 enum _BMDTimecodeFlags
\r
602 { bmdTimecodeFlagDefault = 0,
\r
603 bmdTimecodeIsDropFrame = ( 1 << 0 )
\r
605 typedef /* [v1_enum] */
\r
606 enum _BMDVideoConnection
\r
607 { bmdVideoConnectionSDI = ( 1 << 0 ) ,
\r
608 bmdVideoConnectionHDMI = ( 1 << 1 ) ,
\r
609 bmdVideoConnectionOpticalSDI = ( 1 << 2 ) ,
\r
610 bmdVideoConnectionComponent = ( 1 << 3 ) ,
\r
611 bmdVideoConnectionComposite = ( 1 << 4 ) ,
\r
612 bmdVideoConnectionSVideo = ( 1 << 5 )
\r
613 } BMDVideoConnection;
\r
616 enum _BMDAnalogVideoFlags
\r
617 { bmdAnalogVideoFlagCompositeSetup75 = ( 1 << 0 ) ,
\r
618 bmdAnalogVideoFlagComponentBetacamLevels = ( 1 << 1 )
\r
620 typedef /* [v1_enum] */
\r
621 enum _BMDAudioConnection
\r
622 { bmdAudioConnectionEmbedded = 0x656d6264,
\r
623 bmdAudioConnectionAESEBU = 0x61657320,
\r
624 bmdAudioConnectionAnalog = 0x616e6c67
\r
625 } BMDAudioConnection;
\r
627 typedef /* [v1_enum] */
\r
628 enum _BMDAudioOutputAnalogAESSwitch
\r
629 { bmdAudioOutputSwitchAESEBU = 0x61657320,
\r
630 bmdAudioOutputSwitchAnalog = 0x616e6c67
\r
631 } BMDAudioOutputAnalogAESSwitch;
\r
633 typedef /* [v1_enum] */
\r
634 enum _BMDVideoOutputConversionMode
\r
635 { bmdNoVideoOutputConversion = 0x6e6f6e65,
\r
636 bmdVideoOutputLetterboxDownconversion = 0x6c746278,
\r
637 bmdVideoOutputAnamorphicDownconversion = 0x616d7068,
\r
638 bmdVideoOutputHD720toHD1080Conversion = 0x37323063,
\r
639 bmdVideoOutputHardwareLetterboxDownconversion = 0x48576c62,
\r
640 bmdVideoOutputHardwareAnamorphicDownconversion = 0x4857616d,
\r
641 bmdVideoOutputHardwareCenterCutDownconversion = 0x48576363,
\r
642 bmdVideoOutputHardware720p1080pCrossconversion = 0x78636170,
\r
643 bmdVideoOutputHardwareAnamorphic720pUpconversion = 0x75613770,
\r
644 bmdVideoOutputHardwareAnamorphic1080iUpconversion = 0x75613169,
\r
645 bmdVideoOutputHardwareAnamorphic149To720pUpconversion = 0x75343770,
\r
646 bmdVideoOutputHardwareAnamorphic149To1080iUpconversion = 0x75343169,
\r
647 bmdVideoOutputHardwarePillarbox720pUpconversion = 0x75703770,
\r
648 bmdVideoOutputHardwarePillarbox1080iUpconversion = 0x75703169
\r
649 } BMDVideoOutputConversionMode;
\r
651 typedef /* [v1_enum] */
\r
652 enum _BMDVideoInputConversionMode
\r
653 { bmdNoVideoInputConversion = 0x6e6f6e65,
\r
654 bmdVideoInputLetterboxDownconversionFromHD1080 = 0x31306c62,
\r
655 bmdVideoInputAnamorphicDownconversionFromHD1080 = 0x3130616d,
\r
656 bmdVideoInputLetterboxDownconversionFromHD720 = 0x37326c62,
\r
657 bmdVideoInputAnamorphicDownconversionFromHD720 = 0x3732616d,
\r
658 bmdVideoInputLetterboxUpconversion = 0x6c627570,
\r
659 bmdVideoInputAnamorphicUpconversion = 0x616d7570
\r
660 } BMDVideoInputConversionMode;
\r
662 typedef /* [v1_enum] */
\r
663 enum _BMDVideo3DPackingFormat
\r
664 { bmdVideo3DPackingSidebySideHalf = 0x73627368,
\r
665 bmdVideo3DPackingLinebyLine = 0x6c62796c,
\r
666 bmdVideo3DPackingTopAndBottom = 0x7461626f,
\r
667 bmdVideo3DPackingLeftOnly = 0x6c656674,
\r
668 bmdVideo3DPackingRightOnly = 0x72696768
\r
669 } BMDVideo3DPackingFormat;
\r
671 typedef /* [v1_enum] */
\r
672 enum _BMDDeckLinkConfigurationID
\r
673 { bmdDeckLinkConfigUse1080pNotPsF = 0x6670726f,
\r
674 bmdDeckLinkConfigHDMI3DPackingFormat = 0x33647066,
\r
675 bmdDeckLinkConfigAnalogAudioConsumerLevels = 0x6161636c,
\r
676 bmdDeckLinkConfigFieldFlickerRemoval = 0x66646672,
\r
677 bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 0x746f3539,
\r
678 bmdDeckLinkConfig444SDIVideoOutput = 0x3434346f,
\r
679 bmdDeckLinkConfig3GBpsVideoOutput = 0x33676273,
\r
680 bmdDeckLinkConfigBlackVideoOutputDuringCapture = 0x62766f63,
\r
681 bmdDeckLinkConfigLowLatencyVideoOutput = 0x6c6c766f,
\r
682 bmdDeckLinkConfigVideoOutputConnection = 0x766f636e,
\r
683 bmdDeckLinkConfigVideoOutputConversionMode = 0x766f636d,
\r
684 bmdDeckLinkConfigAnalogVideoOutputFlags = 0x61766f66,
\r
685 bmdDeckLinkConfigReferenceInputTimingOffset = 0x676c6f74,
\r
686 bmdDeckLinkConfigVideoInputConnection = 0x7669636e,
\r
687 bmdDeckLinkConfigAnalogVideoInputFlags = 0x61766966,
\r
688 bmdDeckLinkConfigVideoInputConversionMode = 0x7669636d,
\r
689 bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = 0x70646966,
\r
690 bmdDeckLinkConfigVANCSourceLine1Mapping = 0x76736c31,
\r
691 bmdDeckLinkConfigVANCSourceLine2Mapping = 0x76736c32,
\r
692 bmdDeckLinkConfigVANCSourceLine3Mapping = 0x76736c33,
\r
693 bmdDeckLinkConfigAudioInputConnection = 0x6169636e,
\r
694 bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = 0x61697331,
\r
695 bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = 0x61697332,
\r
696 bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 0x61697333,
\r
697 bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 0x61697334,
\r
698 bmdDeckLinkConfigDigitalAudioInputScale = 0x64616973,
\r
699 bmdDeckLinkConfigAudioOutputAESAnalogSwitch = 0x616f6161,
\r
700 bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = 0x616f7331,
\r
701 bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 0x616f7332,
\r
702 bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 0x616f7333,
\r
703 bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 0x616f7334,
\r
704 bmdDeckLinkConfigDigitalAudioOutputScale = 0x64616f73
\r
705 } BMDDeckLinkConfigurationID;
\r
707 typedef /* [v1_enum] */
\r
708 enum _BMDDeckLinkAttributeID
\r
709 { BMDDeckLinkSupportsInternalKeying = 0x6b657969,
\r
710 BMDDeckLinkSupportsExternalKeying = 0x6b657965,
\r
711 BMDDeckLinkSupportsHDKeying = 0x6b657968,
\r
712 BMDDeckLinkSupportsInputFormatDetection = 0x696e6664,
\r
713 BMDDeckLinkHasReferenceInput = 0x6872696e,
\r
714 BMDDeckLinkHasSerialPort = 0x68737074,
\r
715 BMDDeckLinkMaximumAudioChannels = 0x6d616368,
\r
716 BMDDeckLinkNumberOfSubDevices = 0x6e736264,
\r
717 BMDDeckLinkSubDeviceIndex = 0x73756269,
\r
718 BMDDeckLinkVideoOutputConnections = 0x766f636e,
\r
719 BMDDeckLinkVideoInputConnections = 0x7669636e,
\r
720 BMDDeckLinkSerialPortDeviceName = 0x736c706e
\r
721 } BMDDeckLinkAttributeID;
\r
723 typedef /* [v1_enum] */
\r
724 enum _BMDDeckLinkAPIInformationID
\r
725 { BMDDeckLinkAPIVersion = 0x76657273
\r
726 } BMDDeckLinkAPIInformationID;
\r
728 typedef /* [v1_enum] */
\r
729 enum _BMDDeckControlMode
\r
730 { bmdDeckControlNotOpened = 0x6e746f70,
\r
731 bmdDeckControlVTRControlMode = 0x76747263,
\r
732 bmdDeckControlExportMode = 0x6578706d,
\r
733 bmdDeckControlCaptureMode = 0x6361706d
\r
734 } BMDDeckControlMode;
\r
736 typedef /* [v1_enum] */
\r
737 enum _BMDDeckControlEvent
\r
738 { bmdDeckControlAbortedEvent = 0x61627465,
\r
739 bmdDeckControlPrepareForExportEvent = 0x70666565,
\r
740 bmdDeckControlExportCompleteEvent = 0x65786365,
\r
741 bmdDeckControlPrepareForCaptureEvent = 0x70666365,
\r
742 bmdDeckControlCaptureCompleteEvent = 0x63636576
\r
743 } BMDDeckControlEvent;
\r
745 typedef /* [v1_enum] */
\r
746 enum _BMDDeckControlVTRControlState
\r
747 { bmdDeckControlNotInVTRControlMode = 0x6e76636d,
\r
748 bmdDeckControlVTRControlPlaying = 0x76747270,
\r
749 bmdDeckControlVTRControlRecording = 0x76747272,
\r
750 bmdDeckControlVTRControlStill = 0x76747261,
\r
751 bmdDeckControlVTRControlSeeking = 0x76747273,
\r
752 bmdDeckControlVTRControlStopped = 0x7674726f
\r
753 } BMDDeckControlVTRControlState;
\r
756 enum _BMDDeckControlStatusFlags
\r
757 { bmdDeckControlStatusDeckConnected = ( 1 << 0 ) ,
\r
758 bmdDeckControlStatusRemoteMode = ( 1 << 1 ) ,
\r
759 bmdDeckControlStatusRecordInhibited = ( 1 << 2 ) ,
\r
760 bmdDeckControlStatusCassetteOut = ( 1 << 3 )
\r
763 enum _BMDDeckControlExportModeOpsFlags
\r
764 { bmdDeckControlExportModeInsertVideo = ( 1 << 0 ) ,
\r
765 bmdDeckControlExportModeInsertAudio1 = ( 1 << 1 ) ,
\r
766 bmdDeckControlExportModeInsertAudio2 = ( 1 << 2 ) ,
\r
767 bmdDeckControlExportModeInsertAudio3 = ( 1 << 3 ) ,
\r
768 bmdDeckControlExportModeInsertAudio4 = ( 1 << 4 ) ,
\r
769 bmdDeckControlExportModeInsertAudio5 = ( 1 << 5 ) ,
\r
770 bmdDeckControlExportModeInsertAudio6 = ( 1 << 6 ) ,
\r
771 bmdDeckControlExportModeInsertAudio7 = ( 1 << 7 ) ,
\r
772 bmdDeckControlExportModeInsertAudio8 = ( 1 << 8 ) ,
\r
773 bmdDeckControlExportModeInsertAudio9 = ( 1 << 9 ) ,
\r
774 bmdDeckControlExportModeInsertAudio10 = ( 1 << 10 ) ,
\r
775 bmdDeckControlExportModeInsertAudio11 = ( 1 << 11 ) ,
\r
776 bmdDeckControlExportModeInsertAudio12 = ( 1 << 12 ) ,
\r
777 bmdDeckControlExportModeInsertTimeCode = ( 1 << 13 ) ,
\r
778 bmdDeckControlExportModeInsertAssemble = ( 1 << 14 ) ,
\r
779 bmdDeckControlExportModeInsertPreview = ( 1 << 15 ) ,
\r
780 bmdDeckControlUseManualExport = ( 1 << 16 )
\r
782 typedef /* [v1_enum] */
\r
783 enum _BMDDeckControlError
\r
784 { bmdDeckControlNoError = 0x6e6f6572,
\r
785 bmdDeckControlModeError = 0x6d6f6572,
\r
786 bmdDeckControlMissedInPointError = 0x6d696572,
\r
787 bmdDeckControlDeckTimeoutError = 0x64746572,
\r
788 bmdDeckControlCommandFailedError = 0x63666572,
\r
789 bmdDeckControlDeviceAlreadyOpenedError = 0x64616c6f,
\r
790 bmdDeckControlFailedToOpenDeviceError = 0x66646572,
\r
791 bmdDeckControlInLocalModeError = 0x6c6d6572,
\r
792 bmdDeckControlEndOfTapeError = 0x65746572,
\r
793 bmdDeckControlUserAbortError = 0x75616572,
\r
794 bmdDeckControlNoTapeInDeckError = 0x6e746572,
\r
795 bmdDeckControlNoVideoFromCardError = 0x6e766663,
\r
796 bmdDeckControlNoCommunicationError = 0x6e636f6d,
\r
797 bmdDeckControlUnknownError = 0x756e6572
\r
798 } BMDDeckControlError;
\r
800 typedef /* [v1_enum] */
\r
801 enum _BMD3DPreviewFormat
\r
802 { bmd3DPreviewFormatDefault = 0x64656661,
\r
803 bmd3DPreviewFormatLeftOnly = 0x6c656674,
\r
804 bmd3DPreviewFormatRightOnly = 0x72696768,
\r
805 bmd3DPreviewFormatSideBySide = 0x73696465,
\r
806 bmd3DPreviewFormatTopBottom = 0x746f7062
\r
807 } BMD3DPreviewFormat;
\r
835 typedef /* [v1_enum] */
\r
836 enum _BMDVideoConnection_v7_6
\r
837 { bmdVideoConnectionSDI_v7_6 = 0x73646920,
\r
838 bmdVideoConnectionHDMI_v7_6 = 0x68646d69,
\r
839 bmdVideoConnectionOpticalSDI_v7_6 = 0x6f707469,
\r
840 bmdVideoConnectionComponent_v7_6 = 0x63706e74,
\r
841 bmdVideoConnectionComposite_v7_6 = 0x636d7374,
\r
842 bmdVideoConnectionSVideo_v7_6 = 0x73766964
\r
843 } BMDVideoConnection_v7_6;
\r
867 EXTERN_C const IID LIBID_DeckLinkAPI;
\r
869 #ifndef __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__
\r
870 #define __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__
\r
872 /* interface IDeckLinkVideoOutputCallback */
\r
873 /* [helpstring][uuid][object] */
\r
876 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback;
\r
878 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
880 MIDL_INTERFACE("20AA5225-1958-47CB-820B-80A8D521A6EE")
\r
881 IDeckLinkVideoOutputCallback : public IUnknown
\r
884 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
\r
885 /* [in] */ IDeckLinkVideoFrame *completedFrame,
\r
886 /* [in] */ BMDOutputFrameCompletionResult result) = 0;
\r
888 virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0;
\r
892 #else /* C style interface */
\r
894 typedef struct IDeckLinkVideoOutputCallbackVtbl
\r
898 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
899 IDeckLinkVideoOutputCallback * This,
\r
900 /* [in] */ REFIID riid,
\r
901 /* [annotation][iid_is][out] */
\r
902 __RPC__deref_out void **ppvObject);
\r
904 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
905 IDeckLinkVideoOutputCallback * This);
\r
907 ULONG ( STDMETHODCALLTYPE *Release )(
\r
908 IDeckLinkVideoOutputCallback * This);
\r
910 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
\r
911 IDeckLinkVideoOutputCallback * This,
\r
912 /* [in] */ IDeckLinkVideoFrame *completedFrame,
\r
913 /* [in] */ BMDOutputFrameCompletionResult result);
\r
915 HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )(
\r
916 IDeckLinkVideoOutputCallback * This);
\r
919 } IDeckLinkVideoOutputCallbackVtbl;
\r
921 interface IDeckLinkVideoOutputCallback
\r
923 CONST_VTBL struct IDeckLinkVideoOutputCallbackVtbl *lpVtbl;
\r
931 #define IDeckLinkVideoOutputCallback_QueryInterface(This,riid,ppvObject) \
\r
932 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
934 #define IDeckLinkVideoOutputCallback_AddRef(This) \
\r
935 ( (This)->lpVtbl -> AddRef(This) )
\r
937 #define IDeckLinkVideoOutputCallback_Release(This) \
\r
938 ( (This)->lpVtbl -> Release(This) )
\r
941 #define IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(This,completedFrame,result) \
\r
942 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
\r
944 #define IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(This) \
\r
945 ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) )
\r
947 #endif /* COBJMACROS */
\r
950 #endif /* C style interface */
\r
955 #endif /* __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ */
\r
958 #ifndef __IDeckLinkInputCallback_INTERFACE_DEFINED__
\r
959 #define __IDeckLinkInputCallback_INTERFACE_DEFINED__
\r
961 /* interface IDeckLinkInputCallback */
\r
962 /* [helpstring][uuid][object] */
\r
965 EXTERN_C const IID IID_IDeckLinkInputCallback;
\r
967 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
969 MIDL_INTERFACE("DD04E5EC-7415-42AB-AE4A-E80C4DFC044A")
\r
970 IDeckLinkInputCallback : public IUnknown
\r
973 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
\r
974 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
975 /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
\r
976 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
\r
978 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
979 /* [in] */ IDeckLinkVideoInputFrame *videoFrame,
\r
980 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
\r
984 #else /* C style interface */
\r
986 typedef struct IDeckLinkInputCallbackVtbl
\r
990 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
991 IDeckLinkInputCallback * This,
\r
992 /* [in] */ REFIID riid,
\r
993 /* [annotation][iid_is][out] */
\r
994 __RPC__deref_out void **ppvObject);
\r
996 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
997 IDeckLinkInputCallback * This);
\r
999 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1000 IDeckLinkInputCallback * This);
\r
1002 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
\r
1003 IDeckLinkInputCallback * This,
\r
1004 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
1005 /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
\r
1006 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
\r
1008 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
1009 IDeckLinkInputCallback * This,
\r
1010 /* [in] */ IDeckLinkVideoInputFrame *videoFrame,
\r
1011 /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
\r
1014 } IDeckLinkInputCallbackVtbl;
\r
1016 interface IDeckLinkInputCallback
\r
1018 CONST_VTBL struct IDeckLinkInputCallbackVtbl *lpVtbl;
\r
1026 #define IDeckLinkInputCallback_QueryInterface(This,riid,ppvObject) \
\r
1027 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1029 #define IDeckLinkInputCallback_AddRef(This) \
\r
1030 ( (This)->lpVtbl -> AddRef(This) )
\r
1032 #define IDeckLinkInputCallback_Release(This) \
\r
1033 ( (This)->lpVtbl -> Release(This) )
\r
1036 #define IDeckLinkInputCallback_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
\r
1037 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
\r
1039 #define IDeckLinkInputCallback_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
1040 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
1042 #endif /* COBJMACROS */
\r
1045 #endif /* C style interface */
\r
1050 #endif /* __IDeckLinkInputCallback_INTERFACE_DEFINED__ */
\r
1053 #ifndef __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__
\r
1054 #define __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__
\r
1056 /* interface IDeckLinkMemoryAllocator */
\r
1057 /* [helpstring][local][uuid][object] */
\r
1060 EXTERN_C const IID IID_IDeckLinkMemoryAllocator;
\r
1062 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1064 MIDL_INTERFACE("B36EB6E7-9D29-4AA8-92EF-843B87A289E8")
\r
1065 IDeckLinkMemoryAllocator : public IUnknown
\r
1068 virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(
\r
1069 /* [in] */ unsigned long bufferSize,
\r
1070 /* [out] */ void **allocatedBuffer) = 0;
\r
1072 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
\r
1073 /* [in] */ void *buffer) = 0;
\r
1075 virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
\r
1077 virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
\r
1081 #else /* C style interface */
\r
1083 typedef struct IDeckLinkMemoryAllocatorVtbl
\r
1087 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1088 IDeckLinkMemoryAllocator * This,
\r
1089 /* [in] */ REFIID riid,
\r
1090 /* [annotation][iid_is][out] */
\r
1091 __RPC__deref_out void **ppvObject);
\r
1093 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1094 IDeckLinkMemoryAllocator * This);
\r
1096 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1097 IDeckLinkMemoryAllocator * This);
\r
1099 HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )(
\r
1100 IDeckLinkMemoryAllocator * This,
\r
1101 /* [in] */ unsigned long bufferSize,
\r
1102 /* [out] */ void **allocatedBuffer);
\r
1104 HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
\r
1105 IDeckLinkMemoryAllocator * This,
\r
1106 /* [in] */ void *buffer);
\r
1108 HRESULT ( STDMETHODCALLTYPE *Commit )(
\r
1109 IDeckLinkMemoryAllocator * This);
\r
1111 HRESULT ( STDMETHODCALLTYPE *Decommit )(
\r
1112 IDeckLinkMemoryAllocator * This);
\r
1115 } IDeckLinkMemoryAllocatorVtbl;
\r
1117 interface IDeckLinkMemoryAllocator
\r
1119 CONST_VTBL struct IDeckLinkMemoryAllocatorVtbl *lpVtbl;
\r
1127 #define IDeckLinkMemoryAllocator_QueryInterface(This,riid,ppvObject) \
\r
1128 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1130 #define IDeckLinkMemoryAllocator_AddRef(This) \
\r
1131 ( (This)->lpVtbl -> AddRef(This) )
\r
1133 #define IDeckLinkMemoryAllocator_Release(This) \
\r
1134 ( (This)->lpVtbl -> Release(This) )
\r
1137 #define IDeckLinkMemoryAllocator_AllocateBuffer(This,bufferSize,allocatedBuffer) \
\r
1138 ( (This)->lpVtbl -> AllocateBuffer(This,bufferSize,allocatedBuffer) )
\r
1140 #define IDeckLinkMemoryAllocator_ReleaseBuffer(This,buffer) \
\r
1141 ( (This)->lpVtbl -> ReleaseBuffer(This,buffer) )
\r
1143 #define IDeckLinkMemoryAllocator_Commit(This) \
\r
1144 ( (This)->lpVtbl -> Commit(This) )
\r
1146 #define IDeckLinkMemoryAllocator_Decommit(This) \
\r
1147 ( (This)->lpVtbl -> Decommit(This) )
\r
1149 #endif /* COBJMACROS */
\r
1152 #endif /* C style interface */
\r
1157 #endif /* __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ */
\r
1160 #ifndef __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__
\r
1161 #define __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__
\r
1163 /* interface IDeckLinkAudioOutputCallback */
\r
1164 /* [helpstring][local][uuid][object] */
\r
1167 EXTERN_C const IID IID_IDeckLinkAudioOutputCallback;
\r
1169 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1171 MIDL_INTERFACE("403C681B-7F46-4A12-B993-2BB127084EE6")
\r
1172 IDeckLinkAudioOutputCallback : public IUnknown
\r
1175 virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples(
\r
1176 /* [in] */ BOOL preroll) = 0;
\r
1180 #else /* C style interface */
\r
1182 typedef struct IDeckLinkAudioOutputCallbackVtbl
\r
1186 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1187 IDeckLinkAudioOutputCallback * This,
\r
1188 /* [in] */ REFIID riid,
\r
1189 /* [annotation][iid_is][out] */
\r
1190 __RPC__deref_out void **ppvObject);
\r
1192 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1193 IDeckLinkAudioOutputCallback * This);
\r
1195 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1196 IDeckLinkAudioOutputCallback * This);
\r
1198 HRESULT ( STDMETHODCALLTYPE *RenderAudioSamples )(
\r
1199 IDeckLinkAudioOutputCallback * This,
\r
1200 /* [in] */ BOOL preroll);
\r
1203 } IDeckLinkAudioOutputCallbackVtbl;
\r
1205 interface IDeckLinkAudioOutputCallback
\r
1207 CONST_VTBL struct IDeckLinkAudioOutputCallbackVtbl *lpVtbl;
\r
1215 #define IDeckLinkAudioOutputCallback_QueryInterface(This,riid,ppvObject) \
\r
1216 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1218 #define IDeckLinkAudioOutputCallback_AddRef(This) \
\r
1219 ( (This)->lpVtbl -> AddRef(This) )
\r
1221 #define IDeckLinkAudioOutputCallback_Release(This) \
\r
1222 ( (This)->lpVtbl -> Release(This) )
\r
1225 #define IDeckLinkAudioOutputCallback_RenderAudioSamples(This,preroll) \
\r
1226 ( (This)->lpVtbl -> RenderAudioSamples(This,preroll) )
\r
1228 #endif /* COBJMACROS */
\r
1231 #endif /* C style interface */
\r
1236 #endif /* __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ */
\r
1239 #ifndef __IDeckLinkIterator_INTERFACE_DEFINED__
\r
1240 #define __IDeckLinkIterator_INTERFACE_DEFINED__
\r
1242 /* interface IDeckLinkIterator */
\r
1243 /* [helpstring][uuid][object] */
\r
1246 EXTERN_C const IID IID_IDeckLinkIterator;
\r
1248 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1250 MIDL_INTERFACE("74E936FC-CC28-4A67-81A0-1E94E52D4E69")
\r
1251 IDeckLinkIterator : public IUnknown
\r
1254 virtual HRESULT STDMETHODCALLTYPE Next(
\r
1255 /* [out] */ IDeckLink **deckLinkInstance) = 0;
\r
1259 #else /* C style interface */
\r
1261 typedef struct IDeckLinkIteratorVtbl
\r
1265 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1266 IDeckLinkIterator * This,
\r
1267 /* [in] */ REFIID riid,
\r
1268 /* [annotation][iid_is][out] */
\r
1269 __RPC__deref_out void **ppvObject);
\r
1271 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1272 IDeckLinkIterator * This);
\r
1274 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1275 IDeckLinkIterator * This);
\r
1277 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
1278 IDeckLinkIterator * This,
\r
1279 /* [out] */ IDeckLink **deckLinkInstance);
\r
1282 } IDeckLinkIteratorVtbl;
\r
1284 interface IDeckLinkIterator
\r
1286 CONST_VTBL struct IDeckLinkIteratorVtbl *lpVtbl;
\r
1294 #define IDeckLinkIterator_QueryInterface(This,riid,ppvObject) \
\r
1295 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1297 #define IDeckLinkIterator_AddRef(This) \
\r
1298 ( (This)->lpVtbl -> AddRef(This) )
\r
1300 #define IDeckLinkIterator_Release(This) \
\r
1301 ( (This)->lpVtbl -> Release(This) )
\r
1304 #define IDeckLinkIterator_Next(This,deckLinkInstance) \
\r
1305 ( (This)->lpVtbl -> Next(This,deckLinkInstance) )
\r
1307 #endif /* COBJMACROS */
\r
1310 #endif /* C style interface */
\r
1315 #endif /* __IDeckLinkIterator_INTERFACE_DEFINED__ */
\r
1318 #ifndef __IDeckLinkAPIInformation_INTERFACE_DEFINED__
\r
1319 #define __IDeckLinkAPIInformation_INTERFACE_DEFINED__
\r
1321 /* interface IDeckLinkAPIInformation */
\r
1322 /* [helpstring][uuid][object] */
\r
1325 EXTERN_C const IID IID_IDeckLinkAPIInformation;
\r
1327 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1329 MIDL_INTERFACE("7BEA3C68-730D-4322-AF34-8A7152B532A4")
\r
1330 IDeckLinkAPIInformation : public IUnknown
\r
1333 virtual HRESULT STDMETHODCALLTYPE GetFlag(
\r
1334 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1335 /* [out] */ BOOL *value) = 0;
\r
1337 virtual HRESULT STDMETHODCALLTYPE GetInt(
\r
1338 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1339 /* [out] */ LONGLONG *value) = 0;
\r
1341 virtual HRESULT STDMETHODCALLTYPE GetFloat(
\r
1342 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1343 /* [out] */ double *value) = 0;
\r
1345 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
1346 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1347 /* [out] */ BSTR *value) = 0;
\r
1351 #else /* C style interface */
\r
1353 typedef struct IDeckLinkAPIInformationVtbl
\r
1357 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1358 IDeckLinkAPIInformation * This,
\r
1359 /* [in] */ REFIID riid,
\r
1360 /* [annotation][iid_is][out] */
\r
1361 __RPC__deref_out void **ppvObject);
\r
1363 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1364 IDeckLinkAPIInformation * This);
\r
1366 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1367 IDeckLinkAPIInformation * This);
\r
1369 HRESULT ( STDMETHODCALLTYPE *GetFlag )(
\r
1370 IDeckLinkAPIInformation * This,
\r
1371 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1372 /* [out] */ BOOL *value);
\r
1374 HRESULT ( STDMETHODCALLTYPE *GetInt )(
\r
1375 IDeckLinkAPIInformation * This,
\r
1376 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1377 /* [out] */ LONGLONG *value);
\r
1379 HRESULT ( STDMETHODCALLTYPE *GetFloat )(
\r
1380 IDeckLinkAPIInformation * This,
\r
1381 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1382 /* [out] */ double *value);
\r
1384 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
1385 IDeckLinkAPIInformation * This,
\r
1386 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1387 /* [out] */ BSTR *value);
\r
1390 } IDeckLinkAPIInformationVtbl;
\r
1392 interface IDeckLinkAPIInformation
\r
1394 CONST_VTBL struct IDeckLinkAPIInformationVtbl *lpVtbl;
\r
1402 #define IDeckLinkAPIInformation_QueryInterface(This,riid,ppvObject) \
\r
1403 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1405 #define IDeckLinkAPIInformation_AddRef(This) \
\r
1406 ( (This)->lpVtbl -> AddRef(This) )
\r
1408 #define IDeckLinkAPIInformation_Release(This) \
\r
1409 ( (This)->lpVtbl -> Release(This) )
\r
1412 #define IDeckLinkAPIInformation_GetFlag(This,cfgID,value) \
\r
1413 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
\r
1415 #define IDeckLinkAPIInformation_GetInt(This,cfgID,value) \
\r
1416 ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
\r
1418 #define IDeckLinkAPIInformation_GetFloat(This,cfgID,value) \
\r
1419 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
\r
1421 #define IDeckLinkAPIInformation_GetString(This,cfgID,value) \
\r
1422 ( (This)->lpVtbl -> GetString(This,cfgID,value) )
\r
1424 #endif /* COBJMACROS */
\r
1427 #endif /* C style interface */
\r
1432 #endif /* __IDeckLinkAPIInformation_INTERFACE_DEFINED__ */
\r
1435 #ifndef __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__
\r
1436 #define __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__
\r
1438 /* interface IDeckLinkDisplayModeIterator */
\r
1439 /* [helpstring][uuid][object] */
\r
1442 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator;
\r
1444 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1446 MIDL_INTERFACE("9C88499F-F601-4021-B80B-032E4EB41C35")
\r
1447 IDeckLinkDisplayModeIterator : public IUnknown
\r
1450 virtual HRESULT STDMETHODCALLTYPE Next(
\r
1451 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0;
\r
1455 #else /* C style interface */
\r
1457 typedef struct IDeckLinkDisplayModeIteratorVtbl
\r
1461 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1462 IDeckLinkDisplayModeIterator * This,
\r
1463 /* [in] */ REFIID riid,
\r
1464 /* [annotation][iid_is][out] */
\r
1465 __RPC__deref_out void **ppvObject);
\r
1467 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1468 IDeckLinkDisplayModeIterator * This);
\r
1470 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1471 IDeckLinkDisplayModeIterator * This);
\r
1473 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
1474 IDeckLinkDisplayModeIterator * This,
\r
1475 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode);
\r
1478 } IDeckLinkDisplayModeIteratorVtbl;
\r
1480 interface IDeckLinkDisplayModeIterator
\r
1482 CONST_VTBL struct IDeckLinkDisplayModeIteratorVtbl *lpVtbl;
\r
1490 #define IDeckLinkDisplayModeIterator_QueryInterface(This,riid,ppvObject) \
\r
1491 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1493 #define IDeckLinkDisplayModeIterator_AddRef(This) \
\r
1494 ( (This)->lpVtbl -> AddRef(This) )
\r
1496 #define IDeckLinkDisplayModeIterator_Release(This) \
\r
1497 ( (This)->lpVtbl -> Release(This) )
\r
1500 #define IDeckLinkDisplayModeIterator_Next(This,deckLinkDisplayMode) \
\r
1501 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
\r
1503 #endif /* COBJMACROS */
\r
1506 #endif /* C style interface */
\r
1511 #endif /* __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ */
\r
1514 #ifndef __IDeckLinkDisplayMode_INTERFACE_DEFINED__
\r
1515 #define __IDeckLinkDisplayMode_INTERFACE_DEFINED__
\r
1517 /* interface IDeckLinkDisplayMode */
\r
1518 /* [helpstring][uuid][object] */
\r
1521 EXTERN_C const IID IID_IDeckLinkDisplayMode;
\r
1523 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1525 MIDL_INTERFACE("3EB2C1AB-0A3D-4523-A3AD-F40D7FB14E78")
\r
1526 IDeckLinkDisplayMode : public IUnknown
\r
1529 virtual HRESULT STDMETHODCALLTYPE GetName(
\r
1530 /* [out] */ BSTR *name) = 0;
\r
1532 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
1534 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
1536 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
1538 virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
\r
1539 /* [out] */ BMDTimeValue *frameDuration,
\r
1540 /* [out] */ BMDTimeScale *timeScale) = 0;
\r
1542 virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0;
\r
1544 virtual BMDDisplayModeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
1548 #else /* C style interface */
\r
1550 typedef struct IDeckLinkDisplayModeVtbl
\r
1554 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1555 IDeckLinkDisplayMode * This,
\r
1556 /* [in] */ REFIID riid,
\r
1557 /* [annotation][iid_is][out] */
\r
1558 __RPC__deref_out void **ppvObject);
\r
1560 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1561 IDeckLinkDisplayMode * This);
\r
1563 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1564 IDeckLinkDisplayMode * This);
\r
1566 HRESULT ( STDMETHODCALLTYPE *GetName )(
\r
1567 IDeckLinkDisplayMode * This,
\r
1568 /* [out] */ BSTR *name);
\r
1570 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
1571 IDeckLinkDisplayMode * This);
\r
1573 long ( STDMETHODCALLTYPE *GetWidth )(
\r
1574 IDeckLinkDisplayMode * This);
\r
1576 long ( STDMETHODCALLTYPE *GetHeight )(
\r
1577 IDeckLinkDisplayMode * This);
\r
1579 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
\r
1580 IDeckLinkDisplayMode * This,
\r
1581 /* [out] */ BMDTimeValue *frameDuration,
\r
1582 /* [out] */ BMDTimeScale *timeScale);
\r
1584 BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )(
\r
1585 IDeckLinkDisplayMode * This);
\r
1587 BMDDisplayModeFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
1588 IDeckLinkDisplayMode * This);
\r
1591 } IDeckLinkDisplayModeVtbl;
\r
1593 interface IDeckLinkDisplayMode
\r
1595 CONST_VTBL struct IDeckLinkDisplayModeVtbl *lpVtbl;
\r
1603 #define IDeckLinkDisplayMode_QueryInterface(This,riid,ppvObject) \
\r
1604 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1606 #define IDeckLinkDisplayMode_AddRef(This) \
\r
1607 ( (This)->lpVtbl -> AddRef(This) )
\r
1609 #define IDeckLinkDisplayMode_Release(This) \
\r
1610 ( (This)->lpVtbl -> Release(This) )
\r
1613 #define IDeckLinkDisplayMode_GetName(This,name) \
\r
1614 ( (This)->lpVtbl -> GetName(This,name) )
\r
1616 #define IDeckLinkDisplayMode_GetDisplayMode(This) \
\r
1617 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
1619 #define IDeckLinkDisplayMode_GetWidth(This) \
\r
1620 ( (This)->lpVtbl -> GetWidth(This) )
\r
1622 #define IDeckLinkDisplayMode_GetHeight(This) \
\r
1623 ( (This)->lpVtbl -> GetHeight(This) )
\r
1625 #define IDeckLinkDisplayMode_GetFrameRate(This,frameDuration,timeScale) \
\r
1626 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
\r
1628 #define IDeckLinkDisplayMode_GetFieldDominance(This) \
\r
1629 ( (This)->lpVtbl -> GetFieldDominance(This) )
\r
1631 #define IDeckLinkDisplayMode_GetFlags(This) \
\r
1632 ( (This)->lpVtbl -> GetFlags(This) )
\r
1634 #endif /* COBJMACROS */
\r
1637 #endif /* C style interface */
\r
1642 #endif /* __IDeckLinkDisplayMode_INTERFACE_DEFINED__ */
\r
1645 #ifndef __IDeckLink_INTERFACE_DEFINED__
\r
1646 #define __IDeckLink_INTERFACE_DEFINED__
\r
1648 /* interface IDeckLink */
\r
1649 /* [helpstring][uuid][object] */
\r
1652 EXTERN_C const IID IID_IDeckLink;
\r
1654 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1656 MIDL_INTERFACE("62BFF75D-6569-4E55-8D4D-66AA03829ABC")
\r
1657 IDeckLink : public IUnknown
\r
1660 virtual HRESULT STDMETHODCALLTYPE GetModelName(
\r
1661 /* [out] */ BSTR *modelName) = 0;
\r
1665 #else /* C style interface */
\r
1667 typedef struct IDeckLinkVtbl
\r
1671 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1673 /* [in] */ REFIID riid,
\r
1674 /* [annotation][iid_is][out] */
\r
1675 __RPC__deref_out void **ppvObject);
\r
1677 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1678 IDeckLink * This);
\r
1680 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1681 IDeckLink * This);
\r
1683 HRESULT ( STDMETHODCALLTYPE *GetModelName )(
\r
1685 /* [out] */ BSTR *modelName);
\r
1690 interface IDeckLink
\r
1692 CONST_VTBL struct IDeckLinkVtbl *lpVtbl;
\r
1700 #define IDeckLink_QueryInterface(This,riid,ppvObject) \
\r
1701 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1703 #define IDeckLink_AddRef(This) \
\r
1704 ( (This)->lpVtbl -> AddRef(This) )
\r
1706 #define IDeckLink_Release(This) \
\r
1707 ( (This)->lpVtbl -> Release(This) )
\r
1710 #define IDeckLink_GetModelName(This,modelName) \
\r
1711 ( (This)->lpVtbl -> GetModelName(This,modelName) )
\r
1713 #endif /* COBJMACROS */
\r
1716 #endif /* C style interface */
\r
1721 #endif /* __IDeckLink_INTERFACE_DEFINED__ */
\r
1724 #ifndef __IDeckLinkOutput_INTERFACE_DEFINED__
\r
1725 #define __IDeckLinkOutput_INTERFACE_DEFINED__
\r
1727 /* interface IDeckLinkOutput */
\r
1728 /* [helpstring][local][uuid][object] */
\r
1731 EXTERN_C const IID IID_IDeckLinkOutput;
\r
1733 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1735 MIDL_INTERFACE("A3EF0963-0862-44ED-92A9-EE89ABF431C7")
\r
1736 IDeckLinkOutput : public IUnknown
\r
1739 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
1740 /* [in] */ BMDDisplayMode displayMode,
\r
1741 /* [in] */ BMDPixelFormat pixelFormat,
\r
1742 /* [in] */ BMDVideoOutputFlags flags,
\r
1743 /* [out] */ BMDDisplayModeSupport *result,
\r
1744 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0;
\r
1746 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
1747 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
\r
1749 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
1750 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
1752 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
1753 /* [in] */ BMDDisplayMode displayMode,
\r
1754 /* [in] */ BMDVideoOutputFlags flags) = 0;
\r
1756 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
1758 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
1759 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
1761 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
1762 /* [in] */ long width,
\r
1763 /* [in] */ long height,
\r
1764 /* [in] */ long rowBytes,
\r
1765 /* [in] */ BMDPixelFormat pixelFormat,
\r
1766 /* [in] */ BMDFrameFlags flags,
\r
1767 /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0;
\r
1769 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
\r
1770 /* [in] */ BMDPixelFormat pixelFormat,
\r
1771 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
\r
1773 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
1774 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
1776 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
1777 /* [in] */ IDeckLinkVideoFrame *theFrame,
\r
1778 /* [in] */ BMDTimeValue displayTime,
\r
1779 /* [in] */ BMDTimeValue displayDuration,
\r
1780 /* [in] */ BMDTimeScale timeScale) = 0;
\r
1782 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
1783 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;
\r
1785 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
\r
1786 /* [out] */ unsigned long *bufferedFrameCount) = 0;
\r
1788 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
1789 /* [in] */ BMDAudioSampleRate sampleRate,
\r
1790 /* [in] */ BMDAudioSampleType sampleType,
\r
1791 /* [in] */ unsigned long channelCount,
\r
1792 /* [in] */ BMDAudioOutputStreamType streamType) = 0;
\r
1794 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
1796 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
1797 /* [in] */ void *buffer,
\r
1798 /* [in] */ unsigned long sampleFrameCount,
\r
1799 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
1801 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
1803 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
1805 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
1806 /* [in] */ void *buffer,
\r
1807 /* [in] */ unsigned long sampleFrameCount,
\r
1808 /* [in] */ BMDTimeValue streamTime,
\r
1809 /* [in] */ BMDTimeScale timeScale,
\r
1810 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
1812 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
1813 /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
\r
1815 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
1817 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
1818 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
1820 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
1821 /* [in] */ BMDTimeValue playbackStartTime,
\r
1822 /* [in] */ BMDTimeScale timeScale,
\r
1823 /* [in] */ double playbackSpeed) = 0;
\r
1825 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
1826 /* [in] */ BMDTimeValue stopPlaybackAtTime,
\r
1827 /* [out] */ BMDTimeValue *actualStopTime,
\r
1828 /* [in] */ BMDTimeScale timeScale) = 0;
\r
1830 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
\r
1831 /* [out] */ BOOL *active) = 0;
\r
1833 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
\r
1834 /* [in] */ BMDTimeScale desiredTimeScale,
\r
1835 /* [out] */ BMDTimeValue *streamTime,
\r
1836 /* [out] */ double *playbackSpeed) = 0;
\r
1838 virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus(
\r
1839 /* [out] */ BMDReferenceStatus *referenceStatus) = 0;
\r
1841 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
1842 /* [in] */ BMDTimeScale desiredTimeScale,
\r
1843 /* [out] */ BMDTimeValue *hardwareTime,
\r
1844 /* [out] */ BMDTimeValue *timeInFrame,
\r
1845 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
1849 #else /* C style interface */
\r
1851 typedef struct IDeckLinkOutputVtbl
\r
1855 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1856 IDeckLinkOutput * This,
\r
1857 /* [in] */ REFIID riid,
\r
1858 /* [annotation][iid_is][out] */
\r
1859 __RPC__deref_out void **ppvObject);
\r
1861 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1862 IDeckLinkOutput * This);
\r
1864 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1865 IDeckLinkOutput * This);
\r
1867 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
1868 IDeckLinkOutput * This,
\r
1869 /* [in] */ BMDDisplayMode displayMode,
\r
1870 /* [in] */ BMDPixelFormat pixelFormat,
\r
1871 /* [in] */ BMDVideoOutputFlags flags,
\r
1872 /* [out] */ BMDDisplayModeSupport *result,
\r
1873 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode);
\r
1875 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
1876 IDeckLinkOutput * This,
\r
1877 /* [out] */ IDeckLinkDisplayModeIterator **iterator);
\r
1879 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
1880 IDeckLinkOutput * This,
\r
1881 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
1883 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
1884 IDeckLinkOutput * This,
\r
1885 /* [in] */ BMDDisplayMode displayMode,
\r
1886 /* [in] */ BMDVideoOutputFlags flags);
\r
1888 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
1889 IDeckLinkOutput * This);
\r
1891 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
1892 IDeckLinkOutput * This,
\r
1893 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
1895 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
1896 IDeckLinkOutput * This,
\r
1897 /* [in] */ long width,
\r
1898 /* [in] */ long height,
\r
1899 /* [in] */ long rowBytes,
\r
1900 /* [in] */ BMDPixelFormat pixelFormat,
\r
1901 /* [in] */ BMDFrameFlags flags,
\r
1902 /* [out] */ IDeckLinkMutableVideoFrame **outFrame);
\r
1904 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
\r
1905 IDeckLinkOutput * This,
\r
1906 /* [in] */ BMDPixelFormat pixelFormat,
\r
1907 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
\r
1909 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
1910 IDeckLinkOutput * This,
\r
1911 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
1913 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
1914 IDeckLinkOutput * This,
\r
1915 /* [in] */ IDeckLinkVideoFrame *theFrame,
\r
1916 /* [in] */ BMDTimeValue displayTime,
\r
1917 /* [in] */ BMDTimeValue displayDuration,
\r
1918 /* [in] */ BMDTimeScale timeScale);
\r
1920 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
1921 IDeckLinkOutput * This,
\r
1922 /* [in] */ IDeckLinkVideoOutputCallback *theCallback);
\r
1924 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
\r
1925 IDeckLinkOutput * This,
\r
1926 /* [out] */ unsigned long *bufferedFrameCount);
\r
1928 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
1929 IDeckLinkOutput * This,
\r
1930 /* [in] */ BMDAudioSampleRate sampleRate,
\r
1931 /* [in] */ BMDAudioSampleType sampleType,
\r
1932 /* [in] */ unsigned long channelCount,
\r
1933 /* [in] */ BMDAudioOutputStreamType streamType);
\r
1935 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
1936 IDeckLinkOutput * This);
\r
1938 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
1939 IDeckLinkOutput * This,
\r
1940 /* [in] */ void *buffer,
\r
1941 /* [in] */ unsigned long sampleFrameCount,
\r
1942 /* [out] */ unsigned long *sampleFramesWritten);
\r
1944 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
1945 IDeckLinkOutput * This);
\r
1947 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
1948 IDeckLinkOutput * This);
\r
1950 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
1951 IDeckLinkOutput * This,
\r
1952 /* [in] */ void *buffer,
\r
1953 /* [in] */ unsigned long sampleFrameCount,
\r
1954 /* [in] */ BMDTimeValue streamTime,
\r
1955 /* [in] */ BMDTimeScale timeScale,
\r
1956 /* [out] */ unsigned long *sampleFramesWritten);
\r
1958 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
1959 IDeckLinkOutput * This,
\r
1960 /* [out] */ unsigned long *bufferedSampleFrameCount);
\r
1962 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
1963 IDeckLinkOutput * This);
\r
1965 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
1966 IDeckLinkOutput * This,
\r
1967 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
1969 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
1970 IDeckLinkOutput * This,
\r
1971 /* [in] */ BMDTimeValue playbackStartTime,
\r
1972 /* [in] */ BMDTimeScale timeScale,
\r
1973 /* [in] */ double playbackSpeed);
\r
1975 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
1976 IDeckLinkOutput * This,
\r
1977 /* [in] */ BMDTimeValue stopPlaybackAtTime,
\r
1978 /* [out] */ BMDTimeValue *actualStopTime,
\r
1979 /* [in] */ BMDTimeScale timeScale);
\r
1981 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
\r
1982 IDeckLinkOutput * This,
\r
1983 /* [out] */ BOOL *active);
\r
1985 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )(
\r
1986 IDeckLinkOutput * This,
\r
1987 /* [in] */ BMDTimeScale desiredTimeScale,
\r
1988 /* [out] */ BMDTimeValue *streamTime,
\r
1989 /* [out] */ double *playbackSpeed);
\r
1991 HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )(
\r
1992 IDeckLinkOutput * This,
\r
1993 /* [out] */ BMDReferenceStatus *referenceStatus);
\r
1995 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
1996 IDeckLinkOutput * This,
\r
1997 /* [in] */ BMDTimeScale desiredTimeScale,
\r
1998 /* [out] */ BMDTimeValue *hardwareTime,
\r
1999 /* [out] */ BMDTimeValue *timeInFrame,
\r
2000 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
2003 } IDeckLinkOutputVtbl;
\r
2005 interface IDeckLinkOutput
\r
2007 CONST_VTBL struct IDeckLinkOutputVtbl *lpVtbl;
\r
2015 #define IDeckLinkOutput_QueryInterface(This,riid,ppvObject) \
\r
2016 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2018 #define IDeckLinkOutput_AddRef(This) \
\r
2019 ( (This)->lpVtbl -> AddRef(This) )
\r
2021 #define IDeckLinkOutput_Release(This) \
\r
2022 ( (This)->lpVtbl -> Release(This) )
\r
2025 #define IDeckLinkOutput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \
\r
2026 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) )
\r
2028 #define IDeckLinkOutput_GetDisplayModeIterator(This,iterator) \
\r
2029 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
2031 #define IDeckLinkOutput_SetScreenPreviewCallback(This,previewCallback) \
\r
2032 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
2034 #define IDeckLinkOutput_EnableVideoOutput(This,displayMode,flags) \
\r
2035 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
\r
2037 #define IDeckLinkOutput_DisableVideoOutput(This) \
\r
2038 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
2040 #define IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
2041 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
2043 #define IDeckLinkOutput_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
2044 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
2046 #define IDeckLinkOutput_CreateAncillaryData(This,pixelFormat,outBuffer) \
\r
2047 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
\r
2049 #define IDeckLinkOutput_DisplayVideoFrameSync(This,theFrame) \
\r
2050 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
2052 #define IDeckLinkOutput_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
2053 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
2055 #define IDeckLinkOutput_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
2056 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
2058 #define IDeckLinkOutput_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
\r
2059 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
\r
2061 #define IDeckLinkOutput_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
\r
2062 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
\r
2064 #define IDeckLinkOutput_DisableAudioOutput(This) \
\r
2065 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
2067 #define IDeckLinkOutput_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
2068 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
2070 #define IDeckLinkOutput_BeginAudioPreroll(This) \
\r
2071 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
2073 #define IDeckLinkOutput_EndAudioPreroll(This) \
\r
2074 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
2076 #define IDeckLinkOutput_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
2077 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
2079 #define IDeckLinkOutput_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
\r
2080 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
\r
2082 #define IDeckLinkOutput_FlushBufferedAudioSamples(This) \
\r
2083 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
2085 #define IDeckLinkOutput_SetAudioCallback(This,theCallback) \
\r
2086 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
2088 #define IDeckLinkOutput_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
2089 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
2091 #define IDeckLinkOutput_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
2092 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
2094 #define IDeckLinkOutput_IsScheduledPlaybackRunning(This,active) \
\r
2095 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
\r
2097 #define IDeckLinkOutput_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \
\r
2098 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) )
\r
2100 #define IDeckLinkOutput_GetReferenceStatus(This,referenceStatus) \
\r
2101 ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) )
\r
2103 #define IDeckLinkOutput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
2104 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
2106 #endif /* COBJMACROS */
\r
2109 #endif /* C style interface */
\r
2114 #endif /* __IDeckLinkOutput_INTERFACE_DEFINED__ */
\r
2117 #ifndef __IDeckLinkInput_INTERFACE_DEFINED__
\r
2118 #define __IDeckLinkInput_INTERFACE_DEFINED__
\r
2120 /* interface IDeckLinkInput */
\r
2121 /* [helpstring][uuid][object] */
\r
2124 EXTERN_C const IID IID_IDeckLinkInput;
\r
2126 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2128 MIDL_INTERFACE("6D40EF78-28B9-4E21-990D-95BB7750A04F")
\r
2129 IDeckLinkInput : public IUnknown
\r
2132 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
2133 /* [in] */ BMDDisplayMode displayMode,
\r
2134 /* [in] */ BMDPixelFormat pixelFormat,
\r
2135 /* [in] */ BMDVideoInputFlags flags,
\r
2136 /* [out] */ BMDDisplayModeSupport *result,
\r
2137 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0;
\r
2139 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
2140 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
\r
2142 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
2143 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
2145 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
2146 /* [in] */ BMDDisplayMode displayMode,
\r
2147 /* [in] */ BMDPixelFormat pixelFormat,
\r
2148 /* [in] */ BMDVideoInputFlags flags) = 0;
\r
2150 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
2152 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
\r
2153 /* [out] */ unsigned long *availableFrameCount) = 0;
\r
2155 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
2156 /* [in] */ BMDAudioSampleRate sampleRate,
\r
2157 /* [in] */ BMDAudioSampleType sampleType,
\r
2158 /* [in] */ unsigned long channelCount) = 0;
\r
2160 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
2162 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
\r
2163 /* [out] */ unsigned long *availableSampleFrameCount) = 0;
\r
2165 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
2167 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
2169 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
2171 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
\r
2173 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
2174 /* [in] */ IDeckLinkInputCallback *theCallback) = 0;
\r
2176 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
2177 /* [in] */ BMDTimeScale desiredTimeScale,
\r
2178 /* [out] */ BMDTimeValue *hardwareTime,
\r
2179 /* [out] */ BMDTimeValue *timeInFrame,
\r
2180 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
2184 #else /* C style interface */
\r
2186 typedef struct IDeckLinkInputVtbl
\r
2190 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2191 IDeckLinkInput * This,
\r
2192 /* [in] */ REFIID riid,
\r
2193 /* [annotation][iid_is][out] */
\r
2194 __RPC__deref_out void **ppvObject);
\r
2196 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2197 IDeckLinkInput * This);
\r
2199 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2200 IDeckLinkInput * This);
\r
2202 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
2203 IDeckLinkInput * This,
\r
2204 /* [in] */ BMDDisplayMode displayMode,
\r
2205 /* [in] */ BMDPixelFormat pixelFormat,
\r
2206 /* [in] */ BMDVideoInputFlags flags,
\r
2207 /* [out] */ BMDDisplayModeSupport *result,
\r
2208 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode);
\r
2210 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
2211 IDeckLinkInput * This,
\r
2212 /* [out] */ IDeckLinkDisplayModeIterator **iterator);
\r
2214 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
2215 IDeckLinkInput * This,
\r
2216 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
2218 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
2219 IDeckLinkInput * This,
\r
2220 /* [in] */ BMDDisplayMode displayMode,
\r
2221 /* [in] */ BMDPixelFormat pixelFormat,
\r
2222 /* [in] */ BMDVideoInputFlags flags);
\r
2224 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
2225 IDeckLinkInput * This);
\r
2227 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
\r
2228 IDeckLinkInput * This,
\r
2229 /* [out] */ unsigned long *availableFrameCount);
\r
2231 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
2232 IDeckLinkInput * This,
\r
2233 /* [in] */ BMDAudioSampleRate sampleRate,
\r
2234 /* [in] */ BMDAudioSampleType sampleType,
\r
2235 /* [in] */ unsigned long channelCount);
\r
2237 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
2238 IDeckLinkInput * This);
\r
2240 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
\r
2241 IDeckLinkInput * This,
\r
2242 /* [out] */ unsigned long *availableSampleFrameCount);
\r
2244 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
2245 IDeckLinkInput * This);
\r
2247 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
2248 IDeckLinkInput * This);
\r
2250 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
2251 IDeckLinkInput * This);
\r
2253 HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
\r
2254 IDeckLinkInput * This);
\r
2256 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
2257 IDeckLinkInput * This,
\r
2258 /* [in] */ IDeckLinkInputCallback *theCallback);
\r
2260 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
2261 IDeckLinkInput * This,
\r
2262 /* [in] */ BMDTimeScale desiredTimeScale,
\r
2263 /* [out] */ BMDTimeValue *hardwareTime,
\r
2264 /* [out] */ BMDTimeValue *timeInFrame,
\r
2265 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
2268 } IDeckLinkInputVtbl;
\r
2270 interface IDeckLinkInput
\r
2272 CONST_VTBL struct IDeckLinkInputVtbl *lpVtbl;
\r
2280 #define IDeckLinkInput_QueryInterface(This,riid,ppvObject) \
\r
2281 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2283 #define IDeckLinkInput_AddRef(This) \
\r
2284 ( (This)->lpVtbl -> AddRef(This) )
\r
2286 #define IDeckLinkInput_Release(This) \
\r
2287 ( (This)->lpVtbl -> Release(This) )
\r
2290 #define IDeckLinkInput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \
\r
2291 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) )
\r
2293 #define IDeckLinkInput_GetDisplayModeIterator(This,iterator) \
\r
2294 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
2296 #define IDeckLinkInput_SetScreenPreviewCallback(This,previewCallback) \
\r
2297 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
2299 #define IDeckLinkInput_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
2300 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
2302 #define IDeckLinkInput_DisableVideoInput(This) \
\r
2303 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
2305 #define IDeckLinkInput_GetAvailableVideoFrameCount(This,availableFrameCount) \
\r
2306 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
\r
2308 #define IDeckLinkInput_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
2309 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
2311 #define IDeckLinkInput_DisableAudioInput(This) \
\r
2312 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
2314 #define IDeckLinkInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
\r
2315 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
\r
2317 #define IDeckLinkInput_StartStreams(This) \
\r
2318 ( (This)->lpVtbl -> StartStreams(This) )
\r
2320 #define IDeckLinkInput_StopStreams(This) \
\r
2321 ( (This)->lpVtbl -> StopStreams(This) )
\r
2323 #define IDeckLinkInput_PauseStreams(This) \
\r
2324 ( (This)->lpVtbl -> PauseStreams(This) )
\r
2326 #define IDeckLinkInput_FlushStreams(This) \
\r
2327 ( (This)->lpVtbl -> FlushStreams(This) )
\r
2329 #define IDeckLinkInput_SetCallback(This,theCallback) \
\r
2330 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
2332 #define IDeckLinkInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
2333 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
2335 #endif /* COBJMACROS */
\r
2338 #endif /* C style interface */
\r
2343 #endif /* __IDeckLinkInput_INTERFACE_DEFINED__ */
\r
2346 #ifndef __IDeckLinkTimecode_INTERFACE_DEFINED__
\r
2347 #define __IDeckLinkTimecode_INTERFACE_DEFINED__
\r
2349 /* interface IDeckLinkTimecode */
\r
2350 /* [helpstring][uuid][object] */
\r
2353 EXTERN_C const IID IID_IDeckLinkTimecode;
\r
2355 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2357 MIDL_INTERFACE("BC6CFBD3-8317-4325-AC1C-1216391E9340")
\r
2358 IDeckLinkTimecode : public IUnknown
\r
2361 virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0;
\r
2363 virtual HRESULT STDMETHODCALLTYPE GetComponents(
\r
2364 /* [out] */ unsigned char *hours,
\r
2365 /* [out] */ unsigned char *minutes,
\r
2366 /* [out] */ unsigned char *seconds,
\r
2367 /* [out] */ unsigned char *frames) = 0;
\r
2369 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
2370 /* [out] */ BSTR *timecode) = 0;
\r
2372 virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
2374 virtual HRESULT STDMETHODCALLTYPE GetTimecodeUserBits(
\r
2375 /* [out] */ BMDTimecodeUserBits *userBits) = 0;
\r
2379 #else /* C style interface */
\r
2381 typedef struct IDeckLinkTimecodeVtbl
\r
2385 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2386 IDeckLinkTimecode * This,
\r
2387 /* [in] */ REFIID riid,
\r
2388 /* [annotation][iid_is][out] */
\r
2389 __RPC__deref_out void **ppvObject);
\r
2391 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2392 IDeckLinkTimecode * This);
\r
2394 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2395 IDeckLinkTimecode * This);
\r
2397 BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )(
\r
2398 IDeckLinkTimecode * This);
\r
2400 HRESULT ( STDMETHODCALLTYPE *GetComponents )(
\r
2401 IDeckLinkTimecode * This,
\r
2402 /* [out] */ unsigned char *hours,
\r
2403 /* [out] */ unsigned char *minutes,
\r
2404 /* [out] */ unsigned char *seconds,
\r
2405 /* [out] */ unsigned char *frames);
\r
2407 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
2408 IDeckLinkTimecode * This,
\r
2409 /* [out] */ BSTR *timecode);
\r
2411 BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2412 IDeckLinkTimecode * This);
\r
2414 HRESULT ( STDMETHODCALLTYPE *GetTimecodeUserBits )(
\r
2415 IDeckLinkTimecode * This,
\r
2416 /* [out] */ BMDTimecodeUserBits *userBits);
\r
2419 } IDeckLinkTimecodeVtbl;
\r
2421 interface IDeckLinkTimecode
\r
2423 CONST_VTBL struct IDeckLinkTimecodeVtbl *lpVtbl;
\r
2431 #define IDeckLinkTimecode_QueryInterface(This,riid,ppvObject) \
\r
2432 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2434 #define IDeckLinkTimecode_AddRef(This) \
\r
2435 ( (This)->lpVtbl -> AddRef(This) )
\r
2437 #define IDeckLinkTimecode_Release(This) \
\r
2438 ( (This)->lpVtbl -> Release(This) )
\r
2441 #define IDeckLinkTimecode_GetBCD(This) \
\r
2442 ( (This)->lpVtbl -> GetBCD(This) )
\r
2444 #define IDeckLinkTimecode_GetComponents(This,hours,minutes,seconds,frames) \
\r
2445 ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) )
\r
2447 #define IDeckLinkTimecode_GetString(This,timecode) \
\r
2448 ( (This)->lpVtbl -> GetString(This,timecode) )
\r
2450 #define IDeckLinkTimecode_GetFlags(This) \
\r
2451 ( (This)->lpVtbl -> GetFlags(This) )
\r
2453 #define IDeckLinkTimecode_GetTimecodeUserBits(This,userBits) \
\r
2454 ( (This)->lpVtbl -> GetTimecodeUserBits(This,userBits) )
\r
2456 #endif /* COBJMACROS */
\r
2459 #endif /* C style interface */
\r
2464 #endif /* __IDeckLinkTimecode_INTERFACE_DEFINED__ */
\r
2467 #ifndef __IDeckLinkVideoFrame_INTERFACE_DEFINED__
\r
2468 #define __IDeckLinkVideoFrame_INTERFACE_DEFINED__
\r
2470 /* interface IDeckLinkVideoFrame */
\r
2471 /* [helpstring][local][uuid][object] */
\r
2474 EXTERN_C const IID IID_IDeckLinkVideoFrame;
\r
2476 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2478 MIDL_INTERFACE("3F716FE0-F023-4111-BE5D-EF4414C05B17")
\r
2479 IDeckLinkVideoFrame : public IUnknown
\r
2482 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
2484 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
2486 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
\r
2488 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
2490 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
2492 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
2493 /* [out] */ void **buffer) = 0;
\r
2495 virtual HRESULT STDMETHODCALLTYPE GetTimecode(
\r
2496 /* [in] */ BMDTimecodeFormat format,
\r
2497 /* [out] */ IDeckLinkTimecode **timecode) = 0;
\r
2499 virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(
\r
2500 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0;
\r
2504 #else /* C style interface */
\r
2506 typedef struct IDeckLinkVideoFrameVtbl
\r
2510 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2511 IDeckLinkVideoFrame * This,
\r
2512 /* [in] */ REFIID riid,
\r
2513 /* [annotation][iid_is][out] */
\r
2514 __RPC__deref_out void **ppvObject);
\r
2516 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2517 IDeckLinkVideoFrame * This);
\r
2519 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2520 IDeckLinkVideoFrame * This);
\r
2522 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2523 IDeckLinkVideoFrame * This);
\r
2525 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2526 IDeckLinkVideoFrame * This);
\r
2528 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2529 IDeckLinkVideoFrame * This);
\r
2531 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2532 IDeckLinkVideoFrame * This);
\r
2534 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2535 IDeckLinkVideoFrame * This);
\r
2537 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2538 IDeckLinkVideoFrame * This,
\r
2539 /* [out] */ void **buffer);
\r
2541 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
2542 IDeckLinkVideoFrame * This,
\r
2543 /* [in] */ BMDTimecodeFormat format,
\r
2544 /* [out] */ IDeckLinkTimecode **timecode);
\r
2546 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
2547 IDeckLinkVideoFrame * This,
\r
2548 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
2551 } IDeckLinkVideoFrameVtbl;
\r
2553 interface IDeckLinkVideoFrame
\r
2555 CONST_VTBL struct IDeckLinkVideoFrameVtbl *lpVtbl;
\r
2563 #define IDeckLinkVideoFrame_QueryInterface(This,riid,ppvObject) \
\r
2564 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2566 #define IDeckLinkVideoFrame_AddRef(This) \
\r
2567 ( (This)->lpVtbl -> AddRef(This) )
\r
2569 #define IDeckLinkVideoFrame_Release(This) \
\r
2570 ( (This)->lpVtbl -> Release(This) )
\r
2573 #define IDeckLinkVideoFrame_GetWidth(This) \
\r
2574 ( (This)->lpVtbl -> GetWidth(This) )
\r
2576 #define IDeckLinkVideoFrame_GetHeight(This) \
\r
2577 ( (This)->lpVtbl -> GetHeight(This) )
\r
2579 #define IDeckLinkVideoFrame_GetRowBytes(This) \
\r
2580 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
2582 #define IDeckLinkVideoFrame_GetPixelFormat(This) \
\r
2583 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
2585 #define IDeckLinkVideoFrame_GetFlags(This) \
\r
2586 ( (This)->lpVtbl -> GetFlags(This) )
\r
2588 #define IDeckLinkVideoFrame_GetBytes(This,buffer) \
\r
2589 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
2591 #define IDeckLinkVideoFrame_GetTimecode(This,format,timecode) \
\r
2592 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
2594 #define IDeckLinkVideoFrame_GetAncillaryData(This,ancillary) \
\r
2595 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
2597 #endif /* COBJMACROS */
\r
2600 #endif /* C style interface */
\r
2605 #endif /* __IDeckLinkVideoFrame_INTERFACE_DEFINED__ */
\r
2608 #ifndef __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__
\r
2609 #define __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__
\r
2611 /* interface IDeckLinkMutableVideoFrame */
\r
2612 /* [helpstring][local][uuid][object] */
\r
2615 EXTERN_C const IID IID_IDeckLinkMutableVideoFrame;
\r
2617 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2619 MIDL_INTERFACE("69E2639F-40DA-4E19-B6F2-20ACE815C390")
\r
2620 IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame
\r
2623 virtual HRESULT STDMETHODCALLTYPE SetFlags(
\r
2624 /* [in] */ BMDFrameFlags newFlags) = 0;
\r
2626 virtual HRESULT STDMETHODCALLTYPE SetTimecode(
\r
2627 /* [in] */ BMDTimecodeFormat format,
\r
2628 /* [in] */ IDeckLinkTimecode *timecode) = 0;
\r
2630 virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents(
\r
2631 /* [in] */ BMDTimecodeFormat format,
\r
2632 /* [in] */ unsigned char hours,
\r
2633 /* [in] */ unsigned char minutes,
\r
2634 /* [in] */ unsigned char seconds,
\r
2635 /* [in] */ unsigned char frames,
\r
2636 /* [in] */ BMDTimecodeFlags flags) = 0;
\r
2638 virtual HRESULT STDMETHODCALLTYPE SetAncillaryData(
\r
2639 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0;
\r
2641 virtual HRESULT STDMETHODCALLTYPE SetTimecodeUserBits(
\r
2642 /* [in] */ BMDTimecodeFormat format,
\r
2643 /* [in] */ BMDTimecodeUserBits userBits) = 0;
\r
2647 #else /* C style interface */
\r
2649 typedef struct IDeckLinkMutableVideoFrameVtbl
\r
2653 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2654 IDeckLinkMutableVideoFrame * This,
\r
2655 /* [in] */ REFIID riid,
\r
2656 /* [annotation][iid_is][out] */
\r
2657 __RPC__deref_out void **ppvObject);
\r
2659 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2660 IDeckLinkMutableVideoFrame * This);
\r
2662 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2663 IDeckLinkMutableVideoFrame * This);
\r
2665 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2666 IDeckLinkMutableVideoFrame * This);
\r
2668 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2669 IDeckLinkMutableVideoFrame * This);
\r
2671 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2672 IDeckLinkMutableVideoFrame * This);
\r
2674 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2675 IDeckLinkMutableVideoFrame * This);
\r
2677 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2678 IDeckLinkMutableVideoFrame * This);
\r
2680 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2681 IDeckLinkMutableVideoFrame * This,
\r
2682 /* [out] */ void **buffer);
\r
2684 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
2685 IDeckLinkMutableVideoFrame * This,
\r
2686 /* [in] */ BMDTimecodeFormat format,
\r
2687 /* [out] */ IDeckLinkTimecode **timecode);
\r
2689 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
2690 IDeckLinkMutableVideoFrame * This,
\r
2691 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
2693 HRESULT ( STDMETHODCALLTYPE *SetFlags )(
\r
2694 IDeckLinkMutableVideoFrame * This,
\r
2695 /* [in] */ BMDFrameFlags newFlags);
\r
2697 HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
\r
2698 IDeckLinkMutableVideoFrame * This,
\r
2699 /* [in] */ BMDTimecodeFormat format,
\r
2700 /* [in] */ IDeckLinkTimecode *timecode);
\r
2702 HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )(
\r
2703 IDeckLinkMutableVideoFrame * This,
\r
2704 /* [in] */ BMDTimecodeFormat format,
\r
2705 /* [in] */ unsigned char hours,
\r
2706 /* [in] */ unsigned char minutes,
\r
2707 /* [in] */ unsigned char seconds,
\r
2708 /* [in] */ unsigned char frames,
\r
2709 /* [in] */ BMDTimecodeFlags flags);
\r
2711 HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )(
\r
2712 IDeckLinkMutableVideoFrame * This,
\r
2713 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary);
\r
2715 HRESULT ( STDMETHODCALLTYPE *SetTimecodeUserBits )(
\r
2716 IDeckLinkMutableVideoFrame * This,
\r
2717 /* [in] */ BMDTimecodeFormat format,
\r
2718 /* [in] */ BMDTimecodeUserBits userBits);
\r
2721 } IDeckLinkMutableVideoFrameVtbl;
\r
2723 interface IDeckLinkMutableVideoFrame
\r
2725 CONST_VTBL struct IDeckLinkMutableVideoFrameVtbl *lpVtbl;
\r
2733 #define IDeckLinkMutableVideoFrame_QueryInterface(This,riid,ppvObject) \
\r
2734 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2736 #define IDeckLinkMutableVideoFrame_AddRef(This) \
\r
2737 ( (This)->lpVtbl -> AddRef(This) )
\r
2739 #define IDeckLinkMutableVideoFrame_Release(This) \
\r
2740 ( (This)->lpVtbl -> Release(This) )
\r
2743 #define IDeckLinkMutableVideoFrame_GetWidth(This) \
\r
2744 ( (This)->lpVtbl -> GetWidth(This) )
\r
2746 #define IDeckLinkMutableVideoFrame_GetHeight(This) \
\r
2747 ( (This)->lpVtbl -> GetHeight(This) )
\r
2749 #define IDeckLinkMutableVideoFrame_GetRowBytes(This) \
\r
2750 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
2752 #define IDeckLinkMutableVideoFrame_GetPixelFormat(This) \
\r
2753 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
2755 #define IDeckLinkMutableVideoFrame_GetFlags(This) \
\r
2756 ( (This)->lpVtbl -> GetFlags(This) )
\r
2758 #define IDeckLinkMutableVideoFrame_GetBytes(This,buffer) \
\r
2759 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
2761 #define IDeckLinkMutableVideoFrame_GetTimecode(This,format,timecode) \
\r
2762 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
2764 #define IDeckLinkMutableVideoFrame_GetAncillaryData(This,ancillary) \
\r
2765 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
2768 #define IDeckLinkMutableVideoFrame_SetFlags(This,newFlags) \
\r
2769 ( (This)->lpVtbl -> SetFlags(This,newFlags) )
\r
2771 #define IDeckLinkMutableVideoFrame_SetTimecode(This,format,timecode) \
\r
2772 ( (This)->lpVtbl -> SetTimecode(This,format,timecode) )
\r
2774 #define IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \
\r
2775 ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) )
\r
2777 #define IDeckLinkMutableVideoFrame_SetAncillaryData(This,ancillary) \
\r
2778 ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) )
\r
2780 #define IDeckLinkMutableVideoFrame_SetTimecodeUserBits(This,format,userBits) \
\r
2781 ( (This)->lpVtbl -> SetTimecodeUserBits(This,format,userBits) )
\r
2783 #endif /* COBJMACROS */
\r
2786 #endif /* C style interface */
\r
2791 #endif /* __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ */
\r
2794 #ifndef __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__
\r
2795 #define __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__
\r
2797 /* interface IDeckLinkVideoFrame3DExtensions */
\r
2798 /* [helpstring][local][uuid][object] */
\r
2801 EXTERN_C const IID IID_IDeckLinkVideoFrame3DExtensions;
\r
2803 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2805 MIDL_INTERFACE("DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7")
\r
2806 IDeckLinkVideoFrame3DExtensions : public IUnknown
\r
2809 virtual BMDVideo3DPackingFormat STDMETHODCALLTYPE Get3DPackingFormat( void) = 0;
\r
2811 virtual HRESULT STDMETHODCALLTYPE GetFrameForRightEye(
\r
2812 /* [in] */ IDeckLinkVideoFrame **rightEyeFrame) = 0;
\r
2816 #else /* C style interface */
\r
2818 typedef struct IDeckLinkVideoFrame3DExtensionsVtbl
\r
2822 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2823 IDeckLinkVideoFrame3DExtensions * This,
\r
2824 /* [in] */ REFIID riid,
\r
2825 /* [annotation][iid_is][out] */
\r
2826 __RPC__deref_out void **ppvObject);
\r
2828 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2829 IDeckLinkVideoFrame3DExtensions * This);
\r
2831 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2832 IDeckLinkVideoFrame3DExtensions * This);
\r
2834 BMDVideo3DPackingFormat ( STDMETHODCALLTYPE *Get3DPackingFormat )(
\r
2835 IDeckLinkVideoFrame3DExtensions * This);
\r
2837 HRESULT ( STDMETHODCALLTYPE *GetFrameForRightEye )(
\r
2838 IDeckLinkVideoFrame3DExtensions * This,
\r
2839 /* [in] */ IDeckLinkVideoFrame **rightEyeFrame);
\r
2842 } IDeckLinkVideoFrame3DExtensionsVtbl;
\r
2844 interface IDeckLinkVideoFrame3DExtensions
\r
2846 CONST_VTBL struct IDeckLinkVideoFrame3DExtensionsVtbl *lpVtbl;
\r
2854 #define IDeckLinkVideoFrame3DExtensions_QueryInterface(This,riid,ppvObject) \
\r
2855 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2857 #define IDeckLinkVideoFrame3DExtensions_AddRef(This) \
\r
2858 ( (This)->lpVtbl -> AddRef(This) )
\r
2860 #define IDeckLinkVideoFrame3DExtensions_Release(This) \
\r
2861 ( (This)->lpVtbl -> Release(This) )
\r
2864 #define IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(This) \
\r
2865 ( (This)->lpVtbl -> Get3DPackingFormat(This) )
\r
2867 #define IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(This,rightEyeFrame) \
\r
2868 ( (This)->lpVtbl -> GetFrameForRightEye(This,rightEyeFrame) )
\r
2870 #endif /* COBJMACROS */
\r
2873 #endif /* C style interface */
\r
2878 #endif /* __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ */
\r
2881 #ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
\r
2882 #define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
\r
2884 /* interface IDeckLinkVideoInputFrame */
\r
2885 /* [helpstring][local][uuid][object] */
\r
2888 EXTERN_C const IID IID_IDeckLinkVideoInputFrame;
\r
2890 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2892 MIDL_INTERFACE("05CFE374-537C-4094-9A57-680525118F44")
\r
2893 IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame
\r
2896 virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
\r
2897 /* [out] */ BMDTimeValue *frameTime,
\r
2898 /* [out] */ BMDTimeValue *frameDuration,
\r
2899 /* [in] */ BMDTimeScale timeScale) = 0;
\r
2901 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
\r
2902 /* [in] */ BMDTimeScale timeScale,
\r
2903 /* [out] */ BMDTimeValue *frameTime,
\r
2904 /* [out] */ BMDTimeValue *frameDuration) = 0;
\r
2908 #else /* C style interface */
\r
2910 typedef struct IDeckLinkVideoInputFrameVtbl
\r
2914 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2915 IDeckLinkVideoInputFrame * This,
\r
2916 /* [in] */ REFIID riid,
\r
2917 /* [annotation][iid_is][out] */
\r
2918 __RPC__deref_out void **ppvObject);
\r
2920 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2921 IDeckLinkVideoInputFrame * This);
\r
2923 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2924 IDeckLinkVideoInputFrame * This);
\r
2926 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2927 IDeckLinkVideoInputFrame * This);
\r
2929 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2930 IDeckLinkVideoInputFrame * This);
\r
2932 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2933 IDeckLinkVideoInputFrame * This);
\r
2935 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2936 IDeckLinkVideoInputFrame * This);
\r
2938 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2939 IDeckLinkVideoInputFrame * This);
\r
2941 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2942 IDeckLinkVideoInputFrame * This,
\r
2943 /* [out] */ void **buffer);
\r
2945 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
2946 IDeckLinkVideoInputFrame * This,
\r
2947 /* [in] */ BMDTimecodeFormat format,
\r
2948 /* [out] */ IDeckLinkTimecode **timecode);
\r
2950 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
2951 IDeckLinkVideoInputFrame * This,
\r
2952 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
2954 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
\r
2955 IDeckLinkVideoInputFrame * This,
\r
2956 /* [out] */ BMDTimeValue *frameTime,
\r
2957 /* [out] */ BMDTimeValue *frameDuration,
\r
2958 /* [in] */ BMDTimeScale timeScale);
\r
2960 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )(
\r
2961 IDeckLinkVideoInputFrame * This,
\r
2962 /* [in] */ BMDTimeScale timeScale,
\r
2963 /* [out] */ BMDTimeValue *frameTime,
\r
2964 /* [out] */ BMDTimeValue *frameDuration);
\r
2967 } IDeckLinkVideoInputFrameVtbl;
\r
2969 interface IDeckLinkVideoInputFrame
\r
2971 CONST_VTBL struct IDeckLinkVideoInputFrameVtbl *lpVtbl;
\r
2979 #define IDeckLinkVideoInputFrame_QueryInterface(This,riid,ppvObject) \
\r
2980 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2982 #define IDeckLinkVideoInputFrame_AddRef(This) \
\r
2983 ( (This)->lpVtbl -> AddRef(This) )
\r
2985 #define IDeckLinkVideoInputFrame_Release(This) \
\r
2986 ( (This)->lpVtbl -> Release(This) )
\r
2989 #define IDeckLinkVideoInputFrame_GetWidth(This) \
\r
2990 ( (This)->lpVtbl -> GetWidth(This) )
\r
2992 #define IDeckLinkVideoInputFrame_GetHeight(This) \
\r
2993 ( (This)->lpVtbl -> GetHeight(This) )
\r
2995 #define IDeckLinkVideoInputFrame_GetRowBytes(This) \
\r
2996 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
2998 #define IDeckLinkVideoInputFrame_GetPixelFormat(This) \
\r
2999 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
3001 #define IDeckLinkVideoInputFrame_GetFlags(This) \
\r
3002 ( (This)->lpVtbl -> GetFlags(This) )
\r
3004 #define IDeckLinkVideoInputFrame_GetBytes(This,buffer) \
\r
3005 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
3007 #define IDeckLinkVideoInputFrame_GetTimecode(This,format,timecode) \
\r
3008 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
3010 #define IDeckLinkVideoInputFrame_GetAncillaryData(This,ancillary) \
\r
3011 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
3014 #define IDeckLinkVideoInputFrame_GetStreamTime(This,frameTime,frameDuration,timeScale) \
\r
3015 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
\r
3017 #define IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \
\r
3018 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) )
\r
3020 #endif /* COBJMACROS */
\r
3023 #endif /* C style interface */
\r
3028 #endif /* __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ */
\r
3031 #ifndef __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__
\r
3032 #define __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__
\r
3034 /* interface IDeckLinkVideoFrameAncillary */
\r
3035 /* [helpstring][local][uuid][object] */
\r
3038 EXTERN_C const IID IID_IDeckLinkVideoFrameAncillary;
\r
3040 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3042 MIDL_INTERFACE("732E723C-D1A4-4E29-9E8E-4A88797A0004")
\r
3043 IDeckLinkVideoFrameAncillary : public IUnknown
\r
3046 virtual HRESULT STDMETHODCALLTYPE GetBufferForVerticalBlankingLine(
\r
3047 /* [in] */ unsigned long lineNumber,
\r
3048 /* [out] */ void **buffer) = 0;
\r
3050 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
3052 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
3056 #else /* C style interface */
\r
3058 typedef struct IDeckLinkVideoFrameAncillaryVtbl
\r
3062 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3063 IDeckLinkVideoFrameAncillary * This,
\r
3064 /* [in] */ REFIID riid,
\r
3065 /* [annotation][iid_is][out] */
\r
3066 __RPC__deref_out void **ppvObject);
\r
3068 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3069 IDeckLinkVideoFrameAncillary * This);
\r
3071 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3072 IDeckLinkVideoFrameAncillary * This);
\r
3074 HRESULT ( STDMETHODCALLTYPE *GetBufferForVerticalBlankingLine )(
\r
3075 IDeckLinkVideoFrameAncillary * This,
\r
3076 /* [in] */ unsigned long lineNumber,
\r
3077 /* [out] */ void **buffer);
\r
3079 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
3080 IDeckLinkVideoFrameAncillary * This);
\r
3082 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
3083 IDeckLinkVideoFrameAncillary * This);
\r
3086 } IDeckLinkVideoFrameAncillaryVtbl;
\r
3088 interface IDeckLinkVideoFrameAncillary
\r
3090 CONST_VTBL struct IDeckLinkVideoFrameAncillaryVtbl *lpVtbl;
\r
3098 #define IDeckLinkVideoFrameAncillary_QueryInterface(This,riid,ppvObject) \
\r
3099 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3101 #define IDeckLinkVideoFrameAncillary_AddRef(This) \
\r
3102 ( (This)->lpVtbl -> AddRef(This) )
\r
3104 #define IDeckLinkVideoFrameAncillary_Release(This) \
\r
3105 ( (This)->lpVtbl -> Release(This) )
\r
3108 #define IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(This,lineNumber,buffer) \
\r
3109 ( (This)->lpVtbl -> GetBufferForVerticalBlankingLine(This,lineNumber,buffer) )
\r
3111 #define IDeckLinkVideoFrameAncillary_GetPixelFormat(This) \
\r
3112 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
3114 #define IDeckLinkVideoFrameAncillary_GetDisplayMode(This) \
\r
3115 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
3117 #endif /* COBJMACROS */
\r
3120 #endif /* C style interface */
\r
3125 #endif /* __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ */
\r
3128 #ifndef __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__
\r
3129 #define __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__
\r
3131 /* interface IDeckLinkAudioInputPacket */
\r
3132 /* [helpstring][local][uuid][object] */
\r
3135 EXTERN_C const IID IID_IDeckLinkAudioInputPacket;
\r
3137 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3139 MIDL_INTERFACE("E43D5870-2894-11DE-8C30-0800200C9A66")
\r
3140 IDeckLinkAudioInputPacket : public IUnknown
\r
3143 virtual long STDMETHODCALLTYPE GetSampleFrameCount( void) = 0;
\r
3145 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
3146 /* [out] */ void **buffer) = 0;
\r
3148 virtual HRESULT STDMETHODCALLTYPE GetPacketTime(
\r
3149 /* [out] */ BMDTimeValue *packetTime,
\r
3150 /* [in] */ BMDTimeScale timeScale) = 0;
\r
3154 #else /* C style interface */
\r
3156 typedef struct IDeckLinkAudioInputPacketVtbl
\r
3160 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3161 IDeckLinkAudioInputPacket * This,
\r
3162 /* [in] */ REFIID riid,
\r
3163 /* [annotation][iid_is][out] */
\r
3164 __RPC__deref_out void **ppvObject);
\r
3166 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3167 IDeckLinkAudioInputPacket * This);
\r
3169 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3170 IDeckLinkAudioInputPacket * This);
\r
3172 long ( STDMETHODCALLTYPE *GetSampleFrameCount )(
\r
3173 IDeckLinkAudioInputPacket * This);
\r
3175 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
3176 IDeckLinkAudioInputPacket * This,
\r
3177 /* [out] */ void **buffer);
\r
3179 HRESULT ( STDMETHODCALLTYPE *GetPacketTime )(
\r
3180 IDeckLinkAudioInputPacket * This,
\r
3181 /* [out] */ BMDTimeValue *packetTime,
\r
3182 /* [in] */ BMDTimeScale timeScale);
\r
3185 } IDeckLinkAudioInputPacketVtbl;
\r
3187 interface IDeckLinkAudioInputPacket
\r
3189 CONST_VTBL struct IDeckLinkAudioInputPacketVtbl *lpVtbl;
\r
3197 #define IDeckLinkAudioInputPacket_QueryInterface(This,riid,ppvObject) \
\r
3198 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3200 #define IDeckLinkAudioInputPacket_AddRef(This) \
\r
3201 ( (This)->lpVtbl -> AddRef(This) )
\r
3203 #define IDeckLinkAudioInputPacket_Release(This) \
\r
3204 ( (This)->lpVtbl -> Release(This) )
\r
3207 #define IDeckLinkAudioInputPacket_GetSampleFrameCount(This) \
\r
3208 ( (This)->lpVtbl -> GetSampleFrameCount(This) )
\r
3210 #define IDeckLinkAudioInputPacket_GetBytes(This,buffer) \
\r
3211 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
3213 #define IDeckLinkAudioInputPacket_GetPacketTime(This,packetTime,timeScale) \
\r
3214 ( (This)->lpVtbl -> GetPacketTime(This,packetTime,timeScale) )
\r
3216 #endif /* COBJMACROS */
\r
3219 #endif /* C style interface */
\r
3224 #endif /* __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ */
\r
3227 #ifndef __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__
\r
3228 #define __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__
\r
3230 /* interface IDeckLinkScreenPreviewCallback */
\r
3231 /* [helpstring][local][uuid][object] */
\r
3234 EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback;
\r
3236 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3238 MIDL_INTERFACE("B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438")
\r
3239 IDeckLinkScreenPreviewCallback : public IUnknown
\r
3242 virtual HRESULT STDMETHODCALLTYPE DrawFrame(
\r
3243 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
3247 #else /* C style interface */
\r
3249 typedef struct IDeckLinkScreenPreviewCallbackVtbl
\r
3253 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3254 IDeckLinkScreenPreviewCallback * This,
\r
3255 /* [in] */ REFIID riid,
\r
3256 /* [annotation][iid_is][out] */
\r
3257 __RPC__deref_out void **ppvObject);
\r
3259 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3260 IDeckLinkScreenPreviewCallback * This);
\r
3262 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3263 IDeckLinkScreenPreviewCallback * This);
\r
3265 HRESULT ( STDMETHODCALLTYPE *DrawFrame )(
\r
3266 IDeckLinkScreenPreviewCallback * This,
\r
3267 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
3270 } IDeckLinkScreenPreviewCallbackVtbl;
\r
3272 interface IDeckLinkScreenPreviewCallback
\r
3274 CONST_VTBL struct IDeckLinkScreenPreviewCallbackVtbl *lpVtbl;
\r
3282 #define IDeckLinkScreenPreviewCallback_QueryInterface(This,riid,ppvObject) \
\r
3283 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3285 #define IDeckLinkScreenPreviewCallback_AddRef(This) \
\r
3286 ( (This)->lpVtbl -> AddRef(This) )
\r
3288 #define IDeckLinkScreenPreviewCallback_Release(This) \
\r
3289 ( (This)->lpVtbl -> Release(This) )
\r
3292 #define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) \
\r
3293 ( (This)->lpVtbl -> DrawFrame(This,theFrame) )
\r
3295 #endif /* COBJMACROS */
\r
3298 #endif /* C style interface */
\r
3303 #endif /* __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ */
\r
3306 #ifndef __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__
\r
3307 #define __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__
\r
3309 /* interface IDeckLinkGLScreenPreviewHelper */
\r
3310 /* [helpstring][local][uuid][object] */
\r
3313 EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper;
\r
3315 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3317 MIDL_INTERFACE("504E2209-CAC7-4C1A-9FB4-C5BB6274D22F")
\r
3318 IDeckLinkGLScreenPreviewHelper : public IUnknown
\r
3321 virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0;
\r
3323 virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0;
\r
3325 virtual HRESULT STDMETHODCALLTYPE SetFrame(
\r
3326 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
3328 virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat(
\r
3329 /* [in] */ BMD3DPreviewFormat previewFormat) = 0;
\r
3333 #else /* C style interface */
\r
3335 typedef struct IDeckLinkGLScreenPreviewHelperVtbl
\r
3339 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3340 IDeckLinkGLScreenPreviewHelper * This,
\r
3341 /* [in] */ REFIID riid,
\r
3342 /* [annotation][iid_is][out] */
\r
3343 __RPC__deref_out void **ppvObject);
\r
3345 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3346 IDeckLinkGLScreenPreviewHelper * This);
\r
3348 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3349 IDeckLinkGLScreenPreviewHelper * This);
\r
3351 HRESULT ( STDMETHODCALLTYPE *InitializeGL )(
\r
3352 IDeckLinkGLScreenPreviewHelper * This);
\r
3354 HRESULT ( STDMETHODCALLTYPE *PaintGL )(
\r
3355 IDeckLinkGLScreenPreviewHelper * This);
\r
3357 HRESULT ( STDMETHODCALLTYPE *SetFrame )(
\r
3358 IDeckLinkGLScreenPreviewHelper * This,
\r
3359 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
3361 HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )(
\r
3362 IDeckLinkGLScreenPreviewHelper * This,
\r
3363 /* [in] */ BMD3DPreviewFormat previewFormat);
\r
3366 } IDeckLinkGLScreenPreviewHelperVtbl;
\r
3368 interface IDeckLinkGLScreenPreviewHelper
\r
3370 CONST_VTBL struct IDeckLinkGLScreenPreviewHelperVtbl *lpVtbl;
\r
3378 #define IDeckLinkGLScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \
\r
3379 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3381 #define IDeckLinkGLScreenPreviewHelper_AddRef(This) \
\r
3382 ( (This)->lpVtbl -> AddRef(This) )
\r
3384 #define IDeckLinkGLScreenPreviewHelper_Release(This) \
\r
3385 ( (This)->lpVtbl -> Release(This) )
\r
3388 #define IDeckLinkGLScreenPreviewHelper_InitializeGL(This) \
\r
3389 ( (This)->lpVtbl -> InitializeGL(This) )
\r
3391 #define IDeckLinkGLScreenPreviewHelper_PaintGL(This) \
\r
3392 ( (This)->lpVtbl -> PaintGL(This) )
\r
3394 #define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) \
\r
3395 ( (This)->lpVtbl -> SetFrame(This,theFrame) )
\r
3397 #define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \
\r
3398 ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) )
\r
3400 #endif /* COBJMACROS */
\r
3403 #endif /* C style interface */
\r
3408 #endif /* __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ */
\r
3411 #ifndef __IDeckLinkConfiguration_INTERFACE_DEFINED__
\r
3412 #define __IDeckLinkConfiguration_INTERFACE_DEFINED__
\r
3414 /* interface IDeckLinkConfiguration */
\r
3415 /* [helpstring][local][uuid][object] */
\r
3418 EXTERN_C const IID IID_IDeckLinkConfiguration;
\r
3420 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3422 MIDL_INTERFACE("C679A35B-610C-4D09-B748-1D0478100FC0")
\r
3423 IDeckLinkConfiguration : public IUnknown
\r
3426 virtual HRESULT STDMETHODCALLTYPE SetFlag(
\r
3427 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3428 /* [in] */ BOOL value) = 0;
\r
3430 virtual HRESULT STDMETHODCALLTYPE GetFlag(
\r
3431 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3432 /* [out] */ BOOL *value) = 0;
\r
3434 virtual HRESULT STDMETHODCALLTYPE SetInt(
\r
3435 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3436 /* [in] */ LONGLONG value) = 0;
\r
3438 virtual HRESULT STDMETHODCALLTYPE GetInt(
\r
3439 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3440 /* [out] */ LONGLONG *value) = 0;
\r
3442 virtual HRESULT STDMETHODCALLTYPE SetFloat(
\r
3443 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3444 /* [in] */ double value) = 0;
\r
3446 virtual HRESULT STDMETHODCALLTYPE GetFloat(
\r
3447 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3448 /* [out] */ double *value) = 0;
\r
3450 virtual HRESULT STDMETHODCALLTYPE SetString(
\r
3451 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3452 /* [in] */ BSTR value) = 0;
\r
3454 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
3455 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3456 /* [out] */ BSTR *value) = 0;
\r
3458 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;
\r
3462 #else /* C style interface */
\r
3464 typedef struct IDeckLinkConfigurationVtbl
\r
3468 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3469 IDeckLinkConfiguration * This,
\r
3470 /* [in] */ REFIID riid,
\r
3471 /* [annotation][iid_is][out] */
\r
3472 __RPC__deref_out void **ppvObject);
\r
3474 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3475 IDeckLinkConfiguration * This);
\r
3477 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3478 IDeckLinkConfiguration * This);
\r
3480 HRESULT ( STDMETHODCALLTYPE *SetFlag )(
\r
3481 IDeckLinkConfiguration * This,
\r
3482 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3483 /* [in] */ BOOL value);
\r
3485 HRESULT ( STDMETHODCALLTYPE *GetFlag )(
\r
3486 IDeckLinkConfiguration * This,
\r
3487 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3488 /* [out] */ BOOL *value);
\r
3490 HRESULT ( STDMETHODCALLTYPE *SetInt )(
\r
3491 IDeckLinkConfiguration * This,
\r
3492 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3493 /* [in] */ LONGLONG value);
\r
3495 HRESULT ( STDMETHODCALLTYPE *GetInt )(
\r
3496 IDeckLinkConfiguration * This,
\r
3497 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3498 /* [out] */ LONGLONG *value);
\r
3500 HRESULT ( STDMETHODCALLTYPE *SetFloat )(
\r
3501 IDeckLinkConfiguration * This,
\r
3502 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3503 /* [in] */ double value);
\r
3505 HRESULT ( STDMETHODCALLTYPE *GetFloat )(
\r
3506 IDeckLinkConfiguration * This,
\r
3507 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3508 /* [out] */ double *value);
\r
3510 HRESULT ( STDMETHODCALLTYPE *SetString )(
\r
3511 IDeckLinkConfiguration * This,
\r
3512 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3513 /* [in] */ BSTR value);
\r
3515 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
3516 IDeckLinkConfiguration * This,
\r
3517 /* [in] */ BMDDeckLinkConfigurationID cfgID,
\r
3518 /* [out] */ BSTR *value);
\r
3520 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )(
\r
3521 IDeckLinkConfiguration * This);
\r
3524 } IDeckLinkConfigurationVtbl;
\r
3526 interface IDeckLinkConfiguration
\r
3528 CONST_VTBL struct IDeckLinkConfigurationVtbl *lpVtbl;
\r
3536 #define IDeckLinkConfiguration_QueryInterface(This,riid,ppvObject) \
\r
3537 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3539 #define IDeckLinkConfiguration_AddRef(This) \
\r
3540 ( (This)->lpVtbl -> AddRef(This) )
\r
3542 #define IDeckLinkConfiguration_Release(This) \
\r
3543 ( (This)->lpVtbl -> Release(This) )
\r
3546 #define IDeckLinkConfiguration_SetFlag(This,cfgID,value) \
\r
3547 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) )
\r
3549 #define IDeckLinkConfiguration_GetFlag(This,cfgID,value) \
\r
3550 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
\r
3552 #define IDeckLinkConfiguration_SetInt(This,cfgID,value) \
\r
3553 ( (This)->lpVtbl -> SetInt(This,cfgID,value) )
\r
3555 #define IDeckLinkConfiguration_GetInt(This,cfgID,value) \
\r
3556 ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
\r
3558 #define IDeckLinkConfiguration_SetFloat(This,cfgID,value) \
\r
3559 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) )
\r
3561 #define IDeckLinkConfiguration_GetFloat(This,cfgID,value) \
\r
3562 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
\r
3564 #define IDeckLinkConfiguration_SetString(This,cfgID,value) \
\r
3565 ( (This)->lpVtbl -> SetString(This,cfgID,value) )
\r
3567 #define IDeckLinkConfiguration_GetString(This,cfgID,value) \
\r
3568 ( (This)->lpVtbl -> GetString(This,cfgID,value) )
\r
3570 #define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) \
\r
3571 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) )
\r
3573 #endif /* COBJMACROS */
\r
3576 #endif /* C style interface */
\r
3581 #endif /* __IDeckLinkConfiguration_INTERFACE_DEFINED__ */
\r
3584 #ifndef __IDeckLinkAttributes_INTERFACE_DEFINED__
\r
3585 #define __IDeckLinkAttributes_INTERFACE_DEFINED__
\r
3587 /* interface IDeckLinkAttributes */
\r
3588 /* [helpstring][local][uuid][object] */
\r
3591 EXTERN_C const IID IID_IDeckLinkAttributes;
\r
3593 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3595 MIDL_INTERFACE("ABC11843-D966-44CB-96E2-A1CB5D3135C4")
\r
3596 IDeckLinkAttributes : public IUnknown
\r
3599 virtual HRESULT STDMETHODCALLTYPE GetFlag(
\r
3600 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3601 /* [out] */ BOOL *value) = 0;
\r
3603 virtual HRESULT STDMETHODCALLTYPE GetInt(
\r
3604 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3605 /* [out] */ LONGLONG *value) = 0;
\r
3607 virtual HRESULT STDMETHODCALLTYPE GetFloat(
\r
3608 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3609 /* [out] */ double *value) = 0;
\r
3611 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
3612 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3613 /* [out] */ BSTR *value) = 0;
\r
3617 #else /* C style interface */
\r
3619 typedef struct IDeckLinkAttributesVtbl
\r
3623 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3624 IDeckLinkAttributes * This,
\r
3625 /* [in] */ REFIID riid,
\r
3626 /* [annotation][iid_is][out] */
\r
3627 __RPC__deref_out void **ppvObject);
\r
3629 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3630 IDeckLinkAttributes * This);
\r
3632 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3633 IDeckLinkAttributes * This);
\r
3635 HRESULT ( STDMETHODCALLTYPE *GetFlag )(
\r
3636 IDeckLinkAttributes * This,
\r
3637 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3638 /* [out] */ BOOL *value);
\r
3640 HRESULT ( STDMETHODCALLTYPE *GetInt )(
\r
3641 IDeckLinkAttributes * This,
\r
3642 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3643 /* [out] */ LONGLONG *value);
\r
3645 HRESULT ( STDMETHODCALLTYPE *GetFloat )(
\r
3646 IDeckLinkAttributes * This,
\r
3647 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3648 /* [out] */ double *value);
\r
3650 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
3651 IDeckLinkAttributes * This,
\r
3652 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3653 /* [out] */ BSTR *value);
\r
3656 } IDeckLinkAttributesVtbl;
\r
3658 interface IDeckLinkAttributes
\r
3660 CONST_VTBL struct IDeckLinkAttributesVtbl *lpVtbl;
\r
3668 #define IDeckLinkAttributes_QueryInterface(This,riid,ppvObject) \
\r
3669 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3671 #define IDeckLinkAttributes_AddRef(This) \
\r
3672 ( (This)->lpVtbl -> AddRef(This) )
\r
3674 #define IDeckLinkAttributes_Release(This) \
\r
3675 ( (This)->lpVtbl -> Release(This) )
\r
3678 #define IDeckLinkAttributes_GetFlag(This,cfgID,value) \
\r
3679 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
\r
3681 #define IDeckLinkAttributes_GetInt(This,cfgID,value) \
\r
3682 ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
\r
3684 #define IDeckLinkAttributes_GetFloat(This,cfgID,value) \
\r
3685 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
\r
3687 #define IDeckLinkAttributes_GetString(This,cfgID,value) \
\r
3688 ( (This)->lpVtbl -> GetString(This,cfgID,value) )
\r
3690 #endif /* COBJMACROS */
\r
3693 #endif /* C style interface */
\r
3698 #endif /* __IDeckLinkAttributes_INTERFACE_DEFINED__ */
\r
3701 #ifndef __IDeckLinkKeyer_INTERFACE_DEFINED__
\r
3702 #define __IDeckLinkKeyer_INTERFACE_DEFINED__
\r
3704 /* interface IDeckLinkKeyer */
\r
3705 /* [helpstring][local][uuid][object] */
\r
3708 EXTERN_C const IID IID_IDeckLinkKeyer;
\r
3710 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3712 MIDL_INTERFACE("89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3")
\r
3713 IDeckLinkKeyer : public IUnknown
\r
3716 virtual HRESULT STDMETHODCALLTYPE Enable(
\r
3717 /* [in] */ BOOL isExternal) = 0;
\r
3719 virtual HRESULT STDMETHODCALLTYPE SetLevel(
\r
3720 /* [in] */ unsigned char level) = 0;
\r
3722 virtual HRESULT STDMETHODCALLTYPE RampUp(
\r
3723 /* [in] */ unsigned long numberOfFrames) = 0;
\r
3725 virtual HRESULT STDMETHODCALLTYPE RampDown(
\r
3726 /* [in] */ unsigned long numberOfFrames) = 0;
\r
3728 virtual HRESULT STDMETHODCALLTYPE Disable( void) = 0;
\r
3732 #else /* C style interface */
\r
3734 typedef struct IDeckLinkKeyerVtbl
\r
3738 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3739 IDeckLinkKeyer * This,
\r
3740 /* [in] */ REFIID riid,
\r
3741 /* [annotation][iid_is][out] */
\r
3742 __RPC__deref_out void **ppvObject);
\r
3744 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3745 IDeckLinkKeyer * This);
\r
3747 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3748 IDeckLinkKeyer * This);
\r
3750 HRESULT ( STDMETHODCALLTYPE *Enable )(
\r
3751 IDeckLinkKeyer * This,
\r
3752 /* [in] */ BOOL isExternal);
\r
3754 HRESULT ( STDMETHODCALLTYPE *SetLevel )(
\r
3755 IDeckLinkKeyer * This,
\r
3756 /* [in] */ unsigned char level);
\r
3758 HRESULT ( STDMETHODCALLTYPE *RampUp )(
\r
3759 IDeckLinkKeyer * This,
\r
3760 /* [in] */ unsigned long numberOfFrames);
\r
3762 HRESULT ( STDMETHODCALLTYPE *RampDown )(
\r
3763 IDeckLinkKeyer * This,
\r
3764 /* [in] */ unsigned long numberOfFrames);
\r
3766 HRESULT ( STDMETHODCALLTYPE *Disable )(
\r
3767 IDeckLinkKeyer * This);
\r
3770 } IDeckLinkKeyerVtbl;
\r
3772 interface IDeckLinkKeyer
\r
3774 CONST_VTBL struct IDeckLinkKeyerVtbl *lpVtbl;
\r
3782 #define IDeckLinkKeyer_QueryInterface(This,riid,ppvObject) \
\r
3783 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3785 #define IDeckLinkKeyer_AddRef(This) \
\r
3786 ( (This)->lpVtbl -> AddRef(This) )
\r
3788 #define IDeckLinkKeyer_Release(This) \
\r
3789 ( (This)->lpVtbl -> Release(This) )
\r
3792 #define IDeckLinkKeyer_Enable(This,isExternal) \
\r
3793 ( (This)->lpVtbl -> Enable(This,isExternal) )
\r
3795 #define IDeckLinkKeyer_SetLevel(This,level) \
\r
3796 ( (This)->lpVtbl -> SetLevel(This,level) )
\r
3798 #define IDeckLinkKeyer_RampUp(This,numberOfFrames) \
\r
3799 ( (This)->lpVtbl -> RampUp(This,numberOfFrames) )
\r
3801 #define IDeckLinkKeyer_RampDown(This,numberOfFrames) \
\r
3802 ( (This)->lpVtbl -> RampDown(This,numberOfFrames) )
\r
3804 #define IDeckLinkKeyer_Disable(This) \
\r
3805 ( (This)->lpVtbl -> Disable(This) )
\r
3807 #endif /* COBJMACROS */
\r
3810 #endif /* C style interface */
\r
3815 #endif /* __IDeckLinkKeyer_INTERFACE_DEFINED__ */
\r
3818 #ifndef __IDeckLinkVideoConversion_INTERFACE_DEFINED__
\r
3819 #define __IDeckLinkVideoConversion_INTERFACE_DEFINED__
\r
3821 /* interface IDeckLinkVideoConversion */
\r
3822 /* [helpstring][local][uuid][object] */
\r
3825 EXTERN_C const IID IID_IDeckLinkVideoConversion;
\r
3827 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3829 MIDL_INTERFACE("3BBCB8A2-DA2C-42D9-B5D8-88083644E99A")
\r
3830 IDeckLinkVideoConversion : public IUnknown
\r
3833 virtual HRESULT STDMETHODCALLTYPE ConvertFrame(
\r
3834 /* [in] */ IDeckLinkVideoFrame *srcFrame,
\r
3835 /* [in] */ IDeckLinkVideoFrame *dstFrame) = 0;
\r
3839 #else /* C style interface */
\r
3841 typedef struct IDeckLinkVideoConversionVtbl
\r
3845 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3846 IDeckLinkVideoConversion * This,
\r
3847 /* [in] */ REFIID riid,
\r
3848 /* [annotation][iid_is][out] */
\r
3849 __RPC__deref_out void **ppvObject);
\r
3851 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3852 IDeckLinkVideoConversion * This);
\r
3854 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3855 IDeckLinkVideoConversion * This);
\r
3857 HRESULT ( STDMETHODCALLTYPE *ConvertFrame )(
\r
3858 IDeckLinkVideoConversion * This,
\r
3859 /* [in] */ IDeckLinkVideoFrame *srcFrame,
\r
3860 /* [in] */ IDeckLinkVideoFrame *dstFrame);
\r
3863 } IDeckLinkVideoConversionVtbl;
\r
3865 interface IDeckLinkVideoConversion
\r
3867 CONST_VTBL struct IDeckLinkVideoConversionVtbl *lpVtbl;
\r
3875 #define IDeckLinkVideoConversion_QueryInterface(This,riid,ppvObject) \
\r
3876 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3878 #define IDeckLinkVideoConversion_AddRef(This) \
\r
3879 ( (This)->lpVtbl -> AddRef(This) )
\r
3881 #define IDeckLinkVideoConversion_Release(This) \
\r
3882 ( (This)->lpVtbl -> Release(This) )
\r
3885 #define IDeckLinkVideoConversion_ConvertFrame(This,srcFrame,dstFrame) \
\r
3886 ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) )
\r
3888 #endif /* COBJMACROS */
\r
3891 #endif /* C style interface */
\r
3896 #endif /* __IDeckLinkVideoConversion_INTERFACE_DEFINED__ */
\r
3899 #ifndef __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__
\r
3900 #define __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__
\r
3902 /* interface IDeckLinkDeckControlStatusCallback */
\r
3903 /* [helpstring][uuid][object] */
\r
3906 EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback;
\r
3908 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3910 MIDL_INTERFACE("E5F693C1-4283-4716-B18F-C1431521955B")
\r
3911 IDeckLinkDeckControlStatusCallback : public IUnknown
\r
3914 virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate(
\r
3915 /* [in] */ BMDTimecodeBCD currentTimecode) = 0;
\r
3917 virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged(
\r
3918 /* [in] */ BMDDeckControlVTRControlState newState,
\r
3919 /* [in] */ BMDDeckControlError error) = 0;
\r
3921 virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived(
\r
3922 /* [in] */ BMDDeckControlEvent event,
\r
3923 /* [in] */ BMDDeckControlError error) = 0;
\r
3925 virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged(
\r
3926 /* [in] */ BMDDeckControlStatusFlags flags,
\r
3927 /* [in] */ unsigned long mask) = 0;
\r
3931 #else /* C style interface */
\r
3933 typedef struct IDeckLinkDeckControlStatusCallbackVtbl
\r
3937 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3938 IDeckLinkDeckControlStatusCallback * This,
\r
3939 /* [in] */ REFIID riid,
\r
3940 /* [annotation][iid_is][out] */
\r
3941 __RPC__deref_out void **ppvObject);
\r
3943 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3944 IDeckLinkDeckControlStatusCallback * This);
\r
3946 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3947 IDeckLinkDeckControlStatusCallback * This);
\r
3949 HRESULT ( STDMETHODCALLTYPE *TimecodeUpdate )(
\r
3950 IDeckLinkDeckControlStatusCallback * This,
\r
3951 /* [in] */ BMDTimecodeBCD currentTimecode);
\r
3953 HRESULT ( STDMETHODCALLTYPE *VTRControlStateChanged )(
\r
3954 IDeckLinkDeckControlStatusCallback * This,
\r
3955 /* [in] */ BMDDeckControlVTRControlState newState,
\r
3956 /* [in] */ BMDDeckControlError error);
\r
3958 HRESULT ( STDMETHODCALLTYPE *DeckControlEventReceived )(
\r
3959 IDeckLinkDeckControlStatusCallback * This,
\r
3960 /* [in] */ BMDDeckControlEvent event,
\r
3961 /* [in] */ BMDDeckControlError error);
\r
3963 HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )(
\r
3964 IDeckLinkDeckControlStatusCallback * This,
\r
3965 /* [in] */ BMDDeckControlStatusFlags flags,
\r
3966 /* [in] */ unsigned long mask);
\r
3969 } IDeckLinkDeckControlStatusCallbackVtbl;
\r
3971 interface IDeckLinkDeckControlStatusCallback
\r
3973 CONST_VTBL struct IDeckLinkDeckControlStatusCallbackVtbl *lpVtbl;
\r
3981 #define IDeckLinkDeckControlStatusCallback_QueryInterface(This,riid,ppvObject) \
\r
3982 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3984 #define IDeckLinkDeckControlStatusCallback_AddRef(This) \
\r
3985 ( (This)->lpVtbl -> AddRef(This) )
\r
3987 #define IDeckLinkDeckControlStatusCallback_Release(This) \
\r
3988 ( (This)->lpVtbl -> Release(This) )
\r
3991 #define IDeckLinkDeckControlStatusCallback_TimecodeUpdate(This,currentTimecode) \
\r
3992 ( (This)->lpVtbl -> TimecodeUpdate(This,currentTimecode) )
\r
3994 #define IDeckLinkDeckControlStatusCallback_VTRControlStateChanged(This,newState,error) \
\r
3995 ( (This)->lpVtbl -> VTRControlStateChanged(This,newState,error) )
\r
3997 #define IDeckLinkDeckControlStatusCallback_DeckControlEventReceived(This,event,error) \
\r
3998 ( (This)->lpVtbl -> DeckControlEventReceived(This,event,error) )
\r
4000 #define IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(This,flags,mask) \
\r
4001 ( (This)->lpVtbl -> DeckControlStatusChanged(This,flags,mask) )
\r
4003 #endif /* COBJMACROS */
\r
4006 #endif /* C style interface */
\r
4011 #endif /* __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ */
\r
4014 #ifndef __IDeckLinkDeckControl_INTERFACE_DEFINED__
\r
4015 #define __IDeckLinkDeckControl_INTERFACE_DEFINED__
\r
4017 /* interface IDeckLinkDeckControl */
\r
4018 /* [helpstring][uuid][object] */
\r
4021 EXTERN_C const IID IID_IDeckLinkDeckControl;
\r
4023 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4025 MIDL_INTERFACE("A4D81043-0619-42B7-8ED6-602D29041DF7")
\r
4026 IDeckLinkDeckControl : public IUnknown
\r
4029 virtual HRESULT STDMETHODCALLTYPE Open(
\r
4030 /* [in] */ BMDTimeScale timeScale,
\r
4031 /* [in] */ BMDTimeValue timeValue,
\r
4032 /* [in] */ BOOL timecodeIsDropFrame,
\r
4033 /* [out] */ BMDDeckControlError *error) = 0;
\r
4035 virtual HRESULT STDMETHODCALLTYPE Close(
\r
4036 /* [in] */ BOOL standbyOn) = 0;
\r
4038 virtual HRESULT STDMETHODCALLTYPE GetCurrentState(
\r
4039 /* [out] */ BMDDeckControlMode *mode,
\r
4040 /* [out] */ BMDDeckControlVTRControlState *vtrControlState,
\r
4041 /* [out] */ BMDDeckControlStatusFlags *flags) = 0;
\r
4043 virtual HRESULT STDMETHODCALLTYPE SetStandby(
\r
4044 /* [in] */ BOOL standbyOn) = 0;
\r
4046 virtual HRESULT STDMETHODCALLTYPE Play(
\r
4047 /* [out] */ BMDDeckControlError *error) = 0;
\r
4049 virtual HRESULT STDMETHODCALLTYPE Stop(
\r
4050 /* [out] */ BMDDeckControlError *error) = 0;
\r
4052 virtual HRESULT STDMETHODCALLTYPE TogglePlayStop(
\r
4053 /* [out] */ BMDDeckControlError *error) = 0;
\r
4055 virtual HRESULT STDMETHODCALLTYPE Eject(
\r
4056 /* [out] */ BMDDeckControlError *error) = 0;
\r
4058 virtual HRESULT STDMETHODCALLTYPE GoToTimecode(
\r
4059 /* [in] */ BMDTimecodeBCD timecode,
\r
4060 /* [out] */ BMDDeckControlError *error) = 0;
\r
4062 virtual HRESULT STDMETHODCALLTYPE FastForward(
\r
4063 /* [in] */ BOOL viewTape,
\r
4064 /* [out] */ BMDDeckControlError *error) = 0;
\r
4066 virtual HRESULT STDMETHODCALLTYPE Rewind(
\r
4067 /* [in] */ BOOL viewTape,
\r
4068 /* [out] */ BMDDeckControlError *error) = 0;
\r
4070 virtual HRESULT STDMETHODCALLTYPE StepForward(
\r
4071 /* [out] */ BMDDeckControlError *error) = 0;
\r
4073 virtual HRESULT STDMETHODCALLTYPE StepBack(
\r
4074 /* [out] */ BMDDeckControlError *error) = 0;
\r
4076 virtual HRESULT STDMETHODCALLTYPE Jog(
\r
4077 /* [in] */ double rate,
\r
4078 /* [out] */ BMDDeckControlError *error) = 0;
\r
4080 virtual HRESULT STDMETHODCALLTYPE Shuttle(
\r
4081 /* [in] */ double rate,
\r
4082 /* [out] */ BMDDeckControlError *error) = 0;
\r
4084 virtual HRESULT STDMETHODCALLTYPE GetTimecodeString(
\r
4085 /* [out] */ BSTR *currentTimeCode,
\r
4086 /* [out] */ BMDDeckControlError *error) = 0;
\r
4088 virtual HRESULT STDMETHODCALLTYPE GetTimecode(
\r
4089 /* [out] */ IDeckLinkTimecode **currentTimecode,
\r
4090 /* [out] */ BMDDeckControlError *error) = 0;
\r
4092 virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD(
\r
4093 /* [out] */ BMDTimecodeBCD *currentTimecode,
\r
4094 /* [out] */ BMDDeckControlError *error) = 0;
\r
4096 virtual HRESULT STDMETHODCALLTYPE SetPreroll(
\r
4097 /* [in] */ unsigned long prerollSeconds) = 0;
\r
4099 virtual HRESULT STDMETHODCALLTYPE GetPreroll(
\r
4100 /* [out] */ unsigned long *prerollSeconds) = 0;
\r
4102 virtual HRESULT STDMETHODCALLTYPE SetExportOffset(
\r
4103 /* [in] */ long exportOffsetFields) = 0;
\r
4105 virtual HRESULT STDMETHODCALLTYPE GetExportOffset(
\r
4106 /* [out] */ long *exportOffsetFields) = 0;
\r
4108 virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset(
\r
4109 /* [out] */ long *deckManualExportOffsetFields) = 0;
\r
4111 virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset(
\r
4112 /* [in] */ long captureOffsetFields) = 0;
\r
4114 virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset(
\r
4115 /* [out] */ long *captureOffsetFields) = 0;
\r
4117 virtual HRESULT STDMETHODCALLTYPE StartExport(
\r
4118 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4119 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4120 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,
\r
4121 /* [out] */ BMDDeckControlError *error) = 0;
\r
4123 virtual HRESULT STDMETHODCALLTYPE StartCapture(
\r
4124 /* [in] */ BOOL useVITC,
\r
4125 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4126 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4127 /* [out] */ BMDDeckControlError *error) = 0;
\r
4129 virtual HRESULT STDMETHODCALLTYPE GetDeviceID(
\r
4130 /* [out] */ unsigned short *deviceId,
\r
4131 /* [out] */ BMDDeckControlError *error) = 0;
\r
4133 virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
\r
4135 virtual HRESULT STDMETHODCALLTYPE CrashRecordStart(
\r
4136 /* [out] */ BMDDeckControlError *error) = 0;
\r
4138 virtual HRESULT STDMETHODCALLTYPE CrashRecordStop(
\r
4139 /* [out] */ BMDDeckControlError *error) = 0;
\r
4141 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
4142 /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0;
\r
4146 #else /* C style interface */
\r
4148 typedef struct IDeckLinkDeckControlVtbl
\r
4152 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4153 IDeckLinkDeckControl * This,
\r
4154 /* [in] */ REFIID riid,
\r
4155 /* [annotation][iid_is][out] */
\r
4156 __RPC__deref_out void **ppvObject);
\r
4158 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4159 IDeckLinkDeckControl * This);
\r
4161 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4162 IDeckLinkDeckControl * This);
\r
4164 HRESULT ( STDMETHODCALLTYPE *Open )(
\r
4165 IDeckLinkDeckControl * This,
\r
4166 /* [in] */ BMDTimeScale timeScale,
\r
4167 /* [in] */ BMDTimeValue timeValue,
\r
4168 /* [in] */ BOOL timecodeIsDropFrame,
\r
4169 /* [out] */ BMDDeckControlError *error);
\r
4171 HRESULT ( STDMETHODCALLTYPE *Close )(
\r
4172 IDeckLinkDeckControl * This,
\r
4173 /* [in] */ BOOL standbyOn);
\r
4175 HRESULT ( STDMETHODCALLTYPE *GetCurrentState )(
\r
4176 IDeckLinkDeckControl * This,
\r
4177 /* [out] */ BMDDeckControlMode *mode,
\r
4178 /* [out] */ BMDDeckControlVTRControlState *vtrControlState,
\r
4179 /* [out] */ BMDDeckControlStatusFlags *flags);
\r
4181 HRESULT ( STDMETHODCALLTYPE *SetStandby )(
\r
4182 IDeckLinkDeckControl * This,
\r
4183 /* [in] */ BOOL standbyOn);
\r
4185 HRESULT ( STDMETHODCALLTYPE *Play )(
\r
4186 IDeckLinkDeckControl * This,
\r
4187 /* [out] */ BMDDeckControlError *error);
\r
4189 HRESULT ( STDMETHODCALLTYPE *Stop )(
\r
4190 IDeckLinkDeckControl * This,
\r
4191 /* [out] */ BMDDeckControlError *error);
\r
4193 HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )(
\r
4194 IDeckLinkDeckControl * This,
\r
4195 /* [out] */ BMDDeckControlError *error);
\r
4197 HRESULT ( STDMETHODCALLTYPE *Eject )(
\r
4198 IDeckLinkDeckControl * This,
\r
4199 /* [out] */ BMDDeckControlError *error);
\r
4201 HRESULT ( STDMETHODCALLTYPE *GoToTimecode )(
\r
4202 IDeckLinkDeckControl * This,
\r
4203 /* [in] */ BMDTimecodeBCD timecode,
\r
4204 /* [out] */ BMDDeckControlError *error);
\r
4206 HRESULT ( STDMETHODCALLTYPE *FastForward )(
\r
4207 IDeckLinkDeckControl * This,
\r
4208 /* [in] */ BOOL viewTape,
\r
4209 /* [out] */ BMDDeckControlError *error);
\r
4211 HRESULT ( STDMETHODCALLTYPE *Rewind )(
\r
4212 IDeckLinkDeckControl * This,
\r
4213 /* [in] */ BOOL viewTape,
\r
4214 /* [out] */ BMDDeckControlError *error);
\r
4216 HRESULT ( STDMETHODCALLTYPE *StepForward )(
\r
4217 IDeckLinkDeckControl * This,
\r
4218 /* [out] */ BMDDeckControlError *error);
\r
4220 HRESULT ( STDMETHODCALLTYPE *StepBack )(
\r
4221 IDeckLinkDeckControl * This,
\r
4222 /* [out] */ BMDDeckControlError *error);
\r
4224 HRESULT ( STDMETHODCALLTYPE *Jog )(
\r
4225 IDeckLinkDeckControl * This,
\r
4226 /* [in] */ double rate,
\r
4227 /* [out] */ BMDDeckControlError *error);
\r
4229 HRESULT ( STDMETHODCALLTYPE *Shuttle )(
\r
4230 IDeckLinkDeckControl * This,
\r
4231 /* [in] */ double rate,
\r
4232 /* [out] */ BMDDeckControlError *error);
\r
4234 HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )(
\r
4235 IDeckLinkDeckControl * This,
\r
4236 /* [out] */ BSTR *currentTimeCode,
\r
4237 /* [out] */ BMDDeckControlError *error);
\r
4239 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
4240 IDeckLinkDeckControl * This,
\r
4241 /* [out] */ IDeckLinkTimecode **currentTimecode,
\r
4242 /* [out] */ BMDDeckControlError *error);
\r
4244 HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )(
\r
4245 IDeckLinkDeckControl * This,
\r
4246 /* [out] */ BMDTimecodeBCD *currentTimecode,
\r
4247 /* [out] */ BMDDeckControlError *error);
\r
4249 HRESULT ( STDMETHODCALLTYPE *SetPreroll )(
\r
4250 IDeckLinkDeckControl * This,
\r
4251 /* [in] */ unsigned long prerollSeconds);
\r
4253 HRESULT ( STDMETHODCALLTYPE *GetPreroll )(
\r
4254 IDeckLinkDeckControl * This,
\r
4255 /* [out] */ unsigned long *prerollSeconds);
\r
4257 HRESULT ( STDMETHODCALLTYPE *SetExportOffset )(
\r
4258 IDeckLinkDeckControl * This,
\r
4259 /* [in] */ long exportOffsetFields);
\r
4261 HRESULT ( STDMETHODCALLTYPE *GetExportOffset )(
\r
4262 IDeckLinkDeckControl * This,
\r
4263 /* [out] */ long *exportOffsetFields);
\r
4265 HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )(
\r
4266 IDeckLinkDeckControl * This,
\r
4267 /* [out] */ long *deckManualExportOffsetFields);
\r
4269 HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )(
\r
4270 IDeckLinkDeckControl * This,
\r
4271 /* [in] */ long captureOffsetFields);
\r
4273 HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )(
\r
4274 IDeckLinkDeckControl * This,
\r
4275 /* [out] */ long *captureOffsetFields);
\r
4277 HRESULT ( STDMETHODCALLTYPE *StartExport )(
\r
4278 IDeckLinkDeckControl * This,
\r
4279 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4280 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4281 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,
\r
4282 /* [out] */ BMDDeckControlError *error);
\r
4284 HRESULT ( STDMETHODCALLTYPE *StartCapture )(
\r
4285 IDeckLinkDeckControl * This,
\r
4286 /* [in] */ BOOL useVITC,
\r
4287 /* [in] */ BMDTimecodeBCD inTimecode,
\r
4288 /* [in] */ BMDTimecodeBCD outTimecode,
\r
4289 /* [out] */ BMDDeckControlError *error);
\r
4291 HRESULT ( STDMETHODCALLTYPE *GetDeviceID )(
\r
4292 IDeckLinkDeckControl * This,
\r
4293 /* [out] */ unsigned short *deviceId,
\r
4294 /* [out] */ BMDDeckControlError *error);
\r
4296 HRESULT ( STDMETHODCALLTYPE *Abort )(
\r
4297 IDeckLinkDeckControl * This);
\r
4299 HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )(
\r
4300 IDeckLinkDeckControl * This,
\r
4301 /* [out] */ BMDDeckControlError *error);
\r
4303 HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )(
\r
4304 IDeckLinkDeckControl * This,
\r
4305 /* [out] */ BMDDeckControlError *error);
\r
4307 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
4308 IDeckLinkDeckControl * This,
\r
4309 /* [in] */ IDeckLinkDeckControlStatusCallback *callback);
\r
4312 } IDeckLinkDeckControlVtbl;
\r
4314 interface IDeckLinkDeckControl
\r
4316 CONST_VTBL struct IDeckLinkDeckControlVtbl *lpVtbl;
\r
4324 #define IDeckLinkDeckControl_QueryInterface(This,riid,ppvObject) \
\r
4325 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4327 #define IDeckLinkDeckControl_AddRef(This) \
\r
4328 ( (This)->lpVtbl -> AddRef(This) )
\r
4330 #define IDeckLinkDeckControl_Release(This) \
\r
4331 ( (This)->lpVtbl -> Release(This) )
\r
4334 #define IDeckLinkDeckControl_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \
\r
4335 ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) )
\r
4337 #define IDeckLinkDeckControl_Close(This,standbyOn) \
\r
4338 ( (This)->lpVtbl -> Close(This,standbyOn) )
\r
4340 #define IDeckLinkDeckControl_GetCurrentState(This,mode,vtrControlState,flags) \
\r
4341 ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) )
\r
4343 #define IDeckLinkDeckControl_SetStandby(This,standbyOn) \
\r
4344 ( (This)->lpVtbl -> SetStandby(This,standbyOn) )
\r
4346 #define IDeckLinkDeckControl_Play(This,error) \
\r
4347 ( (This)->lpVtbl -> Play(This,error) )
\r
4349 #define IDeckLinkDeckControl_Stop(This,error) \
\r
4350 ( (This)->lpVtbl -> Stop(This,error) )
\r
4352 #define IDeckLinkDeckControl_TogglePlayStop(This,error) \
\r
4353 ( (This)->lpVtbl -> TogglePlayStop(This,error) )
\r
4355 #define IDeckLinkDeckControl_Eject(This,error) \
\r
4356 ( (This)->lpVtbl -> Eject(This,error) )
\r
4358 #define IDeckLinkDeckControl_GoToTimecode(This,timecode,error) \
\r
4359 ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) )
\r
4361 #define IDeckLinkDeckControl_FastForward(This,viewTape,error) \
\r
4362 ( (This)->lpVtbl -> FastForward(This,viewTape,error) )
\r
4364 #define IDeckLinkDeckControl_Rewind(This,viewTape,error) \
\r
4365 ( (This)->lpVtbl -> Rewind(This,viewTape,error) )
\r
4367 #define IDeckLinkDeckControl_StepForward(This,error) \
\r
4368 ( (This)->lpVtbl -> StepForward(This,error) )
\r
4370 #define IDeckLinkDeckControl_StepBack(This,error) \
\r
4371 ( (This)->lpVtbl -> StepBack(This,error) )
\r
4373 #define IDeckLinkDeckControl_Jog(This,rate,error) \
\r
4374 ( (This)->lpVtbl -> Jog(This,rate,error) )
\r
4376 #define IDeckLinkDeckControl_Shuttle(This,rate,error) \
\r
4377 ( (This)->lpVtbl -> Shuttle(This,rate,error) )
\r
4379 #define IDeckLinkDeckControl_GetTimecodeString(This,currentTimeCode,error) \
\r
4380 ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) )
\r
4382 #define IDeckLinkDeckControl_GetTimecode(This,currentTimecode,error) \
\r
4383 ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) )
\r
4385 #define IDeckLinkDeckControl_GetTimecodeBCD(This,currentTimecode,error) \
\r
4386 ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) )
\r
4388 #define IDeckLinkDeckControl_SetPreroll(This,prerollSeconds) \
\r
4389 ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) )
\r
4391 #define IDeckLinkDeckControl_GetPreroll(This,prerollSeconds) \
\r
4392 ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) )
\r
4394 #define IDeckLinkDeckControl_SetExportOffset(This,exportOffsetFields) \
\r
4395 ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) )
\r
4397 #define IDeckLinkDeckControl_GetExportOffset(This,exportOffsetFields) \
\r
4398 ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) )
\r
4400 #define IDeckLinkDeckControl_GetManualExportOffset(This,deckManualExportOffsetFields) \
\r
4401 ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) )
\r
4403 #define IDeckLinkDeckControl_SetCaptureOffset(This,captureOffsetFields) \
\r
4404 ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) )
\r
4406 #define IDeckLinkDeckControl_GetCaptureOffset(This,captureOffsetFields) \
\r
4407 ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) )
\r
4409 #define IDeckLinkDeckControl_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \
\r
4410 ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) )
\r
4412 #define IDeckLinkDeckControl_StartCapture(This,useVITC,inTimecode,outTimecode,error) \
\r
4413 ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) )
\r
4415 #define IDeckLinkDeckControl_GetDeviceID(This,deviceId,error) \
\r
4416 ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) )
\r
4418 #define IDeckLinkDeckControl_Abort(This) \
\r
4419 ( (This)->lpVtbl -> Abort(This) )
\r
4421 #define IDeckLinkDeckControl_CrashRecordStart(This,error) \
\r
4422 ( (This)->lpVtbl -> CrashRecordStart(This,error) )
\r
4424 #define IDeckLinkDeckControl_CrashRecordStop(This,error) \
\r
4425 ( (This)->lpVtbl -> CrashRecordStop(This,error) )
\r
4427 #define IDeckLinkDeckControl_SetCallback(This,callback) \
\r
4428 ( (This)->lpVtbl -> SetCallback(This,callback) )
\r
4430 #endif /* COBJMACROS */
\r
4433 #endif /* C style interface */
\r
4438 #endif /* __IDeckLinkDeckControl_INTERFACE_DEFINED__ */
\r
4441 EXTERN_C const CLSID CLSID_CDeckLinkIterator;
\r
4443 #ifdef __cplusplus
\r
4445 class DECLSPEC_UUID("D9EDA3B3-2887-41FA-B724-017CF1EB1D37")
\r
4446 CDeckLinkIterator;
\r
4449 EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper;
\r
4451 #ifdef __cplusplus
\r
4453 class DECLSPEC_UUID("F63E77C7-B655-4A4A-9AD0-3CA85D394343")
\r
4454 CDeckLinkGLScreenPreviewHelper;
\r
4457 EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion;
\r
4459 #ifdef __cplusplus
\r
4461 class DECLSPEC_UUID("7DBBBB11-5B7B-467D-AEA4-CEA468FD368C")
\r
4462 CDeckLinkVideoConversion;
\r
4465 #ifndef __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__
\r
4466 #define __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__
\r
4468 /* interface IDeckLinkDisplayModeIterator_v7_6 */
\r
4469 /* [helpstring][uuid][object] */
\r
4472 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_6;
\r
4474 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4476 MIDL_INTERFACE("455D741F-1779-4800-86F5-0B5D13D79751")
\r
4477 IDeckLinkDisplayModeIterator_v7_6 : public IUnknown
\r
4480 virtual HRESULT STDMETHODCALLTYPE Next(
\r
4481 /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) = 0;
\r
4485 #else /* C style interface */
\r
4487 typedef struct IDeckLinkDisplayModeIterator_v7_6Vtbl
\r
4491 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4492 IDeckLinkDisplayModeIterator_v7_6 * This,
\r
4493 /* [in] */ REFIID riid,
\r
4494 /* [annotation][iid_is][out] */
\r
4495 __RPC__deref_out void **ppvObject);
\r
4497 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4498 IDeckLinkDisplayModeIterator_v7_6 * This);
\r
4500 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4501 IDeckLinkDisplayModeIterator_v7_6 * This);
\r
4503 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
4504 IDeckLinkDisplayModeIterator_v7_6 * This,
\r
4505 /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode);
\r
4508 } IDeckLinkDisplayModeIterator_v7_6Vtbl;
\r
4510 interface IDeckLinkDisplayModeIterator_v7_6
\r
4512 CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_6Vtbl *lpVtbl;
\r
4520 #define IDeckLinkDisplayModeIterator_v7_6_QueryInterface(This,riid,ppvObject) \
\r
4521 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4523 #define IDeckLinkDisplayModeIterator_v7_6_AddRef(This) \
\r
4524 ( (This)->lpVtbl -> AddRef(This) )
\r
4526 #define IDeckLinkDisplayModeIterator_v7_6_Release(This) \
\r
4527 ( (This)->lpVtbl -> Release(This) )
\r
4530 #define IDeckLinkDisplayModeIterator_v7_6_Next(This,deckLinkDisplayMode) \
\r
4531 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
\r
4533 #endif /* COBJMACROS */
\r
4536 #endif /* C style interface */
\r
4541 #endif /* __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ */
\r
4544 #ifndef __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__
\r
4545 #define __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__
\r
4547 /* interface IDeckLinkDisplayMode_v7_6 */
\r
4548 /* [helpstring][uuid][object] */
\r
4551 EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_6;
\r
4553 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4555 MIDL_INTERFACE("87451E84-2B7E-439E-A629-4393EA4A8550")
\r
4556 IDeckLinkDisplayMode_v7_6 : public IUnknown
\r
4559 virtual HRESULT STDMETHODCALLTYPE GetName(
\r
4560 /* [out] */ BSTR *name) = 0;
\r
4562 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
4564 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
4566 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
4568 virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
\r
4569 /* [out] */ BMDTimeValue *frameDuration,
\r
4570 /* [out] */ BMDTimeScale *timeScale) = 0;
\r
4572 virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0;
\r
4576 #else /* C style interface */
\r
4578 typedef struct IDeckLinkDisplayMode_v7_6Vtbl
\r
4582 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4583 IDeckLinkDisplayMode_v7_6 * This,
\r
4584 /* [in] */ REFIID riid,
\r
4585 /* [annotation][iid_is][out] */
\r
4586 __RPC__deref_out void **ppvObject);
\r
4588 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4589 IDeckLinkDisplayMode_v7_6 * This);
\r
4591 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4592 IDeckLinkDisplayMode_v7_6 * This);
\r
4594 HRESULT ( STDMETHODCALLTYPE *GetName )(
\r
4595 IDeckLinkDisplayMode_v7_6 * This,
\r
4596 /* [out] */ BSTR *name);
\r
4598 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
4599 IDeckLinkDisplayMode_v7_6 * This);
\r
4601 long ( STDMETHODCALLTYPE *GetWidth )(
\r
4602 IDeckLinkDisplayMode_v7_6 * This);
\r
4604 long ( STDMETHODCALLTYPE *GetHeight )(
\r
4605 IDeckLinkDisplayMode_v7_6 * This);
\r
4607 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
\r
4608 IDeckLinkDisplayMode_v7_6 * This,
\r
4609 /* [out] */ BMDTimeValue *frameDuration,
\r
4610 /* [out] */ BMDTimeScale *timeScale);
\r
4612 BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )(
\r
4613 IDeckLinkDisplayMode_v7_6 * This);
\r
4616 } IDeckLinkDisplayMode_v7_6Vtbl;
\r
4618 interface IDeckLinkDisplayMode_v7_6
\r
4620 CONST_VTBL struct IDeckLinkDisplayMode_v7_6Vtbl *lpVtbl;
\r
4628 #define IDeckLinkDisplayMode_v7_6_QueryInterface(This,riid,ppvObject) \
\r
4629 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4631 #define IDeckLinkDisplayMode_v7_6_AddRef(This) \
\r
4632 ( (This)->lpVtbl -> AddRef(This) )
\r
4634 #define IDeckLinkDisplayMode_v7_6_Release(This) \
\r
4635 ( (This)->lpVtbl -> Release(This) )
\r
4638 #define IDeckLinkDisplayMode_v7_6_GetName(This,name) \
\r
4639 ( (This)->lpVtbl -> GetName(This,name) )
\r
4641 #define IDeckLinkDisplayMode_v7_6_GetDisplayMode(This) \
\r
4642 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
4644 #define IDeckLinkDisplayMode_v7_6_GetWidth(This) \
\r
4645 ( (This)->lpVtbl -> GetWidth(This) )
\r
4647 #define IDeckLinkDisplayMode_v7_6_GetHeight(This) \
\r
4648 ( (This)->lpVtbl -> GetHeight(This) )
\r
4650 #define IDeckLinkDisplayMode_v7_6_GetFrameRate(This,frameDuration,timeScale) \
\r
4651 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
\r
4653 #define IDeckLinkDisplayMode_v7_6_GetFieldDominance(This) \
\r
4654 ( (This)->lpVtbl -> GetFieldDominance(This) )
\r
4656 #endif /* COBJMACROS */
\r
4659 #endif /* C style interface */
\r
4664 #endif /* __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ */
\r
4667 #ifndef __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__
\r
4668 #define __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__
\r
4670 /* interface IDeckLinkOutput_v7_6 */
\r
4671 /* [helpstring][local][uuid][object] */
\r
4674 EXTERN_C const IID IID_IDeckLinkOutput_v7_6;
\r
4676 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4678 MIDL_INTERFACE("29228142-EB8C-4141-A621-F74026450955")
\r
4679 IDeckLinkOutput_v7_6 : public IUnknown
\r
4682 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
4683 BMDDisplayMode displayMode,
\r
4684 BMDPixelFormat pixelFormat,
\r
4685 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
4687 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
4688 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
4690 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
4691 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;
\r
4693 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
4694 BMDDisplayMode displayMode,
\r
4695 BMDVideoOutputFlags flags) = 0;
\r
4697 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
4699 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
4700 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
4702 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
4706 BMDPixelFormat pixelFormat,
\r
4707 BMDFrameFlags flags,
\r
4708 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;
\r
4710 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
\r
4711 BMDPixelFormat pixelFormat,
\r
4712 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
\r
4714 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
4715 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
4717 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
4718 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
4719 BMDTimeValue displayTime,
\r
4720 BMDTimeValue displayDuration,
\r
4721 BMDTimeScale timeScale) = 0;
\r
4723 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
4724 /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0;
\r
4726 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
\r
4727 /* [out] */ unsigned long *bufferedFrameCount) = 0;
\r
4729 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
4730 BMDAudioSampleRate sampleRate,
\r
4731 BMDAudioSampleType sampleType,
\r
4732 unsigned long channelCount,
\r
4733 BMDAudioOutputStreamType streamType) = 0;
\r
4735 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
4737 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
4738 /* [in] */ void *buffer,
\r
4739 unsigned long sampleFrameCount,
\r
4740 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
4742 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
4744 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
4746 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
4747 /* [in] */ void *buffer,
\r
4748 unsigned long sampleFrameCount,
\r
4749 BMDTimeValue streamTime,
\r
4750 BMDTimeScale timeScale,
\r
4751 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
4753 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
4754 /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
\r
4756 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
4758 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
4759 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
4761 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
4762 BMDTimeValue playbackStartTime,
\r
4763 BMDTimeScale timeScale,
\r
4764 double playbackSpeed) = 0;
\r
4766 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
4767 BMDTimeValue stopPlaybackAtTime,
\r
4768 /* [out] */ BMDTimeValue *actualStopTime,
\r
4769 BMDTimeScale timeScale) = 0;
\r
4771 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
\r
4772 /* [out] */ BOOL *active) = 0;
\r
4774 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
\r
4775 BMDTimeScale desiredTimeScale,
\r
4776 /* [out] */ BMDTimeValue *streamTime,
\r
4777 /* [out] */ double *playbackSpeed) = 0;
\r
4779 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
4780 BMDTimeScale desiredTimeScale,
\r
4781 /* [out] */ BMDTimeValue *hardwareTime,
\r
4782 /* [out] */ BMDTimeValue *timeInFrame,
\r
4783 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
4787 #else /* C style interface */
\r
4789 typedef struct IDeckLinkOutput_v7_6Vtbl
\r
4793 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4794 IDeckLinkOutput_v7_6 * This,
\r
4795 /* [in] */ REFIID riid,
\r
4796 /* [annotation][iid_is][out] */
\r
4797 __RPC__deref_out void **ppvObject);
\r
4799 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4800 IDeckLinkOutput_v7_6 * This);
\r
4802 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4803 IDeckLinkOutput_v7_6 * This);
\r
4805 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
4806 IDeckLinkOutput_v7_6 * This,
\r
4807 BMDDisplayMode displayMode,
\r
4808 BMDPixelFormat pixelFormat,
\r
4809 /* [out] */ BMDDisplayModeSupport *result);
\r
4811 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
4812 IDeckLinkOutput_v7_6 * This,
\r
4813 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
4815 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
4816 IDeckLinkOutput_v7_6 * This,
\r
4817 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
\r
4819 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
4820 IDeckLinkOutput_v7_6 * This,
\r
4821 BMDDisplayMode displayMode,
\r
4822 BMDVideoOutputFlags flags);
\r
4824 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
4825 IDeckLinkOutput_v7_6 * This);
\r
4827 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
4828 IDeckLinkOutput_v7_6 * This,
\r
4829 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
4831 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
4832 IDeckLinkOutput_v7_6 * This,
\r
4836 BMDPixelFormat pixelFormat,
\r
4837 BMDFrameFlags flags,
\r
4838 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame);
\r
4840 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
\r
4841 IDeckLinkOutput_v7_6 * This,
\r
4842 BMDPixelFormat pixelFormat,
\r
4843 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
\r
4845 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
4846 IDeckLinkOutput_v7_6 * This,
\r
4847 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
4849 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
4850 IDeckLinkOutput_v7_6 * This,
\r
4851 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
4852 BMDTimeValue displayTime,
\r
4853 BMDTimeValue displayDuration,
\r
4854 BMDTimeScale timeScale);
\r
4856 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
4857 IDeckLinkOutput_v7_6 * This,
\r
4858 /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback);
\r
4860 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
\r
4861 IDeckLinkOutput_v7_6 * This,
\r
4862 /* [out] */ unsigned long *bufferedFrameCount);
\r
4864 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
4865 IDeckLinkOutput_v7_6 * This,
\r
4866 BMDAudioSampleRate sampleRate,
\r
4867 BMDAudioSampleType sampleType,
\r
4868 unsigned long channelCount,
\r
4869 BMDAudioOutputStreamType streamType);
\r
4871 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
4872 IDeckLinkOutput_v7_6 * This);
\r
4874 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
4875 IDeckLinkOutput_v7_6 * This,
\r
4876 /* [in] */ void *buffer,
\r
4877 unsigned long sampleFrameCount,
\r
4878 /* [out] */ unsigned long *sampleFramesWritten);
\r
4880 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
4881 IDeckLinkOutput_v7_6 * This);
\r
4883 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
4884 IDeckLinkOutput_v7_6 * This);
\r
4886 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
4887 IDeckLinkOutput_v7_6 * This,
\r
4888 /* [in] */ void *buffer,
\r
4889 unsigned long sampleFrameCount,
\r
4890 BMDTimeValue streamTime,
\r
4891 BMDTimeScale timeScale,
\r
4892 /* [out] */ unsigned long *sampleFramesWritten);
\r
4894 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
4895 IDeckLinkOutput_v7_6 * This,
\r
4896 /* [out] */ unsigned long *bufferedSampleFrameCount);
\r
4898 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
4899 IDeckLinkOutput_v7_6 * This);
\r
4901 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
4902 IDeckLinkOutput_v7_6 * This,
\r
4903 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
4905 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
4906 IDeckLinkOutput_v7_6 * This,
\r
4907 BMDTimeValue playbackStartTime,
\r
4908 BMDTimeScale timeScale,
\r
4909 double playbackSpeed);
\r
4911 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
4912 IDeckLinkOutput_v7_6 * This,
\r
4913 BMDTimeValue stopPlaybackAtTime,
\r
4914 /* [out] */ BMDTimeValue *actualStopTime,
\r
4915 BMDTimeScale timeScale);
\r
4917 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
\r
4918 IDeckLinkOutput_v7_6 * This,
\r
4919 /* [out] */ BOOL *active);
\r
4921 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )(
\r
4922 IDeckLinkOutput_v7_6 * This,
\r
4923 BMDTimeScale desiredTimeScale,
\r
4924 /* [out] */ BMDTimeValue *streamTime,
\r
4925 /* [out] */ double *playbackSpeed);
\r
4927 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
4928 IDeckLinkOutput_v7_6 * This,
\r
4929 BMDTimeScale desiredTimeScale,
\r
4930 /* [out] */ BMDTimeValue *hardwareTime,
\r
4931 /* [out] */ BMDTimeValue *timeInFrame,
\r
4932 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
4935 } IDeckLinkOutput_v7_6Vtbl;
\r
4937 interface IDeckLinkOutput_v7_6
\r
4939 CONST_VTBL struct IDeckLinkOutput_v7_6Vtbl *lpVtbl;
\r
4947 #define IDeckLinkOutput_v7_6_QueryInterface(This,riid,ppvObject) \
\r
4948 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4950 #define IDeckLinkOutput_v7_6_AddRef(This) \
\r
4951 ( (This)->lpVtbl -> AddRef(This) )
\r
4953 #define IDeckLinkOutput_v7_6_Release(This) \
\r
4954 ( (This)->lpVtbl -> Release(This) )
\r
4957 #define IDeckLinkOutput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
4958 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
4960 #define IDeckLinkOutput_v7_6_GetDisplayModeIterator(This,iterator) \
\r
4961 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
4963 #define IDeckLinkOutput_v7_6_SetScreenPreviewCallback(This,previewCallback) \
\r
4964 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
4966 #define IDeckLinkOutput_v7_6_EnableVideoOutput(This,displayMode,flags) \
\r
4967 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
\r
4969 #define IDeckLinkOutput_v7_6_DisableVideoOutput(This) \
\r
4970 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
4972 #define IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
4973 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
4975 #define IDeckLinkOutput_v7_6_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
4976 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
4978 #define IDeckLinkOutput_v7_6_CreateAncillaryData(This,pixelFormat,outBuffer) \
\r
4979 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
\r
4981 #define IDeckLinkOutput_v7_6_DisplayVideoFrameSync(This,theFrame) \
\r
4982 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
4984 #define IDeckLinkOutput_v7_6_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
4985 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
4987 #define IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
4988 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
4990 #define IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
\r
4991 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
\r
4993 #define IDeckLinkOutput_v7_6_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
\r
4994 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
\r
4996 #define IDeckLinkOutput_v7_6_DisableAudioOutput(This) \
\r
4997 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
4999 #define IDeckLinkOutput_v7_6_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
5000 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
5002 #define IDeckLinkOutput_v7_6_BeginAudioPreroll(This) \
\r
5003 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
5005 #define IDeckLinkOutput_v7_6_EndAudioPreroll(This) \
\r
5006 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
5008 #define IDeckLinkOutput_v7_6_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
5009 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
5011 #define IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
\r
5012 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
\r
5014 #define IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(This) \
\r
5015 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
5017 #define IDeckLinkOutput_v7_6_SetAudioCallback(This,theCallback) \
\r
5018 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
5020 #define IDeckLinkOutput_v7_6_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
5021 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
5023 #define IDeckLinkOutput_v7_6_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
5024 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
5026 #define IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(This,active) \
\r
5027 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
\r
5029 #define IDeckLinkOutput_v7_6_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \
\r
5030 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) )
\r
5032 #define IDeckLinkOutput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
5033 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
5035 #endif /* COBJMACROS */
\r
5038 #endif /* C style interface */
\r
5043 #endif /* __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ */
\r
5046 #ifndef __IDeckLinkInput_v7_6_INTERFACE_DEFINED__
\r
5047 #define __IDeckLinkInput_v7_6_INTERFACE_DEFINED__
\r
5049 /* interface IDeckLinkInput_v7_6 */
\r
5050 /* [helpstring][uuid][object] */
\r
5053 EXTERN_C const IID IID_IDeckLinkInput_v7_6;
\r
5055 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5057 MIDL_INTERFACE("300C135A-9F43-48E2-9906-6D7911D93CF1")
\r
5058 IDeckLinkInput_v7_6 : public IUnknown
\r
5061 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
5062 BMDDisplayMode displayMode,
\r
5063 BMDPixelFormat pixelFormat,
\r
5064 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
5066 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
5067 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
5069 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
5070 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;
\r
5072 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
5073 BMDDisplayMode displayMode,
\r
5074 BMDPixelFormat pixelFormat,
\r
5075 BMDVideoInputFlags flags) = 0;
\r
5077 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
5079 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
\r
5080 /* [out] */ unsigned long *availableFrameCount) = 0;
\r
5082 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
5083 BMDAudioSampleRate sampleRate,
\r
5084 BMDAudioSampleType sampleType,
\r
5085 unsigned long channelCount) = 0;
\r
5087 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
5089 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
\r
5090 /* [out] */ unsigned long *availableSampleFrameCount) = 0;
\r
5092 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
5094 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
5096 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
5098 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
\r
5100 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
5101 /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback) = 0;
\r
5103 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
5104 BMDTimeScale desiredTimeScale,
\r
5105 /* [out] */ BMDTimeValue *hardwareTime,
\r
5106 /* [out] */ BMDTimeValue *timeInFrame,
\r
5107 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
5111 #else /* C style interface */
\r
5113 typedef struct IDeckLinkInput_v7_6Vtbl
\r
5117 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5118 IDeckLinkInput_v7_6 * This,
\r
5119 /* [in] */ REFIID riid,
\r
5120 /* [annotation][iid_is][out] */
\r
5121 __RPC__deref_out void **ppvObject);
\r
5123 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5124 IDeckLinkInput_v7_6 * This);
\r
5126 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5127 IDeckLinkInput_v7_6 * This);
\r
5129 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
5130 IDeckLinkInput_v7_6 * This,
\r
5131 BMDDisplayMode displayMode,
\r
5132 BMDPixelFormat pixelFormat,
\r
5133 /* [out] */ BMDDisplayModeSupport *result);
\r
5135 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
5136 IDeckLinkInput_v7_6 * This,
\r
5137 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
5139 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
5140 IDeckLinkInput_v7_6 * This,
\r
5141 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
\r
5143 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
5144 IDeckLinkInput_v7_6 * This,
\r
5145 BMDDisplayMode displayMode,
\r
5146 BMDPixelFormat pixelFormat,
\r
5147 BMDVideoInputFlags flags);
\r
5149 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
5150 IDeckLinkInput_v7_6 * This);
\r
5152 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
\r
5153 IDeckLinkInput_v7_6 * This,
\r
5154 /* [out] */ unsigned long *availableFrameCount);
\r
5156 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
5157 IDeckLinkInput_v7_6 * This,
\r
5158 BMDAudioSampleRate sampleRate,
\r
5159 BMDAudioSampleType sampleType,
\r
5160 unsigned long channelCount);
\r
5162 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
5163 IDeckLinkInput_v7_6 * This);
\r
5165 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
\r
5166 IDeckLinkInput_v7_6 * This,
\r
5167 /* [out] */ unsigned long *availableSampleFrameCount);
\r
5169 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
5170 IDeckLinkInput_v7_6 * This);
\r
5172 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
5173 IDeckLinkInput_v7_6 * This);
\r
5175 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
5176 IDeckLinkInput_v7_6 * This);
\r
5178 HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
\r
5179 IDeckLinkInput_v7_6 * This);
\r
5181 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
5182 IDeckLinkInput_v7_6 * This,
\r
5183 /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback);
\r
5185 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
5186 IDeckLinkInput_v7_6 * This,
\r
5187 BMDTimeScale desiredTimeScale,
\r
5188 /* [out] */ BMDTimeValue *hardwareTime,
\r
5189 /* [out] */ BMDTimeValue *timeInFrame,
\r
5190 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
5193 } IDeckLinkInput_v7_6Vtbl;
\r
5195 interface IDeckLinkInput_v7_6
\r
5197 CONST_VTBL struct IDeckLinkInput_v7_6Vtbl *lpVtbl;
\r
5205 #define IDeckLinkInput_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5206 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5208 #define IDeckLinkInput_v7_6_AddRef(This) \
\r
5209 ( (This)->lpVtbl -> AddRef(This) )
\r
5211 #define IDeckLinkInput_v7_6_Release(This) \
\r
5212 ( (This)->lpVtbl -> Release(This) )
\r
5215 #define IDeckLinkInput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
5216 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
5218 #define IDeckLinkInput_v7_6_GetDisplayModeIterator(This,iterator) \
\r
5219 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
5221 #define IDeckLinkInput_v7_6_SetScreenPreviewCallback(This,previewCallback) \
\r
5222 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
5224 #define IDeckLinkInput_v7_6_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
5225 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
5227 #define IDeckLinkInput_v7_6_DisableVideoInput(This) \
\r
5228 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
5230 #define IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(This,availableFrameCount) \
\r
5231 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
\r
5233 #define IDeckLinkInput_v7_6_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
5234 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
5236 #define IDeckLinkInput_v7_6_DisableAudioInput(This) \
\r
5237 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
5239 #define IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
\r
5240 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
\r
5242 #define IDeckLinkInput_v7_6_StartStreams(This) \
\r
5243 ( (This)->lpVtbl -> StartStreams(This) )
\r
5245 #define IDeckLinkInput_v7_6_StopStreams(This) \
\r
5246 ( (This)->lpVtbl -> StopStreams(This) )
\r
5248 #define IDeckLinkInput_v7_6_PauseStreams(This) \
\r
5249 ( (This)->lpVtbl -> PauseStreams(This) )
\r
5251 #define IDeckLinkInput_v7_6_FlushStreams(This) \
\r
5252 ( (This)->lpVtbl -> FlushStreams(This) )
\r
5254 #define IDeckLinkInput_v7_6_SetCallback(This,theCallback) \
\r
5255 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
5257 #define IDeckLinkInput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
5258 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
5260 #endif /* COBJMACROS */
\r
5263 #endif /* C style interface */
\r
5268 #endif /* __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ */
\r
5271 #ifndef __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__
\r
5272 #define __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__
\r
5274 /* interface IDeckLinkTimecode_v7_6 */
\r
5275 /* [helpstring][uuid][object] */
\r
5278 EXTERN_C const IID IID_IDeckLinkTimecode_v7_6;
\r
5280 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5282 MIDL_INTERFACE("EFB9BCA6-A521-44F7-BD69-2332F24D9EE6")
\r
5283 IDeckLinkTimecode_v7_6 : public IUnknown
\r
5286 virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0;
\r
5288 virtual HRESULT STDMETHODCALLTYPE GetComponents(
\r
5289 /* [out] */ unsigned char *hours,
\r
5290 /* [out] */ unsigned char *minutes,
\r
5291 /* [out] */ unsigned char *seconds,
\r
5292 /* [out] */ unsigned char *frames) = 0;
\r
5294 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
5295 /* [out] */ BSTR *timecode) = 0;
\r
5297 virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
5301 #else /* C style interface */
\r
5303 typedef struct IDeckLinkTimecode_v7_6Vtbl
\r
5307 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5308 IDeckLinkTimecode_v7_6 * This,
\r
5309 /* [in] */ REFIID riid,
\r
5310 /* [annotation][iid_is][out] */
\r
5311 __RPC__deref_out void **ppvObject);
\r
5313 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5314 IDeckLinkTimecode_v7_6 * This);
\r
5316 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5317 IDeckLinkTimecode_v7_6 * This);
\r
5319 BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )(
\r
5320 IDeckLinkTimecode_v7_6 * This);
\r
5322 HRESULT ( STDMETHODCALLTYPE *GetComponents )(
\r
5323 IDeckLinkTimecode_v7_6 * This,
\r
5324 /* [out] */ unsigned char *hours,
\r
5325 /* [out] */ unsigned char *minutes,
\r
5326 /* [out] */ unsigned char *seconds,
\r
5327 /* [out] */ unsigned char *frames);
\r
5329 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
5330 IDeckLinkTimecode_v7_6 * This,
\r
5331 /* [out] */ BSTR *timecode);
\r
5333 BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
5334 IDeckLinkTimecode_v7_6 * This);
\r
5337 } IDeckLinkTimecode_v7_6Vtbl;
\r
5339 interface IDeckLinkTimecode_v7_6
\r
5341 CONST_VTBL struct IDeckLinkTimecode_v7_6Vtbl *lpVtbl;
\r
5349 #define IDeckLinkTimecode_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5350 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5352 #define IDeckLinkTimecode_v7_6_AddRef(This) \
\r
5353 ( (This)->lpVtbl -> AddRef(This) )
\r
5355 #define IDeckLinkTimecode_v7_6_Release(This) \
\r
5356 ( (This)->lpVtbl -> Release(This) )
\r
5359 #define IDeckLinkTimecode_v7_6_GetBCD(This) \
\r
5360 ( (This)->lpVtbl -> GetBCD(This) )
\r
5362 #define IDeckLinkTimecode_v7_6_GetComponents(This,hours,minutes,seconds,frames) \
\r
5363 ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) )
\r
5365 #define IDeckLinkTimecode_v7_6_GetString(This,timecode) \
\r
5366 ( (This)->lpVtbl -> GetString(This,timecode) )
\r
5368 #define IDeckLinkTimecode_v7_6_GetFlags(This) \
\r
5369 ( (This)->lpVtbl -> GetFlags(This) )
\r
5371 #endif /* COBJMACROS */
\r
5374 #endif /* C style interface */
\r
5379 #endif /* __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ */
\r
5382 #ifndef __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__
\r
5383 #define __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__
\r
5385 /* interface IDeckLinkVideoFrame_v7_6 */
\r
5386 /* [helpstring][local][uuid][object] */
\r
5389 EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_6;
\r
5391 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5393 MIDL_INTERFACE("A8D8238E-6B18-4196-99E1-5AF717B83D32")
\r
5394 IDeckLinkVideoFrame_v7_6 : public IUnknown
\r
5397 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
5399 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
5401 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
\r
5403 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
5405 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
5407 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
5408 /* [out] */ void **buffer) = 0;
\r
5410 virtual HRESULT STDMETHODCALLTYPE GetTimecode(
\r
5411 BMDTimecodeFormat format,
\r
5412 /* [out] */ IDeckLinkTimecode_v7_6 **timecode) = 0;
\r
5414 virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(
\r
5415 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0;
\r
5419 #else /* C style interface */
\r
5421 typedef struct IDeckLinkVideoFrame_v7_6Vtbl
\r
5425 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5426 IDeckLinkVideoFrame_v7_6 * This,
\r
5427 /* [in] */ REFIID riid,
\r
5428 /* [annotation][iid_is][out] */
\r
5429 __RPC__deref_out void **ppvObject);
\r
5431 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5432 IDeckLinkVideoFrame_v7_6 * This);
\r
5434 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5435 IDeckLinkVideoFrame_v7_6 * This);
\r
5437 long ( STDMETHODCALLTYPE *GetWidth )(
\r
5438 IDeckLinkVideoFrame_v7_6 * This);
\r
5440 long ( STDMETHODCALLTYPE *GetHeight )(
\r
5441 IDeckLinkVideoFrame_v7_6 * This);
\r
5443 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
5444 IDeckLinkVideoFrame_v7_6 * This);
\r
5446 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
5447 IDeckLinkVideoFrame_v7_6 * This);
\r
5449 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
5450 IDeckLinkVideoFrame_v7_6 * This);
\r
5452 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
5453 IDeckLinkVideoFrame_v7_6 * This,
\r
5454 /* [out] */ void **buffer);
\r
5456 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
5457 IDeckLinkVideoFrame_v7_6 * This,
\r
5458 BMDTimecodeFormat format,
\r
5459 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
5461 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
5462 IDeckLinkVideoFrame_v7_6 * This,
\r
5463 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
5466 } IDeckLinkVideoFrame_v7_6Vtbl;
\r
5468 interface IDeckLinkVideoFrame_v7_6
\r
5470 CONST_VTBL struct IDeckLinkVideoFrame_v7_6Vtbl *lpVtbl;
\r
5478 #define IDeckLinkVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5479 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5481 #define IDeckLinkVideoFrame_v7_6_AddRef(This) \
\r
5482 ( (This)->lpVtbl -> AddRef(This) )
\r
5484 #define IDeckLinkVideoFrame_v7_6_Release(This) \
\r
5485 ( (This)->lpVtbl -> Release(This) )
\r
5488 #define IDeckLinkVideoFrame_v7_6_GetWidth(This) \
\r
5489 ( (This)->lpVtbl -> GetWidth(This) )
\r
5491 #define IDeckLinkVideoFrame_v7_6_GetHeight(This) \
\r
5492 ( (This)->lpVtbl -> GetHeight(This) )
\r
5494 #define IDeckLinkVideoFrame_v7_6_GetRowBytes(This) \
\r
5495 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
5497 #define IDeckLinkVideoFrame_v7_6_GetPixelFormat(This) \
\r
5498 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
5500 #define IDeckLinkVideoFrame_v7_6_GetFlags(This) \
\r
5501 ( (This)->lpVtbl -> GetFlags(This) )
\r
5503 #define IDeckLinkVideoFrame_v7_6_GetBytes(This,buffer) \
\r
5504 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
5506 #define IDeckLinkVideoFrame_v7_6_GetTimecode(This,format,timecode) \
\r
5507 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
5509 #define IDeckLinkVideoFrame_v7_6_GetAncillaryData(This,ancillary) \
\r
5510 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
5512 #endif /* COBJMACROS */
\r
5515 #endif /* C style interface */
\r
5520 #endif /* __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ */
\r
5523 #ifndef __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__
\r
5524 #define __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__
\r
5526 /* interface IDeckLinkMutableVideoFrame_v7_6 */
\r
5527 /* [helpstring][local][uuid][object] */
\r
5530 EXTERN_C const IID IID_IDeckLinkMutableVideoFrame_v7_6;
\r
5532 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5534 MIDL_INTERFACE("46FCEE00-B4E6-43D0-91C0-023A7FCEB34F")
\r
5535 IDeckLinkMutableVideoFrame_v7_6 : public IDeckLinkVideoFrame_v7_6
\r
5538 virtual HRESULT STDMETHODCALLTYPE SetFlags(
\r
5539 BMDFrameFlags newFlags) = 0;
\r
5541 virtual HRESULT STDMETHODCALLTYPE SetTimecode(
\r
5542 BMDTimecodeFormat format,
\r
5543 /* [in] */ IDeckLinkTimecode_v7_6 *timecode) = 0;
\r
5545 virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents(
\r
5546 BMDTimecodeFormat format,
\r
5547 unsigned char hours,
\r
5548 unsigned char minutes,
\r
5549 unsigned char seconds,
\r
5550 unsigned char frames,
\r
5551 BMDTimecodeFlags flags) = 0;
\r
5553 virtual HRESULT STDMETHODCALLTYPE SetAncillaryData(
\r
5554 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0;
\r
5558 #else /* C style interface */
\r
5560 typedef struct IDeckLinkMutableVideoFrame_v7_6Vtbl
\r
5564 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5565 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5566 /* [in] */ REFIID riid,
\r
5567 /* [annotation][iid_is][out] */
\r
5568 __RPC__deref_out void **ppvObject);
\r
5570 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5571 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5573 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5574 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5576 long ( STDMETHODCALLTYPE *GetWidth )(
\r
5577 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5579 long ( STDMETHODCALLTYPE *GetHeight )(
\r
5580 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5582 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
5583 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5585 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
5586 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5588 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
5589 IDeckLinkMutableVideoFrame_v7_6 * This);
\r
5591 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
5592 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5593 /* [out] */ void **buffer);
\r
5595 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
5596 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5597 BMDTimecodeFormat format,
\r
5598 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
5600 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
5601 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5602 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
5604 HRESULT ( STDMETHODCALLTYPE *SetFlags )(
\r
5605 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5606 BMDFrameFlags newFlags);
\r
5608 HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
\r
5609 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5610 BMDTimecodeFormat format,
\r
5611 /* [in] */ IDeckLinkTimecode_v7_6 *timecode);
\r
5613 HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )(
\r
5614 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5615 BMDTimecodeFormat format,
\r
5616 unsigned char hours,
\r
5617 unsigned char minutes,
\r
5618 unsigned char seconds,
\r
5619 unsigned char frames,
\r
5620 BMDTimecodeFlags flags);
\r
5622 HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )(
\r
5623 IDeckLinkMutableVideoFrame_v7_6 * This,
\r
5624 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary);
\r
5627 } IDeckLinkMutableVideoFrame_v7_6Vtbl;
\r
5629 interface IDeckLinkMutableVideoFrame_v7_6
\r
5631 CONST_VTBL struct IDeckLinkMutableVideoFrame_v7_6Vtbl *lpVtbl;
\r
5639 #define IDeckLinkMutableVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5640 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5642 #define IDeckLinkMutableVideoFrame_v7_6_AddRef(This) \
\r
5643 ( (This)->lpVtbl -> AddRef(This) )
\r
5645 #define IDeckLinkMutableVideoFrame_v7_6_Release(This) \
\r
5646 ( (This)->lpVtbl -> Release(This) )
\r
5649 #define IDeckLinkMutableVideoFrame_v7_6_GetWidth(This) \
\r
5650 ( (This)->lpVtbl -> GetWidth(This) )
\r
5652 #define IDeckLinkMutableVideoFrame_v7_6_GetHeight(This) \
\r
5653 ( (This)->lpVtbl -> GetHeight(This) )
\r
5655 #define IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(This) \
\r
5656 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
5658 #define IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(This) \
\r
5659 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
5661 #define IDeckLinkMutableVideoFrame_v7_6_GetFlags(This) \
\r
5662 ( (This)->lpVtbl -> GetFlags(This) )
\r
5664 #define IDeckLinkMutableVideoFrame_v7_6_GetBytes(This,buffer) \
\r
5665 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
5667 #define IDeckLinkMutableVideoFrame_v7_6_GetTimecode(This,format,timecode) \
\r
5668 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
5670 #define IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(This,ancillary) \
\r
5671 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
5674 #define IDeckLinkMutableVideoFrame_v7_6_SetFlags(This,newFlags) \
\r
5675 ( (This)->lpVtbl -> SetFlags(This,newFlags) )
\r
5677 #define IDeckLinkMutableVideoFrame_v7_6_SetTimecode(This,format,timecode) \
\r
5678 ( (This)->lpVtbl -> SetTimecode(This,format,timecode) )
\r
5680 #define IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \
\r
5681 ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) )
\r
5683 #define IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(This,ancillary) \
\r
5684 ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) )
\r
5686 #endif /* COBJMACROS */
\r
5689 #endif /* C style interface */
\r
5694 #endif /* __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ */
\r
5697 #ifndef __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__
\r
5698 #define __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__
\r
5700 /* interface IDeckLinkVideoInputFrame_v7_6 */
\r
5701 /* [helpstring][local][uuid][object] */
\r
5704 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_6;
\r
5706 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5708 MIDL_INTERFACE("9A74FA41-AE9F-47AC-8CF4-01F42DD59965")
\r
5709 IDeckLinkVideoInputFrame_v7_6 : public IDeckLinkVideoFrame_v7_6
\r
5712 virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
\r
5713 /* [out] */ BMDTimeValue *frameTime,
\r
5714 /* [out] */ BMDTimeValue *frameDuration,
\r
5715 BMDTimeScale timeScale) = 0;
\r
5717 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
\r
5718 BMDTimeScale timeScale,
\r
5719 /* [out] */ BMDTimeValue *frameTime,
\r
5720 /* [out] */ BMDTimeValue *frameDuration) = 0;
\r
5724 #else /* C style interface */
\r
5726 typedef struct IDeckLinkVideoInputFrame_v7_6Vtbl
\r
5730 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5731 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5732 /* [in] */ REFIID riid,
\r
5733 /* [annotation][iid_is][out] */
\r
5734 __RPC__deref_out void **ppvObject);
\r
5736 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5737 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5739 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5740 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5742 long ( STDMETHODCALLTYPE *GetWidth )(
\r
5743 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5745 long ( STDMETHODCALLTYPE *GetHeight )(
\r
5746 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5748 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
5749 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5751 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
5752 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5754 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
5755 IDeckLinkVideoInputFrame_v7_6 * This);
\r
5757 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
5758 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5759 /* [out] */ void **buffer);
\r
5761 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
5762 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5763 BMDTimecodeFormat format,
\r
5764 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
5766 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
5767 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5768 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
5770 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
\r
5771 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5772 /* [out] */ BMDTimeValue *frameTime,
\r
5773 /* [out] */ BMDTimeValue *frameDuration,
\r
5774 BMDTimeScale timeScale);
\r
5776 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )(
\r
5777 IDeckLinkVideoInputFrame_v7_6 * This,
\r
5778 BMDTimeScale timeScale,
\r
5779 /* [out] */ BMDTimeValue *frameTime,
\r
5780 /* [out] */ BMDTimeValue *frameDuration);
\r
5783 } IDeckLinkVideoInputFrame_v7_6Vtbl;
\r
5785 interface IDeckLinkVideoInputFrame_v7_6
\r
5787 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_6Vtbl *lpVtbl;
\r
5795 #define IDeckLinkVideoInputFrame_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5796 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5798 #define IDeckLinkVideoInputFrame_v7_6_AddRef(This) \
\r
5799 ( (This)->lpVtbl -> AddRef(This) )
\r
5801 #define IDeckLinkVideoInputFrame_v7_6_Release(This) \
\r
5802 ( (This)->lpVtbl -> Release(This) )
\r
5805 #define IDeckLinkVideoInputFrame_v7_6_GetWidth(This) \
\r
5806 ( (This)->lpVtbl -> GetWidth(This) )
\r
5808 #define IDeckLinkVideoInputFrame_v7_6_GetHeight(This) \
\r
5809 ( (This)->lpVtbl -> GetHeight(This) )
\r
5811 #define IDeckLinkVideoInputFrame_v7_6_GetRowBytes(This) \
\r
5812 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
5814 #define IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(This) \
\r
5815 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
5817 #define IDeckLinkVideoInputFrame_v7_6_GetFlags(This) \
\r
5818 ( (This)->lpVtbl -> GetFlags(This) )
\r
5820 #define IDeckLinkVideoInputFrame_v7_6_GetBytes(This,buffer) \
\r
5821 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
5823 #define IDeckLinkVideoInputFrame_v7_6_GetTimecode(This,format,timecode) \
\r
5824 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
5826 #define IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(This,ancillary) \
\r
5827 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
5830 #define IDeckLinkVideoInputFrame_v7_6_GetStreamTime(This,frameTime,frameDuration,timeScale) \
\r
5831 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
\r
5833 #define IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \
\r
5834 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) )
\r
5836 #endif /* COBJMACROS */
\r
5839 #endif /* C style interface */
\r
5844 #endif /* __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ */
\r
5847 #ifndef __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__
\r
5848 #define __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__
\r
5850 /* interface IDeckLinkScreenPreviewCallback_v7_6 */
\r
5851 /* [helpstring][local][uuid][object] */
\r
5854 EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback_v7_6;
\r
5856 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5858 MIDL_INTERFACE("373F499D-4B4D-4518-AD22-6354E5A5825E")
\r
5859 IDeckLinkScreenPreviewCallback_v7_6 : public IUnknown
\r
5862 virtual HRESULT STDMETHODCALLTYPE DrawFrame(
\r
5863 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
5867 #else /* C style interface */
\r
5869 typedef struct IDeckLinkScreenPreviewCallback_v7_6Vtbl
\r
5873 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5874 IDeckLinkScreenPreviewCallback_v7_6 * This,
\r
5875 /* [in] */ REFIID riid,
\r
5876 /* [annotation][iid_is][out] */
\r
5877 __RPC__deref_out void **ppvObject);
\r
5879 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5880 IDeckLinkScreenPreviewCallback_v7_6 * This);
\r
5882 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5883 IDeckLinkScreenPreviewCallback_v7_6 * This);
\r
5885 HRESULT ( STDMETHODCALLTYPE *DrawFrame )(
\r
5886 IDeckLinkScreenPreviewCallback_v7_6 * This,
\r
5887 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
5890 } IDeckLinkScreenPreviewCallback_v7_6Vtbl;
\r
5892 interface IDeckLinkScreenPreviewCallback_v7_6
\r
5894 CONST_VTBL struct IDeckLinkScreenPreviewCallback_v7_6Vtbl *lpVtbl;
\r
5902 #define IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5903 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5905 #define IDeckLinkScreenPreviewCallback_v7_6_AddRef(This) \
\r
5906 ( (This)->lpVtbl -> AddRef(This) )
\r
5908 #define IDeckLinkScreenPreviewCallback_v7_6_Release(This) \
\r
5909 ( (This)->lpVtbl -> Release(This) )
\r
5912 #define IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(This,theFrame) \
\r
5913 ( (This)->lpVtbl -> DrawFrame(This,theFrame) )
\r
5915 #endif /* COBJMACROS */
\r
5918 #endif /* C style interface */
\r
5923 #endif /* __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ */
\r
5926 #ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__
\r
5927 #define __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__
\r
5929 /* interface IDeckLinkGLScreenPreviewHelper_v7_6 */
\r
5930 /* [helpstring][local][uuid][object] */
\r
5933 EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper_v7_6;
\r
5935 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5937 MIDL_INTERFACE("BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA")
\r
5938 IDeckLinkGLScreenPreviewHelper_v7_6 : public IUnknown
\r
5941 virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0;
\r
5943 virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0;
\r
5945 virtual HRESULT STDMETHODCALLTYPE SetFrame(
\r
5946 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
5950 #else /* C style interface */
\r
5952 typedef struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl
\r
5956 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5957 IDeckLinkGLScreenPreviewHelper_v7_6 * This,
\r
5958 /* [in] */ REFIID riid,
\r
5959 /* [annotation][iid_is][out] */
\r
5960 __RPC__deref_out void **ppvObject);
\r
5962 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5963 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
5965 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5966 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
5968 HRESULT ( STDMETHODCALLTYPE *InitializeGL )(
\r
5969 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
5971 HRESULT ( STDMETHODCALLTYPE *PaintGL )(
\r
5972 IDeckLinkGLScreenPreviewHelper_v7_6 * This);
\r
5974 HRESULT ( STDMETHODCALLTYPE *SetFrame )(
\r
5975 IDeckLinkGLScreenPreviewHelper_v7_6 * This,
\r
5976 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
5979 } IDeckLinkGLScreenPreviewHelper_v7_6Vtbl;
\r
5981 interface IDeckLinkGLScreenPreviewHelper_v7_6
\r
5983 CONST_VTBL struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl *lpVtbl;
\r
5991 #define IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(This,riid,ppvObject) \
\r
5992 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5994 #define IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(This) \
\r
5995 ( (This)->lpVtbl -> AddRef(This) )
\r
5997 #define IDeckLinkGLScreenPreviewHelper_v7_6_Release(This) \
\r
5998 ( (This)->lpVtbl -> Release(This) )
\r
6001 #define IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(This) \
\r
6002 ( (This)->lpVtbl -> InitializeGL(This) )
\r
6004 #define IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(This) \
\r
6005 ( (This)->lpVtbl -> PaintGL(This) )
\r
6007 #define IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(This,theFrame) \
\r
6008 ( (This)->lpVtbl -> SetFrame(This,theFrame) )
\r
6010 #endif /* COBJMACROS */
\r
6013 #endif /* C style interface */
\r
6018 #endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ */
\r
6021 #ifndef __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__
\r
6022 #define __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__
\r
6024 /* interface IDeckLinkVideoConversion_v7_6 */
\r
6025 /* [helpstring][local][uuid][object] */
\r
6028 EXTERN_C const IID IID_IDeckLinkVideoConversion_v7_6;
\r
6030 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6032 MIDL_INTERFACE("3EB504C9-F97D-40FE-A158-D407D48CB53B")
\r
6033 IDeckLinkVideoConversion_v7_6 : public IUnknown
\r
6036 virtual HRESULT STDMETHODCALLTYPE ConvertFrame(
\r
6037 /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame,
\r
6038 /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame) = 0;
\r
6042 #else /* C style interface */
\r
6044 typedef struct IDeckLinkVideoConversion_v7_6Vtbl
\r
6048 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6049 IDeckLinkVideoConversion_v7_6 * This,
\r
6050 /* [in] */ REFIID riid,
\r
6051 /* [annotation][iid_is][out] */
\r
6052 __RPC__deref_out void **ppvObject);
\r
6054 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6055 IDeckLinkVideoConversion_v7_6 * This);
\r
6057 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6058 IDeckLinkVideoConversion_v7_6 * This);
\r
6060 HRESULT ( STDMETHODCALLTYPE *ConvertFrame )(
\r
6061 IDeckLinkVideoConversion_v7_6 * This,
\r
6062 /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame,
\r
6063 /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame);
\r
6066 } IDeckLinkVideoConversion_v7_6Vtbl;
\r
6068 interface IDeckLinkVideoConversion_v7_6
\r
6070 CONST_VTBL struct IDeckLinkVideoConversion_v7_6Vtbl *lpVtbl;
\r
6078 #define IDeckLinkVideoConversion_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6079 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6081 #define IDeckLinkVideoConversion_v7_6_AddRef(This) \
\r
6082 ( (This)->lpVtbl -> AddRef(This) )
\r
6084 #define IDeckLinkVideoConversion_v7_6_Release(This) \
\r
6085 ( (This)->lpVtbl -> Release(This) )
\r
6088 #define IDeckLinkVideoConversion_v7_6_ConvertFrame(This,srcFrame,dstFrame) \
\r
6089 ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) )
\r
6091 #endif /* COBJMACROS */
\r
6094 #endif /* C style interface */
\r
6099 #endif /* __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ */
\r
6102 #ifndef __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__
\r
6103 #define __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__
\r
6105 /* interface IDeckLinkConfiguration_v7_6 */
\r
6106 /* [helpstring][uuid][object] */
\r
6109 EXTERN_C const IID IID_IDeckLinkConfiguration_v7_6;
\r
6111 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6113 MIDL_INTERFACE("B8EAD569-B764-47F0-A73F-AE40DF6CBF10")
\r
6114 IDeckLinkConfiguration_v7_6 : public IUnknown
\r
6117 virtual HRESULT STDMETHODCALLTYPE GetConfigurationValidator(
\r
6118 /* [out] */ IDeckLinkConfiguration_v7_6 **configObject) = 0;
\r
6120 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;
\r
6122 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFormat(
\r
6123 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection) = 0;
\r
6125 virtual HRESULT STDMETHODCALLTYPE IsVideoOutputActive(
\r
6126 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection,
\r
6127 /* [out] */ BOOL *active) = 0;
\r
6129 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoOutputFlags(
\r
6130 /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0;
\r
6132 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoOutputFlags(
\r
6133 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
\r
6135 virtual HRESULT STDMETHODCALLTYPE EnableFieldFlickerRemovalWhenPaused(
\r
6136 /* [in] */ BOOL enable) = 0;
\r
6138 virtual HRESULT STDMETHODCALLTYPE IsEnabledFieldFlickerRemovalWhenPaused(
\r
6139 /* [out] */ BOOL *enabled) = 0;
\r
6141 virtual HRESULT STDMETHODCALLTYPE Set444And3GBpsVideoOutput(
\r
6142 /* [in] */ BOOL enable444VideoOutput,
\r
6143 /* [in] */ BOOL enable3GbsOutput) = 0;
\r
6145 virtual HRESULT STDMETHODCALLTYPE Get444And3GBpsVideoOutput(
\r
6146 /* [out] */ BOOL *is444VideoOutputEnabled,
\r
6147 /* [out] */ BOOL *threeGbsOutputEnabled) = 0;
\r
6149 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputConversionMode(
\r
6150 /* [in] */ BMDVideoOutputConversionMode conversionMode) = 0;
\r
6152 virtual HRESULT STDMETHODCALLTYPE GetVideoOutputConversionMode(
\r
6153 /* [out] */ BMDVideoOutputConversionMode *conversionMode) = 0;
\r
6155 virtual HRESULT STDMETHODCALLTYPE Set_HD1080p24_to_HD1080i5994_Conversion(
\r
6156 /* [in] */ BOOL enable) = 0;
\r
6158 virtual HRESULT STDMETHODCALLTYPE Get_HD1080p24_to_HD1080i5994_Conversion(
\r
6159 /* [out] */ BOOL *enabled) = 0;
\r
6161 virtual HRESULT STDMETHODCALLTYPE SetVideoInputFormat(
\r
6162 /* [in] */ BMDVideoConnection_v7_6 videoInputFormat) = 0;
\r
6164 virtual HRESULT STDMETHODCALLTYPE GetVideoInputFormat(
\r
6165 /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat) = 0;
\r
6167 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoInputFlags(
\r
6168 /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0;
\r
6170 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoInputFlags(
\r
6171 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
\r
6173 virtual HRESULT STDMETHODCALLTYPE SetVideoInputConversionMode(
\r
6174 /* [in] */ BMDVideoInputConversionMode conversionMode) = 0;
\r
6176 virtual HRESULT STDMETHODCALLTYPE GetVideoInputConversionMode(
\r
6177 /* [out] */ BMDVideoInputConversionMode *conversionMode) = 0;
\r
6179 virtual HRESULT STDMETHODCALLTYPE SetBlackVideoOutputDuringCapture(
\r
6180 /* [in] */ BOOL blackOutInCapture) = 0;
\r
6182 virtual HRESULT STDMETHODCALLTYPE GetBlackVideoOutputDuringCapture(
\r
6183 /* [out] */ BOOL *blackOutInCapture) = 0;
\r
6185 virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame(
\r
6186 /* [in] */ unsigned long aFrameTimecode) = 0;
\r
6188 virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame(
\r
6189 /* [out] */ unsigned long *aFrameTimecode) = 0;
\r
6191 virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping(
\r
6192 /* [in] */ unsigned long activeLine1VANCsource,
\r
6193 /* [in] */ unsigned long activeLine2VANCsource,
\r
6194 /* [in] */ unsigned long activeLine3VANCsource) = 0;
\r
6196 virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping(
\r
6197 /* [out] */ unsigned long *activeLine1VANCsource,
\r
6198 /* [out] */ unsigned long *activeLine2VANCsource,
\r
6199 /* [out] */ unsigned long *activeLine3VANCsource) = 0;
\r
6201 virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat(
\r
6202 /* [in] */ BMDAudioConnection audioInputFormat) = 0;
\r
6204 virtual HRESULT STDMETHODCALLTYPE GetAudioInputFormat(
\r
6205 /* [out] */ BMDAudioConnection *audioInputFormat) = 0;
\r
6209 #else /* C style interface */
\r
6211 typedef struct IDeckLinkConfiguration_v7_6Vtbl
\r
6215 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6216 IDeckLinkConfiguration_v7_6 * This,
\r
6217 /* [in] */ REFIID riid,
\r
6218 /* [annotation][iid_is][out] */
\r
6219 __RPC__deref_out void **ppvObject);
\r
6221 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6222 IDeckLinkConfiguration_v7_6 * This);
\r
6224 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6225 IDeckLinkConfiguration_v7_6 * This);
\r
6227 HRESULT ( STDMETHODCALLTYPE *GetConfigurationValidator )(
\r
6228 IDeckLinkConfiguration_v7_6 * This,
\r
6229 /* [out] */ IDeckLinkConfiguration_v7_6 **configObject);
\r
6231 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )(
\r
6232 IDeckLinkConfiguration_v7_6 * This);
\r
6234 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFormat )(
\r
6235 IDeckLinkConfiguration_v7_6 * This,
\r
6236 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection);
\r
6238 HRESULT ( STDMETHODCALLTYPE *IsVideoOutputActive )(
\r
6239 IDeckLinkConfiguration_v7_6 * This,
\r
6240 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection,
\r
6241 /* [out] */ BOOL *active);
\r
6243 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoOutputFlags )(
\r
6244 IDeckLinkConfiguration_v7_6 * This,
\r
6245 /* [in] */ BMDAnalogVideoFlags analogVideoFlags);
\r
6247 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoOutputFlags )(
\r
6248 IDeckLinkConfiguration_v7_6 * This,
\r
6249 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
\r
6251 HRESULT ( STDMETHODCALLTYPE *EnableFieldFlickerRemovalWhenPaused )(
\r
6252 IDeckLinkConfiguration_v7_6 * This,
\r
6253 /* [in] */ BOOL enable);
\r
6255 HRESULT ( STDMETHODCALLTYPE *IsEnabledFieldFlickerRemovalWhenPaused )(
\r
6256 IDeckLinkConfiguration_v7_6 * This,
\r
6257 /* [out] */ BOOL *enabled);
\r
6259 HRESULT ( STDMETHODCALLTYPE *Set444And3GBpsVideoOutput )(
\r
6260 IDeckLinkConfiguration_v7_6 * This,
\r
6261 /* [in] */ BOOL enable444VideoOutput,
\r
6262 /* [in] */ BOOL enable3GbsOutput);
\r
6264 HRESULT ( STDMETHODCALLTYPE *Get444And3GBpsVideoOutput )(
\r
6265 IDeckLinkConfiguration_v7_6 * This,
\r
6266 /* [out] */ BOOL *is444VideoOutputEnabled,
\r
6267 /* [out] */ BOOL *threeGbsOutputEnabled);
\r
6269 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputConversionMode )(
\r
6270 IDeckLinkConfiguration_v7_6 * This,
\r
6271 /* [in] */ BMDVideoOutputConversionMode conversionMode);
\r
6273 HRESULT ( STDMETHODCALLTYPE *GetVideoOutputConversionMode )(
\r
6274 IDeckLinkConfiguration_v7_6 * This,
\r
6275 /* [out] */ BMDVideoOutputConversionMode *conversionMode);
\r
6277 HRESULT ( STDMETHODCALLTYPE *Set_HD1080p24_to_HD1080i5994_Conversion )(
\r
6278 IDeckLinkConfiguration_v7_6 * This,
\r
6279 /* [in] */ BOOL enable);
\r
6281 HRESULT ( STDMETHODCALLTYPE *Get_HD1080p24_to_HD1080i5994_Conversion )(
\r
6282 IDeckLinkConfiguration_v7_6 * This,
\r
6283 /* [out] */ BOOL *enabled);
\r
6285 HRESULT ( STDMETHODCALLTYPE *SetVideoInputFormat )(
\r
6286 IDeckLinkConfiguration_v7_6 * This,
\r
6287 /* [in] */ BMDVideoConnection_v7_6 videoInputFormat);
\r
6289 HRESULT ( STDMETHODCALLTYPE *GetVideoInputFormat )(
\r
6290 IDeckLinkConfiguration_v7_6 * This,
\r
6291 /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat);
\r
6293 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoInputFlags )(
\r
6294 IDeckLinkConfiguration_v7_6 * This,
\r
6295 /* [in] */ BMDAnalogVideoFlags analogVideoFlags);
\r
6297 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoInputFlags )(
\r
6298 IDeckLinkConfiguration_v7_6 * This,
\r
6299 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
\r
6301 HRESULT ( STDMETHODCALLTYPE *SetVideoInputConversionMode )(
\r
6302 IDeckLinkConfiguration_v7_6 * This,
\r
6303 /* [in] */ BMDVideoInputConversionMode conversionMode);
\r
6305 HRESULT ( STDMETHODCALLTYPE *GetVideoInputConversionMode )(
\r
6306 IDeckLinkConfiguration_v7_6 * This,
\r
6307 /* [out] */ BMDVideoInputConversionMode *conversionMode);
\r
6309 HRESULT ( STDMETHODCALLTYPE *SetBlackVideoOutputDuringCapture )(
\r
6310 IDeckLinkConfiguration_v7_6 * This,
\r
6311 /* [in] */ BOOL blackOutInCapture);
\r
6313 HRESULT ( STDMETHODCALLTYPE *GetBlackVideoOutputDuringCapture )(
\r
6314 IDeckLinkConfiguration_v7_6 * This,
\r
6315 /* [out] */ BOOL *blackOutInCapture);
\r
6317 HRESULT ( STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame )(
\r
6318 IDeckLinkConfiguration_v7_6 * This,
\r
6319 /* [in] */ unsigned long aFrameTimecode);
\r
6321 HRESULT ( STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame )(
\r
6322 IDeckLinkConfiguration_v7_6 * This,
\r
6323 /* [out] */ unsigned long *aFrameTimecode);
\r
6325 HRESULT ( STDMETHODCALLTYPE *SetVancSourceLineMapping )(
\r
6326 IDeckLinkConfiguration_v7_6 * This,
\r
6327 /* [in] */ unsigned long activeLine1VANCsource,
\r
6328 /* [in] */ unsigned long activeLine2VANCsource,
\r
6329 /* [in] */ unsigned long activeLine3VANCsource);
\r
6331 HRESULT ( STDMETHODCALLTYPE *GetVancSourceLineMapping )(
\r
6332 IDeckLinkConfiguration_v7_6 * This,
\r
6333 /* [out] */ unsigned long *activeLine1VANCsource,
\r
6334 /* [out] */ unsigned long *activeLine2VANCsource,
\r
6335 /* [out] */ unsigned long *activeLine3VANCsource);
\r
6337 HRESULT ( STDMETHODCALLTYPE *SetAudioInputFormat )(
\r
6338 IDeckLinkConfiguration_v7_6 * This,
\r
6339 /* [in] */ BMDAudioConnection audioInputFormat);
\r
6341 HRESULT ( STDMETHODCALLTYPE *GetAudioInputFormat )(
\r
6342 IDeckLinkConfiguration_v7_6 * This,
\r
6343 /* [out] */ BMDAudioConnection *audioInputFormat);
\r
6346 } IDeckLinkConfiguration_v7_6Vtbl;
\r
6348 interface IDeckLinkConfiguration_v7_6
\r
6350 CONST_VTBL struct IDeckLinkConfiguration_v7_6Vtbl *lpVtbl;
\r
6358 #define IDeckLinkConfiguration_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6359 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6361 #define IDeckLinkConfiguration_v7_6_AddRef(This) \
\r
6362 ( (This)->lpVtbl -> AddRef(This) )
\r
6364 #define IDeckLinkConfiguration_v7_6_Release(This) \
\r
6365 ( (This)->lpVtbl -> Release(This) )
\r
6368 #define IDeckLinkConfiguration_v7_6_GetConfigurationValidator(This,configObject) \
\r
6369 ( (This)->lpVtbl -> GetConfigurationValidator(This,configObject) )
\r
6371 #define IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(This) \
\r
6372 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) )
\r
6374 #define IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(This,videoOutputConnection) \
\r
6375 ( (This)->lpVtbl -> SetVideoOutputFormat(This,videoOutputConnection) )
\r
6377 #define IDeckLinkConfiguration_v7_6_IsVideoOutputActive(This,videoOutputConnection,active) \
\r
6378 ( (This)->lpVtbl -> IsVideoOutputActive(This,videoOutputConnection,active) )
\r
6380 #define IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(This,analogVideoFlags) \
\r
6381 ( (This)->lpVtbl -> SetAnalogVideoOutputFlags(This,analogVideoFlags) )
\r
6383 #define IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(This,analogVideoFlags) \
\r
6384 ( (This)->lpVtbl -> GetAnalogVideoOutputFlags(This,analogVideoFlags) )
\r
6386 #define IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(This,enable) \
\r
6387 ( (This)->lpVtbl -> EnableFieldFlickerRemovalWhenPaused(This,enable) )
\r
6389 #define IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) \
\r
6390 ( (This)->lpVtbl -> IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) )
\r
6392 #define IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) \
\r
6393 ( (This)->lpVtbl -> Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) )
\r
6395 #define IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) \
\r
6396 ( (This)->lpVtbl -> Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) )
\r
6398 #define IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(This,conversionMode) \
\r
6399 ( (This)->lpVtbl -> SetVideoOutputConversionMode(This,conversionMode) )
\r
6401 #define IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(This,conversionMode) \
\r
6402 ( (This)->lpVtbl -> GetVideoOutputConversionMode(This,conversionMode) )
\r
6404 #define IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) \
\r
6405 ( (This)->lpVtbl -> Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) )
\r
6407 #define IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) \
\r
6408 ( (This)->lpVtbl -> Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) )
\r
6410 #define IDeckLinkConfiguration_v7_6_SetVideoInputFormat(This,videoInputFormat) \
\r
6411 ( (This)->lpVtbl -> SetVideoInputFormat(This,videoInputFormat) )
\r
6413 #define IDeckLinkConfiguration_v7_6_GetVideoInputFormat(This,videoInputFormat) \
\r
6414 ( (This)->lpVtbl -> GetVideoInputFormat(This,videoInputFormat) )
\r
6416 #define IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(This,analogVideoFlags) \
\r
6417 ( (This)->lpVtbl -> SetAnalogVideoInputFlags(This,analogVideoFlags) )
\r
6419 #define IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(This,analogVideoFlags) \
\r
6420 ( (This)->lpVtbl -> GetAnalogVideoInputFlags(This,analogVideoFlags) )
\r
6422 #define IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(This,conversionMode) \
\r
6423 ( (This)->lpVtbl -> SetVideoInputConversionMode(This,conversionMode) )
\r
6425 #define IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(This,conversionMode) \
\r
6426 ( (This)->lpVtbl -> GetVideoInputConversionMode(This,conversionMode) )
\r
6428 #define IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
\r
6429 ( (This)->lpVtbl -> SetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
\r
6431 #define IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
\r
6432 ( (This)->lpVtbl -> GetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
\r
6434 #define IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
\r
6435 ( (This)->lpVtbl -> Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
\r
6437 #define IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
\r
6438 ( (This)->lpVtbl -> Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
\r
6440 #define IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
\r
6441 ( (This)->lpVtbl -> SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
\r
6443 #define IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
\r
6444 ( (This)->lpVtbl -> GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
\r
6446 #define IDeckLinkConfiguration_v7_6_SetAudioInputFormat(This,audioInputFormat) \
\r
6447 ( (This)->lpVtbl -> SetAudioInputFormat(This,audioInputFormat) )
\r
6449 #define IDeckLinkConfiguration_v7_6_GetAudioInputFormat(This,audioInputFormat) \
\r
6450 ( (This)->lpVtbl -> GetAudioInputFormat(This,audioInputFormat) )
\r
6452 #endif /* COBJMACROS */
\r
6455 #endif /* C style interface */
\r
6460 #endif /* __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ */
\r
6463 #ifndef __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__
\r
6464 #define __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__
\r
6466 /* interface IDeckLinkVideoOutputCallback_v7_6 */
\r
6467 /* [helpstring][uuid][object] */
\r
6470 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_6;
\r
6472 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6474 MIDL_INTERFACE("E763A626-4A3C-49D1-BF13-E7AD3692AE52")
\r
6475 IDeckLinkVideoOutputCallback_v7_6 : public IUnknown
\r
6478 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
\r
6479 /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame,
\r
6480 /* [in] */ BMDOutputFrameCompletionResult result) = 0;
\r
6482 virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0;
\r
6486 #else /* C style interface */
\r
6488 typedef struct IDeckLinkVideoOutputCallback_v7_6Vtbl
\r
6492 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6493 IDeckLinkVideoOutputCallback_v7_6 * This,
\r
6494 /* [in] */ REFIID riid,
\r
6495 /* [annotation][iid_is][out] */
\r
6496 __RPC__deref_out void **ppvObject);
\r
6498 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6499 IDeckLinkVideoOutputCallback_v7_6 * This);
\r
6501 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6502 IDeckLinkVideoOutputCallback_v7_6 * This);
\r
6504 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
\r
6505 IDeckLinkVideoOutputCallback_v7_6 * This,
\r
6506 /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame,
\r
6507 /* [in] */ BMDOutputFrameCompletionResult result);
\r
6509 HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )(
\r
6510 IDeckLinkVideoOutputCallback_v7_6 * This);
\r
6513 } IDeckLinkVideoOutputCallback_v7_6Vtbl;
\r
6515 interface IDeckLinkVideoOutputCallback_v7_6
\r
6517 CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_6Vtbl *lpVtbl;
\r
6525 #define IDeckLinkVideoOutputCallback_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6526 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6528 #define IDeckLinkVideoOutputCallback_v7_6_AddRef(This) \
\r
6529 ( (This)->lpVtbl -> AddRef(This) )
\r
6531 #define IDeckLinkVideoOutputCallback_v7_6_Release(This) \
\r
6532 ( (This)->lpVtbl -> Release(This) )
\r
6535 #define IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(This,completedFrame,result) \
\r
6536 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
\r
6538 #define IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(This) \
\r
6539 ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) )
\r
6541 #endif /* COBJMACROS */
\r
6544 #endif /* C style interface */
\r
6549 #endif /* __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ */
\r
6552 #ifndef __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__
\r
6553 #define __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__
\r
6555 /* interface IDeckLinkInputCallback_v7_6 */
\r
6556 /* [helpstring][uuid][object] */
\r
6559 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_6;
\r
6561 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6563 MIDL_INTERFACE("31D28EE7-88B6-4CB1-897A-CDBF79A26414")
\r
6564 IDeckLinkInputCallback_v7_6 : public IUnknown
\r
6567 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
\r
6568 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
6569 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
6570 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
\r
6572 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
6573 /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame,
\r
6574 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
\r
6578 #else /* C style interface */
\r
6580 typedef struct IDeckLinkInputCallback_v7_6Vtbl
\r
6584 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6585 IDeckLinkInputCallback_v7_6 * This,
\r
6586 /* [in] */ REFIID riid,
\r
6587 /* [annotation][iid_is][out] */
\r
6588 __RPC__deref_out void **ppvObject);
\r
6590 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6591 IDeckLinkInputCallback_v7_6 * This);
\r
6593 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6594 IDeckLinkInputCallback_v7_6 * This);
\r
6596 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
\r
6597 IDeckLinkInputCallback_v7_6 * This,
\r
6598 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
6599 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
6600 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
\r
6602 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
6603 IDeckLinkInputCallback_v7_6 * This,
\r
6604 /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame,
\r
6605 /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
\r
6608 } IDeckLinkInputCallback_v7_6Vtbl;
\r
6610 interface IDeckLinkInputCallback_v7_6
\r
6612 CONST_VTBL struct IDeckLinkInputCallback_v7_6Vtbl *lpVtbl;
\r
6620 #define IDeckLinkInputCallback_v7_6_QueryInterface(This,riid,ppvObject) \
\r
6621 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6623 #define IDeckLinkInputCallback_v7_6_AddRef(This) \
\r
6624 ( (This)->lpVtbl -> AddRef(This) )
\r
6626 #define IDeckLinkInputCallback_v7_6_Release(This) \
\r
6627 ( (This)->lpVtbl -> Release(This) )
\r
6630 #define IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
\r
6631 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
\r
6633 #define IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
6634 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
6636 #endif /* COBJMACROS */
\r
6639 #endif /* C style interface */
\r
6644 #endif /* __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ */
\r
6647 EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper_v7_6;
\r
6649 #ifdef __cplusplus
\r
6651 class DECLSPEC_UUID("D398CEE7-4434-4CA3-9BA6-5AE34556B905")
\r
6652 CDeckLinkGLScreenPreviewHelper_v7_6;
\r
6655 EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion_v7_6;
\r
6657 #ifdef __cplusplus
\r
6659 class DECLSPEC_UUID("FFA84F77-73BE-4FB7-B03E-B5E44B9F759B")
\r
6660 CDeckLinkVideoConversion_v7_6;
\r
6663 #ifndef __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
\r
6664 #define __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
\r
6666 /* interface IDeckLinkInputCallback_v7_3 */
\r
6667 /* [helpstring][uuid][object] */
\r
6670 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_3;
\r
6672 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6674 MIDL_INTERFACE("FD6F311D-4D00-444B-9ED4-1F25B5730AD0")
\r
6675 IDeckLinkInputCallback_v7_3 : public IUnknown
\r
6678 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
\r
6679 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
6680 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
6681 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
\r
6683 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
6684 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
\r
6685 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
\r
6689 #else /* C style interface */
\r
6691 typedef struct IDeckLinkInputCallback_v7_3Vtbl
\r
6695 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6696 IDeckLinkInputCallback_v7_3 * This,
\r
6697 /* [in] */ REFIID riid,
\r
6698 /* [annotation][iid_is][out] */
\r
6699 __RPC__deref_out void **ppvObject);
\r
6701 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6702 IDeckLinkInputCallback_v7_3 * This);
\r
6704 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6705 IDeckLinkInputCallback_v7_3 * This);
\r
6707 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
\r
6708 IDeckLinkInputCallback_v7_3 * This,
\r
6709 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
6710 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
\r
6711 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
\r
6713 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
6714 IDeckLinkInputCallback_v7_3 * This,
\r
6715 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
\r
6716 /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
\r
6719 } IDeckLinkInputCallback_v7_3Vtbl;
\r
6721 interface IDeckLinkInputCallback_v7_3
\r
6723 CONST_VTBL struct IDeckLinkInputCallback_v7_3Vtbl *lpVtbl;
\r
6731 #define IDeckLinkInputCallback_v7_3_QueryInterface(This,riid,ppvObject) \
\r
6732 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
6734 #define IDeckLinkInputCallback_v7_3_AddRef(This) \
\r
6735 ( (This)->lpVtbl -> AddRef(This) )
\r
6737 #define IDeckLinkInputCallback_v7_3_Release(This) \
\r
6738 ( (This)->lpVtbl -> Release(This) )
\r
6741 #define IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
\r
6742 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
\r
6744 #define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
6745 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
6747 #endif /* COBJMACROS */
\r
6750 #endif /* C style interface */
\r
6755 #endif /* __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ */
\r
6758 #ifndef __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
\r
6759 #define __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
\r
6761 /* interface IDeckLinkOutput_v7_3 */
\r
6762 /* [helpstring][local][uuid][object] */
\r
6765 EXTERN_C const IID IID_IDeckLinkOutput_v7_3;
\r
6767 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
6769 MIDL_INTERFACE("271C65E3-C323-4344-A30F-D908BCB20AA3")
\r
6770 IDeckLinkOutput_v7_3 : public IUnknown
\r
6773 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
6774 BMDDisplayMode displayMode,
\r
6775 BMDPixelFormat pixelFormat,
\r
6776 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
6778 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
6779 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
6781 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
6782 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
6784 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
6785 BMDDisplayMode displayMode,
\r
6786 BMDVideoOutputFlags flags) = 0;
\r
6788 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
6790 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
6791 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
6793 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
6797 BMDPixelFormat pixelFormat,
\r
6798 BMDFrameFlags flags,
\r
6799 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;
\r
6801 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
\r
6802 BMDPixelFormat pixelFormat,
\r
6803 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
\r
6805 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
6806 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
\r
6808 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
6809 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
6810 BMDTimeValue displayTime,
\r
6811 BMDTimeValue displayDuration,
\r
6812 BMDTimeScale timeScale) = 0;
\r
6814 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
6815 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;
\r
6817 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
\r
6818 /* [out] */ unsigned long *bufferedFrameCount) = 0;
\r
6820 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
6821 BMDAudioSampleRate sampleRate,
\r
6822 BMDAudioSampleType sampleType,
\r
6823 unsigned long channelCount,
\r
6824 BMDAudioOutputStreamType streamType) = 0;
\r
6826 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
6828 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
6829 /* [in] */ void *buffer,
\r
6830 unsigned long sampleFrameCount,
\r
6831 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
6833 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
6835 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
6837 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
6838 /* [in] */ void *buffer,
\r
6839 unsigned long sampleFrameCount,
\r
6840 BMDTimeValue streamTime,
\r
6841 BMDTimeScale timeScale,
\r
6842 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
6844 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
6845 /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
\r
6847 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
6849 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
6850 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
6852 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
6853 BMDTimeValue playbackStartTime,
\r
6854 BMDTimeScale timeScale,
\r
6855 double playbackSpeed) = 0;
\r
6857 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
6858 BMDTimeValue stopPlaybackAtTime,
\r
6859 /* [out] */ BMDTimeValue *actualStopTime,
\r
6860 BMDTimeScale timeScale) = 0;
\r
6862 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
\r
6863 /* [out] */ BOOL *active) = 0;
\r
6865 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
6866 BMDTimeScale desiredTimeScale,
\r
6867 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
\r
6871 #else /* C style interface */
\r
6873 typedef struct IDeckLinkOutput_v7_3Vtbl
\r
6877 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
6878 IDeckLinkOutput_v7_3 * This,
\r
6879 /* [in] */ REFIID riid,
\r
6880 /* [annotation][iid_is][out] */
\r
6881 __RPC__deref_out void **ppvObject);
\r
6883 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
6884 IDeckLinkOutput_v7_3 * This);
\r
6886 ULONG ( STDMETHODCALLTYPE *Release )(
\r
6887 IDeckLinkOutput_v7_3 * This);
\r
6889 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
6890 IDeckLinkOutput_v7_3 * This,
\r
6891 BMDDisplayMode displayMode,
\r
6892 BMDPixelFormat pixelFormat,
\r
6893 /* [out] */ BMDDisplayModeSupport *result);
\r
6895 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
6896 IDeckLinkOutput_v7_3 * This,
\r
6897 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
6899 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
6900 IDeckLinkOutput_v7_3 * This,
\r
6901 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
6903 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
6904 IDeckLinkOutput_v7_3 * This,
\r
6905 BMDDisplayMode displayMode,
\r
6906 BMDVideoOutputFlags flags);
\r
6908 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
6909 IDeckLinkOutput_v7_3 * This);
\r
6911 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
6912 IDeckLinkOutput_v7_3 * This,
\r
6913 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
6915 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
6916 IDeckLinkOutput_v7_3 * This,
\r
6920 BMDPixelFormat pixelFormat,
\r
6921 BMDFrameFlags flags,
\r
6922 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame);
\r
6924 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
\r
6925 IDeckLinkOutput_v7_3 * This,
\r
6926 BMDPixelFormat pixelFormat,
\r
6927 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
\r
6929 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
6930 IDeckLinkOutput_v7_3 * This,
\r
6931 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
\r
6933 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
6934 IDeckLinkOutput_v7_3 * This,
\r
6935 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
\r
6936 BMDTimeValue displayTime,
\r
6937 BMDTimeValue displayDuration,
\r
6938 BMDTimeScale timeScale);
\r
6940 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
6941 IDeckLinkOutput_v7_3 * This,
\r
6942 /* [in] */ IDeckLinkVideoOutputCallback *theCallback);
\r
6944 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
\r
6945 IDeckLinkOutput_v7_3 * This,
\r
6946 /* [out] */ unsigned long *bufferedFrameCount);
\r
6948 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
6949 IDeckLinkOutput_v7_3 * This,
\r
6950 BMDAudioSampleRate sampleRate,
\r
6951 BMDAudioSampleType sampleType,
\r
6952 unsigned long channelCount,
\r
6953 BMDAudioOutputStreamType streamType);
\r
6955 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
6956 IDeckLinkOutput_v7_3 * This);
\r
6958 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
6959 IDeckLinkOutput_v7_3 * This,
\r
6960 /* [in] */ void *buffer,
\r
6961 unsigned long sampleFrameCount,
\r
6962 /* [out] */ unsigned long *sampleFramesWritten);
\r
6964 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
6965 IDeckLinkOutput_v7_3 * This);
\r
6967 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
6968 IDeckLinkOutput_v7_3 * This);
\r
6970 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
6971 IDeckLinkOutput_v7_3 * This,
\r
6972 /* [in] */ void *buffer,
\r
6973 unsigned long sampleFrameCount,
\r
6974 BMDTimeValue streamTime,
\r
6975 BMDTimeScale timeScale,
\r
6976 /* [out] */ unsigned long *sampleFramesWritten);
\r
6978 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
6979 IDeckLinkOutput_v7_3 * This,
\r
6980 /* [out] */ unsigned long *bufferedSampleFrameCount);
\r
6982 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
6983 IDeckLinkOutput_v7_3 * This);
\r
6985 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
6986 IDeckLinkOutput_v7_3 * This,
\r
6987 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
6989 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
6990 IDeckLinkOutput_v7_3 * This,
\r
6991 BMDTimeValue playbackStartTime,
\r
6992 BMDTimeScale timeScale,
\r
6993 double playbackSpeed);
\r
6995 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
6996 IDeckLinkOutput_v7_3 * This,
\r
6997 BMDTimeValue stopPlaybackAtTime,
\r
6998 /* [out] */ BMDTimeValue *actualStopTime,
\r
6999 BMDTimeScale timeScale);
\r
7001 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
\r
7002 IDeckLinkOutput_v7_3 * This,
\r
7003 /* [out] */ BOOL *active);
\r
7005 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
7006 IDeckLinkOutput_v7_3 * This,
\r
7007 BMDTimeScale desiredTimeScale,
\r
7008 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan);
\r
7011 } IDeckLinkOutput_v7_3Vtbl;
\r
7013 interface IDeckLinkOutput_v7_3
\r
7015 CONST_VTBL struct IDeckLinkOutput_v7_3Vtbl *lpVtbl;
\r
7023 #define IDeckLinkOutput_v7_3_QueryInterface(This,riid,ppvObject) \
\r
7024 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7026 #define IDeckLinkOutput_v7_3_AddRef(This) \
\r
7027 ( (This)->lpVtbl -> AddRef(This) )
\r
7029 #define IDeckLinkOutput_v7_3_Release(This) \
\r
7030 ( (This)->lpVtbl -> Release(This) )
\r
7033 #define IDeckLinkOutput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
7034 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
7036 #define IDeckLinkOutput_v7_3_GetDisplayModeIterator(This,iterator) \
\r
7037 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
7039 #define IDeckLinkOutput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
\r
7040 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
7042 #define IDeckLinkOutput_v7_3_EnableVideoOutput(This,displayMode,flags) \
\r
7043 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
\r
7045 #define IDeckLinkOutput_v7_3_DisableVideoOutput(This) \
\r
7046 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
7048 #define IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
7049 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
7051 #define IDeckLinkOutput_v7_3_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
7052 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
7054 #define IDeckLinkOutput_v7_3_CreateAncillaryData(This,pixelFormat,outBuffer) \
\r
7055 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
\r
7057 #define IDeckLinkOutput_v7_3_DisplayVideoFrameSync(This,theFrame) \
\r
7058 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
7060 #define IDeckLinkOutput_v7_3_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
7061 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
7063 #define IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
7064 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
7066 #define IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
\r
7067 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
\r
7069 #define IDeckLinkOutput_v7_3_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
\r
7070 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
\r
7072 #define IDeckLinkOutput_v7_3_DisableAudioOutput(This) \
\r
7073 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
7075 #define IDeckLinkOutput_v7_3_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
7076 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
7078 #define IDeckLinkOutput_v7_3_BeginAudioPreroll(This) \
\r
7079 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
7081 #define IDeckLinkOutput_v7_3_EndAudioPreroll(This) \
\r
7082 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
7084 #define IDeckLinkOutput_v7_3_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
7085 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
7087 #define IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
\r
7088 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
\r
7090 #define IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(This) \
\r
7091 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
7093 #define IDeckLinkOutput_v7_3_SetAudioCallback(This,theCallback) \
\r
7094 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
7096 #define IDeckLinkOutput_v7_3_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
7097 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
7099 #define IDeckLinkOutput_v7_3_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
7100 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
7102 #define IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(This,active) \
\r
7103 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
\r
7105 #define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
\r
7106 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) )
\r
7108 #endif /* COBJMACROS */
\r
7111 #endif /* C style interface */
\r
7116 #endif /* __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ */
\r
7119 #ifndef __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
\r
7120 #define __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
\r
7122 /* interface IDeckLinkInput_v7_3 */
\r
7123 /* [helpstring][uuid][object] */
\r
7126 EXTERN_C const IID IID_IDeckLinkInput_v7_3;
\r
7128 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7130 MIDL_INTERFACE("4973F012-9925-458C-871C-18774CDBBECB")
\r
7131 IDeckLinkInput_v7_3 : public IUnknown
\r
7134 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
7135 BMDDisplayMode displayMode,
\r
7136 BMDPixelFormat pixelFormat,
\r
7137 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
7139 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
7140 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
\r
7142 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
7143 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
7145 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
7146 BMDDisplayMode displayMode,
\r
7147 BMDPixelFormat pixelFormat,
\r
7148 BMDVideoInputFlags flags) = 0;
\r
7150 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
7152 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
\r
7153 /* [out] */ unsigned long *availableFrameCount) = 0;
\r
7155 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
7156 BMDAudioSampleRate sampleRate,
\r
7157 BMDAudioSampleType sampleType,
\r
7158 unsigned long channelCount) = 0;
\r
7160 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
7162 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
\r
7163 /* [out] */ unsigned long *availableSampleFrameCount) = 0;
\r
7165 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
7167 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
7169 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
7171 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
\r
7173 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
7174 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback) = 0;
\r
7178 #else /* C style interface */
\r
7180 typedef struct IDeckLinkInput_v7_3Vtbl
\r
7184 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7185 IDeckLinkInput_v7_3 * This,
\r
7186 /* [in] */ REFIID riid,
\r
7187 /* [annotation][iid_is][out] */
\r
7188 __RPC__deref_out void **ppvObject);
\r
7190 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7191 IDeckLinkInput_v7_3 * This);
\r
7193 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7194 IDeckLinkInput_v7_3 * This);
\r
7196 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
7197 IDeckLinkInput_v7_3 * This,
\r
7198 BMDDisplayMode displayMode,
\r
7199 BMDPixelFormat pixelFormat,
\r
7200 /* [out] */ BMDDisplayModeSupport *result);
\r
7202 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
7203 IDeckLinkInput_v7_3 * This,
\r
7204 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
\r
7206 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
7207 IDeckLinkInput_v7_3 * This,
\r
7208 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
7210 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
7211 IDeckLinkInput_v7_3 * This,
\r
7212 BMDDisplayMode displayMode,
\r
7213 BMDPixelFormat pixelFormat,
\r
7214 BMDVideoInputFlags flags);
\r
7216 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
7217 IDeckLinkInput_v7_3 * This);
\r
7219 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
\r
7220 IDeckLinkInput_v7_3 * This,
\r
7221 /* [out] */ unsigned long *availableFrameCount);
\r
7223 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
7224 IDeckLinkInput_v7_3 * This,
\r
7225 BMDAudioSampleRate sampleRate,
\r
7226 BMDAudioSampleType sampleType,
\r
7227 unsigned long channelCount);
\r
7229 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
7230 IDeckLinkInput_v7_3 * This);
\r
7232 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
\r
7233 IDeckLinkInput_v7_3 * This,
\r
7234 /* [out] */ unsigned long *availableSampleFrameCount);
\r
7236 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
7237 IDeckLinkInput_v7_3 * This);
\r
7239 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
7240 IDeckLinkInput_v7_3 * This);
\r
7242 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
7243 IDeckLinkInput_v7_3 * This);
\r
7245 HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
\r
7246 IDeckLinkInput_v7_3 * This);
\r
7248 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
7249 IDeckLinkInput_v7_3 * This,
\r
7250 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback);
\r
7253 } IDeckLinkInput_v7_3Vtbl;
\r
7255 interface IDeckLinkInput_v7_3
\r
7257 CONST_VTBL struct IDeckLinkInput_v7_3Vtbl *lpVtbl;
\r
7265 #define IDeckLinkInput_v7_3_QueryInterface(This,riid,ppvObject) \
\r
7266 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7268 #define IDeckLinkInput_v7_3_AddRef(This) \
\r
7269 ( (This)->lpVtbl -> AddRef(This) )
\r
7271 #define IDeckLinkInput_v7_3_Release(This) \
\r
7272 ( (This)->lpVtbl -> Release(This) )
\r
7275 #define IDeckLinkInput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
7276 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
7278 #define IDeckLinkInput_v7_3_GetDisplayModeIterator(This,iterator) \
\r
7279 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
7281 #define IDeckLinkInput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
\r
7282 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
7284 #define IDeckLinkInput_v7_3_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
7285 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
7287 #define IDeckLinkInput_v7_3_DisableVideoInput(This) \
\r
7288 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
7290 #define IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(This,availableFrameCount) \
\r
7291 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
\r
7293 #define IDeckLinkInput_v7_3_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
7294 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
7296 #define IDeckLinkInput_v7_3_DisableAudioInput(This) \
\r
7297 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
7299 #define IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
\r
7300 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
\r
7302 #define IDeckLinkInput_v7_3_StartStreams(This) \
\r
7303 ( (This)->lpVtbl -> StartStreams(This) )
\r
7305 #define IDeckLinkInput_v7_3_StopStreams(This) \
\r
7306 ( (This)->lpVtbl -> StopStreams(This) )
\r
7308 #define IDeckLinkInput_v7_3_PauseStreams(This) \
\r
7309 ( (This)->lpVtbl -> PauseStreams(This) )
\r
7311 #define IDeckLinkInput_v7_3_FlushStreams(This) \
\r
7312 ( (This)->lpVtbl -> FlushStreams(This) )
\r
7314 #define IDeckLinkInput_v7_3_SetCallback(This,theCallback) \
\r
7315 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
7317 #endif /* COBJMACROS */
\r
7320 #endif /* C style interface */
\r
7325 #endif /* __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ */
\r
7328 #ifndef __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
\r
7329 #define __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
\r
7331 /* interface IDeckLinkVideoInputFrame_v7_3 */
\r
7332 /* [helpstring][local][uuid][object] */
\r
7335 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_3;
\r
7337 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7339 MIDL_INTERFACE("CF317790-2894-11DE-8C30-0800200C9A66")
\r
7340 IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame_v7_6
\r
7343 virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
\r
7344 /* [out] */ BMDTimeValue *frameTime,
\r
7345 /* [out] */ BMDTimeValue *frameDuration,
\r
7346 BMDTimeScale timeScale) = 0;
\r
7350 #else /* C style interface */
\r
7352 typedef struct IDeckLinkVideoInputFrame_v7_3Vtbl
\r
7356 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7357 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7358 /* [in] */ REFIID riid,
\r
7359 /* [annotation][iid_is][out] */
\r
7360 __RPC__deref_out void **ppvObject);
\r
7362 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7363 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7365 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7366 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7368 long ( STDMETHODCALLTYPE *GetWidth )(
\r
7369 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7371 long ( STDMETHODCALLTYPE *GetHeight )(
\r
7372 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7374 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
7375 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7377 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
7378 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7380 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
7381 IDeckLinkVideoInputFrame_v7_3 * This);
\r
7383 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
7384 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7385 /* [out] */ void **buffer);
\r
7387 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
7388 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7389 BMDTimecodeFormat format,
\r
7390 /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
\r
7392 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
7393 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7394 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
7396 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
\r
7397 IDeckLinkVideoInputFrame_v7_3 * This,
\r
7398 /* [out] */ BMDTimeValue *frameTime,
\r
7399 /* [out] */ BMDTimeValue *frameDuration,
\r
7400 BMDTimeScale timeScale);
\r
7403 } IDeckLinkVideoInputFrame_v7_3Vtbl;
\r
7405 interface IDeckLinkVideoInputFrame_v7_3
\r
7407 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_3Vtbl *lpVtbl;
\r
7415 #define IDeckLinkVideoInputFrame_v7_3_QueryInterface(This,riid,ppvObject) \
\r
7416 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7418 #define IDeckLinkVideoInputFrame_v7_3_AddRef(This) \
\r
7419 ( (This)->lpVtbl -> AddRef(This) )
\r
7421 #define IDeckLinkVideoInputFrame_v7_3_Release(This) \
\r
7422 ( (This)->lpVtbl -> Release(This) )
\r
7425 #define IDeckLinkVideoInputFrame_v7_3_GetWidth(This) \
\r
7426 ( (This)->lpVtbl -> GetWidth(This) )
\r
7428 #define IDeckLinkVideoInputFrame_v7_3_GetHeight(This) \
\r
7429 ( (This)->lpVtbl -> GetHeight(This) )
\r
7431 #define IDeckLinkVideoInputFrame_v7_3_GetRowBytes(This) \
\r
7432 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
7434 #define IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(This) \
\r
7435 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
7437 #define IDeckLinkVideoInputFrame_v7_3_GetFlags(This) \
\r
7438 ( (This)->lpVtbl -> GetFlags(This) )
\r
7440 #define IDeckLinkVideoInputFrame_v7_3_GetBytes(This,buffer) \
\r
7441 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
7443 #define IDeckLinkVideoInputFrame_v7_3_GetTimecode(This,format,timecode) \
\r
7444 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
7446 #define IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(This,ancillary) \
\r
7447 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
7450 #define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) \
\r
7451 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
\r
7453 #endif /* COBJMACROS */
\r
7456 #endif /* C style interface */
\r
7461 #endif /* __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ */
\r
7464 #ifndef __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
\r
7465 #define __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
\r
7467 /* interface IDeckLinkDisplayModeIterator_v7_1 */
\r
7468 /* [helpstring][uuid][object] */
\r
7471 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_1;
\r
7473 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7475 MIDL_INTERFACE("B28131B6-59AC-4857-B5AC-CD75D5883E2F")
\r
7476 IDeckLinkDisplayModeIterator_v7_1 : public IUnknown
\r
7479 virtual HRESULT STDMETHODCALLTYPE Next(
\r
7480 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) = 0;
\r
7484 #else /* C style interface */
\r
7486 typedef struct IDeckLinkDisplayModeIterator_v7_1Vtbl
\r
7490 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7491 IDeckLinkDisplayModeIterator_v7_1 * This,
\r
7492 /* [in] */ REFIID riid,
\r
7493 /* [annotation][iid_is][out] */
\r
7494 __RPC__deref_out void **ppvObject);
\r
7496 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7497 IDeckLinkDisplayModeIterator_v7_1 * This);
\r
7499 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7500 IDeckLinkDisplayModeIterator_v7_1 * This);
\r
7502 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
7503 IDeckLinkDisplayModeIterator_v7_1 * This,
\r
7504 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode);
\r
7507 } IDeckLinkDisplayModeIterator_v7_1Vtbl;
\r
7509 interface IDeckLinkDisplayModeIterator_v7_1
\r
7511 CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_1Vtbl *lpVtbl;
\r
7519 #define IDeckLinkDisplayModeIterator_v7_1_QueryInterface(This,riid,ppvObject) \
\r
7520 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7522 #define IDeckLinkDisplayModeIterator_v7_1_AddRef(This) \
\r
7523 ( (This)->lpVtbl -> AddRef(This) )
\r
7525 #define IDeckLinkDisplayModeIterator_v7_1_Release(This) \
\r
7526 ( (This)->lpVtbl -> Release(This) )
\r
7529 #define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) \
\r
7530 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
\r
7532 #endif /* COBJMACROS */
\r
7535 #endif /* C style interface */
\r
7540 #endif /* __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ */
\r
7543 #ifndef __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
\r
7544 #define __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
\r
7546 /* interface IDeckLinkDisplayMode_v7_1 */
\r
7547 /* [helpstring][uuid][object] */
\r
7550 EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_1;
\r
7552 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7554 MIDL_INTERFACE("AF0CD6D5-8376-435E-8433-54F9DD530AC3")
\r
7555 IDeckLinkDisplayMode_v7_1 : public IUnknown
\r
7558 virtual HRESULT STDMETHODCALLTYPE GetName(
\r
7559 /* [out] */ BSTR *name) = 0;
\r
7561 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
7563 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
7565 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
7567 virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
\r
7568 /* [out] */ BMDTimeValue *frameDuration,
\r
7569 /* [out] */ BMDTimeScale *timeScale) = 0;
\r
7573 #else /* C style interface */
\r
7575 typedef struct IDeckLinkDisplayMode_v7_1Vtbl
\r
7579 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7580 IDeckLinkDisplayMode_v7_1 * This,
\r
7581 /* [in] */ REFIID riid,
\r
7582 /* [annotation][iid_is][out] */
\r
7583 __RPC__deref_out void **ppvObject);
\r
7585 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7586 IDeckLinkDisplayMode_v7_1 * This);
\r
7588 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7589 IDeckLinkDisplayMode_v7_1 * This);
\r
7591 HRESULT ( STDMETHODCALLTYPE *GetName )(
\r
7592 IDeckLinkDisplayMode_v7_1 * This,
\r
7593 /* [out] */ BSTR *name);
\r
7595 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
7596 IDeckLinkDisplayMode_v7_1 * This);
\r
7598 long ( STDMETHODCALLTYPE *GetWidth )(
\r
7599 IDeckLinkDisplayMode_v7_1 * This);
\r
7601 long ( STDMETHODCALLTYPE *GetHeight )(
\r
7602 IDeckLinkDisplayMode_v7_1 * This);
\r
7604 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
\r
7605 IDeckLinkDisplayMode_v7_1 * This,
\r
7606 /* [out] */ BMDTimeValue *frameDuration,
\r
7607 /* [out] */ BMDTimeScale *timeScale);
\r
7610 } IDeckLinkDisplayMode_v7_1Vtbl;
\r
7612 interface IDeckLinkDisplayMode_v7_1
\r
7614 CONST_VTBL struct IDeckLinkDisplayMode_v7_1Vtbl *lpVtbl;
\r
7622 #define IDeckLinkDisplayMode_v7_1_QueryInterface(This,riid,ppvObject) \
\r
7623 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7625 #define IDeckLinkDisplayMode_v7_1_AddRef(This) \
\r
7626 ( (This)->lpVtbl -> AddRef(This) )
\r
7628 #define IDeckLinkDisplayMode_v7_1_Release(This) \
\r
7629 ( (This)->lpVtbl -> Release(This) )
\r
7632 #define IDeckLinkDisplayMode_v7_1_GetName(This,name) \
\r
7633 ( (This)->lpVtbl -> GetName(This,name) )
\r
7635 #define IDeckLinkDisplayMode_v7_1_GetDisplayMode(This) \
\r
7636 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
7638 #define IDeckLinkDisplayMode_v7_1_GetWidth(This) \
\r
7639 ( (This)->lpVtbl -> GetWidth(This) )
\r
7641 #define IDeckLinkDisplayMode_v7_1_GetHeight(This) \
\r
7642 ( (This)->lpVtbl -> GetHeight(This) )
\r
7644 #define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) \
\r
7645 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
\r
7647 #endif /* COBJMACROS */
\r
7650 #endif /* C style interface */
\r
7655 #endif /* __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ */
\r
7658 #ifndef __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
\r
7659 #define __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
\r
7661 /* interface IDeckLinkVideoFrame_v7_1 */
\r
7662 /* [helpstring][local][uuid][object] */
\r
7665 EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_1;
\r
7667 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7669 MIDL_INTERFACE("333F3A10-8C2D-43CF-B79D-46560FEEA1CE")
\r
7670 IDeckLinkVideoFrame_v7_1 : public IUnknown
\r
7673 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
7675 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
7677 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
\r
7679 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
7681 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
7683 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
7684 void **buffer) = 0;
\r
7688 #else /* C style interface */
\r
7690 typedef struct IDeckLinkVideoFrame_v7_1Vtbl
\r
7694 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7695 IDeckLinkVideoFrame_v7_1 * This,
\r
7696 /* [in] */ REFIID riid,
\r
7697 /* [annotation][iid_is][out] */
\r
7698 __RPC__deref_out void **ppvObject);
\r
7700 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7701 IDeckLinkVideoFrame_v7_1 * This);
\r
7703 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7704 IDeckLinkVideoFrame_v7_1 * This);
\r
7706 long ( STDMETHODCALLTYPE *GetWidth )(
\r
7707 IDeckLinkVideoFrame_v7_1 * This);
\r
7709 long ( STDMETHODCALLTYPE *GetHeight )(
\r
7710 IDeckLinkVideoFrame_v7_1 * This);
\r
7712 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
7713 IDeckLinkVideoFrame_v7_1 * This);
\r
7715 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
7716 IDeckLinkVideoFrame_v7_1 * This);
\r
7718 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
7719 IDeckLinkVideoFrame_v7_1 * This);
\r
7721 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
7722 IDeckLinkVideoFrame_v7_1 * This,
\r
7726 } IDeckLinkVideoFrame_v7_1Vtbl;
\r
7728 interface IDeckLinkVideoFrame_v7_1
\r
7730 CONST_VTBL struct IDeckLinkVideoFrame_v7_1Vtbl *lpVtbl;
\r
7738 #define IDeckLinkVideoFrame_v7_1_QueryInterface(This,riid,ppvObject) \
\r
7739 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7741 #define IDeckLinkVideoFrame_v7_1_AddRef(This) \
\r
7742 ( (This)->lpVtbl -> AddRef(This) )
\r
7744 #define IDeckLinkVideoFrame_v7_1_Release(This) \
\r
7745 ( (This)->lpVtbl -> Release(This) )
\r
7748 #define IDeckLinkVideoFrame_v7_1_GetWidth(This) \
\r
7749 ( (This)->lpVtbl -> GetWidth(This) )
\r
7751 #define IDeckLinkVideoFrame_v7_1_GetHeight(This) \
\r
7752 ( (This)->lpVtbl -> GetHeight(This) )
\r
7754 #define IDeckLinkVideoFrame_v7_1_GetRowBytes(This) \
\r
7755 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
7757 #define IDeckLinkVideoFrame_v7_1_GetPixelFormat(This) \
\r
7758 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
7760 #define IDeckLinkVideoFrame_v7_1_GetFlags(This) \
\r
7761 ( (This)->lpVtbl -> GetFlags(This) )
\r
7763 #define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) \
\r
7764 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
7766 #endif /* COBJMACROS */
\r
7769 #endif /* C style interface */
\r
7774 #endif /* __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ */
\r
7777 #ifndef __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
\r
7778 #define __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
\r
7780 /* interface IDeckLinkVideoInputFrame_v7_1 */
\r
7781 /* [helpstring][local][uuid][object] */
\r
7784 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_1;
\r
7786 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7788 MIDL_INTERFACE("C8B41D95-8848-40EE-9B37-6E3417FB114B")
\r
7789 IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1
\r
7792 virtual HRESULT STDMETHODCALLTYPE GetFrameTime(
\r
7793 BMDTimeValue *frameTime,
\r
7794 BMDTimeValue *frameDuration,
\r
7795 BMDTimeScale timeScale) = 0;
\r
7799 #else /* C style interface */
\r
7801 typedef struct IDeckLinkVideoInputFrame_v7_1Vtbl
\r
7805 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7806 IDeckLinkVideoInputFrame_v7_1 * This,
\r
7807 /* [in] */ REFIID riid,
\r
7808 /* [annotation][iid_is][out] */
\r
7809 __RPC__deref_out void **ppvObject);
\r
7811 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7812 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7814 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7815 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7817 long ( STDMETHODCALLTYPE *GetWidth )(
\r
7818 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7820 long ( STDMETHODCALLTYPE *GetHeight )(
\r
7821 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7823 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
7824 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7826 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
7827 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7829 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
7830 IDeckLinkVideoInputFrame_v7_1 * This);
\r
7832 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
7833 IDeckLinkVideoInputFrame_v7_1 * This,
\r
7836 HRESULT ( STDMETHODCALLTYPE *GetFrameTime )(
\r
7837 IDeckLinkVideoInputFrame_v7_1 * This,
\r
7838 BMDTimeValue *frameTime,
\r
7839 BMDTimeValue *frameDuration,
\r
7840 BMDTimeScale timeScale);
\r
7843 } IDeckLinkVideoInputFrame_v7_1Vtbl;
\r
7845 interface IDeckLinkVideoInputFrame_v7_1
\r
7847 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_1Vtbl *lpVtbl;
\r
7855 #define IDeckLinkVideoInputFrame_v7_1_QueryInterface(This,riid,ppvObject) \
\r
7856 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7858 #define IDeckLinkVideoInputFrame_v7_1_AddRef(This) \
\r
7859 ( (This)->lpVtbl -> AddRef(This) )
\r
7861 #define IDeckLinkVideoInputFrame_v7_1_Release(This) \
\r
7862 ( (This)->lpVtbl -> Release(This) )
\r
7865 #define IDeckLinkVideoInputFrame_v7_1_GetWidth(This) \
\r
7866 ( (This)->lpVtbl -> GetWidth(This) )
\r
7868 #define IDeckLinkVideoInputFrame_v7_1_GetHeight(This) \
\r
7869 ( (This)->lpVtbl -> GetHeight(This) )
\r
7871 #define IDeckLinkVideoInputFrame_v7_1_GetRowBytes(This) \
\r
7872 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
7874 #define IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(This) \
\r
7875 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
7877 #define IDeckLinkVideoInputFrame_v7_1_GetFlags(This) \
\r
7878 ( (This)->lpVtbl -> GetFlags(This) )
\r
7880 #define IDeckLinkVideoInputFrame_v7_1_GetBytes(This,buffer) \
\r
7881 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
7884 #define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) \
\r
7885 ( (This)->lpVtbl -> GetFrameTime(This,frameTime,frameDuration,timeScale) )
\r
7887 #endif /* COBJMACROS */
\r
7890 #endif /* C style interface */
\r
7895 #endif /* __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ */
\r
7898 #ifndef __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
\r
7899 #define __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
\r
7901 /* interface IDeckLinkAudioInputPacket_v7_1 */
\r
7902 /* [helpstring][local][uuid][object] */
\r
7905 EXTERN_C const IID IID_IDeckLinkAudioInputPacket_v7_1;
\r
7907 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
7909 MIDL_INTERFACE("C86DE4F6-A29F-42E3-AB3A-1363E29F0788")
\r
7910 IDeckLinkAudioInputPacket_v7_1 : public IUnknown
\r
7913 virtual long STDMETHODCALLTYPE GetSampleCount( void) = 0;
\r
7915 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
7916 void **buffer) = 0;
\r
7918 virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime(
\r
7919 BMDTimeValue *packetTime,
\r
7920 BMDTimeScale timeScale) = 0;
\r
7924 #else /* C style interface */
\r
7926 typedef struct IDeckLinkAudioInputPacket_v7_1Vtbl
\r
7930 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
7931 IDeckLinkAudioInputPacket_v7_1 * This,
\r
7932 /* [in] */ REFIID riid,
\r
7933 /* [annotation][iid_is][out] */
\r
7934 __RPC__deref_out void **ppvObject);
\r
7936 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
7937 IDeckLinkAudioInputPacket_v7_1 * This);
\r
7939 ULONG ( STDMETHODCALLTYPE *Release )(
\r
7940 IDeckLinkAudioInputPacket_v7_1 * This);
\r
7942 long ( STDMETHODCALLTYPE *GetSampleCount )(
\r
7943 IDeckLinkAudioInputPacket_v7_1 * This);
\r
7945 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
7946 IDeckLinkAudioInputPacket_v7_1 * This,
\r
7949 HRESULT ( STDMETHODCALLTYPE *GetAudioPacketTime )(
\r
7950 IDeckLinkAudioInputPacket_v7_1 * This,
\r
7951 BMDTimeValue *packetTime,
\r
7952 BMDTimeScale timeScale);
\r
7955 } IDeckLinkAudioInputPacket_v7_1Vtbl;
\r
7957 interface IDeckLinkAudioInputPacket_v7_1
\r
7959 CONST_VTBL struct IDeckLinkAudioInputPacket_v7_1Vtbl *lpVtbl;
\r
7967 #define IDeckLinkAudioInputPacket_v7_1_QueryInterface(This,riid,ppvObject) \
\r
7968 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
7970 #define IDeckLinkAudioInputPacket_v7_1_AddRef(This) \
\r
7971 ( (This)->lpVtbl -> AddRef(This) )
\r
7973 #define IDeckLinkAudioInputPacket_v7_1_Release(This) \
\r
7974 ( (This)->lpVtbl -> Release(This) )
\r
7977 #define IDeckLinkAudioInputPacket_v7_1_GetSampleCount(This) \
\r
7978 ( (This)->lpVtbl -> GetSampleCount(This) )
\r
7980 #define IDeckLinkAudioInputPacket_v7_1_GetBytes(This,buffer) \
\r
7981 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
7983 #define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) \
\r
7984 ( (This)->lpVtbl -> GetAudioPacketTime(This,packetTime,timeScale) )
\r
7986 #endif /* COBJMACROS */
\r
7989 #endif /* C style interface */
\r
7994 #endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */
\r
7997 #ifndef __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
\r
7998 #define __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
\r
8000 /* interface IDeckLinkVideoOutputCallback_v7_1 */
\r
8001 /* [helpstring][uuid][object] */
\r
8004 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_1;
\r
8006 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8008 MIDL_INTERFACE("EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9")
\r
8009 IDeckLinkVideoOutputCallback_v7_1 : public IUnknown
\r
8012 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
\r
8013 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
\r
8014 /* [in] */ BMDOutputFrameCompletionResult result) = 0;
\r
8018 #else /* C style interface */
\r
8020 typedef struct IDeckLinkVideoOutputCallback_v7_1Vtbl
\r
8024 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8025 IDeckLinkVideoOutputCallback_v7_1 * This,
\r
8026 /* [in] */ REFIID riid,
\r
8027 /* [annotation][iid_is][out] */
\r
8028 __RPC__deref_out void **ppvObject);
\r
8030 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8031 IDeckLinkVideoOutputCallback_v7_1 * This);
\r
8033 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8034 IDeckLinkVideoOutputCallback_v7_1 * This);
\r
8036 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
\r
8037 IDeckLinkVideoOutputCallback_v7_1 * This,
\r
8038 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
\r
8039 /* [in] */ BMDOutputFrameCompletionResult result);
\r
8042 } IDeckLinkVideoOutputCallback_v7_1Vtbl;
\r
8044 interface IDeckLinkVideoOutputCallback_v7_1
\r
8046 CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_1Vtbl *lpVtbl;
\r
8054 #define IDeckLinkVideoOutputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8055 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8057 #define IDeckLinkVideoOutputCallback_v7_1_AddRef(This) \
\r
8058 ( (This)->lpVtbl -> AddRef(This) )
\r
8060 #define IDeckLinkVideoOutputCallback_v7_1_Release(This) \
\r
8061 ( (This)->lpVtbl -> Release(This) )
\r
8064 #define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) \
\r
8065 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
\r
8067 #endif /* COBJMACROS */
\r
8070 #endif /* C style interface */
\r
8075 #endif /* __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ */
\r
8078 #ifndef __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
\r
8079 #define __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
\r
8081 /* interface IDeckLinkInputCallback_v7_1 */
\r
8082 /* [helpstring][uuid][object] */
\r
8085 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_1;
\r
8087 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8089 MIDL_INTERFACE("7F94F328-5ED4-4E9F-9729-76A86BDC99CC")
\r
8090 IDeckLinkInputCallback_v7_1 : public IUnknown
\r
8093 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
8094 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
\r
8095 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket) = 0;
\r
8099 #else /* C style interface */
\r
8101 typedef struct IDeckLinkInputCallback_v7_1Vtbl
\r
8105 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8106 IDeckLinkInputCallback_v7_1 * This,
\r
8107 /* [in] */ REFIID riid,
\r
8108 /* [annotation][iid_is][out] */
\r
8109 __RPC__deref_out void **ppvObject);
\r
8111 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8112 IDeckLinkInputCallback_v7_1 * This);
\r
8114 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8115 IDeckLinkInputCallback_v7_1 * This);
\r
8117 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
8118 IDeckLinkInputCallback_v7_1 * This,
\r
8119 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
\r
8120 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket);
\r
8123 } IDeckLinkInputCallback_v7_1Vtbl;
\r
8125 interface IDeckLinkInputCallback_v7_1
\r
8127 CONST_VTBL struct IDeckLinkInputCallback_v7_1Vtbl *lpVtbl;
\r
8135 #define IDeckLinkInputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8136 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8138 #define IDeckLinkInputCallback_v7_1_AddRef(This) \
\r
8139 ( (This)->lpVtbl -> AddRef(This) )
\r
8141 #define IDeckLinkInputCallback_v7_1_Release(This) \
\r
8142 ( (This)->lpVtbl -> Release(This) )
\r
8145 #define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
8146 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
8148 #endif /* COBJMACROS */
\r
8151 #endif /* C style interface */
\r
8156 #endif /* __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ */
\r
8159 #ifndef __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
\r
8160 #define __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
\r
8162 /* interface IDeckLinkOutput_v7_1 */
\r
8163 /* [helpstring][local][uuid][object] */
\r
8166 EXTERN_C const IID IID_IDeckLinkOutput_v7_1;
\r
8168 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8170 MIDL_INTERFACE("AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5")
\r
8171 IDeckLinkOutput_v7_1 : public IUnknown
\r
8174 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
8175 BMDDisplayMode displayMode,
\r
8176 BMDPixelFormat pixelFormat,
\r
8177 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
8179 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
8180 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
\r
8182 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
8183 BMDDisplayMode displayMode) = 0;
\r
8185 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
8187 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
8188 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
8190 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
8194 BMDPixelFormat pixelFormat,
\r
8195 BMDFrameFlags flags,
\r
8196 IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
\r
8198 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer(
\r
8203 BMDPixelFormat pixelFormat,
\r
8204 BMDFrameFlags flags,
\r
8205 IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
\r
8207 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
8208 IDeckLinkVideoFrame_v7_1 *theFrame) = 0;
\r
8210 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
8211 IDeckLinkVideoFrame_v7_1 *theFrame,
\r
8212 BMDTimeValue displayTime,
\r
8213 BMDTimeValue displayDuration,
\r
8214 BMDTimeScale timeScale) = 0;
\r
8216 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
8217 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback) = 0;
\r
8219 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
8220 BMDAudioSampleRate sampleRate,
\r
8221 BMDAudioSampleType sampleType,
\r
8222 unsigned long channelCount) = 0;
\r
8224 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
8226 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
8228 unsigned long sampleFrameCount,
\r
8229 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
8231 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
8233 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
8235 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
8237 unsigned long sampleFrameCount,
\r
8238 BMDTimeValue streamTime,
\r
8239 BMDTimeScale timeScale,
\r
8240 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
8242 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
8243 /* [out] */ unsigned long *bufferedSampleCount) = 0;
\r
8245 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
8247 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
8248 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
8250 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
8251 BMDTimeValue playbackStartTime,
\r
8252 BMDTimeScale timeScale,
\r
8253 double playbackSpeed) = 0;
\r
8255 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
8256 BMDTimeValue stopPlaybackAtTime,
\r
8257 BMDTimeValue *actualStopTime,
\r
8258 BMDTimeScale timeScale) = 0;
\r
8260 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
8261 BMDTimeScale desiredTimeScale,
\r
8262 BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
\r
8266 #else /* C style interface */
\r
8268 typedef struct IDeckLinkOutput_v7_1Vtbl
\r
8272 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8273 IDeckLinkOutput_v7_1 * This,
\r
8274 /* [in] */ REFIID riid,
\r
8275 /* [annotation][iid_is][out] */
\r
8276 __RPC__deref_out void **ppvObject);
\r
8278 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8279 IDeckLinkOutput_v7_1 * This);
\r
8281 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8282 IDeckLinkOutput_v7_1 * This);
\r
8284 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
8285 IDeckLinkOutput_v7_1 * This,
\r
8286 BMDDisplayMode displayMode,
\r
8287 BMDPixelFormat pixelFormat,
\r
8288 /* [out] */ BMDDisplayModeSupport *result);
\r
8290 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
8291 IDeckLinkOutput_v7_1 * This,
\r
8292 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
\r
8294 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
8295 IDeckLinkOutput_v7_1 * This,
\r
8296 BMDDisplayMode displayMode);
\r
8298 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
8299 IDeckLinkOutput_v7_1 * This);
\r
8301 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
8302 IDeckLinkOutput_v7_1 * This,
\r
8303 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
8305 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
8306 IDeckLinkOutput_v7_1 * This,
\r
8310 BMDPixelFormat pixelFormat,
\r
8311 BMDFrameFlags flags,
\r
8312 IDeckLinkVideoFrame_v7_1 **outFrame);
\r
8314 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrameFromBuffer )(
\r
8315 IDeckLinkOutput_v7_1 * This,
\r
8320 BMDPixelFormat pixelFormat,
\r
8321 BMDFrameFlags flags,
\r
8322 IDeckLinkVideoFrame_v7_1 **outFrame);
\r
8324 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
8325 IDeckLinkOutput_v7_1 * This,
\r
8326 IDeckLinkVideoFrame_v7_1 *theFrame);
\r
8328 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
8329 IDeckLinkOutput_v7_1 * This,
\r
8330 IDeckLinkVideoFrame_v7_1 *theFrame,
\r
8331 BMDTimeValue displayTime,
\r
8332 BMDTimeValue displayDuration,
\r
8333 BMDTimeScale timeScale);
\r
8335 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
8336 IDeckLinkOutput_v7_1 * This,
\r
8337 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback);
\r
8339 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
8340 IDeckLinkOutput_v7_1 * This,
\r
8341 BMDAudioSampleRate sampleRate,
\r
8342 BMDAudioSampleType sampleType,
\r
8343 unsigned long channelCount);
\r
8345 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
8346 IDeckLinkOutput_v7_1 * This);
\r
8348 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
8349 IDeckLinkOutput_v7_1 * This,
\r
8351 unsigned long sampleFrameCount,
\r
8352 /* [out] */ unsigned long *sampleFramesWritten);
\r
8354 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
8355 IDeckLinkOutput_v7_1 * This);
\r
8357 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
8358 IDeckLinkOutput_v7_1 * This);
\r
8360 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
8361 IDeckLinkOutput_v7_1 * This,
\r
8363 unsigned long sampleFrameCount,
\r
8364 BMDTimeValue streamTime,
\r
8365 BMDTimeScale timeScale,
\r
8366 /* [out] */ unsigned long *sampleFramesWritten);
\r
8368 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
8369 IDeckLinkOutput_v7_1 * This,
\r
8370 /* [out] */ unsigned long *bufferedSampleCount);
\r
8372 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
8373 IDeckLinkOutput_v7_1 * This);
\r
8375 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
8376 IDeckLinkOutput_v7_1 * This,
\r
8377 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
8379 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
8380 IDeckLinkOutput_v7_1 * This,
\r
8381 BMDTimeValue playbackStartTime,
\r
8382 BMDTimeScale timeScale,
\r
8383 double playbackSpeed);
\r
8385 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
8386 IDeckLinkOutput_v7_1 * This,
\r
8387 BMDTimeValue stopPlaybackAtTime,
\r
8388 BMDTimeValue *actualStopTime,
\r
8389 BMDTimeScale timeScale);
\r
8391 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
8392 IDeckLinkOutput_v7_1 * This,
\r
8393 BMDTimeScale desiredTimeScale,
\r
8394 BMDTimeValue *elapsedTimeSinceSchedulerBegan);
\r
8397 } IDeckLinkOutput_v7_1Vtbl;
\r
8399 interface IDeckLinkOutput_v7_1
\r
8401 CONST_VTBL struct IDeckLinkOutput_v7_1Vtbl *lpVtbl;
\r
8409 #define IDeckLinkOutput_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8410 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8412 #define IDeckLinkOutput_v7_1_AddRef(This) \
\r
8413 ( (This)->lpVtbl -> AddRef(This) )
\r
8415 #define IDeckLinkOutput_v7_1_Release(This) \
\r
8416 ( (This)->lpVtbl -> Release(This) )
\r
8419 #define IDeckLinkOutput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
8420 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
8422 #define IDeckLinkOutput_v7_1_GetDisplayModeIterator(This,iterator) \
\r
8423 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
8425 #define IDeckLinkOutput_v7_1_EnableVideoOutput(This,displayMode) \
\r
8426 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode) )
\r
8428 #define IDeckLinkOutput_v7_1_DisableVideoOutput(This) \
\r
8429 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
8431 #define IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
8432 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
8434 #define IDeckLinkOutput_v7_1_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
8435 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
8437 #define IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
8438 ( (This)->lpVtbl -> CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
8440 #define IDeckLinkOutput_v7_1_DisplayVideoFrameSync(This,theFrame) \
\r
8441 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
8443 #define IDeckLinkOutput_v7_1_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
8444 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
8446 #define IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
8447 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
8449 #define IDeckLinkOutput_v7_1_EnableAudioOutput(This,sampleRate,sampleType,channelCount) \
\r
8450 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount) )
\r
8452 #define IDeckLinkOutput_v7_1_DisableAudioOutput(This) \
\r
8453 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
8455 #define IDeckLinkOutput_v7_1_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
8456 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
8458 #define IDeckLinkOutput_v7_1_BeginAudioPreroll(This) \
\r
8459 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
8461 #define IDeckLinkOutput_v7_1_EndAudioPreroll(This) \
\r
8462 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
8464 #define IDeckLinkOutput_v7_1_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
8465 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
8467 #define IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
\r
8468 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
\r
8470 #define IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(This) \
\r
8471 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
8473 #define IDeckLinkOutput_v7_1_SetAudioCallback(This,theCallback) \
\r
8474 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
8476 #define IDeckLinkOutput_v7_1_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
8477 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
8479 #define IDeckLinkOutput_v7_1_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
8480 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
8482 #define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
\r
8483 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) )
\r
8485 #endif /* COBJMACROS */
\r
8488 #endif /* C style interface */
\r
8493 #endif /* __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ */
\r
8496 #ifndef __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
\r
8497 #define __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
\r
8499 /* interface IDeckLinkInput_v7_1 */
\r
8500 /* [helpstring][uuid][object] */
\r
8503 EXTERN_C const IID IID_IDeckLinkInput_v7_1;
\r
8505 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
8507 MIDL_INTERFACE("2B54EDEF-5B32-429F-BA11-BB990596EACD")
\r
8508 IDeckLinkInput_v7_1 : public IUnknown
\r
8511 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
8512 BMDDisplayMode displayMode,
\r
8513 BMDPixelFormat pixelFormat,
\r
8514 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
8516 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
8517 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
\r
8519 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
8520 BMDDisplayMode displayMode,
\r
8521 BMDPixelFormat pixelFormat,
\r
8522 BMDVideoInputFlags flags) = 0;
\r
8524 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
8526 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
8527 BMDAudioSampleRate sampleRate,
\r
8528 BMDAudioSampleType sampleType,
\r
8529 unsigned long channelCount) = 0;
\r
8531 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
8533 virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples(
\r
8535 unsigned long sampleFrameCount,
\r
8536 /* [out] */ unsigned long *sampleFramesRead,
\r
8537 /* [out] */ BMDTimeValue *audioPacketTime,
\r
8538 BMDTimeScale timeScale) = 0;
\r
8540 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
8541 /* [out] */ unsigned long *bufferedSampleCount) = 0;
\r
8543 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
8545 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
8547 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
8549 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
8550 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback) = 0;
\r
8554 #else /* C style interface */
\r
8556 typedef struct IDeckLinkInput_v7_1Vtbl
\r
8560 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
8561 IDeckLinkInput_v7_1 * This,
\r
8562 /* [in] */ REFIID riid,
\r
8563 /* [annotation][iid_is][out] */
\r
8564 __RPC__deref_out void **ppvObject);
\r
8566 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
8567 IDeckLinkInput_v7_1 * This);
\r
8569 ULONG ( STDMETHODCALLTYPE *Release )(
\r
8570 IDeckLinkInput_v7_1 * This);
\r
8572 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
8573 IDeckLinkInput_v7_1 * This,
\r
8574 BMDDisplayMode displayMode,
\r
8575 BMDPixelFormat pixelFormat,
\r
8576 /* [out] */ BMDDisplayModeSupport *result);
\r
8578 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
8579 IDeckLinkInput_v7_1 * This,
\r
8580 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
\r
8582 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
8583 IDeckLinkInput_v7_1 * This,
\r
8584 BMDDisplayMode displayMode,
\r
8585 BMDPixelFormat pixelFormat,
\r
8586 BMDVideoInputFlags flags);
\r
8588 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
8589 IDeckLinkInput_v7_1 * This);
\r
8591 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
8592 IDeckLinkInput_v7_1 * This,
\r
8593 BMDAudioSampleRate sampleRate,
\r
8594 BMDAudioSampleType sampleType,
\r
8595 unsigned long channelCount);
\r
8597 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
8598 IDeckLinkInput_v7_1 * This);
\r
8600 HRESULT ( STDMETHODCALLTYPE *ReadAudioSamples )(
\r
8601 IDeckLinkInput_v7_1 * This,
\r
8603 unsigned long sampleFrameCount,
\r
8604 /* [out] */ unsigned long *sampleFramesRead,
\r
8605 /* [out] */ BMDTimeValue *audioPacketTime,
\r
8606 BMDTimeScale timeScale);
\r
8608 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
8609 IDeckLinkInput_v7_1 * This,
\r
8610 /* [out] */ unsigned long *bufferedSampleCount);
\r
8612 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
8613 IDeckLinkInput_v7_1 * This);
\r
8615 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
8616 IDeckLinkInput_v7_1 * This);
\r
8618 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
8619 IDeckLinkInput_v7_1 * This);
\r
8621 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
8622 IDeckLinkInput_v7_1 * This,
\r
8623 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback);
\r
8626 } IDeckLinkInput_v7_1Vtbl;
\r
8628 interface IDeckLinkInput_v7_1
\r
8630 CONST_VTBL struct IDeckLinkInput_v7_1Vtbl *lpVtbl;
\r
8638 #define IDeckLinkInput_v7_1_QueryInterface(This,riid,ppvObject) \
\r
8639 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
8641 #define IDeckLinkInput_v7_1_AddRef(This) \
\r
8642 ( (This)->lpVtbl -> AddRef(This) )
\r
8644 #define IDeckLinkInput_v7_1_Release(This) \
\r
8645 ( (This)->lpVtbl -> Release(This) )
\r
8648 #define IDeckLinkInput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
8649 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
8651 #define IDeckLinkInput_v7_1_GetDisplayModeIterator(This,iterator) \
\r
8652 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
8654 #define IDeckLinkInput_v7_1_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
8655 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
8657 #define IDeckLinkInput_v7_1_DisableVideoInput(This) \
\r
8658 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
8660 #define IDeckLinkInput_v7_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
8661 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
8663 #define IDeckLinkInput_v7_1_DisableAudioInput(This) \
\r
8664 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
8666 #define IDeckLinkInput_v7_1_ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) \
\r
8667 ( (This)->lpVtbl -> ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) )
\r
8669 #define IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
\r
8670 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
\r
8672 #define IDeckLinkInput_v7_1_StartStreams(This) \
\r
8673 ( (This)->lpVtbl -> StartStreams(This) )
\r
8675 #define IDeckLinkInput_v7_1_StopStreams(This) \
\r
8676 ( (This)->lpVtbl -> StopStreams(This) )
\r
8678 #define IDeckLinkInput_v7_1_PauseStreams(This) \
\r
8679 ( (This)->lpVtbl -> PauseStreams(This) )
\r
8681 #define IDeckLinkInput_v7_1_SetCallback(This,theCallback) \
\r
8682 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
8684 #endif /* COBJMACROS */
\r
8687 #endif /* C style interface */
\r
8692 #endif /* __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ */
\r
8694 #endif /* __DeckLinkAPI_LIBRARY_DEFINED__ */
\r
8696 /* Additional Prototypes for ALL interfaces */
\r
8698 /* end of Additional Prototypes */
\r
8700 #ifdef __cplusplus
\r