3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
\r
6 /* File created by MIDL compiler version 7.00.0500 */
\r
7 /* at Wed Jan 13 09:58:01 2010
\r
9 /* Compiler settings for .\consumers\declink\DeckLinkAPI.idl:
\r
10 Oicf, W1, Zp8, env=Win32 (32b run)
\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 __IDeckLinkVideoInputFrame_FWD_DEFINED__
\r
129 #define __IDeckLinkVideoInputFrame_FWD_DEFINED__
\r
130 typedef interface IDeckLinkVideoInputFrame IDeckLinkVideoInputFrame;
\r
131 #endif /* __IDeckLinkVideoInputFrame_FWD_DEFINED__ */
\r
134 #ifndef __IDeckLinkVideoFrameAncillary_FWD_DEFINED__
\r
135 #define __IDeckLinkVideoFrameAncillary_FWD_DEFINED__
\r
136 typedef interface IDeckLinkVideoFrameAncillary IDeckLinkVideoFrameAncillary;
\r
137 #endif /* __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ */
\r
140 #ifndef __IDeckLinkAudioInputPacket_FWD_DEFINED__
\r
141 #define __IDeckLinkAudioInputPacket_FWD_DEFINED__
\r
142 typedef interface IDeckLinkAudioInputPacket IDeckLinkAudioInputPacket;
\r
143 #endif /* __IDeckLinkAudioInputPacket_FWD_DEFINED__ */
\r
146 #ifndef __IDeckLinkScreenPreviewCallback_FWD_DEFINED__
\r
147 #define __IDeckLinkScreenPreviewCallback_FWD_DEFINED__
\r
148 typedef interface IDeckLinkScreenPreviewCallback IDeckLinkScreenPreviewCallback;
\r
149 #endif /* __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ */
\r
152 #ifndef __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
\r
153 #define __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
\r
154 typedef interface IDeckLinkGLScreenPreviewHelper IDeckLinkGLScreenPreviewHelper;
\r
155 #endif /* __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */
\r
158 #ifndef __IDeckLinkConfiguration_FWD_DEFINED__
\r
159 #define __IDeckLinkConfiguration_FWD_DEFINED__
\r
160 typedef interface IDeckLinkConfiguration IDeckLinkConfiguration;
\r
161 #endif /* __IDeckLinkConfiguration_FWD_DEFINED__ */
\r
164 #ifndef __IDeckLinkAttributes_FWD_DEFINED__
\r
165 #define __IDeckLinkAttributes_FWD_DEFINED__
\r
166 typedef interface IDeckLinkAttributes IDeckLinkAttributes;
\r
167 #endif /* __IDeckLinkAttributes_FWD_DEFINED__ */
\r
170 #ifndef __IDeckLinkKeyer_FWD_DEFINED__
\r
171 #define __IDeckLinkKeyer_FWD_DEFINED__
\r
172 typedef interface IDeckLinkKeyer IDeckLinkKeyer;
\r
173 #endif /* __IDeckLinkKeyer_FWD_DEFINED__ */
\r
176 #ifndef __CDeckLinkIterator_FWD_DEFINED__
\r
177 #define __CDeckLinkIterator_FWD_DEFINED__
\r
180 typedef class CDeckLinkIterator CDeckLinkIterator;
\r
182 typedef struct CDeckLinkIterator CDeckLinkIterator;
\r
183 #endif /* __cplusplus */
\r
185 #endif /* __CDeckLinkIterator_FWD_DEFINED__ */
\r
188 #ifndef __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
\r
189 #define __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
\r
192 typedef class CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper;
\r
194 typedef struct CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper;
\r
195 #endif /* __cplusplus */
\r
197 #endif /* __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */
\r
200 #ifndef __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
\r
201 #define __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
\r
202 typedef interface IDeckLinkDisplayModeIterator_v7_1 IDeckLinkDisplayModeIterator_v7_1;
\r
203 #endif /* __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ */
\r
206 #ifndef __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__
\r
207 #define __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__
\r
208 typedef interface IDeckLinkDisplayMode_v7_1 IDeckLinkDisplayMode_v7_1;
\r
209 #endif /* __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ */
\r
212 #ifndef __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__
\r
213 #define __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__
\r
214 typedef interface IDeckLinkVideoFrame_v7_1 IDeckLinkVideoFrame_v7_1;
\r
215 #endif /* __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ */
\r
218 #ifndef __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__
\r
219 #define __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__
\r
220 typedef interface IDeckLinkVideoInputFrame_v7_1 IDeckLinkVideoInputFrame_v7_1;
\r
221 #endif /* __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ */
\r
224 #ifndef __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__
\r
225 #define __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__
\r
226 typedef interface IDeckLinkAudioInputPacket_v7_1 IDeckLinkAudioInputPacket_v7_1;
\r
227 #endif /* __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ */
\r
230 #ifndef __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__
\r
231 #define __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__
\r
232 typedef interface IDeckLinkVideoOutputCallback_v7_1 IDeckLinkVideoOutputCallback_v7_1;
\r
233 #endif /* __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ */
\r
236 #ifndef __IDeckLinkInputCallback_v7_1_FWD_DEFINED__
\r
237 #define __IDeckLinkInputCallback_v7_1_FWD_DEFINED__
\r
238 typedef interface IDeckLinkInputCallback_v7_1 IDeckLinkInputCallback_v7_1;
\r
239 #endif /* __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ */
\r
242 #ifndef __IDeckLinkOutput_v7_1_FWD_DEFINED__
\r
243 #define __IDeckLinkOutput_v7_1_FWD_DEFINED__
\r
244 typedef interface IDeckLinkOutput_v7_1 IDeckLinkOutput_v7_1;
\r
245 #endif /* __IDeckLinkOutput_v7_1_FWD_DEFINED__ */
\r
248 #ifndef __IDeckLinkInput_v7_1_FWD_DEFINED__
\r
249 #define __IDeckLinkInput_v7_1_FWD_DEFINED__
\r
250 typedef interface IDeckLinkInput_v7_1 IDeckLinkInput_v7_1;
\r
251 #endif /* __IDeckLinkInput_v7_1_FWD_DEFINED__ */
\r
254 #ifndef __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
\r
255 #define __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
\r
256 typedef interface IDeckLinkInputCallback_v7_3 IDeckLinkInputCallback_v7_3;
\r
257 #endif /* __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ */
\r
260 #ifndef __IDeckLinkOutput_v7_3_FWD_DEFINED__
\r
261 #define __IDeckLinkOutput_v7_3_FWD_DEFINED__
\r
262 typedef interface IDeckLinkOutput_v7_3 IDeckLinkOutput_v7_3;
\r
263 #endif /* __IDeckLinkOutput_v7_3_FWD_DEFINED__ */
\r
266 #ifndef __IDeckLinkInput_v7_3_FWD_DEFINED__
\r
267 #define __IDeckLinkInput_v7_3_FWD_DEFINED__
\r
268 typedef interface IDeckLinkInput_v7_3 IDeckLinkInput_v7_3;
\r
269 #endif /* __IDeckLinkInput_v7_3_FWD_DEFINED__ */
\r
272 #ifndef __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
\r
273 #define __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
\r
274 typedef interface IDeckLinkVideoInputFrame_v7_3 IDeckLinkVideoInputFrame_v7_3;
\r
275 #endif /* __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ */
\r
278 /* header files for imported files */
\r
279 #include "unknwn.h"
\r
287 #ifndef __DeckLinkAPI_LIBRARY_DEFINED__
\r
288 #define __DeckLinkAPI_LIBRARY_DEFINED__
\r
290 /* library DeckLinkAPI */
\r
291 /* [helpstring][version][uuid] */
\r
293 typedef LONGLONG BMDTimeValue;
\r
295 typedef LONGLONG BMDTimeScale;
\r
297 typedef unsigned long BMDTimecodeBCD;
\r
299 typedef unsigned long BMDFrameFlags;
\r
300 typedef unsigned long BMDVideoInputFlags;
\r
301 typedef unsigned long BMDVideoInputFormatChangedEvents;
\r
302 typedef unsigned long BMDDetectedVideoInputFormatFlags;
\r
303 typedef unsigned long BMDTimecodeFlags;
\r
304 typedef unsigned long BMDAnalogVideoFlags;
\r
306 typedef enum _BMDFrameFlags BMDFrameFlags;
\r
308 typedef enum _BMDVideoInputFlags BMDVideoInputFlags;
\r
310 typedef enum _BMDVideoInputFormatChangedEvents BMDVideoInputFormatChangedEvents;
\r
312 typedef enum _BMDDetectedVideoInputFormatFlags BMDDetectedVideoInputFormatFlags;
\r
314 typedef enum _BMDTimecodeFlags BMDTimecodeFlags;
\r
316 typedef enum _BMDAnalogVideoFlags BMDAnalogVideoFlags;
\r
319 typedef /* [v1_enum] */
\r
320 enum _BMDDisplayMode
\r
321 { bmdModeNTSC = 0x6e747363,
\r
322 bmdModeNTSC2398 = 0x6e743233,
\r
323 bmdModePAL = 0x70616c20,
\r
324 bmdModeHD1080p2398 = 0x32337073,
\r
325 bmdModeHD1080p24 = 0x32347073,
\r
326 bmdModeHD1080p25 = 0x48703235,
\r
327 bmdModeHD1080p2997 = 0x48703239,
\r
328 bmdModeHD1080p30 = 0x48703330,
\r
329 bmdModeHD1080i50 = 0x48693530,
\r
330 bmdModeHD1080i5994 = 0x48693539,
\r
331 bmdModeHD1080i6000 = 0x48693630,
\r
332 bmdModeHD1080p50 = 0x48703530,
\r
333 bmdModeHD1080p5994 = 0x48703539,
\r
334 bmdModeHD1080p6000 = 0x48703630,
\r
335 bmdModeHD720p50 = 0x68703530,
\r
336 bmdModeHD720p5994 = 0x68703539,
\r
337 bmdModeHD720p60 = 0x68703630,
\r
338 bmdMode2k2398 = 0x326b3233,
\r
339 bmdMode2k24 = 0x326b3234,
\r
340 bmdMode2k25 = 0x326b3235
\r
343 typedef /* [v1_enum] */
\r
344 enum _BMDFieldDominance
\r
345 { bmdUnknownFieldDominance = 0,
\r
346 bmdLowerFieldFirst = 0x6c6f7772,
\r
347 bmdUpperFieldFirst = 0x75707072,
\r
348 bmdProgressiveFrame = 0x70726f67,
\r
349 bmdProgressiveSegmentedFrame = 0x70736620
\r
350 } BMDFieldDominance;
\r
352 typedef /* [v1_enum] */
\r
353 enum _BMDPixelFormat
\r
354 { bmdFormat8BitYUV = 0x32767579,
\r
355 bmdFormat10BitYUV = 0x76323130,
\r
356 bmdFormat8BitARGB = 0x20,
\r
357 bmdFormat8BitBGRA = 0x42475241,
\r
358 bmdFormat10BitRGB = 0x72323130
\r
361 typedef /* [v1_enum] */
\r
362 enum _BMDVideoOutputFlags
\r
363 { bmdVideoOutputFlagDefault = 0,
\r
364 bmdVideoOutputRP188 = ( 1 << 0 ) ,
\r
365 bmdVideoOutputVANC = ( 1 << 1 )
\r
366 } BMDVideoOutputFlags;
\r
369 enum _BMDFrameFlags
\r
370 { bmdFrameFlagDefault = 0,
\r
371 bmdFrameFlagFlipVertical = ( 1 << 0 ) ,
\r
372 bmdFrameHasNoInputSource = ( 1 << 31 )
\r
375 enum _BMDVideoInputFlags
\r
376 { bmdVideoInputFlagDefault = 0,
\r
377 bmdVideoInputEnableFormatDetection = ( 1 << 0 )
\r
380 enum _BMDVideoInputFormatChangedEvents
\r
381 { bmdVideoInputDisplayModeChanged = ( 1 << 0 ) ,
\r
382 bmdVideoInputFieldDominanceChanged = ( 1 << 1 ) ,
\r
383 bmdVideoInputColorspaceChanged = ( 1 << 2 )
\r
386 enum _BMDDetectedVideoInputFormatFlags
\r
387 { bmdDetectedVideoInputYCbCr422 = ( 1 << 0 ) ,
\r
388 bmdDetectedVideoInputRGB444 = ( 1 << 1 )
\r
390 typedef /* [v1_enum] */
\r
391 enum _BMDOutputFrameCompletionResult
\r
392 { bmdOutputFrameCompleted = 0,
\r
393 bmdOutputFrameDisplayedLate = ( bmdOutputFrameCompleted + 1 ) ,
\r
394 bmdOutputFrameDropped = ( bmdOutputFrameDisplayedLate + 1 ) ,
\r
395 bmdOutputFrameFlushed = ( bmdOutputFrameDropped + 1 )
\r
396 } BMDOutputFrameCompletionResult;
\r
398 typedef /* [v1_enum] */
\r
399 enum _BMDAudioSampleRate
\r
400 { bmdAudioSampleRate48kHz = 48000
\r
401 } BMDAudioSampleRate;
\r
403 typedef /* [v1_enum] */
\r
404 enum _BMDAudioSampleType
\r
405 { bmdAudioSampleType16bitInteger = 16,
\r
406 bmdAudioSampleType32bitInteger = 32
\r
407 } BMDAudioSampleType;
\r
409 typedef /* [v1_enum] */
\r
410 enum _BMDAudioOutputStreamType
\r
411 { bmdAudioOutputStreamContinuous = 0,
\r
412 bmdAudioOutputStreamContinuousDontResample = ( bmdAudioOutputStreamContinuous + 1 ) ,
\r
413 bmdAudioOutputStreamTimestamped = ( bmdAudioOutputStreamContinuousDontResample + 1 )
\r
414 } BMDAudioOutputStreamType;
\r
416 typedef /* [v1_enum] */
\r
417 enum _BMDDisplayModeSupport
\r
418 { bmdDisplayModeNotSupported = 0,
\r
419 bmdDisplayModeSupported = ( bmdDisplayModeNotSupported + 1 ) ,
\r
420 bmdDisplayModeSupportedWithConversion = ( bmdDisplayModeSupported + 1 )
\r
421 } BMDDisplayModeSupport;
\r
423 typedef /* [v1_enum] */
\r
424 enum _BMDTimecodeFormat
\r
425 { bmdTimecodeRP188 = 0x72703138,
\r
426 bmdTimecodeVITC = 0x76697463,
\r
427 bmdTimecodeSerial = 0x73657269
\r
428 } BMDTimecodeFormat;
\r
431 enum _BMDTimecodeFlags
\r
432 { bmdTimecodeFlagDefault = 0,
\r
433 bmdTimecodeIsDropFrame = ( 1 << 0 )
\r
435 typedef /* [v1_enum] */
\r
436 enum _BMDVideoConnection
\r
437 { bmdVideoConnectionSDI = 0x73646920,
\r
438 bmdVideoConnectionHDMI = 0x68646d69,
\r
439 bmdVideoConnectionOpticalSDI = 0x6f707469,
\r
440 bmdVideoConnectionComponent = 0x63706e74,
\r
441 bmdVideoConnectionComposite = 0x636d7374,
\r
442 bmdVideoConnectionSVideo = 0x73766964
\r
443 } BMDVideoConnection;
\r
446 enum _BMDAnalogVideoFlags
\r
447 { bmdAnalogVideoFlagCompositeSetup75 = ( 1 << 0 ) ,
\r
448 bmdAnalogVideoFlagComponentBetacamLevels = ( 1 << 1 )
\r
450 typedef /* [v1_enum] */
\r
451 enum _BMDAudioConnection
\r
452 { bmdAudioConnectionEmbedded = 0x656d6264,
\r
453 bmdAudioConnectionAESEBU = 0x61657320,
\r
454 bmdAudioConnectionAnalog = 0x616e6c67
\r
455 } BMDAudioConnection;
\r
457 typedef /* [v1_enum] */
\r
458 enum _BMDVideoOutputConversionMode
\r
459 { bmdNoVideoOutputConversion = 0x6e6f6e65,
\r
460 bmdVideoOutputLetterboxDownonversion = 0x6c746278,
\r
461 bmdVideoOutputAnamorphicDownonversion = 0x616d7068,
\r
462 bmdVideoOutputHD720toHD1080Conversion = 0x37323063,
\r
463 bmdVideoOutputHardwareLetterboxDownconversion = 0x48576c62,
\r
464 bmdVideoOutputHardwareAnamorphicDownconversion = 0x4857616d,
\r
465 bmdVideoOutputHardwareCenterCutDownconversion = 0x48576363
\r
466 } BMDVideoOutputConversionMode;
\r
468 typedef /* [v1_enum] */
\r
469 enum _BMDVideoInputConversionMode
\r
470 { bmdNoVideoInputConversion = 0x6e6f6e65,
\r
471 bmdVideoInputLetterboxDownconversionFromHD1080 = 0x31306c62,
\r
472 bmdVideoInputAnamorphicDownconversionFromHD1080 = 0x3130616d,
\r
473 bmdVideoInputLetterboxDownconversionFromHD720 = 0x37326c62,
\r
474 bmdVideoInputAnamorphicDownconversionFromHD720 = 0x3732616d,
\r
475 bmdVideoInputLetterboxUpconversion = 0x6c627570,
\r
476 bmdVideoInputAnamorphicUpconversion = 0x616d7570
\r
477 } BMDVideoInputConversionMode;
\r
479 typedef /* [v1_enum] */
\r
480 enum _BMDDeckLinkAttributeID
\r
481 { BMDDeckLinkSupportsInternalKeying = 0x6b657969,
\r
482 BMDDeckLinkSupportsExternalKeying = 0x6b657965,
\r
483 BMDDeckLinkSupportsHDKeying = 0x6b657968,
\r
484 BMDDeckLinkSupportsInputFormatDetection = 0x696e6664,
\r
485 BMDDeckLinkHasSerialPort = 0x68737074,
\r
486 BMDDeckLinkMaximumAudioChannels = 0x6d616368,
\r
487 BMDDeckLinkSerialPortDeviceName = 0x736c706e
\r
488 } BMDDeckLinkAttributeID;
\r
490 typedef /* [v1_enum] */
\r
491 enum _BMDDeckLinkAPIInformationID
\r
492 { BMDDeckLinkAPIVersion = 0x76657273
\r
493 } BMDDeckLinkAPIInformationID;
\r
527 EXTERN_C const IID LIBID_DeckLinkAPI;
\r
529 #ifndef __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__
\r
530 #define __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__
\r
532 /* interface IDeckLinkVideoOutputCallback */
\r
533 /* [helpstring][uuid][object] */
\r
536 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback;
\r
538 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
540 MIDL_INTERFACE("E763A626-4A3C-49D1-BF13-E7AD3692AE52")
\r
541 IDeckLinkVideoOutputCallback : public IUnknown
\r
544 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
\r
545 /* [in] */ IDeckLinkVideoFrame *completedFrame,
\r
546 /* [in] */ BMDOutputFrameCompletionResult result) = 0;
\r
548 virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0;
\r
552 #else /* C style interface */
\r
554 typedef struct IDeckLinkVideoOutputCallbackVtbl
\r
558 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
559 IDeckLinkVideoOutputCallback * This,
\r
560 /* [in] */ REFIID riid,
\r
561 /* [iid_is][out] */
\r
562 __RPC__deref_out void **ppvObject);
\r
564 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
565 IDeckLinkVideoOutputCallback * This);
\r
567 ULONG ( STDMETHODCALLTYPE *Release )(
\r
568 IDeckLinkVideoOutputCallback * This);
\r
570 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
\r
571 IDeckLinkVideoOutputCallback * This,
\r
572 /* [in] */ IDeckLinkVideoFrame *completedFrame,
\r
573 /* [in] */ BMDOutputFrameCompletionResult result);
\r
575 HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )(
\r
576 IDeckLinkVideoOutputCallback * This);
\r
579 } IDeckLinkVideoOutputCallbackVtbl;
\r
581 interface IDeckLinkVideoOutputCallback
\r
583 CONST_VTBL struct IDeckLinkVideoOutputCallbackVtbl *lpVtbl;
\r
591 #define IDeckLinkVideoOutputCallback_QueryInterface(This,riid,ppvObject) \
\r
592 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
594 #define IDeckLinkVideoOutputCallback_AddRef(This) \
\r
595 ( (This)->lpVtbl -> AddRef(This) )
\r
597 #define IDeckLinkVideoOutputCallback_Release(This) \
\r
598 ( (This)->lpVtbl -> Release(This) )
\r
601 #define IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(This,completedFrame,result) \
\r
602 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
\r
604 #define IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(This) \
\r
605 ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) )
\r
607 #endif /* COBJMACROS */
\r
610 #endif /* C style interface */
\r
615 #endif /* __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ */
\r
618 #ifndef __IDeckLinkInputCallback_INTERFACE_DEFINED__
\r
619 #define __IDeckLinkInputCallback_INTERFACE_DEFINED__
\r
621 /* interface IDeckLinkInputCallback */
\r
622 /* [helpstring][uuid][object] */
\r
625 EXTERN_C const IID IID_IDeckLinkInputCallback;
\r
627 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
629 MIDL_INTERFACE("31D28EE7-88B6-4CB1-897A-CDBF79A26414")
\r
630 IDeckLinkInputCallback : public IUnknown
\r
633 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
\r
634 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
635 /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
\r
636 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
\r
638 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
639 /* [in] */ IDeckLinkVideoInputFrame *videoFrame,
\r
640 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
\r
644 #else /* C style interface */
\r
646 typedef struct IDeckLinkInputCallbackVtbl
\r
650 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
651 IDeckLinkInputCallback * This,
\r
652 /* [in] */ REFIID riid,
\r
653 /* [iid_is][out] */
\r
654 __RPC__deref_out void **ppvObject);
\r
656 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
657 IDeckLinkInputCallback * This);
\r
659 ULONG ( STDMETHODCALLTYPE *Release )(
\r
660 IDeckLinkInputCallback * This);
\r
662 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
\r
663 IDeckLinkInputCallback * This,
\r
664 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
665 /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
\r
666 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
\r
668 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
669 IDeckLinkInputCallback * This,
\r
670 /* [in] */ IDeckLinkVideoInputFrame *videoFrame,
\r
671 /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
\r
674 } IDeckLinkInputCallbackVtbl;
\r
676 interface IDeckLinkInputCallback
\r
678 CONST_VTBL struct IDeckLinkInputCallbackVtbl *lpVtbl;
\r
686 #define IDeckLinkInputCallback_QueryInterface(This,riid,ppvObject) \
\r
687 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
689 #define IDeckLinkInputCallback_AddRef(This) \
\r
690 ( (This)->lpVtbl -> AddRef(This) )
\r
692 #define IDeckLinkInputCallback_Release(This) \
\r
693 ( (This)->lpVtbl -> Release(This) )
\r
696 #define IDeckLinkInputCallback_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
\r
697 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
\r
699 #define IDeckLinkInputCallback_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
700 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
702 #endif /* COBJMACROS */
\r
705 #endif /* C style interface */
\r
710 #endif /* __IDeckLinkInputCallback_INTERFACE_DEFINED__ */
\r
713 #ifndef __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__
\r
714 #define __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__
\r
716 /* interface IDeckLinkMemoryAllocator */
\r
717 /* [helpstring][local][uuid][object] */
\r
720 EXTERN_C const IID IID_IDeckLinkMemoryAllocator;
\r
722 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
724 MIDL_INTERFACE("B36EB6E7-9D29-4AA8-92EF-843B87A289E8")
\r
725 IDeckLinkMemoryAllocator : public IUnknown
\r
728 virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(
\r
729 unsigned long bufferSize,
\r
730 /* [out] */ void **allocatedBuffer) = 0;
\r
732 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
\r
733 /* [in] */ void *buffer) = 0;
\r
735 virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
\r
737 virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
\r
741 #else /* C style interface */
\r
743 typedef struct IDeckLinkMemoryAllocatorVtbl
\r
747 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
748 IDeckLinkMemoryAllocator * This,
\r
749 /* [in] */ REFIID riid,
\r
750 /* [iid_is][out] */
\r
751 __RPC__deref_out void **ppvObject);
\r
753 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
754 IDeckLinkMemoryAllocator * This);
\r
756 ULONG ( STDMETHODCALLTYPE *Release )(
\r
757 IDeckLinkMemoryAllocator * This);
\r
759 HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )(
\r
760 IDeckLinkMemoryAllocator * This,
\r
761 unsigned long bufferSize,
\r
762 /* [out] */ void **allocatedBuffer);
\r
764 HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
\r
765 IDeckLinkMemoryAllocator * This,
\r
766 /* [in] */ void *buffer);
\r
768 HRESULT ( STDMETHODCALLTYPE *Commit )(
\r
769 IDeckLinkMemoryAllocator * This);
\r
771 HRESULT ( STDMETHODCALLTYPE *Decommit )(
\r
772 IDeckLinkMemoryAllocator * This);
\r
775 } IDeckLinkMemoryAllocatorVtbl;
\r
777 interface IDeckLinkMemoryAllocator
\r
779 CONST_VTBL struct IDeckLinkMemoryAllocatorVtbl *lpVtbl;
\r
787 #define IDeckLinkMemoryAllocator_QueryInterface(This,riid,ppvObject) \
\r
788 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
790 #define IDeckLinkMemoryAllocator_AddRef(This) \
\r
791 ( (This)->lpVtbl -> AddRef(This) )
\r
793 #define IDeckLinkMemoryAllocator_Release(This) \
\r
794 ( (This)->lpVtbl -> Release(This) )
\r
797 #define IDeckLinkMemoryAllocator_AllocateBuffer(This,bufferSize,allocatedBuffer) \
\r
798 ( (This)->lpVtbl -> AllocateBuffer(This,bufferSize,allocatedBuffer) )
\r
800 #define IDeckLinkMemoryAllocator_ReleaseBuffer(This,buffer) \
\r
801 ( (This)->lpVtbl -> ReleaseBuffer(This,buffer) )
\r
803 #define IDeckLinkMemoryAllocator_Commit(This) \
\r
804 ( (This)->lpVtbl -> Commit(This) )
\r
806 #define IDeckLinkMemoryAllocator_Decommit(This) \
\r
807 ( (This)->lpVtbl -> Decommit(This) )
\r
809 #endif /* COBJMACROS */
\r
812 #endif /* C style interface */
\r
817 #endif /* __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ */
\r
820 #ifndef __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__
\r
821 #define __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__
\r
823 /* interface IDeckLinkAudioOutputCallback */
\r
824 /* [helpstring][local][uuid][object] */
\r
827 EXTERN_C const IID IID_IDeckLinkAudioOutputCallback;
\r
829 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
831 MIDL_INTERFACE("403C681B-7F46-4A12-B993-2BB127084EE6")
\r
832 IDeckLinkAudioOutputCallback : public IUnknown
\r
835 virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples(
\r
840 #else /* C style interface */
\r
842 typedef struct IDeckLinkAudioOutputCallbackVtbl
\r
846 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
847 IDeckLinkAudioOutputCallback * This,
\r
848 /* [in] */ REFIID riid,
\r
849 /* [iid_is][out] */
\r
850 __RPC__deref_out void **ppvObject);
\r
852 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
853 IDeckLinkAudioOutputCallback * This);
\r
855 ULONG ( STDMETHODCALLTYPE *Release )(
\r
856 IDeckLinkAudioOutputCallback * This);
\r
858 HRESULT ( STDMETHODCALLTYPE *RenderAudioSamples )(
\r
859 IDeckLinkAudioOutputCallback * This,
\r
863 } IDeckLinkAudioOutputCallbackVtbl;
\r
865 interface IDeckLinkAudioOutputCallback
\r
867 CONST_VTBL struct IDeckLinkAudioOutputCallbackVtbl *lpVtbl;
\r
875 #define IDeckLinkAudioOutputCallback_QueryInterface(This,riid,ppvObject) \
\r
876 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
878 #define IDeckLinkAudioOutputCallback_AddRef(This) \
\r
879 ( (This)->lpVtbl -> AddRef(This) )
\r
881 #define IDeckLinkAudioOutputCallback_Release(This) \
\r
882 ( (This)->lpVtbl -> Release(This) )
\r
885 #define IDeckLinkAudioOutputCallback_RenderAudioSamples(This,preroll) \
\r
886 ( (This)->lpVtbl -> RenderAudioSamples(This,preroll) )
\r
888 #endif /* COBJMACROS */
\r
891 #endif /* C style interface */
\r
896 #endif /* __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ */
\r
899 #ifndef __IDeckLinkIterator_INTERFACE_DEFINED__
\r
900 #define __IDeckLinkIterator_INTERFACE_DEFINED__
\r
902 /* interface IDeckLinkIterator */
\r
903 /* [helpstring][uuid][object] */
\r
906 EXTERN_C const IID IID_IDeckLinkIterator;
\r
908 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
910 MIDL_INTERFACE("74E936FC-CC28-4A67-81A0-1E94E52D4E69")
\r
911 IDeckLinkIterator : public IUnknown
\r
914 virtual HRESULT STDMETHODCALLTYPE Next(
\r
915 /* [out] */ IDeckLink **deckLinkInstance) = 0;
\r
919 #else /* C style interface */
\r
921 typedef struct IDeckLinkIteratorVtbl
\r
925 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
926 IDeckLinkIterator * This,
\r
927 /* [in] */ REFIID riid,
\r
928 /* [iid_is][out] */
\r
929 __RPC__deref_out void **ppvObject);
\r
931 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
932 IDeckLinkIterator * This);
\r
934 ULONG ( STDMETHODCALLTYPE *Release )(
\r
935 IDeckLinkIterator * This);
\r
937 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
938 IDeckLinkIterator * This,
\r
939 /* [out] */ IDeckLink **deckLinkInstance);
\r
942 } IDeckLinkIteratorVtbl;
\r
944 interface IDeckLinkIterator
\r
946 CONST_VTBL struct IDeckLinkIteratorVtbl *lpVtbl;
\r
954 #define IDeckLinkIterator_QueryInterface(This,riid,ppvObject) \
\r
955 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
957 #define IDeckLinkIterator_AddRef(This) \
\r
958 ( (This)->lpVtbl -> AddRef(This) )
\r
960 #define IDeckLinkIterator_Release(This) \
\r
961 ( (This)->lpVtbl -> Release(This) )
\r
964 #define IDeckLinkIterator_Next(This,deckLinkInstance) \
\r
965 ( (This)->lpVtbl -> Next(This,deckLinkInstance) )
\r
967 #endif /* COBJMACROS */
\r
970 #endif /* C style interface */
\r
975 #endif /* __IDeckLinkIterator_INTERFACE_DEFINED__ */
\r
978 #ifndef __IDeckLinkAPIInformation_INTERFACE_DEFINED__
\r
979 #define __IDeckLinkAPIInformation_INTERFACE_DEFINED__
\r
981 /* interface IDeckLinkAPIInformation */
\r
982 /* [helpstring][uuid][object] */
\r
985 EXTERN_C const IID IID_IDeckLinkAPIInformation;
\r
987 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
989 MIDL_INTERFACE("7BEA3C68-730D-4322-AF34-8A7152B532A4")
\r
990 IDeckLinkAPIInformation : public IUnknown
\r
993 virtual HRESULT STDMETHODCALLTYPE GetFlag(
\r
994 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
995 /* [out] */ BOOL *value) = 0;
\r
997 virtual HRESULT STDMETHODCALLTYPE GetInt(
\r
998 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
999 /* [out] */ LONGLONG *value) = 0;
\r
1001 virtual HRESULT STDMETHODCALLTYPE GetFloat(
\r
1002 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1003 /* [out] */ double *value) = 0;
\r
1005 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
1006 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1007 /* [out] */ BSTR *value) = 0;
\r
1011 #else /* C style interface */
\r
1013 typedef struct IDeckLinkAPIInformationVtbl
\r
1017 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1018 IDeckLinkAPIInformation * This,
\r
1019 /* [in] */ REFIID riid,
\r
1020 /* [iid_is][out] */
\r
1021 __RPC__deref_out void **ppvObject);
\r
1023 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1024 IDeckLinkAPIInformation * This);
\r
1026 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1027 IDeckLinkAPIInformation * This);
\r
1029 HRESULT ( STDMETHODCALLTYPE *GetFlag )(
\r
1030 IDeckLinkAPIInformation * This,
\r
1031 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1032 /* [out] */ BOOL *value);
\r
1034 HRESULT ( STDMETHODCALLTYPE *GetInt )(
\r
1035 IDeckLinkAPIInformation * This,
\r
1036 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1037 /* [out] */ LONGLONG *value);
\r
1039 HRESULT ( STDMETHODCALLTYPE *GetFloat )(
\r
1040 IDeckLinkAPIInformation * This,
\r
1041 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1042 /* [out] */ double *value);
\r
1044 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
1045 IDeckLinkAPIInformation * This,
\r
1046 /* [in] */ BMDDeckLinkAPIInformationID cfgID,
\r
1047 /* [out] */ BSTR *value);
\r
1050 } IDeckLinkAPIInformationVtbl;
\r
1052 interface IDeckLinkAPIInformation
\r
1054 CONST_VTBL struct IDeckLinkAPIInformationVtbl *lpVtbl;
\r
1062 #define IDeckLinkAPIInformation_QueryInterface(This,riid,ppvObject) \
\r
1063 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1065 #define IDeckLinkAPIInformation_AddRef(This) \
\r
1066 ( (This)->lpVtbl -> AddRef(This) )
\r
1068 #define IDeckLinkAPIInformation_Release(This) \
\r
1069 ( (This)->lpVtbl -> Release(This) )
\r
1072 #define IDeckLinkAPIInformation_GetFlag(This,cfgID,value) \
\r
1073 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
\r
1075 #define IDeckLinkAPIInformation_GetInt(This,cfgID,value) \
\r
1076 ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
\r
1078 #define IDeckLinkAPIInformation_GetFloat(This,cfgID,value) \
\r
1079 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
\r
1081 #define IDeckLinkAPIInformation_GetString(This,cfgID,value) \
\r
1082 ( (This)->lpVtbl -> GetString(This,cfgID,value) )
\r
1084 #endif /* COBJMACROS */
\r
1087 #endif /* C style interface */
\r
1092 #endif /* __IDeckLinkAPIInformation_INTERFACE_DEFINED__ */
\r
1095 #ifndef __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__
\r
1096 #define __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__
\r
1098 /* interface IDeckLinkDisplayModeIterator */
\r
1099 /* [helpstring][uuid][object] */
\r
1102 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator;
\r
1104 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1106 MIDL_INTERFACE("455D741F-1779-4800-86F5-0B5D13D79751")
\r
1107 IDeckLinkDisplayModeIterator : public IUnknown
\r
1110 virtual HRESULT STDMETHODCALLTYPE Next(
\r
1111 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0;
\r
1115 #else /* C style interface */
\r
1117 typedef struct IDeckLinkDisplayModeIteratorVtbl
\r
1121 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1122 IDeckLinkDisplayModeIterator * This,
\r
1123 /* [in] */ REFIID riid,
\r
1124 /* [iid_is][out] */
\r
1125 __RPC__deref_out void **ppvObject);
\r
1127 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1128 IDeckLinkDisplayModeIterator * This);
\r
1130 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1131 IDeckLinkDisplayModeIterator * This);
\r
1133 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
1134 IDeckLinkDisplayModeIterator * This,
\r
1135 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode);
\r
1138 } IDeckLinkDisplayModeIteratorVtbl;
\r
1140 interface IDeckLinkDisplayModeIterator
\r
1142 CONST_VTBL struct IDeckLinkDisplayModeIteratorVtbl *lpVtbl;
\r
1150 #define IDeckLinkDisplayModeIterator_QueryInterface(This,riid,ppvObject) \
\r
1151 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1153 #define IDeckLinkDisplayModeIterator_AddRef(This) \
\r
1154 ( (This)->lpVtbl -> AddRef(This) )
\r
1156 #define IDeckLinkDisplayModeIterator_Release(This) \
\r
1157 ( (This)->lpVtbl -> Release(This) )
\r
1160 #define IDeckLinkDisplayModeIterator_Next(This,deckLinkDisplayMode) \
\r
1161 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
\r
1163 #endif /* COBJMACROS */
\r
1166 #endif /* C style interface */
\r
1171 #endif /* __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ */
\r
1174 #ifndef __IDeckLinkDisplayMode_INTERFACE_DEFINED__
\r
1175 #define __IDeckLinkDisplayMode_INTERFACE_DEFINED__
\r
1177 /* interface IDeckLinkDisplayMode */
\r
1178 /* [helpstring][uuid][object] */
\r
1181 EXTERN_C const IID IID_IDeckLinkDisplayMode;
\r
1183 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1185 MIDL_INTERFACE("87451E84-2B7E-439E-A629-4393EA4A8550")
\r
1186 IDeckLinkDisplayMode : public IUnknown
\r
1189 virtual HRESULT STDMETHODCALLTYPE GetName(
\r
1190 /* [out] */ BSTR *name) = 0;
\r
1192 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
1194 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
1196 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
1198 virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
\r
1199 /* [out] */ BMDTimeValue *frameDuration,
\r
1200 /* [out] */ BMDTimeScale *timeScale) = 0;
\r
1202 virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0;
\r
1206 #else /* C style interface */
\r
1208 typedef struct IDeckLinkDisplayModeVtbl
\r
1212 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1213 IDeckLinkDisplayMode * This,
\r
1214 /* [in] */ REFIID riid,
\r
1215 /* [iid_is][out] */
\r
1216 __RPC__deref_out void **ppvObject);
\r
1218 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1219 IDeckLinkDisplayMode * This);
\r
1221 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1222 IDeckLinkDisplayMode * This);
\r
1224 HRESULT ( STDMETHODCALLTYPE *GetName )(
\r
1225 IDeckLinkDisplayMode * This,
\r
1226 /* [out] */ BSTR *name);
\r
1228 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
1229 IDeckLinkDisplayMode * This);
\r
1231 long ( STDMETHODCALLTYPE *GetWidth )(
\r
1232 IDeckLinkDisplayMode * This);
\r
1234 long ( STDMETHODCALLTYPE *GetHeight )(
\r
1235 IDeckLinkDisplayMode * This);
\r
1237 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
\r
1238 IDeckLinkDisplayMode * This,
\r
1239 /* [out] */ BMDTimeValue *frameDuration,
\r
1240 /* [out] */ BMDTimeScale *timeScale);
\r
1242 BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )(
\r
1243 IDeckLinkDisplayMode * This);
\r
1246 } IDeckLinkDisplayModeVtbl;
\r
1248 interface IDeckLinkDisplayMode
\r
1250 CONST_VTBL struct IDeckLinkDisplayModeVtbl *lpVtbl;
\r
1258 #define IDeckLinkDisplayMode_QueryInterface(This,riid,ppvObject) \
\r
1259 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1261 #define IDeckLinkDisplayMode_AddRef(This) \
\r
1262 ( (This)->lpVtbl -> AddRef(This) )
\r
1264 #define IDeckLinkDisplayMode_Release(This) \
\r
1265 ( (This)->lpVtbl -> Release(This) )
\r
1268 #define IDeckLinkDisplayMode_GetName(This,name) \
\r
1269 ( (This)->lpVtbl -> GetName(This,name) )
\r
1271 #define IDeckLinkDisplayMode_GetDisplayMode(This) \
\r
1272 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
1274 #define IDeckLinkDisplayMode_GetWidth(This) \
\r
1275 ( (This)->lpVtbl -> GetWidth(This) )
\r
1277 #define IDeckLinkDisplayMode_GetHeight(This) \
\r
1278 ( (This)->lpVtbl -> GetHeight(This) )
\r
1280 #define IDeckLinkDisplayMode_GetFrameRate(This,frameDuration,timeScale) \
\r
1281 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
\r
1283 #define IDeckLinkDisplayMode_GetFieldDominance(This) \
\r
1284 ( (This)->lpVtbl -> GetFieldDominance(This) )
\r
1286 #endif /* COBJMACROS */
\r
1289 #endif /* C style interface */
\r
1294 #endif /* __IDeckLinkDisplayMode_INTERFACE_DEFINED__ */
\r
1297 #ifndef __IDeckLink_INTERFACE_DEFINED__
\r
1298 #define __IDeckLink_INTERFACE_DEFINED__
\r
1300 /* interface IDeckLink */
\r
1301 /* [helpstring][uuid][object] */
\r
1304 EXTERN_C const IID IID_IDeckLink;
\r
1306 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1308 MIDL_INTERFACE("62BFF75D-6569-4E55-8D4D-66AA03829ABC")
\r
1309 IDeckLink : public IUnknown
\r
1312 virtual HRESULT STDMETHODCALLTYPE GetModelName(
\r
1313 /* [out] */ BSTR *modelName) = 0;
\r
1317 #else /* C style interface */
\r
1319 typedef struct IDeckLinkVtbl
\r
1323 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1325 /* [in] */ REFIID riid,
\r
1326 /* [iid_is][out] */
\r
1327 __RPC__deref_out void **ppvObject);
\r
1329 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1330 IDeckLink * This);
\r
1332 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1333 IDeckLink * This);
\r
1335 HRESULT ( STDMETHODCALLTYPE *GetModelName )(
\r
1337 /* [out] */ BSTR *modelName);
\r
1342 interface IDeckLink
\r
1344 CONST_VTBL struct IDeckLinkVtbl *lpVtbl;
\r
1352 #define IDeckLink_QueryInterface(This,riid,ppvObject) \
\r
1353 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1355 #define IDeckLink_AddRef(This) \
\r
1356 ( (This)->lpVtbl -> AddRef(This) )
\r
1358 #define IDeckLink_Release(This) \
\r
1359 ( (This)->lpVtbl -> Release(This) )
\r
1362 #define IDeckLink_GetModelName(This,modelName) \
\r
1363 ( (This)->lpVtbl -> GetModelName(This,modelName) )
\r
1365 #endif /* COBJMACROS */
\r
1368 #endif /* C style interface */
\r
1373 #endif /* __IDeckLink_INTERFACE_DEFINED__ */
\r
1376 #ifndef __IDeckLinkOutput_INTERFACE_DEFINED__
\r
1377 #define __IDeckLinkOutput_INTERFACE_DEFINED__
\r
1379 /* interface IDeckLinkOutput */
\r
1380 /* [helpstring][local][uuid][object] */
\r
1383 EXTERN_C const IID IID_IDeckLinkOutput;
\r
1385 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1387 MIDL_INTERFACE("29228142-EB8C-4141-A621-F74026450955")
\r
1388 IDeckLinkOutput : public IUnknown
\r
1391 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
1392 BMDDisplayMode displayMode,
\r
1393 BMDPixelFormat pixelFormat,
\r
1394 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
1396 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
1397 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
\r
1399 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
1400 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
1402 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
1403 BMDDisplayMode displayMode,
\r
1404 BMDVideoOutputFlags flags) = 0;
\r
1406 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
1408 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
1409 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
1411 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
1415 BMDPixelFormat pixelFormat,
\r
1416 BMDFrameFlags flags,
\r
1417 /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0;
\r
1419 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
\r
1420 BMDDisplayMode displayMode,
\r
1421 BMDPixelFormat pixelFormat,
\r
1422 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
\r
1424 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
1425 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
1427 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
1428 /* [in] */ IDeckLinkVideoFrame *theFrame,
\r
1429 BMDTimeValue displayTime,
\r
1430 BMDTimeValue displayDuration,
\r
1431 BMDTimeScale timeScale) = 0;
\r
1433 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
1434 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;
\r
1436 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
\r
1437 /* [out] */ unsigned long *bufferedFrameCount) = 0;
\r
1439 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
1440 BMDAudioSampleRate sampleRate,
\r
1441 BMDAudioSampleType sampleType,
\r
1442 unsigned long channelCount,
\r
1443 BMDAudioOutputStreamType streamType) = 0;
\r
1445 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
1447 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
1448 /* [in] */ void *buffer,
\r
1449 unsigned long sampleFrameCount,
\r
1450 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
1452 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
1454 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
1456 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
1457 /* [in] */ void *buffer,
\r
1458 unsigned long sampleFrameCount,
\r
1459 BMDTimeValue streamTime,
\r
1460 BMDTimeScale timeScale,
\r
1461 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
1463 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
1464 /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
\r
1466 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
1468 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
1469 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
1471 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
1472 BMDTimeValue playbackStartTime,
\r
1473 BMDTimeScale timeScale,
\r
1474 double playbackSpeed) = 0;
\r
1476 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
1477 BMDTimeValue stopPlaybackAtTime,
\r
1478 /* [out] */ BMDTimeValue *actualStopTime,
\r
1479 BMDTimeScale timeScale) = 0;
\r
1481 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
\r
1482 /* [out] */ BOOL *active) = 0;
\r
1484 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
\r
1485 BMDTimeScale desiredTimeScale,
\r
1486 /* [out] */ BMDTimeValue *streamTime,
\r
1487 /* [out] */ double *playbackSpeed) = 0;
\r
1489 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
1490 BMDTimeScale desiredTimeScale,
\r
1491 /* [out] */ BMDTimeValue *hardwareTime,
\r
1492 /* [out] */ BMDTimeValue *timeInFrame,
\r
1493 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
1497 #else /* C style interface */
\r
1499 typedef struct IDeckLinkOutputVtbl
\r
1503 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1504 IDeckLinkOutput * This,
\r
1505 /* [in] */ REFIID riid,
\r
1506 /* [iid_is][out] */
\r
1507 __RPC__deref_out void **ppvObject);
\r
1509 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1510 IDeckLinkOutput * This);
\r
1512 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1513 IDeckLinkOutput * This);
\r
1515 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
1516 IDeckLinkOutput * This,
\r
1517 BMDDisplayMode displayMode,
\r
1518 BMDPixelFormat pixelFormat,
\r
1519 /* [out] */ BMDDisplayModeSupport *result);
\r
1521 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
1522 IDeckLinkOutput * This,
\r
1523 /* [out] */ IDeckLinkDisplayModeIterator **iterator);
\r
1525 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
1526 IDeckLinkOutput * This,
\r
1527 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
1529 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
1530 IDeckLinkOutput * This,
\r
1531 BMDDisplayMode displayMode,
\r
1532 BMDVideoOutputFlags flags);
\r
1534 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
1535 IDeckLinkOutput * This);
\r
1537 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
1538 IDeckLinkOutput * This,
\r
1539 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
1541 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
1542 IDeckLinkOutput * This,
\r
1546 BMDPixelFormat pixelFormat,
\r
1547 BMDFrameFlags flags,
\r
1548 /* [out] */ IDeckLinkMutableVideoFrame **outFrame);
\r
1550 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
\r
1551 IDeckLinkOutput * This,
\r
1552 BMDDisplayMode displayMode,
\r
1553 BMDPixelFormat pixelFormat,
\r
1554 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
\r
1556 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
1557 IDeckLinkOutput * This,
\r
1558 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
1560 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
1561 IDeckLinkOutput * This,
\r
1562 /* [in] */ IDeckLinkVideoFrame *theFrame,
\r
1563 BMDTimeValue displayTime,
\r
1564 BMDTimeValue displayDuration,
\r
1565 BMDTimeScale timeScale);
\r
1567 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
1568 IDeckLinkOutput * This,
\r
1569 /* [in] */ IDeckLinkVideoOutputCallback *theCallback);
\r
1571 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
\r
1572 IDeckLinkOutput * This,
\r
1573 /* [out] */ unsigned long *bufferedFrameCount);
\r
1575 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
1576 IDeckLinkOutput * This,
\r
1577 BMDAudioSampleRate sampleRate,
\r
1578 BMDAudioSampleType sampleType,
\r
1579 unsigned long channelCount,
\r
1580 BMDAudioOutputStreamType streamType);
\r
1582 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
1583 IDeckLinkOutput * This);
\r
1585 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
1586 IDeckLinkOutput * This,
\r
1587 /* [in] */ void *buffer,
\r
1588 unsigned long sampleFrameCount,
\r
1589 /* [out] */ unsigned long *sampleFramesWritten);
\r
1591 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
1592 IDeckLinkOutput * This);
\r
1594 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
1595 IDeckLinkOutput * This);
\r
1597 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
1598 IDeckLinkOutput * This,
\r
1599 /* [in] */ void *buffer,
\r
1600 unsigned long sampleFrameCount,
\r
1601 BMDTimeValue streamTime,
\r
1602 BMDTimeScale timeScale,
\r
1603 /* [out] */ unsigned long *sampleFramesWritten);
\r
1605 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
1606 IDeckLinkOutput * This,
\r
1607 /* [out] */ unsigned long *bufferedSampleFrameCount);
\r
1609 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
1610 IDeckLinkOutput * This);
\r
1612 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
1613 IDeckLinkOutput * This,
\r
1614 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
1616 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
1617 IDeckLinkOutput * This,
\r
1618 BMDTimeValue playbackStartTime,
\r
1619 BMDTimeScale timeScale,
\r
1620 double playbackSpeed);
\r
1622 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
1623 IDeckLinkOutput * This,
\r
1624 BMDTimeValue stopPlaybackAtTime,
\r
1625 /* [out] */ BMDTimeValue *actualStopTime,
\r
1626 BMDTimeScale timeScale);
\r
1628 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
\r
1629 IDeckLinkOutput * This,
\r
1630 /* [out] */ BOOL *active);
\r
1632 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )(
\r
1633 IDeckLinkOutput * This,
\r
1634 BMDTimeScale desiredTimeScale,
\r
1635 /* [out] */ BMDTimeValue *streamTime,
\r
1636 /* [out] */ double *playbackSpeed);
\r
1638 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
1639 IDeckLinkOutput * This,
\r
1640 BMDTimeScale desiredTimeScale,
\r
1641 /* [out] */ BMDTimeValue *hardwareTime,
\r
1642 /* [out] */ BMDTimeValue *timeInFrame,
\r
1643 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
1646 } IDeckLinkOutputVtbl;
\r
1648 interface IDeckLinkOutput
\r
1650 CONST_VTBL struct IDeckLinkOutputVtbl *lpVtbl;
\r
1658 #define IDeckLinkOutput_QueryInterface(This,riid,ppvObject) \
\r
1659 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1661 #define IDeckLinkOutput_AddRef(This) \
\r
1662 ( (This)->lpVtbl -> AddRef(This) )
\r
1664 #define IDeckLinkOutput_Release(This) \
\r
1665 ( (This)->lpVtbl -> Release(This) )
\r
1668 #define IDeckLinkOutput_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
1669 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
1671 #define IDeckLinkOutput_GetDisplayModeIterator(This,iterator) \
\r
1672 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
1674 #define IDeckLinkOutput_SetScreenPreviewCallback(This,previewCallback) \
\r
1675 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
1677 #define IDeckLinkOutput_EnableVideoOutput(This,displayMode,flags) \
\r
1678 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
\r
1680 #define IDeckLinkOutput_DisableVideoOutput(This) \
\r
1681 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
1683 #define IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
1684 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
1686 #define IDeckLinkOutput_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
1687 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
1689 #define IDeckLinkOutput_CreateAncillaryData(This,displayMode,pixelFormat,outBuffer) \
\r
1690 ( (This)->lpVtbl -> CreateAncillaryData(This,displayMode,pixelFormat,outBuffer) )
\r
1692 #define IDeckLinkOutput_DisplayVideoFrameSync(This,theFrame) \
\r
1693 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
1695 #define IDeckLinkOutput_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
1696 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
1698 #define IDeckLinkOutput_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
1699 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
1701 #define IDeckLinkOutput_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
\r
1702 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
\r
1704 #define IDeckLinkOutput_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
\r
1705 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
\r
1707 #define IDeckLinkOutput_DisableAudioOutput(This) \
\r
1708 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
1710 #define IDeckLinkOutput_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
1711 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
1713 #define IDeckLinkOutput_BeginAudioPreroll(This) \
\r
1714 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
1716 #define IDeckLinkOutput_EndAudioPreroll(This) \
\r
1717 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
1719 #define IDeckLinkOutput_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
1720 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
1722 #define IDeckLinkOutput_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
\r
1723 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
\r
1725 #define IDeckLinkOutput_FlushBufferedAudioSamples(This) \
\r
1726 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
1728 #define IDeckLinkOutput_SetAudioCallback(This,theCallback) \
\r
1729 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
1731 #define IDeckLinkOutput_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
1732 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
1734 #define IDeckLinkOutput_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
1735 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
1737 #define IDeckLinkOutput_IsScheduledPlaybackRunning(This,active) \
\r
1738 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
\r
1740 #define IDeckLinkOutput_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \
\r
1741 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) )
\r
1743 #define IDeckLinkOutput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
1744 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
1746 #endif /* COBJMACROS */
\r
1749 #endif /* C style interface */
\r
1754 #endif /* __IDeckLinkOutput_INTERFACE_DEFINED__ */
\r
1757 #ifndef __IDeckLinkInput_INTERFACE_DEFINED__
\r
1758 #define __IDeckLinkInput_INTERFACE_DEFINED__
\r
1760 /* interface IDeckLinkInput */
\r
1761 /* [helpstring][uuid][object] */
\r
1764 EXTERN_C const IID IID_IDeckLinkInput;
\r
1766 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1768 MIDL_INTERFACE("300C135A-9F43-48E2-9906-6D7911D93CF1")
\r
1769 IDeckLinkInput : public IUnknown
\r
1772 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
1773 BMDDisplayMode displayMode,
\r
1774 BMDPixelFormat pixelFormat,
\r
1775 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
1777 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
1778 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
\r
1780 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
1781 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
1783 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
1784 BMDDisplayMode displayMode,
\r
1785 BMDPixelFormat pixelFormat,
\r
1786 BMDVideoInputFlags flags) = 0;
\r
1788 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
1790 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
\r
1791 /* [out] */ unsigned long *availableFrameCount) = 0;
\r
1793 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
1794 BMDAudioSampleRate sampleRate,
\r
1795 BMDAudioSampleType sampleType,
\r
1796 unsigned long channelCount) = 0;
\r
1798 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
1800 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
\r
1801 /* [out] */ unsigned long *availableSampleFrameCount) = 0;
\r
1803 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
1805 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
1807 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
1809 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
\r
1811 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
1812 /* [in] */ IDeckLinkInputCallback *theCallback) = 0;
\r
1814 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
1815 BMDTimeScale desiredTimeScale,
\r
1816 /* [out] */ BMDTimeValue *hardwareTime,
\r
1817 /* [out] */ BMDTimeValue *timeInFrame,
\r
1818 /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
\r
1822 #else /* C style interface */
\r
1824 typedef struct IDeckLinkInputVtbl
\r
1828 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
1829 IDeckLinkInput * This,
\r
1830 /* [in] */ REFIID riid,
\r
1831 /* [iid_is][out] */
\r
1832 __RPC__deref_out void **ppvObject);
\r
1834 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
1835 IDeckLinkInput * This);
\r
1837 ULONG ( STDMETHODCALLTYPE *Release )(
\r
1838 IDeckLinkInput * This);
\r
1840 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
1841 IDeckLinkInput * This,
\r
1842 BMDDisplayMode displayMode,
\r
1843 BMDPixelFormat pixelFormat,
\r
1844 /* [out] */ BMDDisplayModeSupport *result);
\r
1846 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
1847 IDeckLinkInput * This,
\r
1848 /* [out] */ IDeckLinkDisplayModeIterator **iterator);
\r
1850 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
1851 IDeckLinkInput * This,
\r
1852 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
1854 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
1855 IDeckLinkInput * This,
\r
1856 BMDDisplayMode displayMode,
\r
1857 BMDPixelFormat pixelFormat,
\r
1858 BMDVideoInputFlags flags);
\r
1860 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
1861 IDeckLinkInput * This);
\r
1863 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
\r
1864 IDeckLinkInput * This,
\r
1865 /* [out] */ unsigned long *availableFrameCount);
\r
1867 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
1868 IDeckLinkInput * This,
\r
1869 BMDAudioSampleRate sampleRate,
\r
1870 BMDAudioSampleType sampleType,
\r
1871 unsigned long channelCount);
\r
1873 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
1874 IDeckLinkInput * This);
\r
1876 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
\r
1877 IDeckLinkInput * This,
\r
1878 /* [out] */ unsigned long *availableSampleFrameCount);
\r
1880 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
1881 IDeckLinkInput * This);
\r
1883 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
1884 IDeckLinkInput * This);
\r
1886 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
1887 IDeckLinkInput * This);
\r
1889 HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
\r
1890 IDeckLinkInput * This);
\r
1892 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
1893 IDeckLinkInput * This,
\r
1894 /* [in] */ IDeckLinkInputCallback *theCallback);
\r
1896 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
1897 IDeckLinkInput * This,
\r
1898 BMDTimeScale desiredTimeScale,
\r
1899 /* [out] */ BMDTimeValue *hardwareTime,
\r
1900 /* [out] */ BMDTimeValue *timeInFrame,
\r
1901 /* [out] */ BMDTimeValue *ticksPerFrame);
\r
1904 } IDeckLinkInputVtbl;
\r
1906 interface IDeckLinkInput
\r
1908 CONST_VTBL struct IDeckLinkInputVtbl *lpVtbl;
\r
1916 #define IDeckLinkInput_QueryInterface(This,riid,ppvObject) \
\r
1917 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
1919 #define IDeckLinkInput_AddRef(This) \
\r
1920 ( (This)->lpVtbl -> AddRef(This) )
\r
1922 #define IDeckLinkInput_Release(This) \
\r
1923 ( (This)->lpVtbl -> Release(This) )
\r
1926 #define IDeckLinkInput_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
1927 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
1929 #define IDeckLinkInput_GetDisplayModeIterator(This,iterator) \
\r
1930 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
1932 #define IDeckLinkInput_SetScreenPreviewCallback(This,previewCallback) \
\r
1933 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
1935 #define IDeckLinkInput_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
1936 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
1938 #define IDeckLinkInput_DisableVideoInput(This) \
\r
1939 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
1941 #define IDeckLinkInput_GetAvailableVideoFrameCount(This,availableFrameCount) \
\r
1942 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
\r
1944 #define IDeckLinkInput_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
1945 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
1947 #define IDeckLinkInput_DisableAudioInput(This) \
\r
1948 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
1950 #define IDeckLinkInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
\r
1951 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
\r
1953 #define IDeckLinkInput_StartStreams(This) \
\r
1954 ( (This)->lpVtbl -> StartStreams(This) )
\r
1956 #define IDeckLinkInput_StopStreams(This) \
\r
1957 ( (This)->lpVtbl -> StopStreams(This) )
\r
1959 #define IDeckLinkInput_PauseStreams(This) \
\r
1960 ( (This)->lpVtbl -> PauseStreams(This) )
\r
1962 #define IDeckLinkInput_FlushStreams(This) \
\r
1963 ( (This)->lpVtbl -> FlushStreams(This) )
\r
1965 #define IDeckLinkInput_SetCallback(This,theCallback) \
\r
1966 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
1968 #define IDeckLinkInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
\r
1969 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
\r
1971 #endif /* COBJMACROS */
\r
1974 #endif /* C style interface */
\r
1979 #endif /* __IDeckLinkInput_INTERFACE_DEFINED__ */
\r
1982 #ifndef __IDeckLinkTimecode_INTERFACE_DEFINED__
\r
1983 #define __IDeckLinkTimecode_INTERFACE_DEFINED__
\r
1985 /* interface IDeckLinkTimecode */
\r
1986 /* [helpstring][uuid][object] */
\r
1989 EXTERN_C const IID IID_IDeckLinkTimecode;
\r
1991 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
1993 MIDL_INTERFACE("EFB9BCA6-A521-44F7-BD69-2332F24D9EE6")
\r
1994 IDeckLinkTimecode : public IUnknown
\r
1997 virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0;
\r
1999 virtual HRESULT STDMETHODCALLTYPE GetComponents(
\r
2000 /* [out] */ unsigned char *hours,
\r
2001 /* [out] */ unsigned char *minutes,
\r
2002 /* [out] */ unsigned char *seconds,
\r
2003 /* [out] */ unsigned char *frames) = 0;
\r
2005 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
2006 /* [out] */ BSTR *timecode) = 0;
\r
2008 virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
2012 #else /* C style interface */
\r
2014 typedef struct IDeckLinkTimecodeVtbl
\r
2018 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2019 IDeckLinkTimecode * This,
\r
2020 /* [in] */ REFIID riid,
\r
2021 /* [iid_is][out] */
\r
2022 __RPC__deref_out void **ppvObject);
\r
2024 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2025 IDeckLinkTimecode * This);
\r
2027 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2028 IDeckLinkTimecode * This);
\r
2030 BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )(
\r
2031 IDeckLinkTimecode * This);
\r
2033 HRESULT ( STDMETHODCALLTYPE *GetComponents )(
\r
2034 IDeckLinkTimecode * This,
\r
2035 /* [out] */ unsigned char *hours,
\r
2036 /* [out] */ unsigned char *minutes,
\r
2037 /* [out] */ unsigned char *seconds,
\r
2038 /* [out] */ unsigned char *frames);
\r
2040 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
2041 IDeckLinkTimecode * This,
\r
2042 /* [out] */ BSTR *timecode);
\r
2044 BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2045 IDeckLinkTimecode * This);
\r
2048 } IDeckLinkTimecodeVtbl;
\r
2050 interface IDeckLinkTimecode
\r
2052 CONST_VTBL struct IDeckLinkTimecodeVtbl *lpVtbl;
\r
2060 #define IDeckLinkTimecode_QueryInterface(This,riid,ppvObject) \
\r
2061 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2063 #define IDeckLinkTimecode_AddRef(This) \
\r
2064 ( (This)->lpVtbl -> AddRef(This) )
\r
2066 #define IDeckLinkTimecode_Release(This) \
\r
2067 ( (This)->lpVtbl -> Release(This) )
\r
2070 #define IDeckLinkTimecode_GetBCD(This) \
\r
2071 ( (This)->lpVtbl -> GetBCD(This) )
\r
2073 #define IDeckLinkTimecode_GetComponents(This,hours,minutes,seconds,frames) \
\r
2074 ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) )
\r
2076 #define IDeckLinkTimecode_GetString(This,timecode) \
\r
2077 ( (This)->lpVtbl -> GetString(This,timecode) )
\r
2079 #define IDeckLinkTimecode_GetFlags(This) \
\r
2080 ( (This)->lpVtbl -> GetFlags(This) )
\r
2082 #endif /* COBJMACROS */
\r
2085 #endif /* C style interface */
\r
2090 #endif /* __IDeckLinkTimecode_INTERFACE_DEFINED__ */
\r
2093 #ifndef __IDeckLinkVideoFrame_INTERFACE_DEFINED__
\r
2094 #define __IDeckLinkVideoFrame_INTERFACE_DEFINED__
\r
2096 /* interface IDeckLinkVideoFrame */
\r
2097 /* [helpstring][local][uuid][object] */
\r
2100 EXTERN_C const IID IID_IDeckLinkVideoFrame;
\r
2102 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2104 MIDL_INTERFACE("A8D8238E-6B18-4196-99E1-5AF717B83D32")
\r
2105 IDeckLinkVideoFrame : public IUnknown
\r
2108 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
2110 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
2112 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
\r
2114 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
2116 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
2118 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
2119 /* [out] */ void **buffer) = 0;
\r
2121 virtual HRESULT STDMETHODCALLTYPE GetTimecode(
\r
2122 BMDTimecodeFormat format,
\r
2123 /* [out] */ IDeckLinkTimecode **timecode) = 0;
\r
2125 virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(
\r
2126 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0;
\r
2130 #else /* C style interface */
\r
2132 typedef struct IDeckLinkVideoFrameVtbl
\r
2136 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2137 IDeckLinkVideoFrame * This,
\r
2138 /* [in] */ REFIID riid,
\r
2139 /* [iid_is][out] */
\r
2140 __RPC__deref_out void **ppvObject);
\r
2142 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2143 IDeckLinkVideoFrame * This);
\r
2145 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2146 IDeckLinkVideoFrame * This);
\r
2148 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2149 IDeckLinkVideoFrame * This);
\r
2151 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2152 IDeckLinkVideoFrame * This);
\r
2154 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2155 IDeckLinkVideoFrame * This);
\r
2157 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2158 IDeckLinkVideoFrame * This);
\r
2160 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2161 IDeckLinkVideoFrame * This);
\r
2163 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2164 IDeckLinkVideoFrame * This,
\r
2165 /* [out] */ void **buffer);
\r
2167 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
2168 IDeckLinkVideoFrame * This,
\r
2169 BMDTimecodeFormat format,
\r
2170 /* [out] */ IDeckLinkTimecode **timecode);
\r
2172 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
2173 IDeckLinkVideoFrame * This,
\r
2174 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
2177 } IDeckLinkVideoFrameVtbl;
\r
2179 interface IDeckLinkVideoFrame
\r
2181 CONST_VTBL struct IDeckLinkVideoFrameVtbl *lpVtbl;
\r
2189 #define IDeckLinkVideoFrame_QueryInterface(This,riid,ppvObject) \
\r
2190 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2192 #define IDeckLinkVideoFrame_AddRef(This) \
\r
2193 ( (This)->lpVtbl -> AddRef(This) )
\r
2195 #define IDeckLinkVideoFrame_Release(This) \
\r
2196 ( (This)->lpVtbl -> Release(This) )
\r
2199 #define IDeckLinkVideoFrame_GetWidth(This) \
\r
2200 ( (This)->lpVtbl -> GetWidth(This) )
\r
2202 #define IDeckLinkVideoFrame_GetHeight(This) \
\r
2203 ( (This)->lpVtbl -> GetHeight(This) )
\r
2205 #define IDeckLinkVideoFrame_GetRowBytes(This) \
\r
2206 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
2208 #define IDeckLinkVideoFrame_GetPixelFormat(This) \
\r
2209 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
2211 #define IDeckLinkVideoFrame_GetFlags(This) \
\r
2212 ( (This)->lpVtbl -> GetFlags(This) )
\r
2214 #define IDeckLinkVideoFrame_GetBytes(This,buffer) \
\r
2215 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
2217 #define IDeckLinkVideoFrame_GetTimecode(This,format,timecode) \
\r
2218 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
2220 #define IDeckLinkVideoFrame_GetAncillaryData(This,ancillary) \
\r
2221 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
2223 #endif /* COBJMACROS */
\r
2226 #endif /* C style interface */
\r
2231 #endif /* __IDeckLinkVideoFrame_INTERFACE_DEFINED__ */
\r
2234 #ifndef __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__
\r
2235 #define __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__
\r
2237 /* interface IDeckLinkMutableVideoFrame */
\r
2238 /* [helpstring][local][uuid][object] */
\r
2241 EXTERN_C const IID IID_IDeckLinkMutableVideoFrame;
\r
2243 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2245 MIDL_INTERFACE("46FCEE00-B4E6-43D0-91C0-023A7FCEB34F")
\r
2246 IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame
\r
2249 virtual HRESULT STDMETHODCALLTYPE SetFlags(
\r
2250 BMDFrameFlags newFlags) = 0;
\r
2252 virtual HRESULT STDMETHODCALLTYPE SetTimecode(
\r
2253 BMDTimecodeFormat format,
\r
2254 /* [in] */ IDeckLinkTimecode *timecode) = 0;
\r
2256 virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents(
\r
2257 BMDTimecodeFormat format,
\r
2258 unsigned char hours,
\r
2259 unsigned char minutes,
\r
2260 unsigned char seconds,
\r
2261 unsigned char frames,
\r
2262 BMDTimecodeFlags flags) = 0;
\r
2264 virtual HRESULT STDMETHODCALLTYPE SetAncillaryData(
\r
2265 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0;
\r
2269 #else /* C style interface */
\r
2271 typedef struct IDeckLinkMutableVideoFrameVtbl
\r
2275 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2276 IDeckLinkMutableVideoFrame * This,
\r
2277 /* [in] */ REFIID riid,
\r
2278 /* [iid_is][out] */
\r
2279 __RPC__deref_out void **ppvObject);
\r
2281 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2282 IDeckLinkMutableVideoFrame * This);
\r
2284 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2285 IDeckLinkMutableVideoFrame * This);
\r
2287 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2288 IDeckLinkMutableVideoFrame * This);
\r
2290 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2291 IDeckLinkMutableVideoFrame * This);
\r
2293 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2294 IDeckLinkMutableVideoFrame * This);
\r
2296 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2297 IDeckLinkMutableVideoFrame * This);
\r
2299 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2300 IDeckLinkMutableVideoFrame * This);
\r
2302 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2303 IDeckLinkMutableVideoFrame * This,
\r
2304 /* [out] */ void **buffer);
\r
2306 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
2307 IDeckLinkMutableVideoFrame * This,
\r
2308 BMDTimecodeFormat format,
\r
2309 /* [out] */ IDeckLinkTimecode **timecode);
\r
2311 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
2312 IDeckLinkMutableVideoFrame * This,
\r
2313 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
2315 HRESULT ( STDMETHODCALLTYPE *SetFlags )(
\r
2316 IDeckLinkMutableVideoFrame * This,
\r
2317 BMDFrameFlags newFlags);
\r
2319 HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
\r
2320 IDeckLinkMutableVideoFrame * This,
\r
2321 BMDTimecodeFormat format,
\r
2322 /* [in] */ IDeckLinkTimecode *timecode);
\r
2324 HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )(
\r
2325 IDeckLinkMutableVideoFrame * This,
\r
2326 BMDTimecodeFormat format,
\r
2327 unsigned char hours,
\r
2328 unsigned char minutes,
\r
2329 unsigned char seconds,
\r
2330 unsigned char frames,
\r
2331 BMDTimecodeFlags flags);
\r
2333 HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )(
\r
2334 IDeckLinkMutableVideoFrame * This,
\r
2335 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary);
\r
2338 } IDeckLinkMutableVideoFrameVtbl;
\r
2340 interface IDeckLinkMutableVideoFrame
\r
2342 CONST_VTBL struct IDeckLinkMutableVideoFrameVtbl *lpVtbl;
\r
2350 #define IDeckLinkMutableVideoFrame_QueryInterface(This,riid,ppvObject) \
\r
2351 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2353 #define IDeckLinkMutableVideoFrame_AddRef(This) \
\r
2354 ( (This)->lpVtbl -> AddRef(This) )
\r
2356 #define IDeckLinkMutableVideoFrame_Release(This) \
\r
2357 ( (This)->lpVtbl -> Release(This) )
\r
2360 #define IDeckLinkMutableVideoFrame_GetWidth(This) \
\r
2361 ( (This)->lpVtbl -> GetWidth(This) )
\r
2363 #define IDeckLinkMutableVideoFrame_GetHeight(This) \
\r
2364 ( (This)->lpVtbl -> GetHeight(This) )
\r
2366 #define IDeckLinkMutableVideoFrame_GetRowBytes(This) \
\r
2367 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
2369 #define IDeckLinkMutableVideoFrame_GetPixelFormat(This) \
\r
2370 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
2372 #define IDeckLinkMutableVideoFrame_GetFlags(This) \
\r
2373 ( (This)->lpVtbl -> GetFlags(This) )
\r
2375 #define IDeckLinkMutableVideoFrame_GetBytes(This,buffer) \
\r
2376 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
2378 #define IDeckLinkMutableVideoFrame_GetTimecode(This,format,timecode) \
\r
2379 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
2381 #define IDeckLinkMutableVideoFrame_GetAncillaryData(This,ancillary) \
\r
2382 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
2385 #define IDeckLinkMutableVideoFrame_SetFlags(This,newFlags) \
\r
2386 ( (This)->lpVtbl -> SetFlags(This,newFlags) )
\r
2388 #define IDeckLinkMutableVideoFrame_SetTimecode(This,format,timecode) \
\r
2389 ( (This)->lpVtbl -> SetTimecode(This,format,timecode) )
\r
2391 #define IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \
\r
2392 ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) )
\r
2394 #define IDeckLinkMutableVideoFrame_SetAncillaryData(This,ancillary) \
\r
2395 ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) )
\r
2397 #endif /* COBJMACROS */
\r
2400 #endif /* C style interface */
\r
2405 #endif /* __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ */
\r
2408 #ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
\r
2409 #define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
\r
2411 /* interface IDeckLinkVideoInputFrame */
\r
2412 /* [helpstring][local][uuid][object] */
\r
2415 EXTERN_C const IID IID_IDeckLinkVideoInputFrame;
\r
2417 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2419 MIDL_INTERFACE("9A74FA41-AE9F-47AC-8CF4-01F42DD59965")
\r
2420 IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame
\r
2423 virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
\r
2424 /* [out] */ BMDTimeValue *frameTime,
\r
2425 /* [out] */ BMDTimeValue *frameDuration,
\r
2426 BMDTimeScale timeScale) = 0;
\r
2428 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
\r
2429 BMDTimeScale timeScale,
\r
2430 /* [out] */ BMDTimeValue *frameTime,
\r
2431 /* [out] */ BMDTimeValue *frameDuration) = 0;
\r
2435 #else /* C style interface */
\r
2437 typedef struct IDeckLinkVideoInputFrameVtbl
\r
2441 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2442 IDeckLinkVideoInputFrame * This,
\r
2443 /* [in] */ REFIID riid,
\r
2444 /* [iid_is][out] */
\r
2445 __RPC__deref_out void **ppvObject);
\r
2447 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2448 IDeckLinkVideoInputFrame * This);
\r
2450 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2451 IDeckLinkVideoInputFrame * This);
\r
2453 long ( STDMETHODCALLTYPE *GetWidth )(
\r
2454 IDeckLinkVideoInputFrame * This);
\r
2456 long ( STDMETHODCALLTYPE *GetHeight )(
\r
2457 IDeckLinkVideoInputFrame * This);
\r
2459 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
2460 IDeckLinkVideoInputFrame * This);
\r
2462 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2463 IDeckLinkVideoInputFrame * This);
\r
2465 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
2466 IDeckLinkVideoInputFrame * This);
\r
2468 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2469 IDeckLinkVideoInputFrame * This,
\r
2470 /* [out] */ void **buffer);
\r
2472 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
2473 IDeckLinkVideoInputFrame * This,
\r
2474 BMDTimecodeFormat format,
\r
2475 /* [out] */ IDeckLinkTimecode **timecode);
\r
2477 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
2478 IDeckLinkVideoInputFrame * This,
\r
2479 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
2481 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
\r
2482 IDeckLinkVideoInputFrame * This,
\r
2483 /* [out] */ BMDTimeValue *frameTime,
\r
2484 /* [out] */ BMDTimeValue *frameDuration,
\r
2485 BMDTimeScale timeScale);
\r
2487 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )(
\r
2488 IDeckLinkVideoInputFrame * This,
\r
2489 BMDTimeScale timeScale,
\r
2490 /* [out] */ BMDTimeValue *frameTime,
\r
2491 /* [out] */ BMDTimeValue *frameDuration);
\r
2494 } IDeckLinkVideoInputFrameVtbl;
\r
2496 interface IDeckLinkVideoInputFrame
\r
2498 CONST_VTBL struct IDeckLinkVideoInputFrameVtbl *lpVtbl;
\r
2506 #define IDeckLinkVideoInputFrame_QueryInterface(This,riid,ppvObject) \
\r
2507 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2509 #define IDeckLinkVideoInputFrame_AddRef(This) \
\r
2510 ( (This)->lpVtbl -> AddRef(This) )
\r
2512 #define IDeckLinkVideoInputFrame_Release(This) \
\r
2513 ( (This)->lpVtbl -> Release(This) )
\r
2516 #define IDeckLinkVideoInputFrame_GetWidth(This) \
\r
2517 ( (This)->lpVtbl -> GetWidth(This) )
\r
2519 #define IDeckLinkVideoInputFrame_GetHeight(This) \
\r
2520 ( (This)->lpVtbl -> GetHeight(This) )
\r
2522 #define IDeckLinkVideoInputFrame_GetRowBytes(This) \
\r
2523 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
2525 #define IDeckLinkVideoInputFrame_GetPixelFormat(This) \
\r
2526 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
2528 #define IDeckLinkVideoInputFrame_GetFlags(This) \
\r
2529 ( (This)->lpVtbl -> GetFlags(This) )
\r
2531 #define IDeckLinkVideoInputFrame_GetBytes(This,buffer) \
\r
2532 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
2534 #define IDeckLinkVideoInputFrame_GetTimecode(This,format,timecode) \
\r
2535 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
2537 #define IDeckLinkVideoInputFrame_GetAncillaryData(This,ancillary) \
\r
2538 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
2541 #define IDeckLinkVideoInputFrame_GetStreamTime(This,frameTime,frameDuration,timeScale) \
\r
2542 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
\r
2544 #define IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \
\r
2545 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) )
\r
2547 #endif /* COBJMACROS */
\r
2550 #endif /* C style interface */
\r
2555 #endif /* __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ */
\r
2558 #ifndef __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__
\r
2559 #define __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__
\r
2561 /* interface IDeckLinkVideoFrameAncillary */
\r
2562 /* [helpstring][local][uuid][object] */
\r
2565 EXTERN_C const IID IID_IDeckLinkVideoFrameAncillary;
\r
2567 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2569 MIDL_INTERFACE("732E723C-D1A4-4E29-9E8E-4A88797A0004")
\r
2570 IDeckLinkVideoFrameAncillary : public IUnknown
\r
2573 virtual HRESULT STDMETHODCALLTYPE GetBufferForVerticalBlankingLine(
\r
2574 unsigned long lineNumber,
\r
2575 /* [out] */ void **buffer) = 0;
\r
2577 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
2579 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
2583 #else /* C style interface */
\r
2585 typedef struct IDeckLinkVideoFrameAncillaryVtbl
\r
2589 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2590 IDeckLinkVideoFrameAncillary * This,
\r
2591 /* [in] */ REFIID riid,
\r
2592 /* [iid_is][out] */
\r
2593 __RPC__deref_out void **ppvObject);
\r
2595 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2596 IDeckLinkVideoFrameAncillary * This);
\r
2598 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2599 IDeckLinkVideoFrameAncillary * This);
\r
2601 HRESULT ( STDMETHODCALLTYPE *GetBufferForVerticalBlankingLine )(
\r
2602 IDeckLinkVideoFrameAncillary * This,
\r
2603 unsigned long lineNumber,
\r
2604 /* [out] */ void **buffer);
\r
2606 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
2607 IDeckLinkVideoFrameAncillary * This);
\r
2609 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
2610 IDeckLinkVideoFrameAncillary * This);
\r
2613 } IDeckLinkVideoFrameAncillaryVtbl;
\r
2615 interface IDeckLinkVideoFrameAncillary
\r
2617 CONST_VTBL struct IDeckLinkVideoFrameAncillaryVtbl *lpVtbl;
\r
2625 #define IDeckLinkVideoFrameAncillary_QueryInterface(This,riid,ppvObject) \
\r
2626 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2628 #define IDeckLinkVideoFrameAncillary_AddRef(This) \
\r
2629 ( (This)->lpVtbl -> AddRef(This) )
\r
2631 #define IDeckLinkVideoFrameAncillary_Release(This) \
\r
2632 ( (This)->lpVtbl -> Release(This) )
\r
2635 #define IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(This,lineNumber,buffer) \
\r
2636 ( (This)->lpVtbl -> GetBufferForVerticalBlankingLine(This,lineNumber,buffer) )
\r
2638 #define IDeckLinkVideoFrameAncillary_GetPixelFormat(This) \
\r
2639 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
2641 #define IDeckLinkVideoFrameAncillary_GetDisplayMode(This) \
\r
2642 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
2644 #endif /* COBJMACROS */
\r
2647 #endif /* C style interface */
\r
2652 #endif /* __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ */
\r
2655 #ifndef __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__
\r
2656 #define __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__
\r
2658 /* interface IDeckLinkAudioInputPacket */
\r
2659 /* [helpstring][local][uuid][object] */
\r
2662 EXTERN_C const IID IID_IDeckLinkAudioInputPacket;
\r
2664 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2666 MIDL_INTERFACE("E43D5870-2894-11DE-8C30-0800200C9A66")
\r
2667 IDeckLinkAudioInputPacket : public IUnknown
\r
2670 virtual long STDMETHODCALLTYPE GetSampleFrameCount( void) = 0;
\r
2672 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
2673 /* [out] */ void **buffer) = 0;
\r
2675 virtual HRESULT STDMETHODCALLTYPE GetPacketTime(
\r
2676 /* [out] */ BMDTimeValue *packetTime,
\r
2677 BMDTimeScale timeScale) = 0;
\r
2681 #else /* C style interface */
\r
2683 typedef struct IDeckLinkAudioInputPacketVtbl
\r
2687 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2688 IDeckLinkAudioInputPacket * This,
\r
2689 /* [in] */ REFIID riid,
\r
2690 /* [iid_is][out] */
\r
2691 __RPC__deref_out void **ppvObject);
\r
2693 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2694 IDeckLinkAudioInputPacket * This);
\r
2696 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2697 IDeckLinkAudioInputPacket * This);
\r
2699 long ( STDMETHODCALLTYPE *GetSampleFrameCount )(
\r
2700 IDeckLinkAudioInputPacket * This);
\r
2702 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
2703 IDeckLinkAudioInputPacket * This,
\r
2704 /* [out] */ void **buffer);
\r
2706 HRESULT ( STDMETHODCALLTYPE *GetPacketTime )(
\r
2707 IDeckLinkAudioInputPacket * This,
\r
2708 /* [out] */ BMDTimeValue *packetTime,
\r
2709 BMDTimeScale timeScale);
\r
2712 } IDeckLinkAudioInputPacketVtbl;
\r
2714 interface IDeckLinkAudioInputPacket
\r
2716 CONST_VTBL struct IDeckLinkAudioInputPacketVtbl *lpVtbl;
\r
2724 #define IDeckLinkAudioInputPacket_QueryInterface(This,riid,ppvObject) \
\r
2725 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2727 #define IDeckLinkAudioInputPacket_AddRef(This) \
\r
2728 ( (This)->lpVtbl -> AddRef(This) )
\r
2730 #define IDeckLinkAudioInputPacket_Release(This) \
\r
2731 ( (This)->lpVtbl -> Release(This) )
\r
2734 #define IDeckLinkAudioInputPacket_GetSampleFrameCount(This) \
\r
2735 ( (This)->lpVtbl -> GetSampleFrameCount(This) )
\r
2737 #define IDeckLinkAudioInputPacket_GetBytes(This,buffer) \
\r
2738 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
2740 #define IDeckLinkAudioInputPacket_GetPacketTime(This,packetTime,timeScale) \
\r
2741 ( (This)->lpVtbl -> GetPacketTime(This,packetTime,timeScale) )
\r
2743 #endif /* COBJMACROS */
\r
2746 #endif /* C style interface */
\r
2751 #endif /* __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ */
\r
2754 #ifndef __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__
\r
2755 #define __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__
\r
2757 /* interface IDeckLinkScreenPreviewCallback */
\r
2758 /* [helpstring][local][uuid][object] */
\r
2761 EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback;
\r
2763 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2765 MIDL_INTERFACE("373F499D-4B4D-4518-AD22-6354E5A5825E")
\r
2766 IDeckLinkScreenPreviewCallback : public IUnknown
\r
2769 virtual HRESULT STDMETHODCALLTYPE DrawFrame(
\r
2770 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
2774 #else /* C style interface */
\r
2776 typedef struct IDeckLinkScreenPreviewCallbackVtbl
\r
2780 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2781 IDeckLinkScreenPreviewCallback * This,
\r
2782 /* [in] */ REFIID riid,
\r
2783 /* [iid_is][out] */
\r
2784 __RPC__deref_out void **ppvObject);
\r
2786 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2787 IDeckLinkScreenPreviewCallback * This);
\r
2789 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2790 IDeckLinkScreenPreviewCallback * This);
\r
2792 HRESULT ( STDMETHODCALLTYPE *DrawFrame )(
\r
2793 IDeckLinkScreenPreviewCallback * This,
\r
2794 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
2797 } IDeckLinkScreenPreviewCallbackVtbl;
\r
2799 interface IDeckLinkScreenPreviewCallback
\r
2801 CONST_VTBL struct IDeckLinkScreenPreviewCallbackVtbl *lpVtbl;
\r
2809 #define IDeckLinkScreenPreviewCallback_QueryInterface(This,riid,ppvObject) \
\r
2810 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2812 #define IDeckLinkScreenPreviewCallback_AddRef(This) \
\r
2813 ( (This)->lpVtbl -> AddRef(This) )
\r
2815 #define IDeckLinkScreenPreviewCallback_Release(This) \
\r
2816 ( (This)->lpVtbl -> Release(This) )
\r
2819 #define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) \
\r
2820 ( (This)->lpVtbl -> DrawFrame(This,theFrame) )
\r
2822 #endif /* COBJMACROS */
\r
2825 #endif /* C style interface */
\r
2830 #endif /* __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ */
\r
2833 #ifndef __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__
\r
2834 #define __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__
\r
2836 /* interface IDeckLinkGLScreenPreviewHelper */
\r
2837 /* [helpstring][local][uuid][object] */
\r
2840 EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper;
\r
2842 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2844 MIDL_INTERFACE("BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA")
\r
2845 IDeckLinkGLScreenPreviewHelper : public IUnknown
\r
2848 virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0;
\r
2850 virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0;
\r
2852 virtual HRESULT STDMETHODCALLTYPE SetFrame(
\r
2853 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
2857 #else /* C style interface */
\r
2859 typedef struct IDeckLinkGLScreenPreviewHelperVtbl
\r
2863 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
2864 IDeckLinkGLScreenPreviewHelper * This,
\r
2865 /* [in] */ REFIID riid,
\r
2866 /* [iid_is][out] */
\r
2867 __RPC__deref_out void **ppvObject);
\r
2869 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
2870 IDeckLinkGLScreenPreviewHelper * This);
\r
2872 ULONG ( STDMETHODCALLTYPE *Release )(
\r
2873 IDeckLinkGLScreenPreviewHelper * This);
\r
2875 HRESULT ( STDMETHODCALLTYPE *InitializeGL )(
\r
2876 IDeckLinkGLScreenPreviewHelper * This);
\r
2878 HRESULT ( STDMETHODCALLTYPE *PaintGL )(
\r
2879 IDeckLinkGLScreenPreviewHelper * This);
\r
2881 HRESULT ( STDMETHODCALLTYPE *SetFrame )(
\r
2882 IDeckLinkGLScreenPreviewHelper * This,
\r
2883 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
2886 } IDeckLinkGLScreenPreviewHelperVtbl;
\r
2888 interface IDeckLinkGLScreenPreviewHelper
\r
2890 CONST_VTBL struct IDeckLinkGLScreenPreviewHelperVtbl *lpVtbl;
\r
2898 #define IDeckLinkGLScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \
\r
2899 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
2901 #define IDeckLinkGLScreenPreviewHelper_AddRef(This) \
\r
2902 ( (This)->lpVtbl -> AddRef(This) )
\r
2904 #define IDeckLinkGLScreenPreviewHelper_Release(This) \
\r
2905 ( (This)->lpVtbl -> Release(This) )
\r
2908 #define IDeckLinkGLScreenPreviewHelper_InitializeGL(This) \
\r
2909 ( (This)->lpVtbl -> InitializeGL(This) )
\r
2911 #define IDeckLinkGLScreenPreviewHelper_PaintGL(This) \
\r
2912 ( (This)->lpVtbl -> PaintGL(This) )
\r
2914 #define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) \
\r
2915 ( (This)->lpVtbl -> SetFrame(This,theFrame) )
\r
2917 #endif /* COBJMACROS */
\r
2920 #endif /* C style interface */
\r
2925 #endif /* __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ */
\r
2928 #ifndef __IDeckLinkConfiguration_INTERFACE_DEFINED__
\r
2929 #define __IDeckLinkConfiguration_INTERFACE_DEFINED__
\r
2931 /* interface IDeckLinkConfiguration */
\r
2932 /* [helpstring][uuid][object] */
\r
2935 EXTERN_C const IID IID_IDeckLinkConfiguration;
\r
2937 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
2939 MIDL_INTERFACE("B8EAD569-B764-47F0-A73F-AE40DF6CBF10")
\r
2940 IDeckLinkConfiguration : public IUnknown
\r
2943 virtual HRESULT STDMETHODCALLTYPE GetConfigurationValidator(
\r
2944 /* [out] */ IDeckLinkConfiguration **configObject) = 0;
\r
2946 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;
\r
2948 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFormat(
\r
2949 BMDVideoConnection videoOutputConnection) = 0;
\r
2951 virtual HRESULT STDMETHODCALLTYPE IsVideoOutputActive(
\r
2952 BMDVideoConnection videoOutputConnection,
\r
2953 /* [out] */ BOOL *active) = 0;
\r
2955 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoOutputFlags(
\r
2956 BMDAnalogVideoFlags analogVideoFlags) = 0;
\r
2958 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoOutputFlags(
\r
2959 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
\r
2961 virtual HRESULT STDMETHODCALLTYPE EnableFieldFlickerRemovalWhenPaused(
\r
2964 virtual HRESULT STDMETHODCALLTYPE IsEnabledFieldFlickerRemovalWhenPaused(
\r
2965 /* [out] */ BOOL *enabled) = 0;
\r
2967 virtual HRESULT STDMETHODCALLTYPE Set444And3GBpsVideoOutput(
\r
2968 BOOL enable444VideoOutput,
\r
2969 BOOL enable3GbsOutput) = 0;
\r
2971 virtual HRESULT STDMETHODCALLTYPE Get444And3GBpsVideoOutput(
\r
2972 /* [out] */ BOOL *is444VideoOutputEnabled,
\r
2973 /* [out] */ BOOL *threeGbsOutputEnabled) = 0;
\r
2975 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputConversionMode(
\r
2976 BMDVideoOutputConversionMode conversionMode) = 0;
\r
2978 virtual HRESULT STDMETHODCALLTYPE GetVideoOutputConversionMode(
\r
2979 /* [out] */ BMDVideoOutputConversionMode *conversionMode) = 0;
\r
2981 virtual HRESULT STDMETHODCALLTYPE Set_HD1080p24_to_HD1080i5994_Conversion(
\r
2984 virtual HRESULT STDMETHODCALLTYPE Get_HD1080p24_to_HD1080i5994_Conversion(
\r
2985 /* [out] */ BOOL *enabled) = 0;
\r
2987 virtual HRESULT STDMETHODCALLTYPE SetVideoInputFormat(
\r
2988 BMDVideoConnection videoInputFormat) = 0;
\r
2990 virtual HRESULT STDMETHODCALLTYPE GetVideoInputFormat(
\r
2991 /* [out] */ BMDVideoConnection *videoInputFormat) = 0;
\r
2993 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoInputFlags(
\r
2994 BMDAnalogVideoFlags analogVideoFlags) = 0;
\r
2996 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoInputFlags(
\r
2997 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
\r
2999 virtual HRESULT STDMETHODCALLTYPE SetVideoInputConversionMode(
\r
3000 BMDVideoInputConversionMode conversionMode) = 0;
\r
3002 virtual HRESULT STDMETHODCALLTYPE GetVideoInputConversionMode(
\r
3003 /* [out] */ BMDVideoInputConversionMode *conversionMode) = 0;
\r
3005 virtual HRESULT STDMETHODCALLTYPE SetBlackVideoOutputDuringCapture(
\r
3006 BOOL blackOutInCapture) = 0;
\r
3008 virtual HRESULT STDMETHODCALLTYPE GetBlackVideoOutputDuringCapture(
\r
3009 /* [out] */ BOOL *blackOutInCapture) = 0;
\r
3011 virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame(
\r
3012 unsigned long aFrameTimecode) = 0;
\r
3014 virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame(
\r
3015 /* [out] */ unsigned long *aFrameTimecode) = 0;
\r
3017 virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping(
\r
3018 unsigned long activeLine1VANCsource,
\r
3019 unsigned long activeLine2VANCsource,
\r
3020 unsigned long activeLine3VANCsource) = 0;
\r
3022 virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping(
\r
3023 /* [out] */ unsigned long *activeLine1VANCsource,
\r
3024 /* [out] */ unsigned long *activeLine2VANCsource,
\r
3025 /* [out] */ unsigned long *activeLine3VANCsource) = 0;
\r
3027 virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat(
\r
3028 BMDAudioConnection audioInputFormat) = 0;
\r
3030 virtual HRESULT STDMETHODCALLTYPE GetAudioInputFormat(
\r
3031 /* [out] */ BMDAudioConnection *audioInputFormat) = 0;
\r
3035 #else /* C style interface */
\r
3037 typedef struct IDeckLinkConfigurationVtbl
\r
3041 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3042 IDeckLinkConfiguration * This,
\r
3043 /* [in] */ REFIID riid,
\r
3044 /* [iid_is][out] */
\r
3045 __RPC__deref_out void **ppvObject);
\r
3047 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3048 IDeckLinkConfiguration * This);
\r
3050 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3051 IDeckLinkConfiguration * This);
\r
3053 HRESULT ( STDMETHODCALLTYPE *GetConfigurationValidator )(
\r
3054 IDeckLinkConfiguration * This,
\r
3055 /* [out] */ IDeckLinkConfiguration **configObject);
\r
3057 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )(
\r
3058 IDeckLinkConfiguration * This);
\r
3060 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFormat )(
\r
3061 IDeckLinkConfiguration * This,
\r
3062 BMDVideoConnection videoOutputConnection);
\r
3064 HRESULT ( STDMETHODCALLTYPE *IsVideoOutputActive )(
\r
3065 IDeckLinkConfiguration * This,
\r
3066 BMDVideoConnection videoOutputConnection,
\r
3067 /* [out] */ BOOL *active);
\r
3069 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoOutputFlags )(
\r
3070 IDeckLinkConfiguration * This,
\r
3071 BMDAnalogVideoFlags analogVideoFlags);
\r
3073 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoOutputFlags )(
\r
3074 IDeckLinkConfiguration * This,
\r
3075 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
\r
3077 HRESULT ( STDMETHODCALLTYPE *EnableFieldFlickerRemovalWhenPaused )(
\r
3078 IDeckLinkConfiguration * This,
\r
3081 HRESULT ( STDMETHODCALLTYPE *IsEnabledFieldFlickerRemovalWhenPaused )(
\r
3082 IDeckLinkConfiguration * This,
\r
3083 /* [out] */ BOOL *enabled);
\r
3085 HRESULT ( STDMETHODCALLTYPE *Set444And3GBpsVideoOutput )(
\r
3086 IDeckLinkConfiguration * This,
\r
3087 BOOL enable444VideoOutput,
\r
3088 BOOL enable3GbsOutput);
\r
3090 HRESULT ( STDMETHODCALLTYPE *Get444And3GBpsVideoOutput )(
\r
3091 IDeckLinkConfiguration * This,
\r
3092 /* [out] */ BOOL *is444VideoOutputEnabled,
\r
3093 /* [out] */ BOOL *threeGbsOutputEnabled);
\r
3095 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputConversionMode )(
\r
3096 IDeckLinkConfiguration * This,
\r
3097 BMDVideoOutputConversionMode conversionMode);
\r
3099 HRESULT ( STDMETHODCALLTYPE *GetVideoOutputConversionMode )(
\r
3100 IDeckLinkConfiguration * This,
\r
3101 /* [out] */ BMDVideoOutputConversionMode *conversionMode);
\r
3103 HRESULT ( STDMETHODCALLTYPE *Set_HD1080p24_to_HD1080i5994_Conversion )(
\r
3104 IDeckLinkConfiguration * This,
\r
3107 HRESULT ( STDMETHODCALLTYPE *Get_HD1080p24_to_HD1080i5994_Conversion )(
\r
3108 IDeckLinkConfiguration * This,
\r
3109 /* [out] */ BOOL *enabled);
\r
3111 HRESULT ( STDMETHODCALLTYPE *SetVideoInputFormat )(
\r
3112 IDeckLinkConfiguration * This,
\r
3113 BMDVideoConnection videoInputFormat);
\r
3115 HRESULT ( STDMETHODCALLTYPE *GetVideoInputFormat )(
\r
3116 IDeckLinkConfiguration * This,
\r
3117 /* [out] */ BMDVideoConnection *videoInputFormat);
\r
3119 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoInputFlags )(
\r
3120 IDeckLinkConfiguration * This,
\r
3121 BMDAnalogVideoFlags analogVideoFlags);
\r
3123 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoInputFlags )(
\r
3124 IDeckLinkConfiguration * This,
\r
3125 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
\r
3127 HRESULT ( STDMETHODCALLTYPE *SetVideoInputConversionMode )(
\r
3128 IDeckLinkConfiguration * This,
\r
3129 BMDVideoInputConversionMode conversionMode);
\r
3131 HRESULT ( STDMETHODCALLTYPE *GetVideoInputConversionMode )(
\r
3132 IDeckLinkConfiguration * This,
\r
3133 /* [out] */ BMDVideoInputConversionMode *conversionMode);
\r
3135 HRESULT ( STDMETHODCALLTYPE *SetBlackVideoOutputDuringCapture )(
\r
3136 IDeckLinkConfiguration * This,
\r
3137 BOOL blackOutInCapture);
\r
3139 HRESULT ( STDMETHODCALLTYPE *GetBlackVideoOutputDuringCapture )(
\r
3140 IDeckLinkConfiguration * This,
\r
3141 /* [out] */ BOOL *blackOutInCapture);
\r
3143 HRESULT ( STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame )(
\r
3144 IDeckLinkConfiguration * This,
\r
3145 unsigned long aFrameTimecode);
\r
3147 HRESULT ( STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame )(
\r
3148 IDeckLinkConfiguration * This,
\r
3149 /* [out] */ unsigned long *aFrameTimecode);
\r
3151 HRESULT ( STDMETHODCALLTYPE *SetVancSourceLineMapping )(
\r
3152 IDeckLinkConfiguration * This,
\r
3153 unsigned long activeLine1VANCsource,
\r
3154 unsigned long activeLine2VANCsource,
\r
3155 unsigned long activeLine3VANCsource);
\r
3157 HRESULT ( STDMETHODCALLTYPE *GetVancSourceLineMapping )(
\r
3158 IDeckLinkConfiguration * This,
\r
3159 /* [out] */ unsigned long *activeLine1VANCsource,
\r
3160 /* [out] */ unsigned long *activeLine2VANCsource,
\r
3161 /* [out] */ unsigned long *activeLine3VANCsource);
\r
3163 HRESULT ( STDMETHODCALLTYPE *SetAudioInputFormat )(
\r
3164 IDeckLinkConfiguration * This,
\r
3165 BMDAudioConnection audioInputFormat);
\r
3167 HRESULT ( STDMETHODCALLTYPE *GetAudioInputFormat )(
\r
3168 IDeckLinkConfiguration * This,
\r
3169 /* [out] */ BMDAudioConnection *audioInputFormat);
\r
3172 } IDeckLinkConfigurationVtbl;
\r
3174 interface IDeckLinkConfiguration
\r
3176 CONST_VTBL struct IDeckLinkConfigurationVtbl *lpVtbl;
\r
3184 #define IDeckLinkConfiguration_QueryInterface(This,riid,ppvObject) \
\r
3185 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3187 #define IDeckLinkConfiguration_AddRef(This) \
\r
3188 ( (This)->lpVtbl -> AddRef(This) )
\r
3190 #define IDeckLinkConfiguration_Release(This) \
\r
3191 ( (This)->lpVtbl -> Release(This) )
\r
3194 #define IDeckLinkConfiguration_GetConfigurationValidator(This,configObject) \
\r
3195 ( (This)->lpVtbl -> GetConfigurationValidator(This,configObject) )
\r
3197 #define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) \
\r
3198 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) )
\r
3200 #define IDeckLinkConfiguration_SetVideoOutputFormat(This,videoOutputConnection) \
\r
3201 ( (This)->lpVtbl -> SetVideoOutputFormat(This,videoOutputConnection) )
\r
3203 #define IDeckLinkConfiguration_IsVideoOutputActive(This,videoOutputConnection,active) \
\r
3204 ( (This)->lpVtbl -> IsVideoOutputActive(This,videoOutputConnection,active) )
\r
3206 #define IDeckLinkConfiguration_SetAnalogVideoOutputFlags(This,analogVideoFlags) \
\r
3207 ( (This)->lpVtbl -> SetAnalogVideoOutputFlags(This,analogVideoFlags) )
\r
3209 #define IDeckLinkConfiguration_GetAnalogVideoOutputFlags(This,analogVideoFlags) \
\r
3210 ( (This)->lpVtbl -> GetAnalogVideoOutputFlags(This,analogVideoFlags) )
\r
3212 #define IDeckLinkConfiguration_EnableFieldFlickerRemovalWhenPaused(This,enable) \
\r
3213 ( (This)->lpVtbl -> EnableFieldFlickerRemovalWhenPaused(This,enable) )
\r
3215 #define IDeckLinkConfiguration_IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) \
\r
3216 ( (This)->lpVtbl -> IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) )
\r
3218 #define IDeckLinkConfiguration_Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) \
\r
3219 ( (This)->lpVtbl -> Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) )
\r
3221 #define IDeckLinkConfiguration_Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) \
\r
3222 ( (This)->lpVtbl -> Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) )
\r
3224 #define IDeckLinkConfiguration_SetVideoOutputConversionMode(This,conversionMode) \
\r
3225 ( (This)->lpVtbl -> SetVideoOutputConversionMode(This,conversionMode) )
\r
3227 #define IDeckLinkConfiguration_GetVideoOutputConversionMode(This,conversionMode) \
\r
3228 ( (This)->lpVtbl -> GetVideoOutputConversionMode(This,conversionMode) )
\r
3230 #define IDeckLinkConfiguration_Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) \
\r
3231 ( (This)->lpVtbl -> Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) )
\r
3233 #define IDeckLinkConfiguration_Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) \
\r
3234 ( (This)->lpVtbl -> Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) )
\r
3236 #define IDeckLinkConfiguration_SetVideoInputFormat(This,videoInputFormat) \
\r
3237 ( (This)->lpVtbl -> SetVideoInputFormat(This,videoInputFormat) )
\r
3239 #define IDeckLinkConfiguration_GetVideoInputFormat(This,videoInputFormat) \
\r
3240 ( (This)->lpVtbl -> GetVideoInputFormat(This,videoInputFormat) )
\r
3242 #define IDeckLinkConfiguration_SetAnalogVideoInputFlags(This,analogVideoFlags) \
\r
3243 ( (This)->lpVtbl -> SetAnalogVideoInputFlags(This,analogVideoFlags) )
\r
3245 #define IDeckLinkConfiguration_GetAnalogVideoInputFlags(This,analogVideoFlags) \
\r
3246 ( (This)->lpVtbl -> GetAnalogVideoInputFlags(This,analogVideoFlags) )
\r
3248 #define IDeckLinkConfiguration_SetVideoInputConversionMode(This,conversionMode) \
\r
3249 ( (This)->lpVtbl -> SetVideoInputConversionMode(This,conversionMode) )
\r
3251 #define IDeckLinkConfiguration_GetVideoInputConversionMode(This,conversionMode) \
\r
3252 ( (This)->lpVtbl -> GetVideoInputConversionMode(This,conversionMode) )
\r
3254 #define IDeckLinkConfiguration_SetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
\r
3255 ( (This)->lpVtbl -> SetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
\r
3257 #define IDeckLinkConfiguration_GetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
\r
3258 ( (This)->lpVtbl -> GetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
\r
3260 #define IDeckLinkConfiguration_Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
\r
3261 ( (This)->lpVtbl -> Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
\r
3263 #define IDeckLinkConfiguration_Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
\r
3264 ( (This)->lpVtbl -> Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
\r
3266 #define IDeckLinkConfiguration_SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
\r
3267 ( (This)->lpVtbl -> SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
\r
3269 #define IDeckLinkConfiguration_GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
\r
3270 ( (This)->lpVtbl -> GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
\r
3272 #define IDeckLinkConfiguration_SetAudioInputFormat(This,audioInputFormat) \
\r
3273 ( (This)->lpVtbl -> SetAudioInputFormat(This,audioInputFormat) )
\r
3275 #define IDeckLinkConfiguration_GetAudioInputFormat(This,audioInputFormat) \
\r
3276 ( (This)->lpVtbl -> GetAudioInputFormat(This,audioInputFormat) )
\r
3278 #endif /* COBJMACROS */
\r
3281 #endif /* C style interface */
\r
3286 #endif /* __IDeckLinkConfiguration_INTERFACE_DEFINED__ */
\r
3289 #ifndef __IDeckLinkAttributes_INTERFACE_DEFINED__
\r
3290 #define __IDeckLinkAttributes_INTERFACE_DEFINED__
\r
3292 /* interface IDeckLinkAttributes */
\r
3293 /* [helpstring][local][uuid][object] */
\r
3296 EXTERN_C const IID IID_IDeckLinkAttributes;
\r
3298 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3300 MIDL_INTERFACE("ABC11843-D966-44CB-96E2-A1CB5D3135C4")
\r
3301 IDeckLinkAttributes : public IUnknown
\r
3304 virtual HRESULT STDMETHODCALLTYPE GetFlag(
\r
3305 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3306 /* [out] */ BOOL *value) = 0;
\r
3308 virtual HRESULT STDMETHODCALLTYPE GetInt(
\r
3309 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3310 /* [out] */ LONGLONG *value) = 0;
\r
3312 virtual HRESULT STDMETHODCALLTYPE GetFloat(
\r
3313 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3314 /* [out] */ double *value) = 0;
\r
3316 virtual HRESULT STDMETHODCALLTYPE GetString(
\r
3317 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3318 /* [out] */ BSTR *value) = 0;
\r
3322 #else /* C style interface */
\r
3324 typedef struct IDeckLinkAttributesVtbl
\r
3328 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3329 IDeckLinkAttributes * This,
\r
3330 /* [in] */ REFIID riid,
\r
3331 /* [iid_is][out] */
\r
3332 __RPC__deref_out void **ppvObject);
\r
3334 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3335 IDeckLinkAttributes * This);
\r
3337 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3338 IDeckLinkAttributes * This);
\r
3340 HRESULT ( STDMETHODCALLTYPE *GetFlag )(
\r
3341 IDeckLinkAttributes * This,
\r
3342 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3343 /* [out] */ BOOL *value);
\r
3345 HRESULT ( STDMETHODCALLTYPE *GetInt )(
\r
3346 IDeckLinkAttributes * This,
\r
3347 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3348 /* [out] */ LONGLONG *value);
\r
3350 HRESULT ( STDMETHODCALLTYPE *GetFloat )(
\r
3351 IDeckLinkAttributes * This,
\r
3352 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3353 /* [out] */ double *value);
\r
3355 HRESULT ( STDMETHODCALLTYPE *GetString )(
\r
3356 IDeckLinkAttributes * This,
\r
3357 /* [in] */ BMDDeckLinkAttributeID cfgID,
\r
3358 /* [out] */ BSTR *value);
\r
3361 } IDeckLinkAttributesVtbl;
\r
3363 interface IDeckLinkAttributes
\r
3365 CONST_VTBL struct IDeckLinkAttributesVtbl *lpVtbl;
\r
3373 #define IDeckLinkAttributes_QueryInterface(This,riid,ppvObject) \
\r
3374 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3376 #define IDeckLinkAttributes_AddRef(This) \
\r
3377 ( (This)->lpVtbl -> AddRef(This) )
\r
3379 #define IDeckLinkAttributes_Release(This) \
\r
3380 ( (This)->lpVtbl -> Release(This) )
\r
3383 #define IDeckLinkAttributes_GetFlag(This,cfgID,value) \
\r
3384 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
\r
3386 #define IDeckLinkAttributes_GetInt(This,cfgID,value) \
\r
3387 ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
\r
3389 #define IDeckLinkAttributes_GetFloat(This,cfgID,value) \
\r
3390 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
\r
3392 #define IDeckLinkAttributes_GetString(This,cfgID,value) \
\r
3393 ( (This)->lpVtbl -> GetString(This,cfgID,value) )
\r
3395 #endif /* COBJMACROS */
\r
3398 #endif /* C style interface */
\r
3403 #endif /* __IDeckLinkAttributes_INTERFACE_DEFINED__ */
\r
3406 #ifndef __IDeckLinkKeyer_INTERFACE_DEFINED__
\r
3407 #define __IDeckLinkKeyer_INTERFACE_DEFINED__
\r
3409 /* interface IDeckLinkKeyer */
\r
3410 /* [helpstring][local][uuid][object] */
\r
3413 EXTERN_C const IID IID_IDeckLinkKeyer;
\r
3415 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3417 MIDL_INTERFACE("89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3")
\r
3418 IDeckLinkKeyer : public IUnknown
\r
3421 virtual HRESULT STDMETHODCALLTYPE Enable(
\r
3422 /* [in] */ BOOL isExternal) = 0;
\r
3424 virtual HRESULT STDMETHODCALLTYPE SetLevel(
\r
3425 /* [in] */ unsigned char level) = 0;
\r
3427 virtual HRESULT STDMETHODCALLTYPE RampUp(
\r
3428 /* [in] */ unsigned long numberOfFrames) = 0;
\r
3430 virtual HRESULT STDMETHODCALLTYPE RampDown(
\r
3431 /* [in] */ unsigned long numberOfFrames) = 0;
\r
3433 virtual HRESULT STDMETHODCALLTYPE Disable( void) = 0;
\r
3437 #else /* C style interface */
\r
3439 typedef struct IDeckLinkKeyerVtbl
\r
3443 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3444 IDeckLinkKeyer * This,
\r
3445 /* [in] */ REFIID riid,
\r
3446 /* [iid_is][out] */
\r
3447 __RPC__deref_out void **ppvObject);
\r
3449 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3450 IDeckLinkKeyer * This);
\r
3452 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3453 IDeckLinkKeyer * This);
\r
3455 HRESULT ( STDMETHODCALLTYPE *Enable )(
\r
3456 IDeckLinkKeyer * This,
\r
3457 /* [in] */ BOOL isExternal);
\r
3459 HRESULT ( STDMETHODCALLTYPE *SetLevel )(
\r
3460 IDeckLinkKeyer * This,
\r
3461 /* [in] */ unsigned char level);
\r
3463 HRESULT ( STDMETHODCALLTYPE *RampUp )(
\r
3464 IDeckLinkKeyer * This,
\r
3465 /* [in] */ unsigned long numberOfFrames);
\r
3467 HRESULT ( STDMETHODCALLTYPE *RampDown )(
\r
3468 IDeckLinkKeyer * This,
\r
3469 /* [in] */ unsigned long numberOfFrames);
\r
3471 HRESULT ( STDMETHODCALLTYPE *Disable )(
\r
3472 IDeckLinkKeyer * This);
\r
3475 } IDeckLinkKeyerVtbl;
\r
3477 interface IDeckLinkKeyer
\r
3479 CONST_VTBL struct IDeckLinkKeyerVtbl *lpVtbl;
\r
3487 #define IDeckLinkKeyer_QueryInterface(This,riid,ppvObject) \
\r
3488 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3490 #define IDeckLinkKeyer_AddRef(This) \
\r
3491 ( (This)->lpVtbl -> AddRef(This) )
\r
3493 #define IDeckLinkKeyer_Release(This) \
\r
3494 ( (This)->lpVtbl -> Release(This) )
\r
3497 #define IDeckLinkKeyer_Enable(This,isExternal) \
\r
3498 ( (This)->lpVtbl -> Enable(This,isExternal) )
\r
3500 #define IDeckLinkKeyer_SetLevel(This,level) \
\r
3501 ( (This)->lpVtbl -> SetLevel(This,level) )
\r
3503 #define IDeckLinkKeyer_RampUp(This,numberOfFrames) \
\r
3504 ( (This)->lpVtbl -> RampUp(This,numberOfFrames) )
\r
3506 #define IDeckLinkKeyer_RampDown(This,numberOfFrames) \
\r
3507 ( (This)->lpVtbl -> RampDown(This,numberOfFrames) )
\r
3509 #define IDeckLinkKeyer_Disable(This) \
\r
3510 ( (This)->lpVtbl -> Disable(This) )
\r
3512 #endif /* COBJMACROS */
\r
3515 #endif /* C style interface */
\r
3520 #endif /* __IDeckLinkKeyer_INTERFACE_DEFINED__ */
\r
3523 EXTERN_C const CLSID CLSID_CDeckLinkIterator;
\r
3525 #ifdef __cplusplus
\r
3527 class DECLSPEC_UUID("D9EDA3B3-2887-41FA-B724-017CF1EB1D37")
\r
3528 CDeckLinkIterator;
\r
3531 EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper;
\r
3533 #ifdef __cplusplus
\r
3535 class DECLSPEC_UUID("D398CEE7-4434-4CA3-9BA6-5AE34556B905")
\r
3536 CDeckLinkGLScreenPreviewHelper;
\r
3539 #ifndef __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
\r
3540 #define __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
\r
3542 /* interface IDeckLinkDisplayModeIterator_v7_1 */
\r
3543 /* [helpstring][uuid][object] */
\r
3546 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_1;
\r
3548 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3550 MIDL_INTERFACE("B28131B6-59AC-4857-B5AC-CD75D5883E2F")
\r
3551 IDeckLinkDisplayModeIterator_v7_1 : public IUnknown
\r
3554 virtual HRESULT STDMETHODCALLTYPE Next(
\r
3555 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) = 0;
\r
3559 #else /* C style interface */
\r
3561 typedef struct IDeckLinkDisplayModeIterator_v7_1Vtbl
\r
3565 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3566 IDeckLinkDisplayModeIterator_v7_1 * This,
\r
3567 /* [in] */ REFIID riid,
\r
3568 /* [iid_is][out] */
\r
3569 __RPC__deref_out void **ppvObject);
\r
3571 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3572 IDeckLinkDisplayModeIterator_v7_1 * This);
\r
3574 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3575 IDeckLinkDisplayModeIterator_v7_1 * This);
\r
3577 HRESULT ( STDMETHODCALLTYPE *Next )(
\r
3578 IDeckLinkDisplayModeIterator_v7_1 * This,
\r
3579 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode);
\r
3582 } IDeckLinkDisplayModeIterator_v7_1Vtbl;
\r
3584 interface IDeckLinkDisplayModeIterator_v7_1
\r
3586 CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_1Vtbl *lpVtbl;
\r
3594 #define IDeckLinkDisplayModeIterator_v7_1_QueryInterface(This,riid,ppvObject) \
\r
3595 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3597 #define IDeckLinkDisplayModeIterator_v7_1_AddRef(This) \
\r
3598 ( (This)->lpVtbl -> AddRef(This) )
\r
3600 #define IDeckLinkDisplayModeIterator_v7_1_Release(This) \
\r
3601 ( (This)->lpVtbl -> Release(This) )
\r
3604 #define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) \
\r
3605 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
\r
3607 #endif /* COBJMACROS */
\r
3610 #endif /* C style interface */
\r
3615 #endif /* __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ */
\r
3618 #ifndef __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
\r
3619 #define __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
\r
3621 /* interface IDeckLinkDisplayMode_v7_1 */
\r
3622 /* [helpstring][uuid][object] */
\r
3625 EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_1;
\r
3627 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3629 MIDL_INTERFACE("AF0CD6D5-8376-435E-8433-54F9DD530AC3")
\r
3630 IDeckLinkDisplayMode_v7_1 : public IUnknown
\r
3633 virtual HRESULT STDMETHODCALLTYPE GetName(
\r
3634 /* [out] */ BSTR *name) = 0;
\r
3636 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
\r
3638 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
3640 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
3642 virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
\r
3643 /* [out] */ BMDTimeValue *frameDuration,
\r
3644 /* [out] */ BMDTimeScale *timeScale) = 0;
\r
3648 #else /* C style interface */
\r
3650 typedef struct IDeckLinkDisplayMode_v7_1Vtbl
\r
3654 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3655 IDeckLinkDisplayMode_v7_1 * This,
\r
3656 /* [in] */ REFIID riid,
\r
3657 /* [iid_is][out] */
\r
3658 __RPC__deref_out void **ppvObject);
\r
3660 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3661 IDeckLinkDisplayMode_v7_1 * This);
\r
3663 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3664 IDeckLinkDisplayMode_v7_1 * This);
\r
3666 HRESULT ( STDMETHODCALLTYPE *GetName )(
\r
3667 IDeckLinkDisplayMode_v7_1 * This,
\r
3668 /* [out] */ BSTR *name);
\r
3670 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
\r
3671 IDeckLinkDisplayMode_v7_1 * This);
\r
3673 long ( STDMETHODCALLTYPE *GetWidth )(
\r
3674 IDeckLinkDisplayMode_v7_1 * This);
\r
3676 long ( STDMETHODCALLTYPE *GetHeight )(
\r
3677 IDeckLinkDisplayMode_v7_1 * This);
\r
3679 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
\r
3680 IDeckLinkDisplayMode_v7_1 * This,
\r
3681 /* [out] */ BMDTimeValue *frameDuration,
\r
3682 /* [out] */ BMDTimeScale *timeScale);
\r
3685 } IDeckLinkDisplayMode_v7_1Vtbl;
\r
3687 interface IDeckLinkDisplayMode_v7_1
\r
3689 CONST_VTBL struct IDeckLinkDisplayMode_v7_1Vtbl *lpVtbl;
\r
3697 #define IDeckLinkDisplayMode_v7_1_QueryInterface(This,riid,ppvObject) \
\r
3698 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3700 #define IDeckLinkDisplayMode_v7_1_AddRef(This) \
\r
3701 ( (This)->lpVtbl -> AddRef(This) )
\r
3703 #define IDeckLinkDisplayMode_v7_1_Release(This) \
\r
3704 ( (This)->lpVtbl -> Release(This) )
\r
3707 #define IDeckLinkDisplayMode_v7_1_GetName(This,name) \
\r
3708 ( (This)->lpVtbl -> GetName(This,name) )
\r
3710 #define IDeckLinkDisplayMode_v7_1_GetDisplayMode(This) \
\r
3711 ( (This)->lpVtbl -> GetDisplayMode(This) )
\r
3713 #define IDeckLinkDisplayMode_v7_1_GetWidth(This) \
\r
3714 ( (This)->lpVtbl -> GetWidth(This) )
\r
3716 #define IDeckLinkDisplayMode_v7_1_GetHeight(This) \
\r
3717 ( (This)->lpVtbl -> GetHeight(This) )
\r
3719 #define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) \
\r
3720 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
\r
3722 #endif /* COBJMACROS */
\r
3725 #endif /* C style interface */
\r
3730 #endif /* __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ */
\r
3733 #ifndef __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
\r
3734 #define __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
\r
3736 /* interface IDeckLinkVideoFrame_v7_1 */
\r
3737 /* [helpstring][local][uuid][object] */
\r
3740 EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_1;
\r
3742 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3744 MIDL_INTERFACE("333F3A10-8C2D-43CF-B79D-46560FEEA1CE")
\r
3745 IDeckLinkVideoFrame_v7_1 : public IUnknown
\r
3748 virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
\r
3750 virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
\r
3752 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
\r
3754 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
\r
3756 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
\r
3758 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
3759 void **buffer) = 0;
\r
3763 #else /* C style interface */
\r
3765 typedef struct IDeckLinkVideoFrame_v7_1Vtbl
\r
3769 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3770 IDeckLinkVideoFrame_v7_1 * This,
\r
3771 /* [in] */ REFIID riid,
\r
3772 /* [iid_is][out] */
\r
3773 __RPC__deref_out void **ppvObject);
\r
3775 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3776 IDeckLinkVideoFrame_v7_1 * This);
\r
3778 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3779 IDeckLinkVideoFrame_v7_1 * This);
\r
3781 long ( STDMETHODCALLTYPE *GetWidth )(
\r
3782 IDeckLinkVideoFrame_v7_1 * This);
\r
3784 long ( STDMETHODCALLTYPE *GetHeight )(
\r
3785 IDeckLinkVideoFrame_v7_1 * This);
\r
3787 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
3788 IDeckLinkVideoFrame_v7_1 * This);
\r
3790 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
3791 IDeckLinkVideoFrame_v7_1 * This);
\r
3793 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
3794 IDeckLinkVideoFrame_v7_1 * This);
\r
3796 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
3797 IDeckLinkVideoFrame_v7_1 * This,
\r
3801 } IDeckLinkVideoFrame_v7_1Vtbl;
\r
3803 interface IDeckLinkVideoFrame_v7_1
\r
3805 CONST_VTBL struct IDeckLinkVideoFrame_v7_1Vtbl *lpVtbl;
\r
3813 #define IDeckLinkVideoFrame_v7_1_QueryInterface(This,riid,ppvObject) \
\r
3814 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3816 #define IDeckLinkVideoFrame_v7_1_AddRef(This) \
\r
3817 ( (This)->lpVtbl -> AddRef(This) )
\r
3819 #define IDeckLinkVideoFrame_v7_1_Release(This) \
\r
3820 ( (This)->lpVtbl -> Release(This) )
\r
3823 #define IDeckLinkVideoFrame_v7_1_GetWidth(This) \
\r
3824 ( (This)->lpVtbl -> GetWidth(This) )
\r
3826 #define IDeckLinkVideoFrame_v7_1_GetHeight(This) \
\r
3827 ( (This)->lpVtbl -> GetHeight(This) )
\r
3829 #define IDeckLinkVideoFrame_v7_1_GetRowBytes(This) \
\r
3830 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
3832 #define IDeckLinkVideoFrame_v7_1_GetPixelFormat(This) \
\r
3833 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
3835 #define IDeckLinkVideoFrame_v7_1_GetFlags(This) \
\r
3836 ( (This)->lpVtbl -> GetFlags(This) )
\r
3838 #define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) \
\r
3839 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
3841 #endif /* COBJMACROS */
\r
3844 #endif /* C style interface */
\r
3849 #endif /* __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ */
\r
3852 #ifndef __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
\r
3853 #define __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
\r
3855 /* interface IDeckLinkVideoInputFrame_v7_1 */
\r
3856 /* [helpstring][local][uuid][object] */
\r
3859 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_1;
\r
3861 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3863 MIDL_INTERFACE("C8B41D95-8848-40EE-9B37-6E3417FB114B")
\r
3864 IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1
\r
3867 virtual HRESULT STDMETHODCALLTYPE GetFrameTime(
\r
3868 BMDTimeValue *frameTime,
\r
3869 BMDTimeValue *frameDuration,
\r
3870 BMDTimeScale timeScale) = 0;
\r
3874 #else /* C style interface */
\r
3876 typedef struct IDeckLinkVideoInputFrame_v7_1Vtbl
\r
3880 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
3881 IDeckLinkVideoInputFrame_v7_1 * This,
\r
3882 /* [in] */ REFIID riid,
\r
3883 /* [iid_is][out] */
\r
3884 __RPC__deref_out void **ppvObject);
\r
3886 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
3887 IDeckLinkVideoInputFrame_v7_1 * This);
\r
3889 ULONG ( STDMETHODCALLTYPE *Release )(
\r
3890 IDeckLinkVideoInputFrame_v7_1 * This);
\r
3892 long ( STDMETHODCALLTYPE *GetWidth )(
\r
3893 IDeckLinkVideoInputFrame_v7_1 * This);
\r
3895 long ( STDMETHODCALLTYPE *GetHeight )(
\r
3896 IDeckLinkVideoInputFrame_v7_1 * This);
\r
3898 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
3899 IDeckLinkVideoInputFrame_v7_1 * This);
\r
3901 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
3902 IDeckLinkVideoInputFrame_v7_1 * This);
\r
3904 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
3905 IDeckLinkVideoInputFrame_v7_1 * This);
\r
3907 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
3908 IDeckLinkVideoInputFrame_v7_1 * This,
\r
3911 HRESULT ( STDMETHODCALLTYPE *GetFrameTime )(
\r
3912 IDeckLinkVideoInputFrame_v7_1 * This,
\r
3913 BMDTimeValue *frameTime,
\r
3914 BMDTimeValue *frameDuration,
\r
3915 BMDTimeScale timeScale);
\r
3918 } IDeckLinkVideoInputFrame_v7_1Vtbl;
\r
3920 interface IDeckLinkVideoInputFrame_v7_1
\r
3922 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_1Vtbl *lpVtbl;
\r
3930 #define IDeckLinkVideoInputFrame_v7_1_QueryInterface(This,riid,ppvObject) \
\r
3931 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
3933 #define IDeckLinkVideoInputFrame_v7_1_AddRef(This) \
\r
3934 ( (This)->lpVtbl -> AddRef(This) )
\r
3936 #define IDeckLinkVideoInputFrame_v7_1_Release(This) \
\r
3937 ( (This)->lpVtbl -> Release(This) )
\r
3940 #define IDeckLinkVideoInputFrame_v7_1_GetWidth(This) \
\r
3941 ( (This)->lpVtbl -> GetWidth(This) )
\r
3943 #define IDeckLinkVideoInputFrame_v7_1_GetHeight(This) \
\r
3944 ( (This)->lpVtbl -> GetHeight(This) )
\r
3946 #define IDeckLinkVideoInputFrame_v7_1_GetRowBytes(This) \
\r
3947 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
3949 #define IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(This) \
\r
3950 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
3952 #define IDeckLinkVideoInputFrame_v7_1_GetFlags(This) \
\r
3953 ( (This)->lpVtbl -> GetFlags(This) )
\r
3955 #define IDeckLinkVideoInputFrame_v7_1_GetBytes(This,buffer) \
\r
3956 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
3959 #define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) \
\r
3960 ( (This)->lpVtbl -> GetFrameTime(This,frameTime,frameDuration,timeScale) )
\r
3962 #endif /* COBJMACROS */
\r
3965 #endif /* C style interface */
\r
3970 #endif /* __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ */
\r
3973 #ifndef __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
\r
3974 #define __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
\r
3976 /* interface IDeckLinkAudioInputPacket_v7_1 */
\r
3977 /* [helpstring][local][uuid][object] */
\r
3980 EXTERN_C const IID IID_IDeckLinkAudioInputPacket_v7_1;
\r
3982 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
3984 MIDL_INTERFACE("C86DE4F6-A29F-42E3-AB3A-1363E29F0788")
\r
3985 IDeckLinkAudioInputPacket_v7_1 : public IUnknown
\r
3988 virtual long STDMETHODCALLTYPE GetSampleCount( void) = 0;
\r
3990 virtual HRESULT STDMETHODCALLTYPE GetBytes(
\r
3991 void **buffer) = 0;
\r
3993 virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime(
\r
3994 BMDTimeValue *packetTime,
\r
3995 BMDTimeScale timeScale) = 0;
\r
3999 #else /* C style interface */
\r
4001 typedef struct IDeckLinkAudioInputPacket_v7_1Vtbl
\r
4005 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4006 IDeckLinkAudioInputPacket_v7_1 * This,
\r
4007 /* [in] */ REFIID riid,
\r
4008 /* [iid_is][out] */
\r
4009 __RPC__deref_out void **ppvObject);
\r
4011 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4012 IDeckLinkAudioInputPacket_v7_1 * This);
\r
4014 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4015 IDeckLinkAudioInputPacket_v7_1 * This);
\r
4017 long ( STDMETHODCALLTYPE *GetSampleCount )(
\r
4018 IDeckLinkAudioInputPacket_v7_1 * This);
\r
4020 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
4021 IDeckLinkAudioInputPacket_v7_1 * This,
\r
4024 HRESULT ( STDMETHODCALLTYPE *GetAudioPacketTime )(
\r
4025 IDeckLinkAudioInputPacket_v7_1 * This,
\r
4026 BMDTimeValue *packetTime,
\r
4027 BMDTimeScale timeScale);
\r
4030 } IDeckLinkAudioInputPacket_v7_1Vtbl;
\r
4032 interface IDeckLinkAudioInputPacket_v7_1
\r
4034 CONST_VTBL struct IDeckLinkAudioInputPacket_v7_1Vtbl *lpVtbl;
\r
4042 #define IDeckLinkAudioInputPacket_v7_1_QueryInterface(This,riid,ppvObject) \
\r
4043 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4045 #define IDeckLinkAudioInputPacket_v7_1_AddRef(This) \
\r
4046 ( (This)->lpVtbl -> AddRef(This) )
\r
4048 #define IDeckLinkAudioInputPacket_v7_1_Release(This) \
\r
4049 ( (This)->lpVtbl -> Release(This) )
\r
4052 #define IDeckLinkAudioInputPacket_v7_1_GetSampleCount(This) \
\r
4053 ( (This)->lpVtbl -> GetSampleCount(This) )
\r
4055 #define IDeckLinkAudioInputPacket_v7_1_GetBytes(This,buffer) \
\r
4056 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
4058 #define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) \
\r
4059 ( (This)->lpVtbl -> GetAudioPacketTime(This,packetTime,timeScale) )
\r
4061 #endif /* COBJMACROS */
\r
4064 #endif /* C style interface */
\r
4069 #endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */
\r
4072 #ifndef __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
\r
4073 #define __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
\r
4075 /* interface IDeckLinkVideoOutputCallback_v7_1 */
\r
4076 /* [helpstring][uuid][object] */
\r
4079 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_1;
\r
4081 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4083 MIDL_INTERFACE("EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9")
\r
4084 IDeckLinkVideoOutputCallback_v7_1 : public IUnknown
\r
4087 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
\r
4088 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
\r
4089 /* [in] */ BMDOutputFrameCompletionResult result) = 0;
\r
4093 #else /* C style interface */
\r
4095 typedef struct IDeckLinkVideoOutputCallback_v7_1Vtbl
\r
4099 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4100 IDeckLinkVideoOutputCallback_v7_1 * This,
\r
4101 /* [in] */ REFIID riid,
\r
4102 /* [iid_is][out] */
\r
4103 __RPC__deref_out void **ppvObject);
\r
4105 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4106 IDeckLinkVideoOutputCallback_v7_1 * This);
\r
4108 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4109 IDeckLinkVideoOutputCallback_v7_1 * This);
\r
4111 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
\r
4112 IDeckLinkVideoOutputCallback_v7_1 * This,
\r
4113 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
\r
4114 /* [in] */ BMDOutputFrameCompletionResult result);
\r
4117 } IDeckLinkVideoOutputCallback_v7_1Vtbl;
\r
4119 interface IDeckLinkVideoOutputCallback_v7_1
\r
4121 CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_1Vtbl *lpVtbl;
\r
4129 #define IDeckLinkVideoOutputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
\r
4130 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4132 #define IDeckLinkVideoOutputCallback_v7_1_AddRef(This) \
\r
4133 ( (This)->lpVtbl -> AddRef(This) )
\r
4135 #define IDeckLinkVideoOutputCallback_v7_1_Release(This) \
\r
4136 ( (This)->lpVtbl -> Release(This) )
\r
4139 #define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) \
\r
4140 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
\r
4142 #endif /* COBJMACROS */
\r
4145 #endif /* C style interface */
\r
4150 #endif /* __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ */
\r
4153 #ifndef __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
\r
4154 #define __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
\r
4156 /* interface IDeckLinkInputCallback_v7_1 */
\r
4157 /* [helpstring][uuid][object] */
\r
4160 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_1;
\r
4162 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4164 MIDL_INTERFACE("7F94F328-5ED4-4E9F-9729-76A86BDC99CC")
\r
4165 IDeckLinkInputCallback_v7_1 : public IUnknown
\r
4168 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
4169 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
\r
4170 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket) = 0;
\r
4174 #else /* C style interface */
\r
4176 typedef struct IDeckLinkInputCallback_v7_1Vtbl
\r
4180 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4181 IDeckLinkInputCallback_v7_1 * This,
\r
4182 /* [in] */ REFIID riid,
\r
4183 /* [iid_is][out] */
\r
4184 __RPC__deref_out void **ppvObject);
\r
4186 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4187 IDeckLinkInputCallback_v7_1 * This);
\r
4189 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4190 IDeckLinkInputCallback_v7_1 * This);
\r
4192 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
4193 IDeckLinkInputCallback_v7_1 * This,
\r
4194 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
\r
4195 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket);
\r
4198 } IDeckLinkInputCallback_v7_1Vtbl;
\r
4200 interface IDeckLinkInputCallback_v7_1
\r
4202 CONST_VTBL struct IDeckLinkInputCallback_v7_1Vtbl *lpVtbl;
\r
4210 #define IDeckLinkInputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
\r
4211 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4213 #define IDeckLinkInputCallback_v7_1_AddRef(This) \
\r
4214 ( (This)->lpVtbl -> AddRef(This) )
\r
4216 #define IDeckLinkInputCallback_v7_1_Release(This) \
\r
4217 ( (This)->lpVtbl -> Release(This) )
\r
4220 #define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
4221 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
4223 #endif /* COBJMACROS */
\r
4226 #endif /* C style interface */
\r
4231 #endif /* __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ */
\r
4234 #ifndef __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
\r
4235 #define __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
\r
4237 /* interface IDeckLinkOutput_v7_1 */
\r
4238 /* [helpstring][local][uuid][object] */
\r
4241 EXTERN_C const IID IID_IDeckLinkOutput_v7_1;
\r
4243 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4245 MIDL_INTERFACE("AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5")
\r
4246 IDeckLinkOutput_v7_1 : public IUnknown
\r
4249 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
4250 BMDDisplayMode displayMode,
\r
4251 BMDPixelFormat pixelFormat,
\r
4252 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
4254 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
4255 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
\r
4257 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
4258 BMDDisplayMode displayMode) = 0;
\r
4260 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
4262 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
4263 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
4265 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
4269 BMDPixelFormat pixelFormat,
\r
4270 BMDFrameFlags flags,
\r
4271 IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
\r
4273 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer(
\r
4278 BMDPixelFormat pixelFormat,
\r
4279 BMDFrameFlags flags,
\r
4280 IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
\r
4282 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
4283 IDeckLinkVideoFrame_v7_1 *theFrame) = 0;
\r
4285 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
4286 IDeckLinkVideoFrame_v7_1 *theFrame,
\r
4287 BMDTimeValue displayTime,
\r
4288 BMDTimeValue displayDuration,
\r
4289 BMDTimeScale timeScale) = 0;
\r
4291 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
4292 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback) = 0;
\r
4294 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
4295 BMDAudioSampleRate sampleRate,
\r
4296 BMDAudioSampleType sampleType,
\r
4297 unsigned long channelCount) = 0;
\r
4299 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
4301 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
4303 unsigned long sampleFrameCount,
\r
4304 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
4306 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
4308 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
4310 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
4312 unsigned long sampleFrameCount,
\r
4313 BMDTimeValue streamTime,
\r
4314 BMDTimeScale timeScale,
\r
4315 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
4317 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
4318 /* [out] */ unsigned long *bufferedSampleCount) = 0;
\r
4320 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
4322 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
4323 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
4325 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
4326 BMDTimeValue playbackStartTime,
\r
4327 BMDTimeScale timeScale,
\r
4328 double playbackSpeed) = 0;
\r
4330 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
4331 BMDTimeValue stopPlaybackAtTime,
\r
4332 BMDTimeValue *actualStopTime,
\r
4333 BMDTimeScale timeScale) = 0;
\r
4335 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
4336 BMDTimeScale desiredTimeScale,
\r
4337 BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
\r
4341 #else /* C style interface */
\r
4343 typedef struct IDeckLinkOutput_v7_1Vtbl
\r
4347 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4348 IDeckLinkOutput_v7_1 * This,
\r
4349 /* [in] */ REFIID riid,
\r
4350 /* [iid_is][out] */
\r
4351 __RPC__deref_out void **ppvObject);
\r
4353 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4354 IDeckLinkOutput_v7_1 * This);
\r
4356 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4357 IDeckLinkOutput_v7_1 * This);
\r
4359 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
4360 IDeckLinkOutput_v7_1 * This,
\r
4361 BMDDisplayMode displayMode,
\r
4362 BMDPixelFormat pixelFormat,
\r
4363 /* [out] */ BMDDisplayModeSupport *result);
\r
4365 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
4366 IDeckLinkOutput_v7_1 * This,
\r
4367 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
\r
4369 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
4370 IDeckLinkOutput_v7_1 * This,
\r
4371 BMDDisplayMode displayMode);
\r
4373 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
4374 IDeckLinkOutput_v7_1 * This);
\r
4376 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
4377 IDeckLinkOutput_v7_1 * This,
\r
4378 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
4380 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
4381 IDeckLinkOutput_v7_1 * This,
\r
4385 BMDPixelFormat pixelFormat,
\r
4386 BMDFrameFlags flags,
\r
4387 IDeckLinkVideoFrame_v7_1 **outFrame);
\r
4389 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrameFromBuffer )(
\r
4390 IDeckLinkOutput_v7_1 * This,
\r
4395 BMDPixelFormat pixelFormat,
\r
4396 BMDFrameFlags flags,
\r
4397 IDeckLinkVideoFrame_v7_1 **outFrame);
\r
4399 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
4400 IDeckLinkOutput_v7_1 * This,
\r
4401 IDeckLinkVideoFrame_v7_1 *theFrame);
\r
4403 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
4404 IDeckLinkOutput_v7_1 * This,
\r
4405 IDeckLinkVideoFrame_v7_1 *theFrame,
\r
4406 BMDTimeValue displayTime,
\r
4407 BMDTimeValue displayDuration,
\r
4408 BMDTimeScale timeScale);
\r
4410 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
4411 IDeckLinkOutput_v7_1 * This,
\r
4412 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback);
\r
4414 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
4415 IDeckLinkOutput_v7_1 * This,
\r
4416 BMDAudioSampleRate sampleRate,
\r
4417 BMDAudioSampleType sampleType,
\r
4418 unsigned long channelCount);
\r
4420 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
4421 IDeckLinkOutput_v7_1 * This);
\r
4423 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
4424 IDeckLinkOutput_v7_1 * This,
\r
4426 unsigned long sampleFrameCount,
\r
4427 /* [out] */ unsigned long *sampleFramesWritten);
\r
4429 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
4430 IDeckLinkOutput_v7_1 * This);
\r
4432 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
4433 IDeckLinkOutput_v7_1 * This);
\r
4435 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
4436 IDeckLinkOutput_v7_1 * This,
\r
4438 unsigned long sampleFrameCount,
\r
4439 BMDTimeValue streamTime,
\r
4440 BMDTimeScale timeScale,
\r
4441 /* [out] */ unsigned long *sampleFramesWritten);
\r
4443 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
4444 IDeckLinkOutput_v7_1 * This,
\r
4445 /* [out] */ unsigned long *bufferedSampleCount);
\r
4447 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
4448 IDeckLinkOutput_v7_1 * This);
\r
4450 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
4451 IDeckLinkOutput_v7_1 * This,
\r
4452 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
4454 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
4455 IDeckLinkOutput_v7_1 * This,
\r
4456 BMDTimeValue playbackStartTime,
\r
4457 BMDTimeScale timeScale,
\r
4458 double playbackSpeed);
\r
4460 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
4461 IDeckLinkOutput_v7_1 * This,
\r
4462 BMDTimeValue stopPlaybackAtTime,
\r
4463 BMDTimeValue *actualStopTime,
\r
4464 BMDTimeScale timeScale);
\r
4466 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
4467 IDeckLinkOutput_v7_1 * This,
\r
4468 BMDTimeScale desiredTimeScale,
\r
4469 BMDTimeValue *elapsedTimeSinceSchedulerBegan);
\r
4472 } IDeckLinkOutput_v7_1Vtbl;
\r
4474 interface IDeckLinkOutput_v7_1
\r
4476 CONST_VTBL struct IDeckLinkOutput_v7_1Vtbl *lpVtbl;
\r
4484 #define IDeckLinkOutput_v7_1_QueryInterface(This,riid,ppvObject) \
\r
4485 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4487 #define IDeckLinkOutput_v7_1_AddRef(This) \
\r
4488 ( (This)->lpVtbl -> AddRef(This) )
\r
4490 #define IDeckLinkOutput_v7_1_Release(This) \
\r
4491 ( (This)->lpVtbl -> Release(This) )
\r
4494 #define IDeckLinkOutput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
4495 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
4497 #define IDeckLinkOutput_v7_1_GetDisplayModeIterator(This,iterator) \
\r
4498 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
4500 #define IDeckLinkOutput_v7_1_EnableVideoOutput(This,displayMode) \
\r
4501 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode) )
\r
4503 #define IDeckLinkOutput_v7_1_DisableVideoOutput(This) \
\r
4504 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
4506 #define IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
4507 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
4509 #define IDeckLinkOutput_v7_1_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
4510 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
4512 #define IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
4513 ( (This)->lpVtbl -> CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
4515 #define IDeckLinkOutput_v7_1_DisplayVideoFrameSync(This,theFrame) \
\r
4516 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
4518 #define IDeckLinkOutput_v7_1_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
4519 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
4521 #define IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
4522 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
4524 #define IDeckLinkOutput_v7_1_EnableAudioOutput(This,sampleRate,sampleType,channelCount) \
\r
4525 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount) )
\r
4527 #define IDeckLinkOutput_v7_1_DisableAudioOutput(This) \
\r
4528 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
4530 #define IDeckLinkOutput_v7_1_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
4531 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
4533 #define IDeckLinkOutput_v7_1_BeginAudioPreroll(This) \
\r
4534 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
4536 #define IDeckLinkOutput_v7_1_EndAudioPreroll(This) \
\r
4537 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
4539 #define IDeckLinkOutput_v7_1_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
4540 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
4542 #define IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
\r
4543 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
\r
4545 #define IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(This) \
\r
4546 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
4548 #define IDeckLinkOutput_v7_1_SetAudioCallback(This,theCallback) \
\r
4549 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
4551 #define IDeckLinkOutput_v7_1_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
4552 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
4554 #define IDeckLinkOutput_v7_1_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
4555 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
4557 #define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
\r
4558 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) )
\r
4560 #endif /* COBJMACROS */
\r
4563 #endif /* C style interface */
\r
4568 #endif /* __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ */
\r
4571 #ifndef __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
\r
4572 #define __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
\r
4574 /* interface IDeckLinkInput_v7_1 */
\r
4575 /* [helpstring][uuid][object] */
\r
4578 EXTERN_C const IID IID_IDeckLinkInput_v7_1;
\r
4580 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4582 MIDL_INTERFACE("2B54EDEF-5B32-429F-BA11-BB990596EACD")
\r
4583 IDeckLinkInput_v7_1 : public IUnknown
\r
4586 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
4587 BMDDisplayMode displayMode,
\r
4588 BMDPixelFormat pixelFormat,
\r
4589 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
4591 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
4592 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
\r
4594 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
4595 BMDDisplayMode displayMode,
\r
4596 BMDPixelFormat pixelFormat,
\r
4597 BMDVideoInputFlags flags) = 0;
\r
4599 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
4601 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
4602 BMDAudioSampleRate sampleRate,
\r
4603 BMDAudioSampleType sampleType,
\r
4604 unsigned long channelCount) = 0;
\r
4606 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
4608 virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples(
\r
4610 unsigned long sampleFrameCount,
\r
4611 /* [out] */ unsigned long *sampleFramesRead,
\r
4612 /* [out] */ BMDTimeValue *audioPacketTime,
\r
4613 BMDTimeScale timeScale) = 0;
\r
4615 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
4616 /* [out] */ unsigned long *bufferedSampleCount) = 0;
\r
4618 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
4620 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
4622 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
4624 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
4625 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback) = 0;
\r
4629 #else /* C style interface */
\r
4631 typedef struct IDeckLinkInput_v7_1Vtbl
\r
4635 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4636 IDeckLinkInput_v7_1 * This,
\r
4637 /* [in] */ REFIID riid,
\r
4638 /* [iid_is][out] */
\r
4639 __RPC__deref_out void **ppvObject);
\r
4641 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4642 IDeckLinkInput_v7_1 * This);
\r
4644 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4645 IDeckLinkInput_v7_1 * This);
\r
4647 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
4648 IDeckLinkInput_v7_1 * This,
\r
4649 BMDDisplayMode displayMode,
\r
4650 BMDPixelFormat pixelFormat,
\r
4651 /* [out] */ BMDDisplayModeSupport *result);
\r
4653 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
4654 IDeckLinkInput_v7_1 * This,
\r
4655 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
\r
4657 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
4658 IDeckLinkInput_v7_1 * This,
\r
4659 BMDDisplayMode displayMode,
\r
4660 BMDPixelFormat pixelFormat,
\r
4661 BMDVideoInputFlags flags);
\r
4663 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
4664 IDeckLinkInput_v7_1 * This);
\r
4666 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
4667 IDeckLinkInput_v7_1 * This,
\r
4668 BMDAudioSampleRate sampleRate,
\r
4669 BMDAudioSampleType sampleType,
\r
4670 unsigned long channelCount);
\r
4672 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
4673 IDeckLinkInput_v7_1 * This);
\r
4675 HRESULT ( STDMETHODCALLTYPE *ReadAudioSamples )(
\r
4676 IDeckLinkInput_v7_1 * This,
\r
4678 unsigned long sampleFrameCount,
\r
4679 /* [out] */ unsigned long *sampleFramesRead,
\r
4680 /* [out] */ BMDTimeValue *audioPacketTime,
\r
4681 BMDTimeScale timeScale);
\r
4683 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
4684 IDeckLinkInput_v7_1 * This,
\r
4685 /* [out] */ unsigned long *bufferedSampleCount);
\r
4687 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
4688 IDeckLinkInput_v7_1 * This);
\r
4690 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
4691 IDeckLinkInput_v7_1 * This);
\r
4693 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
4694 IDeckLinkInput_v7_1 * This);
\r
4696 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
4697 IDeckLinkInput_v7_1 * This,
\r
4698 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback);
\r
4701 } IDeckLinkInput_v7_1Vtbl;
\r
4703 interface IDeckLinkInput_v7_1
\r
4705 CONST_VTBL struct IDeckLinkInput_v7_1Vtbl *lpVtbl;
\r
4713 #define IDeckLinkInput_v7_1_QueryInterface(This,riid,ppvObject) \
\r
4714 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4716 #define IDeckLinkInput_v7_1_AddRef(This) \
\r
4717 ( (This)->lpVtbl -> AddRef(This) )
\r
4719 #define IDeckLinkInput_v7_1_Release(This) \
\r
4720 ( (This)->lpVtbl -> Release(This) )
\r
4723 #define IDeckLinkInput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
4724 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
4726 #define IDeckLinkInput_v7_1_GetDisplayModeIterator(This,iterator) \
\r
4727 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
4729 #define IDeckLinkInput_v7_1_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
4730 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
4732 #define IDeckLinkInput_v7_1_DisableVideoInput(This) \
\r
4733 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
4735 #define IDeckLinkInput_v7_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
4736 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
4738 #define IDeckLinkInput_v7_1_DisableAudioInput(This) \
\r
4739 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
4741 #define IDeckLinkInput_v7_1_ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) \
\r
4742 ( (This)->lpVtbl -> ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) )
\r
4744 #define IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
\r
4745 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
\r
4747 #define IDeckLinkInput_v7_1_StartStreams(This) \
\r
4748 ( (This)->lpVtbl -> StartStreams(This) )
\r
4750 #define IDeckLinkInput_v7_1_StopStreams(This) \
\r
4751 ( (This)->lpVtbl -> StopStreams(This) )
\r
4753 #define IDeckLinkInput_v7_1_PauseStreams(This) \
\r
4754 ( (This)->lpVtbl -> PauseStreams(This) )
\r
4756 #define IDeckLinkInput_v7_1_SetCallback(This,theCallback) \
\r
4757 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
4759 #endif /* COBJMACROS */
\r
4762 #endif /* C style interface */
\r
4767 #endif /* __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ */
\r
4770 #ifndef __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
\r
4771 #define __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
\r
4773 /* interface IDeckLinkInputCallback_v7_3 */
\r
4774 /* [helpstring][uuid][object] */
\r
4777 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_3;
\r
4779 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4781 MIDL_INTERFACE("FD6F311D-4D00-444B-9ED4-1F25B5730AD0")
\r
4782 IDeckLinkInputCallback_v7_3 : public IUnknown
\r
4785 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
\r
4786 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
4787 /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
\r
4788 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
\r
4790 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
\r
4791 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
\r
4792 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
\r
4796 #else /* C style interface */
\r
4798 typedef struct IDeckLinkInputCallback_v7_3Vtbl
\r
4802 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4803 IDeckLinkInputCallback_v7_3 * This,
\r
4804 /* [in] */ REFIID riid,
\r
4805 /* [iid_is][out] */
\r
4806 __RPC__deref_out void **ppvObject);
\r
4808 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4809 IDeckLinkInputCallback_v7_3 * This);
\r
4811 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4812 IDeckLinkInputCallback_v7_3 * This);
\r
4814 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
\r
4815 IDeckLinkInputCallback_v7_3 * This,
\r
4816 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
\r
4817 /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
\r
4818 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
\r
4820 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
\r
4821 IDeckLinkInputCallback_v7_3 * This,
\r
4822 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
\r
4823 /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
\r
4826 } IDeckLinkInputCallback_v7_3Vtbl;
\r
4828 interface IDeckLinkInputCallback_v7_3
\r
4830 CONST_VTBL struct IDeckLinkInputCallback_v7_3Vtbl *lpVtbl;
\r
4838 #define IDeckLinkInputCallback_v7_3_QueryInterface(This,riid,ppvObject) \
\r
4839 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
4841 #define IDeckLinkInputCallback_v7_3_AddRef(This) \
\r
4842 ( (This)->lpVtbl -> AddRef(This) )
\r
4844 #define IDeckLinkInputCallback_v7_3_Release(This) \
\r
4845 ( (This)->lpVtbl -> Release(This) )
\r
4848 #define IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
\r
4849 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
\r
4851 #define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) \
\r
4852 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
\r
4854 #endif /* COBJMACROS */
\r
4857 #endif /* C style interface */
\r
4862 #endif /* __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ */
\r
4865 #ifndef __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
\r
4866 #define __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
\r
4868 /* interface IDeckLinkOutput_v7_3 */
\r
4869 /* [helpstring][local][uuid][object] */
\r
4872 EXTERN_C const IID IID_IDeckLinkOutput_v7_3;
\r
4874 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
4876 MIDL_INTERFACE("271C65E3-C323-4344-A30F-D908BCB20AA3")
\r
4877 IDeckLinkOutput_v7_3 : public IUnknown
\r
4880 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
4881 BMDDisplayMode displayMode,
\r
4882 BMDPixelFormat pixelFormat,
\r
4883 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
4885 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
4886 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
\r
4888 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
4889 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
4891 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
\r
4892 BMDDisplayMode displayMode,
\r
4893 BMDVideoOutputFlags flags) = 0;
\r
4895 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
\r
4897 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
\r
4898 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
\r
4900 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
\r
4904 BMDPixelFormat pixelFormat,
\r
4905 BMDFrameFlags flags,
\r
4906 /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0;
\r
4908 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
\r
4909 BMDDisplayMode displayMode,
\r
4910 BMDPixelFormat pixelFormat,
\r
4911 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
\r
4913 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
\r
4914 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
\r
4916 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
\r
4917 /* [in] */ IDeckLinkVideoFrame *theFrame,
\r
4918 BMDTimeValue displayTime,
\r
4919 BMDTimeValue displayDuration,
\r
4920 BMDTimeScale timeScale) = 0;
\r
4922 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
\r
4923 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;
\r
4925 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
\r
4926 /* [out] */ unsigned long *bufferedFrameCount) = 0;
\r
4928 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
\r
4929 BMDAudioSampleRate sampleRate,
\r
4930 BMDAudioSampleType sampleType,
\r
4931 unsigned long channelCount,
\r
4932 BMDAudioOutputStreamType streamType) = 0;
\r
4934 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
\r
4936 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
\r
4937 /* [in] */ void *buffer,
\r
4938 unsigned long sampleFrameCount,
\r
4939 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
4941 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
\r
4943 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
\r
4945 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
\r
4946 /* [in] */ void *buffer,
\r
4947 unsigned long sampleFrameCount,
\r
4948 BMDTimeValue streamTime,
\r
4949 BMDTimeScale timeScale,
\r
4950 /* [out] */ unsigned long *sampleFramesWritten) = 0;
\r
4952 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
\r
4953 /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
\r
4955 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
\r
4957 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
\r
4958 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
\r
4960 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
\r
4961 BMDTimeValue playbackStartTime,
\r
4962 BMDTimeScale timeScale,
\r
4963 double playbackSpeed) = 0;
\r
4965 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
\r
4966 BMDTimeValue stopPlaybackAtTime,
\r
4967 /* [out] */ BMDTimeValue *actualStopTime,
\r
4968 BMDTimeScale timeScale) = 0;
\r
4970 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
\r
4971 /* [out] */ BOOL *active) = 0;
\r
4973 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
\r
4974 BMDTimeScale desiredTimeScale,
\r
4975 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
\r
4979 #else /* C style interface */
\r
4981 typedef struct IDeckLinkOutput_v7_3Vtbl
\r
4985 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
4986 IDeckLinkOutput_v7_3 * This,
\r
4987 /* [in] */ REFIID riid,
\r
4988 /* [iid_is][out] */
\r
4989 __RPC__deref_out void **ppvObject);
\r
4991 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
4992 IDeckLinkOutput_v7_3 * This);
\r
4994 ULONG ( STDMETHODCALLTYPE *Release )(
\r
4995 IDeckLinkOutput_v7_3 * This);
\r
4997 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
4998 IDeckLinkOutput_v7_3 * This,
\r
4999 BMDDisplayMode displayMode,
\r
5000 BMDPixelFormat pixelFormat,
\r
5001 /* [out] */ BMDDisplayModeSupport *result);
\r
5003 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
5004 IDeckLinkOutput_v7_3 * This,
\r
5005 /* [out] */ IDeckLinkDisplayModeIterator **iterator);
\r
5007 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
5008 IDeckLinkOutput_v7_3 * This,
\r
5009 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
5011 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
\r
5012 IDeckLinkOutput_v7_3 * This,
\r
5013 BMDDisplayMode displayMode,
\r
5014 BMDVideoOutputFlags flags);
\r
5016 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
\r
5017 IDeckLinkOutput_v7_3 * This);
\r
5019 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
\r
5020 IDeckLinkOutput_v7_3 * This,
\r
5021 /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
\r
5023 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
\r
5024 IDeckLinkOutput_v7_3 * This,
\r
5028 BMDPixelFormat pixelFormat,
\r
5029 BMDFrameFlags flags,
\r
5030 /* [out] */ IDeckLinkMutableVideoFrame **outFrame);
\r
5032 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
\r
5033 IDeckLinkOutput_v7_3 * This,
\r
5034 BMDDisplayMode displayMode,
\r
5035 BMDPixelFormat pixelFormat,
\r
5036 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
\r
5038 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
\r
5039 IDeckLinkOutput_v7_3 * This,
\r
5040 /* [in] */ IDeckLinkVideoFrame *theFrame);
\r
5042 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
\r
5043 IDeckLinkOutput_v7_3 * This,
\r
5044 /* [in] */ IDeckLinkVideoFrame *theFrame,
\r
5045 BMDTimeValue displayTime,
\r
5046 BMDTimeValue displayDuration,
\r
5047 BMDTimeScale timeScale);
\r
5049 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
\r
5050 IDeckLinkOutput_v7_3 * This,
\r
5051 /* [in] */ IDeckLinkVideoOutputCallback *theCallback);
\r
5053 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
\r
5054 IDeckLinkOutput_v7_3 * This,
\r
5055 /* [out] */ unsigned long *bufferedFrameCount);
\r
5057 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
\r
5058 IDeckLinkOutput_v7_3 * This,
\r
5059 BMDAudioSampleRate sampleRate,
\r
5060 BMDAudioSampleType sampleType,
\r
5061 unsigned long channelCount,
\r
5062 BMDAudioOutputStreamType streamType);
\r
5064 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
\r
5065 IDeckLinkOutput_v7_3 * This);
\r
5067 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
\r
5068 IDeckLinkOutput_v7_3 * This,
\r
5069 /* [in] */ void *buffer,
\r
5070 unsigned long sampleFrameCount,
\r
5071 /* [out] */ unsigned long *sampleFramesWritten);
\r
5073 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
\r
5074 IDeckLinkOutput_v7_3 * This);
\r
5076 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
\r
5077 IDeckLinkOutput_v7_3 * This);
\r
5079 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
\r
5080 IDeckLinkOutput_v7_3 * This,
\r
5081 /* [in] */ void *buffer,
\r
5082 unsigned long sampleFrameCount,
\r
5083 BMDTimeValue streamTime,
\r
5084 BMDTimeScale timeScale,
\r
5085 /* [out] */ unsigned long *sampleFramesWritten);
\r
5087 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
\r
5088 IDeckLinkOutput_v7_3 * This,
\r
5089 /* [out] */ unsigned long *bufferedSampleFrameCount);
\r
5091 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
\r
5092 IDeckLinkOutput_v7_3 * This);
\r
5094 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
\r
5095 IDeckLinkOutput_v7_3 * This,
\r
5096 /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
\r
5098 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
\r
5099 IDeckLinkOutput_v7_3 * This,
\r
5100 BMDTimeValue playbackStartTime,
\r
5101 BMDTimeScale timeScale,
\r
5102 double playbackSpeed);
\r
5104 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
\r
5105 IDeckLinkOutput_v7_3 * This,
\r
5106 BMDTimeValue stopPlaybackAtTime,
\r
5107 /* [out] */ BMDTimeValue *actualStopTime,
\r
5108 BMDTimeScale timeScale);
\r
5110 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
\r
5111 IDeckLinkOutput_v7_3 * This,
\r
5112 /* [out] */ BOOL *active);
\r
5114 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
\r
5115 IDeckLinkOutput_v7_3 * This,
\r
5116 BMDTimeScale desiredTimeScale,
\r
5117 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan);
\r
5120 } IDeckLinkOutput_v7_3Vtbl;
\r
5122 interface IDeckLinkOutput_v7_3
\r
5124 CONST_VTBL struct IDeckLinkOutput_v7_3Vtbl *lpVtbl;
\r
5132 #define IDeckLinkOutput_v7_3_QueryInterface(This,riid,ppvObject) \
\r
5133 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5135 #define IDeckLinkOutput_v7_3_AddRef(This) \
\r
5136 ( (This)->lpVtbl -> AddRef(This) )
\r
5138 #define IDeckLinkOutput_v7_3_Release(This) \
\r
5139 ( (This)->lpVtbl -> Release(This) )
\r
5142 #define IDeckLinkOutput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
5143 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
5145 #define IDeckLinkOutput_v7_3_GetDisplayModeIterator(This,iterator) \
\r
5146 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
5148 #define IDeckLinkOutput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
\r
5149 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
5151 #define IDeckLinkOutput_v7_3_EnableVideoOutput(This,displayMode,flags) \
\r
5152 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
\r
5154 #define IDeckLinkOutput_v7_3_DisableVideoOutput(This) \
\r
5155 ( (This)->lpVtbl -> DisableVideoOutput(This) )
\r
5157 #define IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
\r
5158 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
\r
5160 #define IDeckLinkOutput_v7_3_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
\r
5161 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
\r
5163 #define IDeckLinkOutput_v7_3_CreateAncillaryData(This,displayMode,pixelFormat,outBuffer) \
\r
5164 ( (This)->lpVtbl -> CreateAncillaryData(This,displayMode,pixelFormat,outBuffer) )
\r
5166 #define IDeckLinkOutput_v7_3_DisplayVideoFrameSync(This,theFrame) \
\r
5167 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
\r
5169 #define IDeckLinkOutput_v7_3_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
\r
5170 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
\r
5172 #define IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(This,theCallback) \
\r
5173 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
\r
5175 #define IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
\r
5176 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
\r
5178 #define IDeckLinkOutput_v7_3_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
\r
5179 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
\r
5181 #define IDeckLinkOutput_v7_3_DisableAudioOutput(This) \
\r
5182 ( (This)->lpVtbl -> DisableAudioOutput(This) )
\r
5184 #define IDeckLinkOutput_v7_3_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
\r
5185 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
\r
5187 #define IDeckLinkOutput_v7_3_BeginAudioPreroll(This) \
\r
5188 ( (This)->lpVtbl -> BeginAudioPreroll(This) )
\r
5190 #define IDeckLinkOutput_v7_3_EndAudioPreroll(This) \
\r
5191 ( (This)->lpVtbl -> EndAudioPreroll(This) )
\r
5193 #define IDeckLinkOutput_v7_3_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
\r
5194 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
\r
5196 #define IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
\r
5197 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
\r
5199 #define IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(This) \
\r
5200 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
\r
5202 #define IDeckLinkOutput_v7_3_SetAudioCallback(This,theCallback) \
\r
5203 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
\r
5205 #define IDeckLinkOutput_v7_3_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
\r
5206 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
\r
5208 #define IDeckLinkOutput_v7_3_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
\r
5209 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
\r
5211 #define IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(This,active) \
\r
5212 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
\r
5214 #define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
\r
5215 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) )
\r
5217 #endif /* COBJMACROS */
\r
5220 #endif /* C style interface */
\r
5225 #endif /* __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ */
\r
5228 #ifndef __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
\r
5229 #define __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
\r
5231 /* interface IDeckLinkInput_v7_3 */
\r
5232 /* [helpstring][uuid][object] */
\r
5235 EXTERN_C const IID IID_IDeckLinkInput_v7_3;
\r
5237 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5239 MIDL_INTERFACE("4973F012-9925-458C-871C-18774CDBBECB")
\r
5240 IDeckLinkInput_v7_3 : public IUnknown
\r
5243 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
\r
5244 BMDDisplayMode displayMode,
\r
5245 BMDPixelFormat pixelFormat,
\r
5246 /* [out] */ BMDDisplayModeSupport *result) = 0;
\r
5248 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
\r
5249 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
\r
5251 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
\r
5252 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
\r
5254 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
\r
5255 BMDDisplayMode displayMode,
\r
5256 BMDPixelFormat pixelFormat,
\r
5257 BMDVideoInputFlags flags) = 0;
\r
5259 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
\r
5261 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
\r
5262 /* [out] */ unsigned long *availableFrameCount) = 0;
\r
5264 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
\r
5265 BMDAudioSampleRate sampleRate,
\r
5266 BMDAudioSampleType sampleType,
\r
5267 unsigned long channelCount) = 0;
\r
5269 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
\r
5271 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
\r
5272 /* [out] */ unsigned long *availableSampleFrameCount) = 0;
\r
5274 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
\r
5276 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
\r
5278 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
\r
5280 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
\r
5282 virtual HRESULT STDMETHODCALLTYPE SetCallback(
\r
5283 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback) = 0;
\r
5287 #else /* C style interface */
\r
5289 typedef struct IDeckLinkInput_v7_3Vtbl
\r
5293 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5294 IDeckLinkInput_v7_3 * This,
\r
5295 /* [in] */ REFIID riid,
\r
5296 /* [iid_is][out] */
\r
5297 __RPC__deref_out void **ppvObject);
\r
5299 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5300 IDeckLinkInput_v7_3 * This);
\r
5302 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5303 IDeckLinkInput_v7_3 * This);
\r
5305 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
\r
5306 IDeckLinkInput_v7_3 * This,
\r
5307 BMDDisplayMode displayMode,
\r
5308 BMDPixelFormat pixelFormat,
\r
5309 /* [out] */ BMDDisplayModeSupport *result);
\r
5311 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
\r
5312 IDeckLinkInput_v7_3 * This,
\r
5313 /* [out] */ IDeckLinkDisplayModeIterator **iterator);
\r
5315 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
\r
5316 IDeckLinkInput_v7_3 * This,
\r
5317 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
\r
5319 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
\r
5320 IDeckLinkInput_v7_3 * This,
\r
5321 BMDDisplayMode displayMode,
\r
5322 BMDPixelFormat pixelFormat,
\r
5323 BMDVideoInputFlags flags);
\r
5325 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
\r
5326 IDeckLinkInput_v7_3 * This);
\r
5328 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
\r
5329 IDeckLinkInput_v7_3 * This,
\r
5330 /* [out] */ unsigned long *availableFrameCount);
\r
5332 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
\r
5333 IDeckLinkInput_v7_3 * This,
\r
5334 BMDAudioSampleRate sampleRate,
\r
5335 BMDAudioSampleType sampleType,
\r
5336 unsigned long channelCount);
\r
5338 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
\r
5339 IDeckLinkInput_v7_3 * This);
\r
5341 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
\r
5342 IDeckLinkInput_v7_3 * This,
\r
5343 /* [out] */ unsigned long *availableSampleFrameCount);
\r
5345 HRESULT ( STDMETHODCALLTYPE *StartStreams )(
\r
5346 IDeckLinkInput_v7_3 * This);
\r
5348 HRESULT ( STDMETHODCALLTYPE *StopStreams )(
\r
5349 IDeckLinkInput_v7_3 * This);
\r
5351 HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
\r
5352 IDeckLinkInput_v7_3 * This);
\r
5354 HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
\r
5355 IDeckLinkInput_v7_3 * This);
\r
5357 HRESULT ( STDMETHODCALLTYPE *SetCallback )(
\r
5358 IDeckLinkInput_v7_3 * This,
\r
5359 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback);
\r
5362 } IDeckLinkInput_v7_3Vtbl;
\r
5364 interface IDeckLinkInput_v7_3
\r
5366 CONST_VTBL struct IDeckLinkInput_v7_3Vtbl *lpVtbl;
\r
5374 #define IDeckLinkInput_v7_3_QueryInterface(This,riid,ppvObject) \
\r
5375 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5377 #define IDeckLinkInput_v7_3_AddRef(This) \
\r
5378 ( (This)->lpVtbl -> AddRef(This) )
\r
5380 #define IDeckLinkInput_v7_3_Release(This) \
\r
5381 ( (This)->lpVtbl -> Release(This) )
\r
5384 #define IDeckLinkInput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
\r
5385 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
\r
5387 #define IDeckLinkInput_v7_3_GetDisplayModeIterator(This,iterator) \
\r
5388 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
\r
5390 #define IDeckLinkInput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
\r
5391 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
\r
5393 #define IDeckLinkInput_v7_3_EnableVideoInput(This,displayMode,pixelFormat,flags) \
\r
5394 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
\r
5396 #define IDeckLinkInput_v7_3_DisableVideoInput(This) \
\r
5397 ( (This)->lpVtbl -> DisableVideoInput(This) )
\r
5399 #define IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(This,availableFrameCount) \
\r
5400 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
\r
5402 #define IDeckLinkInput_v7_3_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
\r
5403 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
\r
5405 #define IDeckLinkInput_v7_3_DisableAudioInput(This) \
\r
5406 ( (This)->lpVtbl -> DisableAudioInput(This) )
\r
5408 #define IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
\r
5409 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
\r
5411 #define IDeckLinkInput_v7_3_StartStreams(This) \
\r
5412 ( (This)->lpVtbl -> StartStreams(This) )
\r
5414 #define IDeckLinkInput_v7_3_StopStreams(This) \
\r
5415 ( (This)->lpVtbl -> StopStreams(This) )
\r
5417 #define IDeckLinkInput_v7_3_PauseStreams(This) \
\r
5418 ( (This)->lpVtbl -> PauseStreams(This) )
\r
5420 #define IDeckLinkInput_v7_3_FlushStreams(This) \
\r
5421 ( (This)->lpVtbl -> FlushStreams(This) )
\r
5423 #define IDeckLinkInput_v7_3_SetCallback(This,theCallback) \
\r
5424 ( (This)->lpVtbl -> SetCallback(This,theCallback) )
\r
5426 #endif /* COBJMACROS */
\r
5429 #endif /* C style interface */
\r
5434 #endif /* __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ */
\r
5437 #ifndef __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
\r
5438 #define __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
\r
5440 /* interface IDeckLinkVideoInputFrame_v7_3 */
\r
5441 /* [helpstring][local][uuid][object] */
\r
5444 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_3;
\r
5446 #if defined(__cplusplus) && !defined(CINTERFACE)
\r
5448 MIDL_INTERFACE("CF317790-2894-11DE-8C30-0800200C9A66")
\r
5449 IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame
\r
5452 virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
\r
5453 /* [out] */ BMDTimeValue *frameTime,
\r
5454 /* [out] */ BMDTimeValue *frameDuration,
\r
5455 BMDTimeScale timeScale) = 0;
\r
5459 #else /* C style interface */
\r
5461 typedef struct IDeckLinkVideoInputFrame_v7_3Vtbl
\r
5465 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
\r
5466 IDeckLinkVideoInputFrame_v7_3 * This,
\r
5467 /* [in] */ REFIID riid,
\r
5468 /* [iid_is][out] */
\r
5469 __RPC__deref_out void **ppvObject);
\r
5471 ULONG ( STDMETHODCALLTYPE *AddRef )(
\r
5472 IDeckLinkVideoInputFrame_v7_3 * This);
\r
5474 ULONG ( STDMETHODCALLTYPE *Release )(
\r
5475 IDeckLinkVideoInputFrame_v7_3 * This);
\r
5477 long ( STDMETHODCALLTYPE *GetWidth )(
\r
5478 IDeckLinkVideoInputFrame_v7_3 * This);
\r
5480 long ( STDMETHODCALLTYPE *GetHeight )(
\r
5481 IDeckLinkVideoInputFrame_v7_3 * This);
\r
5483 long ( STDMETHODCALLTYPE *GetRowBytes )(
\r
5484 IDeckLinkVideoInputFrame_v7_3 * This);
\r
5486 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
\r
5487 IDeckLinkVideoInputFrame_v7_3 * This);
\r
5489 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
\r
5490 IDeckLinkVideoInputFrame_v7_3 * This);
\r
5492 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
\r
5493 IDeckLinkVideoInputFrame_v7_3 * This,
\r
5494 /* [out] */ void **buffer);
\r
5496 HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
\r
5497 IDeckLinkVideoInputFrame_v7_3 * This,
\r
5498 BMDTimecodeFormat format,
\r
5499 /* [out] */ IDeckLinkTimecode **timecode);
\r
5501 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
\r
5502 IDeckLinkVideoInputFrame_v7_3 * This,
\r
5503 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
\r
5505 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
\r
5506 IDeckLinkVideoInputFrame_v7_3 * This,
\r
5507 /* [out] */ BMDTimeValue *frameTime,
\r
5508 /* [out] */ BMDTimeValue *frameDuration,
\r
5509 BMDTimeScale timeScale);
\r
5512 } IDeckLinkVideoInputFrame_v7_3Vtbl;
\r
5514 interface IDeckLinkVideoInputFrame_v7_3
\r
5516 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_3Vtbl *lpVtbl;
\r
5524 #define IDeckLinkVideoInputFrame_v7_3_QueryInterface(This,riid,ppvObject) \
\r
5525 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
\r
5527 #define IDeckLinkVideoInputFrame_v7_3_AddRef(This) \
\r
5528 ( (This)->lpVtbl -> AddRef(This) )
\r
5530 #define IDeckLinkVideoInputFrame_v7_3_Release(This) \
\r
5531 ( (This)->lpVtbl -> Release(This) )
\r
5534 #define IDeckLinkVideoInputFrame_v7_3_GetWidth(This) \
\r
5535 ( (This)->lpVtbl -> GetWidth(This) )
\r
5537 #define IDeckLinkVideoInputFrame_v7_3_GetHeight(This) \
\r
5538 ( (This)->lpVtbl -> GetHeight(This) )
\r
5540 #define IDeckLinkVideoInputFrame_v7_3_GetRowBytes(This) \
\r
5541 ( (This)->lpVtbl -> GetRowBytes(This) )
\r
5543 #define IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(This) \
\r
5544 ( (This)->lpVtbl -> GetPixelFormat(This) )
\r
5546 #define IDeckLinkVideoInputFrame_v7_3_GetFlags(This) \
\r
5547 ( (This)->lpVtbl -> GetFlags(This) )
\r
5549 #define IDeckLinkVideoInputFrame_v7_3_GetBytes(This,buffer) \
\r
5550 ( (This)->lpVtbl -> GetBytes(This,buffer) )
\r
5552 #define IDeckLinkVideoInputFrame_v7_3_GetTimecode(This,format,timecode) \
\r
5553 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
\r
5555 #define IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(This,ancillary) \
\r
5556 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
\r
5559 #define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) \
\r
5560 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
\r
5562 #endif /* COBJMACROS */
\r
5565 #endif /* C style interface */
\r
5570 #endif /* __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ */
\r
5572 #endif /* __DeckLinkAPI_LIBRARY_DEFINED__ */
\r
5574 /* Additional Prototypes for ALL interfaces */
\r
5576 /* end of Additional Prototypes */
\r
5578 #ifdef __cplusplus
\r