--- /dev/null
+\r
+\r
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */\r
+\r
+\r
+ /* File created by MIDL compiler version 7.00.0555 */\r
+/* at Fri Dec 09 17:07:42 2011\r
+ */\r
+/* Compiler settings for interop\DeckLinkAPI.idl:\r
+ Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 \r
+ protocol : dce , ms_ext, c_ext, robust\r
+ error checks: allocation ref bounds_check enum stub_data \r
+ VC __declspec() decoration level: \r
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)\r
+ DECLSPEC_UUID(), MIDL_INTERFACE()\r
+*/\r
+/* @@MIDL_FILE_HEADING( ) */\r
+\r
+#pragma warning( disable: 4049 ) /* more than 64k source lines */\r
+\r
+\r
+/* verify that the <rpcndr.h> version is high enough to compile this file*/\r
+#ifndef __REQUIRED_RPCNDR_H_VERSION__\r
+#define __REQUIRED_RPCNDR_H_VERSION__ 475\r
+#endif\r
+\r
+#include "rpc.h"\r
+#include "rpcndr.h"\r
+\r
+#ifndef __RPCNDR_H_VERSION__\r
+#error this stub requires an updated version of <rpcndr.h>\r
+#endif // __RPCNDR_H_VERSION__\r
+\r
+\r
+#ifndef __DeckLinkAPI_h_h__\r
+#define __DeckLinkAPI_h_h__\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+#pragma once\r
+#endif\r
+\r
+/* Forward Declarations */ \r
+\r
+#ifndef __IDeckLinkVideoOutputCallback_FWD_DEFINED__\r
+#define __IDeckLinkVideoOutputCallback_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoOutputCallback IDeckLinkVideoOutputCallback;\r
+#endif /* __IDeckLinkVideoOutputCallback_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInputCallback_FWD_DEFINED__\r
+#define __IDeckLinkInputCallback_FWD_DEFINED__\r
+typedef interface IDeckLinkInputCallback IDeckLinkInputCallback;\r
+#endif /* __IDeckLinkInputCallback_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkMemoryAllocator_FWD_DEFINED__\r
+#define __IDeckLinkMemoryAllocator_FWD_DEFINED__\r
+typedef interface IDeckLinkMemoryAllocator IDeckLinkMemoryAllocator;\r
+#endif /* __IDeckLinkMemoryAllocator_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkAudioOutputCallback_FWD_DEFINED__\r
+#define __IDeckLinkAudioOutputCallback_FWD_DEFINED__\r
+typedef interface IDeckLinkAudioOutputCallback IDeckLinkAudioOutputCallback;\r
+#endif /* __IDeckLinkAudioOutputCallback_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkIterator_FWD_DEFINED__\r
+#define __IDeckLinkIterator_FWD_DEFINED__\r
+typedef interface IDeckLinkIterator IDeckLinkIterator;\r
+#endif /* __IDeckLinkIterator_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkAPIInformation_FWD_DEFINED__\r
+#define __IDeckLinkAPIInformation_FWD_DEFINED__\r
+typedef interface IDeckLinkAPIInformation IDeckLinkAPIInformation;\r
+#endif /* __IDeckLinkAPIInformation_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayModeIterator_FWD_DEFINED__\r
+#define __IDeckLinkDisplayModeIterator_FWD_DEFINED__\r
+typedef interface IDeckLinkDisplayModeIterator IDeckLinkDisplayModeIterator;\r
+#endif /* __IDeckLinkDisplayModeIterator_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayMode_FWD_DEFINED__\r
+#define __IDeckLinkDisplayMode_FWD_DEFINED__\r
+typedef interface IDeckLinkDisplayMode IDeckLinkDisplayMode;\r
+#endif /* __IDeckLinkDisplayMode_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLink_FWD_DEFINED__\r
+#define __IDeckLink_FWD_DEFINED__\r
+typedef interface IDeckLink IDeckLink;\r
+#endif /* __IDeckLink_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkOutput_FWD_DEFINED__\r
+#define __IDeckLinkOutput_FWD_DEFINED__\r
+typedef interface IDeckLinkOutput IDeckLinkOutput;\r
+#endif /* __IDeckLinkOutput_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInput_FWD_DEFINED__\r
+#define __IDeckLinkInput_FWD_DEFINED__\r
+typedef interface IDeckLinkInput IDeckLinkInput;\r
+#endif /* __IDeckLinkInput_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkTimecode_FWD_DEFINED__\r
+#define __IDeckLinkTimecode_FWD_DEFINED__\r
+typedef interface IDeckLinkTimecode IDeckLinkTimecode;\r
+#endif /* __IDeckLinkTimecode_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoFrame_FWD_DEFINED__\r
+#define __IDeckLinkVideoFrame_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoFrame IDeckLinkVideoFrame;\r
+#endif /* __IDeckLinkVideoFrame_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkMutableVideoFrame_FWD_DEFINED__\r
+#define __IDeckLinkMutableVideoFrame_FWD_DEFINED__\r
+typedef interface IDeckLinkMutableVideoFrame IDeckLinkMutableVideoFrame;\r
+#endif /* __IDeckLinkMutableVideoFrame_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__\r
+#define __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoFrame3DExtensions IDeckLinkVideoFrame3DExtensions;\r
+#endif /* __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoInputFrame_FWD_DEFINED__\r
+#define __IDeckLinkVideoInputFrame_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoInputFrame IDeckLinkVideoInputFrame;\r
+#endif /* __IDeckLinkVideoInputFrame_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoFrameAncillary_FWD_DEFINED__\r
+#define __IDeckLinkVideoFrameAncillary_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoFrameAncillary IDeckLinkVideoFrameAncillary;\r
+#endif /* __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkAudioInputPacket_FWD_DEFINED__\r
+#define __IDeckLinkAudioInputPacket_FWD_DEFINED__\r
+typedef interface IDeckLinkAudioInputPacket IDeckLinkAudioInputPacket;\r
+#endif /* __IDeckLinkAudioInputPacket_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkScreenPreviewCallback_FWD_DEFINED__\r
+#define __IDeckLinkScreenPreviewCallback_FWD_DEFINED__\r
+typedef interface IDeckLinkScreenPreviewCallback IDeckLinkScreenPreviewCallback;\r
+#endif /* __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__\r
+#define __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__\r
+typedef interface IDeckLinkGLScreenPreviewHelper IDeckLinkGLScreenPreviewHelper;\r
+#endif /* __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkConfiguration_FWD_DEFINED__\r
+#define __IDeckLinkConfiguration_FWD_DEFINED__\r
+typedef interface IDeckLinkConfiguration IDeckLinkConfiguration;\r
+#endif /* __IDeckLinkConfiguration_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkAttributes_FWD_DEFINED__\r
+#define __IDeckLinkAttributes_FWD_DEFINED__\r
+typedef interface IDeckLinkAttributes IDeckLinkAttributes;\r
+#endif /* __IDeckLinkAttributes_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkKeyer_FWD_DEFINED__\r
+#define __IDeckLinkKeyer_FWD_DEFINED__\r
+typedef interface IDeckLinkKeyer IDeckLinkKeyer;\r
+#endif /* __IDeckLinkKeyer_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoConversion_FWD_DEFINED__\r
+#define __IDeckLinkVideoConversion_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoConversion IDeckLinkVideoConversion;\r
+#endif /* __IDeckLinkVideoConversion_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__\r
+#define __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__\r
+typedef interface IDeckLinkDeckControlStatusCallback IDeckLinkDeckControlStatusCallback;\r
+#endif /* __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDeckControl_FWD_DEFINED__\r
+#define __IDeckLinkDeckControl_FWD_DEFINED__\r
+typedef interface IDeckLinkDeckControl IDeckLinkDeckControl;\r
+#endif /* __IDeckLinkDeckControl_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __CDeckLinkIterator_FWD_DEFINED__\r
+#define __CDeckLinkIterator_FWD_DEFINED__\r
+\r
+#ifdef __cplusplus\r
+typedef class CDeckLinkIterator CDeckLinkIterator;\r
+#else\r
+typedef struct CDeckLinkIterator CDeckLinkIterator;\r
+#endif /* __cplusplus */\r
+\r
+#endif /* __CDeckLinkIterator_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __CDeckLinkAPIInformation_FWD_DEFINED__\r
+#define __CDeckLinkAPIInformation_FWD_DEFINED__\r
+\r
+#ifdef __cplusplus\r
+typedef class CDeckLinkAPIInformation CDeckLinkAPIInformation;\r
+#else\r
+typedef struct CDeckLinkAPIInformation CDeckLinkAPIInformation;\r
+#endif /* __cplusplus */\r
+\r
+#endif /* __CDeckLinkAPIInformation_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__\r
+#define __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__\r
+\r
+#ifdef __cplusplus\r
+typedef class CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper;\r
+#else\r
+typedef struct CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper;\r
+#endif /* __cplusplus */\r
+\r
+#endif /* __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __CDeckLinkVideoConversion_FWD_DEFINED__\r
+#define __CDeckLinkVideoConversion_FWD_DEFINED__\r
+\r
+#ifdef __cplusplus\r
+typedef class CDeckLinkVideoConversion CDeckLinkVideoConversion;\r
+#else\r
+typedef struct CDeckLinkVideoConversion CDeckLinkVideoConversion;\r
+#endif /* __cplusplus */\r
+\r
+#endif /* __CDeckLinkVideoConversion_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDeckControl_v7_9_FWD_DEFINED__\r
+#define __IDeckLinkDeckControl_v7_9_FWD_DEFINED__\r
+typedef interface IDeckLinkDeckControl_v7_9 IDeckLinkDeckControl_v7_9;\r
+#endif /* __IDeckLinkDeckControl_v7_9_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkDisplayModeIterator_v7_6 IDeckLinkDisplayModeIterator_v7_6;\r
+#endif /* __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkDisplayMode_v7_6 IDeckLinkDisplayMode_v7_6;\r
+#endif /* __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkOutput_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkOutput_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkOutput_v7_6 IDeckLinkOutput_v7_6;\r
+#endif /* __IDeckLinkOutput_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInput_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkInput_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkInput_v7_6 IDeckLinkInput_v7_6;\r
+#endif /* __IDeckLinkInput_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkTimecode_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkTimecode_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkTimecode_v7_6 IDeckLinkTimecode_v7_6;\r
+#endif /* __IDeckLinkTimecode_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoFrame_v7_6 IDeckLinkVideoFrame_v7_6;\r
+#endif /* __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkMutableVideoFrame_v7_6 IDeckLinkMutableVideoFrame_v7_6;\r
+#endif /* __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoInputFrame_v7_6 IDeckLinkVideoInputFrame_v7_6;\r
+#endif /* __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkScreenPreviewCallback_v7_6 IDeckLinkScreenPreviewCallback_v7_6;\r
+#endif /* __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkGLScreenPreviewHelper_v7_6 IDeckLinkGLScreenPreviewHelper_v7_6;\r
+#endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoConversion_v7_6 IDeckLinkVideoConversion_v7_6;\r
+#endif /* __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkConfiguration_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkConfiguration_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkConfiguration_v7_6 IDeckLinkConfiguration_v7_6;\r
+#endif /* __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoOutputCallback_v7_6 IDeckLinkVideoOutputCallback_v7_6;\r
+#endif /* __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInputCallback_v7_6_FWD_DEFINED__\r
+#define __IDeckLinkInputCallback_v7_6_FWD_DEFINED__\r
+typedef interface IDeckLinkInputCallback_v7_6 IDeckLinkInputCallback_v7_6;\r
+#endif /* __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__\r
+#define __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__\r
+\r
+#ifdef __cplusplus\r
+typedef class CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6;\r
+#else\r
+typedef struct CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6;\r
+#endif /* __cplusplus */\r
+\r
+#endif /* __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__\r
+#define __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__\r
+\r
+#ifdef __cplusplus\r
+typedef class CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6;\r
+#else\r
+typedef struct CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6;\r
+#endif /* __cplusplus */\r
+\r
+#endif /* __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInputCallback_v7_3_FWD_DEFINED__\r
+#define __IDeckLinkInputCallback_v7_3_FWD_DEFINED__\r
+typedef interface IDeckLinkInputCallback_v7_3 IDeckLinkInputCallback_v7_3;\r
+#endif /* __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkOutput_v7_3_FWD_DEFINED__\r
+#define __IDeckLinkOutput_v7_3_FWD_DEFINED__\r
+typedef interface IDeckLinkOutput_v7_3 IDeckLinkOutput_v7_3;\r
+#endif /* __IDeckLinkOutput_v7_3_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInput_v7_3_FWD_DEFINED__\r
+#define __IDeckLinkInput_v7_3_FWD_DEFINED__\r
+typedef interface IDeckLinkInput_v7_3 IDeckLinkInput_v7_3;\r
+#endif /* __IDeckLinkInput_v7_3_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__\r
+#define __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoInputFrame_v7_3 IDeckLinkVideoInputFrame_v7_3;\r
+#endif /* __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__\r
+#define __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__\r
+typedef interface IDeckLinkDisplayModeIterator_v7_1 IDeckLinkDisplayModeIterator_v7_1;\r
+#endif /* __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__\r
+#define __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__\r
+typedef interface IDeckLinkDisplayMode_v7_1 IDeckLinkDisplayMode_v7_1;\r
+#endif /* __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__\r
+#define __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoFrame_v7_1 IDeckLinkVideoFrame_v7_1;\r
+#endif /* __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__\r
+#define __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoInputFrame_v7_1 IDeckLinkVideoInputFrame_v7_1;\r
+#endif /* __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__\r
+#define __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__\r
+typedef interface IDeckLinkAudioInputPacket_v7_1 IDeckLinkAudioInputPacket_v7_1;\r
+#endif /* __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__\r
+#define __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__\r
+typedef interface IDeckLinkVideoOutputCallback_v7_1 IDeckLinkVideoOutputCallback_v7_1;\r
+#endif /* __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInputCallback_v7_1_FWD_DEFINED__\r
+#define __IDeckLinkInputCallback_v7_1_FWD_DEFINED__\r
+typedef interface IDeckLinkInputCallback_v7_1 IDeckLinkInputCallback_v7_1;\r
+#endif /* __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkOutput_v7_1_FWD_DEFINED__\r
+#define __IDeckLinkOutput_v7_1_FWD_DEFINED__\r
+typedef interface IDeckLinkOutput_v7_1 IDeckLinkOutput_v7_1;\r
+#endif /* __IDeckLinkOutput_v7_1_FWD_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInput_v7_1_FWD_DEFINED__\r
+#define __IDeckLinkInput_v7_1_FWD_DEFINED__\r
+typedef interface IDeckLinkInput_v7_1 IDeckLinkInput_v7_1;\r
+#endif /* __IDeckLinkInput_v7_1_FWD_DEFINED__ */\r
+\r
+\r
+/* header files for imported files */\r
+#include "unknwn.h"\r
+\r
+#ifdef __cplusplus\r
+extern "C"{\r
+#endif \r
+\r
+\r
+\r
+#ifndef __DeckLinkAPI_LIBRARY_DEFINED__\r
+#define __DeckLinkAPI_LIBRARY_DEFINED__\r
+\r
+/* library DeckLinkAPI */\r
+/* [helpstring][version][uuid] */ \r
+\r
+typedef LONGLONG BMDTimeValue;\r
+\r
+typedef LONGLONG BMDTimeScale;\r
+\r
+typedef unsigned long BMDTimecodeBCD;\r
+\r
+typedef unsigned long BMDTimecodeUserBits;\r
+\r
+typedef unsigned long BMDDisplayModeFlags;\r
+typedef unsigned long BMDFrameFlags;\r
+typedef unsigned long BMDVideoInputFlags;\r
+typedef unsigned long BMDVideoInputFormatChangedEvents;\r
+typedef unsigned long BMDDetectedVideoInputFormatFlags;\r
+typedef unsigned long BMDTimecodeFlags;\r
+typedef unsigned long BMDAnalogVideoFlags;\r
+typedef unsigned long BMDDeckControlStatusFlags;\r
+typedef unsigned long BMDDeckControlExportModeOpsFlags;\r
+#if 0\r
+typedef enum _BMDDisplayModeFlags BMDDisplayModeFlags;\r
+\r
+typedef enum _BMDFrameFlags BMDFrameFlags;\r
+\r
+typedef enum _BMDVideoInputFlags BMDVideoInputFlags;\r
+\r
+typedef enum _BMDVideoInputFormatChangedEvents BMDVideoInputFormatChangedEvents;\r
+\r
+typedef enum _BMDDetectedVideoInputFormatFlags BMDDetectedVideoInputFormatFlags;\r
+\r
+typedef enum _BMDTimecodeFlags BMDTimecodeFlags;\r
+\r
+typedef enum _BMDAnalogVideoFlags BMDAnalogVideoFlags;\r
+\r
+typedef enum _BMDDeckControlStatusFlags BMDDeckControlStatusFlags;\r
+\r
+typedef enum _BMDDeckControlExportModeOpsFlags BMDDeckControlExportModeOpsFlags;\r
+\r
+#endif\r
+typedef /* [v1_enum] */ \r
+enum _BMDDisplayMode\r
+ { bmdModeNTSC = 0x6e747363,\r
+ bmdModeNTSC2398 = 0x6e743233,\r
+ bmdModePAL = 0x70616c20,\r
+ bmdModeNTSCp = 0x6e747370,\r
+ bmdModePALp = 0x70616c70,\r
+ bmdModeHD1080p2398 = 0x32337073,\r
+ bmdModeHD1080p24 = 0x32347073,\r
+ bmdModeHD1080p25 = 0x48703235,\r
+ bmdModeHD1080p2997 = 0x48703239,\r
+ bmdModeHD1080p30 = 0x48703330,\r
+ bmdModeHD1080i50 = 0x48693530,\r
+ bmdModeHD1080i5994 = 0x48693539,\r
+ bmdModeHD1080i6000 = 0x48693630,\r
+ bmdModeHD1080p50 = 0x48703530,\r
+ bmdModeHD1080p5994 = 0x48703539,\r
+ bmdModeHD1080p6000 = 0x48703630,\r
+ bmdModeHD720p50 = 0x68703530,\r
+ bmdModeHD720p5994 = 0x68703539,\r
+ bmdModeHD720p60 = 0x68703630,\r
+ bmdMode2k2398 = 0x326b3233,\r
+ bmdMode2k24 = 0x326b3234,\r
+ bmdMode2k25 = 0x326b3235\r
+ } BMDDisplayMode;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDFieldDominance\r
+ { bmdUnknownFieldDominance = 0,\r
+ bmdLowerFieldFirst = 0x6c6f7772,\r
+ bmdUpperFieldFirst = 0x75707072,\r
+ bmdProgressiveFrame = 0x70726f67,\r
+ bmdProgressiveSegmentedFrame = 0x70736620\r
+ } BMDFieldDominance;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDPixelFormat\r
+ { bmdFormat8BitYUV = 0x32767579,\r
+ bmdFormat10BitYUV = 0x76323130,\r
+ bmdFormat8BitARGB = 32,\r
+ bmdFormat8BitBGRA = 0x42475241,\r
+ bmdFormat10BitRGB = 0x72323130\r
+ } BMDPixelFormat;\r
+\r
+/* [v1_enum] */ \r
+enum _BMDDisplayModeFlags\r
+ { bmdDisplayModeSupports3D = ( 1 << 0 ) ,\r
+ bmdDisplayModeColorspaceRec601 = ( 1 << 1 ) ,\r
+ bmdDisplayModeColorspaceRec709 = ( 1 << 2 ) \r
+ } ;\r
+typedef /* [v1_enum] */ \r
+enum _BMDVideoOutputFlags\r
+ { bmdVideoOutputFlagDefault = 0,\r
+ bmdVideoOutputVANC = ( 1 << 0 ) ,\r
+ bmdVideoOutputVITC = ( 1 << 1 ) ,\r
+ bmdVideoOutputRP188 = ( 1 << 2 ) ,\r
+ bmdVideoOutputDualStream3D = ( 1 << 4 ) \r
+ } BMDVideoOutputFlags;\r
+\r
+/* [v1_enum] */ \r
+enum _BMDFrameFlags\r
+ { bmdFrameFlagDefault = 0,\r
+ bmdFrameFlagFlipVertical = ( 1 << 0 ) ,\r
+ bmdFrameHasNoInputSource = ( 1 << 31 ) \r
+ } ;\r
+/* [v1_enum] */ \r
+enum _BMDVideoInputFlags\r
+ { bmdVideoInputFlagDefault = 0,\r
+ bmdVideoInputEnableFormatDetection = ( 1 << 0 ) ,\r
+ bmdVideoInputDualStream3D = ( 1 << 1 ) \r
+ } ;\r
+/* [v1_enum] */ \r
+enum _BMDVideoInputFormatChangedEvents\r
+ { bmdVideoInputDisplayModeChanged = ( 1 << 0 ) ,\r
+ bmdVideoInputFieldDominanceChanged = ( 1 << 1 ) ,\r
+ bmdVideoInputColorspaceChanged = ( 1 << 2 ) \r
+ } ;\r
+/* [v1_enum] */ \r
+enum _BMDDetectedVideoInputFormatFlags\r
+ { bmdDetectedVideoInputYCbCr422 = ( 1 << 0 ) ,\r
+ bmdDetectedVideoInputRGB444 = ( 1 << 1 ) \r
+ } ;\r
+typedef /* [v1_enum] */ \r
+enum _BMDOutputFrameCompletionResult\r
+ { bmdOutputFrameCompleted = 0,\r
+ bmdOutputFrameDisplayedLate = ( bmdOutputFrameCompleted + 1 ) ,\r
+ bmdOutputFrameDropped = ( bmdOutputFrameDisplayedLate + 1 ) ,\r
+ bmdOutputFrameFlushed = ( bmdOutputFrameDropped + 1 ) \r
+ } BMDOutputFrameCompletionResult;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDReferenceStatus\r
+ { bmdReferenceNotSupportedByHardware = ( 1 << 0 ) ,\r
+ bmdReferenceLocked = ( 1 << 1 ) \r
+ } BMDReferenceStatus;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDAudioSampleRate\r
+ { bmdAudioSampleRate48kHz = 48000\r
+ } BMDAudioSampleRate;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDAudioSampleType\r
+ { bmdAudioSampleType16bitInteger = 16,\r
+ bmdAudioSampleType32bitInteger = 32\r
+ } BMDAudioSampleType;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDAudioOutputStreamType\r
+ { bmdAudioOutputStreamContinuous = 0,\r
+ bmdAudioOutputStreamContinuousDontResample = ( bmdAudioOutputStreamContinuous + 1 ) ,\r
+ bmdAudioOutputStreamTimestamped = ( bmdAudioOutputStreamContinuousDontResample + 1 ) \r
+ } BMDAudioOutputStreamType;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDDisplayModeSupport\r
+ { bmdDisplayModeNotSupported = 0,\r
+ bmdDisplayModeSupported = ( bmdDisplayModeNotSupported + 1 ) ,\r
+ bmdDisplayModeSupportedWithConversion = ( bmdDisplayModeSupported + 1 ) \r
+ } BMDDisplayModeSupport;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDTimecodeFormat\r
+ { bmdTimecodeRP188 = 0x72703138,\r
+ bmdTimecodeRP188Field2 = 0x72703132,\r
+ bmdTimecodeVITC = 0x76697463,\r
+ bmdTimecodeVITCField2 = 0x76697432,\r
+ bmdTimecodeSerial = 0x73657269\r
+ } BMDTimecodeFormat;\r
+\r
+/* [v1_enum] */ \r
+enum _BMDTimecodeFlags\r
+ { bmdTimecodeFlagDefault = 0,\r
+ bmdTimecodeIsDropFrame = ( 1 << 0 ) \r
+ } ;\r
+typedef /* [v1_enum] */ \r
+enum _BMDVideoConnection\r
+ { bmdVideoConnectionSDI = ( 1 << 0 ) ,\r
+ bmdVideoConnectionHDMI = ( 1 << 1 ) ,\r
+ bmdVideoConnectionOpticalSDI = ( 1 << 2 ) ,\r
+ bmdVideoConnectionComponent = ( 1 << 3 ) ,\r
+ bmdVideoConnectionComposite = ( 1 << 4 ) ,\r
+ bmdVideoConnectionSVideo = ( 1 << 5 ) \r
+ } BMDVideoConnection;\r
+\r
+/* [v1_enum] */ \r
+enum _BMDAnalogVideoFlags\r
+ { bmdAnalogVideoFlagCompositeSetup75 = ( 1 << 0 ) ,\r
+ bmdAnalogVideoFlagComponentBetacamLevels = ( 1 << 1 ) \r
+ } ;\r
+typedef /* [v1_enum] */ \r
+enum _BMDAudioConnection\r
+ { bmdAudioConnectionEmbedded = 0x656d6264,\r
+ bmdAudioConnectionAESEBU = 0x61657320,\r
+ bmdAudioConnectionAnalog = 0x616e6c67\r
+ } BMDAudioConnection;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDAudioOutputAnalogAESSwitch\r
+ { bmdAudioOutputSwitchAESEBU = 0x61657320,\r
+ bmdAudioOutputSwitchAnalog = 0x616e6c67\r
+ } BMDAudioOutputAnalogAESSwitch;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDVideoOutputConversionMode\r
+ { bmdNoVideoOutputConversion = 0x6e6f6e65,\r
+ bmdVideoOutputLetterboxDownconversion = 0x6c746278,\r
+ bmdVideoOutputAnamorphicDownconversion = 0x616d7068,\r
+ bmdVideoOutputHD720toHD1080Conversion = 0x37323063,\r
+ bmdVideoOutputHardwareLetterboxDownconversion = 0x48576c62,\r
+ bmdVideoOutputHardwareAnamorphicDownconversion = 0x4857616d,\r
+ bmdVideoOutputHardwareCenterCutDownconversion = 0x48576363,\r
+ bmdVideoOutputHardware720p1080pCrossconversion = 0x78636170,\r
+ bmdVideoOutputHardwareAnamorphic720pUpconversion = 0x75613770,\r
+ bmdVideoOutputHardwareAnamorphic1080iUpconversion = 0x75613169,\r
+ bmdVideoOutputHardwareAnamorphic149To720pUpconversion = 0x75343770,\r
+ bmdVideoOutputHardwareAnamorphic149To1080iUpconversion = 0x75343169,\r
+ bmdVideoOutputHardwarePillarbox720pUpconversion = 0x75703770,\r
+ bmdVideoOutputHardwarePillarbox1080iUpconversion = 0x75703169\r
+ } BMDVideoOutputConversionMode;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDVideoInputConversionMode\r
+ { bmdNoVideoInputConversion = 0x6e6f6e65,\r
+ bmdVideoInputLetterboxDownconversionFromHD1080 = 0x31306c62,\r
+ bmdVideoInputAnamorphicDownconversionFromHD1080 = 0x3130616d,\r
+ bmdVideoInputLetterboxDownconversionFromHD720 = 0x37326c62,\r
+ bmdVideoInputAnamorphicDownconversionFromHD720 = 0x3732616d,\r
+ bmdVideoInputLetterboxUpconversion = 0x6c627570,\r
+ bmdVideoInputAnamorphicUpconversion = 0x616d7570\r
+ } BMDVideoInputConversionMode;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDVideo3DPackingFormat\r
+ { bmdVideo3DPackingSidebySideHalf = 0x73627368,\r
+ bmdVideo3DPackingLinebyLine = 0x6c62796c,\r
+ bmdVideo3DPackingTopAndBottom = 0x7461626f,\r
+ bmdVideo3DPackingFramePacking = 0x6672706b,\r
+ bmdVideo3DPackingLeftOnly = 0x6c656674,\r
+ bmdVideo3DPackingRightOnly = 0x72696768\r
+ } BMDVideo3DPackingFormat;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDIdleVideoOutputOperation\r
+ { bmdIdleVideoOutputBlack = 0x626c6163,\r
+ bmdIdleVideoOutputLastFrame = 0x6c616661\r
+ } BMDIdleVideoOutputOperation;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDDeckLinkConfigurationID\r
+ { bmdDeckLinkConfigSwapSerialRxTx = 0x73737274,\r
+ bmdDeckLinkConfigUse1080pNotPsF = 0x6670726f,\r
+ bmdDeckLinkConfigHDMI3DPackingFormat = 0x33647066,\r
+ bmdDeckLinkConfigBypass = 0x62797073,\r
+ bmdDeckLinkConfigAnalogAudioConsumerLevels = 0x6161636c,\r
+ bmdDeckLinkConfigFieldFlickerRemoval = 0x66646672,\r
+ bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 0x746f3539,\r
+ bmdDeckLinkConfig444SDIVideoOutput = 0x3434346f,\r
+ bmdDeckLinkConfig3GBpsVideoOutput = 0x33676273,\r
+ bmdDeckLinkConfigBlackVideoOutputDuringCapture = 0x62766f63,\r
+ bmdDeckLinkConfigLowLatencyVideoOutput = 0x6c6c766f,\r
+ bmdDeckLinkConfigVideoOutputConnection = 0x766f636e,\r
+ bmdDeckLinkConfigVideoOutputConversionMode = 0x766f636d,\r
+ bmdDeckLinkConfigAnalogVideoOutputFlags = 0x61766f66,\r
+ bmdDeckLinkConfigReferenceInputTimingOffset = 0x676c6f74,\r
+ bmdDeckLinkConfigVideoOutputIdleOperation = 0x766f696f,\r
+ bmdDeckLinkConfigVideoOutputComponentLumaGain = 0x6f636c67,\r
+ bmdDeckLinkConfigVideoOutputComponentChromaBlueGain = 0x6f636362,\r
+ bmdDeckLinkConfigVideoOutputComponentChromaRedGain = 0x6f636372,\r
+ bmdDeckLinkConfigVideoOutputCompositeLumaGain = 0x6f696c67,\r
+ bmdDeckLinkConfigVideoOutputCompositeChromaGain = 0x6f696367,\r
+ bmdDeckLinkConfigVideoOutputSVideoLumaGain = 0x6f736c67,\r
+ bmdDeckLinkConfigVideoOutputSVideoChromaGain = 0x6f736367,\r
+ bmdDeckLinkConfigVideoInputConnection = 0x7669636e,\r
+ bmdDeckLinkConfigAnalogVideoInputFlags = 0x61766966,\r
+ bmdDeckLinkConfigVideoInputConversionMode = 0x7669636d,\r
+ bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = 0x70646966,\r
+ bmdDeckLinkConfigVANCSourceLine1Mapping = 0x76736c31,\r
+ bmdDeckLinkConfigVANCSourceLine2Mapping = 0x76736c32,\r
+ bmdDeckLinkConfigVANCSourceLine3Mapping = 0x76736c33,\r
+ bmdDeckLinkConfigVideoInputComponentLumaGain = 0x69636c67,\r
+ bmdDeckLinkConfigVideoInputComponentChromaBlueGain = 0x69636362,\r
+ bmdDeckLinkConfigVideoInputComponentChromaRedGain = 0x69636372,\r
+ bmdDeckLinkConfigVideoInputCompositeLumaGain = 0x69696c67,\r
+ bmdDeckLinkConfigVideoInputCompositeChromaGain = 0x69696367,\r
+ bmdDeckLinkConfigVideoInputSVideoLumaGain = 0x69736c67,\r
+ bmdDeckLinkConfigVideoInputSVideoChromaGain = 0x69736367,\r
+ bmdDeckLinkConfigAudioInputConnection = 0x6169636e,\r
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = 0x61697331,\r
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = 0x61697332,\r
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 0x61697333,\r
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 0x61697334,\r
+ bmdDeckLinkConfigDigitalAudioInputScale = 0x64616973,\r
+ bmdDeckLinkConfigAudioOutputAESAnalogSwitch = 0x616f6161,\r
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = 0x616f7331,\r
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 0x616f7332,\r
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 0x616f7333,\r
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 0x616f7334,\r
+ bmdDeckLinkConfigDigitalAudioOutputScale = 0x64616f73\r
+ } BMDDeckLinkConfigurationID;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDDeckLinkAttributeID\r
+ { BMDDeckLinkSupportsInternalKeying = 0x6b657969,\r
+ BMDDeckLinkSupportsExternalKeying = 0x6b657965,\r
+ BMDDeckLinkSupportsHDKeying = 0x6b657968,\r
+ BMDDeckLinkSupportsInputFormatDetection = 0x696e6664,\r
+ BMDDeckLinkHasReferenceInput = 0x6872696e,\r
+ BMDDeckLinkHasSerialPort = 0x68737074,\r
+ BMDDeckLinkHasAnalogVideoOutputGain = 0x61766f67,\r
+ BMDDeckLinkCanOnlyAdjustOverallVideoOutputGain = 0x6f766f67,\r
+ BMDDeckLinkHasVideoInputAntiAliasingFilter = 0x6161666c,\r
+ BMDDeckLinkHasBypass = 0x62797073,\r
+ BMDDeckLinkMaximumAudioChannels = 0x6d616368,\r
+ BMDDeckLinkNumberOfSubDevices = 0x6e736264,\r
+ BMDDeckLinkSubDeviceIndex = 0x73756269,\r
+ BMDDeckLinkVideoOutputConnections = 0x766f636e,\r
+ BMDDeckLinkVideoInputConnections = 0x7669636e,\r
+ BMDDeckLinkVideoInputGainMinimum = 0x7669676d,\r
+ BMDDeckLinkVideoInputGainMaximum = 0x76696778,\r
+ BMDDeckLinkVideoOutputGainMinimum = 0x766f676d,\r
+ BMDDeckLinkVideoOutputGainMaximum = 0x766f6778,\r
+ BMDDeckLinkSerialPortDeviceName = 0x736c706e\r
+ } BMDDeckLinkAttributeID;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDDeckLinkAPIInformationID\r
+ { BMDDeckLinkAPIVersion = 0x76657273\r
+ } BMDDeckLinkAPIInformationID;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDDeckControlMode\r
+ { bmdDeckControlNotOpened = 0x6e746f70,\r
+ bmdDeckControlVTRControlMode = 0x76747263,\r
+ bmdDeckControlExportMode = 0x6578706d,\r
+ bmdDeckControlCaptureMode = 0x6361706d\r
+ } BMDDeckControlMode;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDDeckControlEvent\r
+ { bmdDeckControlAbortedEvent = 0x61627465,\r
+ bmdDeckControlPrepareForExportEvent = 0x70666565,\r
+ bmdDeckControlExportCompleteEvent = 0x65786365,\r
+ bmdDeckControlPrepareForCaptureEvent = 0x70666365,\r
+ bmdDeckControlCaptureCompleteEvent = 0x63636576\r
+ } BMDDeckControlEvent;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDDeckControlVTRControlState\r
+ { bmdDeckControlNotInVTRControlMode = 0x6e76636d,\r
+ bmdDeckControlVTRControlPlaying = 0x76747270,\r
+ bmdDeckControlVTRControlRecording = 0x76747272,\r
+ bmdDeckControlVTRControlStill = 0x76747261,\r
+ bmdDeckControlVTRControlSeeking = 0x76747273,\r
+ bmdDeckControlVTRControlStopped = 0x7674726f\r
+ } BMDDeckControlVTRControlState;\r
+\r
+/* [v1_enum] */ \r
+enum _BMDDeckControlStatusFlags\r
+ { bmdDeckControlStatusDeckConnected = ( 1 << 0 ) ,\r
+ bmdDeckControlStatusRemoteMode = ( 1 << 1 ) ,\r
+ bmdDeckControlStatusRecordInhibited = ( 1 << 2 ) ,\r
+ bmdDeckControlStatusCassetteOut = ( 1 << 3 ) \r
+ } ;\r
+/* [v1_enum] */ \r
+enum _BMDDeckControlExportModeOpsFlags\r
+ { bmdDeckControlExportModeInsertVideo = ( 1 << 0 ) ,\r
+ bmdDeckControlExportModeInsertAudio1 = ( 1 << 1 ) ,\r
+ bmdDeckControlExportModeInsertAudio2 = ( 1 << 2 ) ,\r
+ bmdDeckControlExportModeInsertAudio3 = ( 1 << 3 ) ,\r
+ bmdDeckControlExportModeInsertAudio4 = ( 1 << 4 ) ,\r
+ bmdDeckControlExportModeInsertAudio5 = ( 1 << 5 ) ,\r
+ bmdDeckControlExportModeInsertAudio6 = ( 1 << 6 ) ,\r
+ bmdDeckControlExportModeInsertAudio7 = ( 1 << 7 ) ,\r
+ bmdDeckControlExportModeInsertAudio8 = ( 1 << 8 ) ,\r
+ bmdDeckControlExportModeInsertAudio9 = ( 1 << 9 ) ,\r
+ bmdDeckControlExportModeInsertAudio10 = ( 1 << 10 ) ,\r
+ bmdDeckControlExportModeInsertAudio11 = ( 1 << 11 ) ,\r
+ bmdDeckControlExportModeInsertAudio12 = ( 1 << 12 ) ,\r
+ bmdDeckControlExportModeInsertTimeCode = ( 1 << 13 ) ,\r
+ bmdDeckControlExportModeInsertAssemble = ( 1 << 14 ) ,\r
+ bmdDeckControlExportModeInsertPreview = ( 1 << 15 ) ,\r
+ bmdDeckControlUseManualExport = ( 1 << 16 ) \r
+ } ;\r
+typedef /* [v1_enum] */ \r
+enum _BMDDeckControlError\r
+ { bmdDeckControlNoError = 0x6e6f6572,\r
+ bmdDeckControlModeError = 0x6d6f6572,\r
+ bmdDeckControlMissedInPointError = 0x6d696572,\r
+ bmdDeckControlDeckTimeoutError = 0x64746572,\r
+ bmdDeckControlCommandFailedError = 0x63666572,\r
+ bmdDeckControlDeviceAlreadyOpenedError = 0x64616c6f,\r
+ bmdDeckControlFailedToOpenDeviceError = 0x66646572,\r
+ bmdDeckControlInLocalModeError = 0x6c6d6572,\r
+ bmdDeckControlEndOfTapeError = 0x65746572,\r
+ bmdDeckControlUserAbortError = 0x75616572,\r
+ bmdDeckControlNoTapeInDeckError = 0x6e746572,\r
+ bmdDeckControlNoVideoFromCardError = 0x6e766663,\r
+ bmdDeckControlNoCommunicationError = 0x6e636f6d,\r
+ bmdDeckControlBufferTooSmallError = 0x6274736d,\r
+ bmdDeckControlBadChecksumError = 0x63686b73,\r
+ bmdDeckControlUnknownError = 0x756e6572\r
+ } BMDDeckControlError;\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMD3DPreviewFormat\r
+ { bmd3DPreviewFormatDefault = 0x64656661,\r
+ bmd3DPreviewFormatLeftOnly = 0x6c656674,\r
+ bmd3DPreviewFormatRightOnly = 0x72696768,\r
+ bmd3DPreviewFormatSideBySide = 0x73696465,\r
+ bmd3DPreviewFormatTopBottom = 0x746f7062\r
+ } BMD3DPreviewFormat;\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+typedef /* [v1_enum] */ \r
+enum _BMDVideoConnection_v7_6\r
+ { bmdVideoConnectionSDI_v7_6 = 0x73646920,\r
+ bmdVideoConnectionHDMI_v7_6 = 0x68646d69,\r
+ bmdVideoConnectionOpticalSDI_v7_6 = 0x6f707469,\r
+ bmdVideoConnectionComponent_v7_6 = 0x63706e74,\r
+ bmdVideoConnectionComposite_v7_6 = 0x636d7374,\r
+ bmdVideoConnectionSVideo_v7_6 = 0x73766964\r
+ } BMDVideoConnection_v7_6;\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+EXTERN_C const IID LIBID_DeckLinkAPI;\r
+\r
+#ifndef __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoOutputCallback */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoOutputCallback;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("20AA5225-1958-47CB-820B-80A8D521A6EE")\r
+ IDeckLinkVideoOutputCallback : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( \r
+ /* [in] */ IDeckLinkVideoFrame *completedFrame,\r
+ /* [in] */ BMDOutputFrameCompletionResult result) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoOutputCallbackVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoOutputCallback * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoOutputCallback * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoOutputCallback * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( \r
+ IDeckLinkVideoOutputCallback * This,\r
+ /* [in] */ IDeckLinkVideoFrame *completedFrame,\r
+ /* [in] */ BMDOutputFrameCompletionResult result);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )( \r
+ IDeckLinkVideoOutputCallback * This);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoOutputCallbackVtbl;\r
+\r
+ interface IDeckLinkVideoOutputCallback\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoOutputCallbackVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoOutputCallback_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoOutputCallback_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoOutputCallback_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(This,completedFrame,result) \\r
+ ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) \r
+\r
+#define IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(This) \\r
+ ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInputCallback_INTERFACE_DEFINED__\r
+#define __IDeckLinkInputCallback_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkInputCallback */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkInputCallback;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("DD04E5EC-7415-42AB-AE4A-E80C4DFC044A")\r
+ IDeckLinkInputCallback : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( \r
+ /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,\r
+ /* [in] */ IDeckLinkDisplayMode *newDisplayMode,\r
+ /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( \r
+ /* [in] */ IDeckLinkVideoInputFrame *videoFrame,\r
+ /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkInputCallbackVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkInputCallback * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkInputCallback * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkInputCallback * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( \r
+ IDeckLinkInputCallback * This,\r
+ /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,\r
+ /* [in] */ IDeckLinkDisplayMode *newDisplayMode,\r
+ /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( \r
+ IDeckLinkInputCallback * This,\r
+ /* [in] */ IDeckLinkVideoInputFrame *videoFrame,\r
+ /* [in] */ IDeckLinkAudioInputPacket *audioPacket);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkInputCallbackVtbl;\r
+\r
+ interface IDeckLinkInputCallback\r
+ {\r
+ CONST_VTBL struct IDeckLinkInputCallbackVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkInputCallback_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkInputCallback_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkInputCallback_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkInputCallback_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \\r
+ ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) \r
+\r
+#define IDeckLinkInputCallback_VideoInputFrameArrived(This,videoFrame,audioPacket) \\r
+ ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkInputCallback_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__\r
+#define __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkMemoryAllocator */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkMemoryAllocator;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("B36EB6E7-9D29-4AA8-92EF-843B87A289E8")\r
+ IDeckLinkMemoryAllocator : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE AllocateBuffer( \r
+ /* [in] */ unsigned long bufferSize,\r
+ /* [out] */ void **allocatedBuffer) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( \r
+ /* [in] */ void *buffer) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkMemoryAllocatorVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkMemoryAllocator * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkMemoryAllocator * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkMemoryAllocator * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )( \r
+ IDeckLinkMemoryAllocator * This,\r
+ /* [in] */ unsigned long bufferSize,\r
+ /* [out] */ void **allocatedBuffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( \r
+ IDeckLinkMemoryAllocator * This,\r
+ /* [in] */ void *buffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Commit )( \r
+ IDeckLinkMemoryAllocator * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Decommit )( \r
+ IDeckLinkMemoryAllocator * This);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkMemoryAllocatorVtbl;\r
+\r
+ interface IDeckLinkMemoryAllocator\r
+ {\r
+ CONST_VTBL struct IDeckLinkMemoryAllocatorVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkMemoryAllocator_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkMemoryAllocator_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkMemoryAllocator_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkMemoryAllocator_AllocateBuffer(This,bufferSize,allocatedBuffer) \\r
+ ( (This)->lpVtbl -> AllocateBuffer(This,bufferSize,allocatedBuffer) ) \r
+\r
+#define IDeckLinkMemoryAllocator_ReleaseBuffer(This,buffer) \\r
+ ( (This)->lpVtbl -> ReleaseBuffer(This,buffer) ) \r
+\r
+#define IDeckLinkMemoryAllocator_Commit(This) \\r
+ ( (This)->lpVtbl -> Commit(This) ) \r
+\r
+#define IDeckLinkMemoryAllocator_Decommit(This) \\r
+ ( (This)->lpVtbl -> Decommit(This) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__\r
+#define __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkAudioOutputCallback */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkAudioOutputCallback;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("403C681B-7F46-4A12-B993-2BB127084EE6")\r
+ IDeckLinkAudioOutputCallback : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples( \r
+ /* [in] */ BOOL preroll) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkAudioOutputCallbackVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkAudioOutputCallback * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkAudioOutputCallback * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkAudioOutputCallback * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *RenderAudioSamples )( \r
+ IDeckLinkAudioOutputCallback * This,\r
+ /* [in] */ BOOL preroll);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkAudioOutputCallbackVtbl;\r
+\r
+ interface IDeckLinkAudioOutputCallback\r
+ {\r
+ CONST_VTBL struct IDeckLinkAudioOutputCallbackVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkAudioOutputCallback_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkAudioOutputCallback_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkAudioOutputCallback_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkAudioOutputCallback_RenderAudioSamples(This,preroll) \\r
+ ( (This)->lpVtbl -> RenderAudioSamples(This,preroll) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkIterator_INTERFACE_DEFINED__\r
+#define __IDeckLinkIterator_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkIterator */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkIterator;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("74E936FC-CC28-4A67-81A0-1E94E52D4E69")\r
+ IDeckLinkIterator : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE Next( \r
+ /* [out] */ IDeckLink **deckLinkInstance) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkIteratorVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkIterator * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkIterator * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkIterator * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Next )( \r
+ IDeckLinkIterator * This,\r
+ /* [out] */ IDeckLink **deckLinkInstance);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkIteratorVtbl;\r
+\r
+ interface IDeckLinkIterator\r
+ {\r
+ CONST_VTBL struct IDeckLinkIteratorVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkIterator_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkIterator_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkIterator_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkIterator_Next(This,deckLinkInstance) \\r
+ ( (This)->lpVtbl -> Next(This,deckLinkInstance) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkIterator_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkAPIInformation_INTERFACE_DEFINED__\r
+#define __IDeckLinkAPIInformation_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkAPIInformation */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkAPIInformation;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("7BEA3C68-730D-4322-AF34-8A7152B532A4")\r
+ IDeckLinkAPIInformation : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetFlag( \r
+ /* [in] */ BMDDeckLinkAPIInformationID cfgID,\r
+ /* [out] */ BOOL *value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetInt( \r
+ /* [in] */ BMDDeckLinkAPIInformationID cfgID,\r
+ /* [out] */ LONGLONG *value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetFloat( \r
+ /* [in] */ BMDDeckLinkAPIInformationID cfgID,\r
+ /* [out] */ double *value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetString( \r
+ /* [in] */ BMDDeckLinkAPIInformationID cfgID,\r
+ /* [out] */ BSTR *value) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkAPIInformationVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkAPIInformation * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkAPIInformation * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkAPIInformation * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetFlag )( \r
+ IDeckLinkAPIInformation * This,\r
+ /* [in] */ BMDDeckLinkAPIInformationID cfgID,\r
+ /* [out] */ BOOL *value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetInt )( \r
+ IDeckLinkAPIInformation * This,\r
+ /* [in] */ BMDDeckLinkAPIInformationID cfgID,\r
+ /* [out] */ LONGLONG *value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetFloat )( \r
+ IDeckLinkAPIInformation * This,\r
+ /* [in] */ BMDDeckLinkAPIInformationID cfgID,\r
+ /* [out] */ double *value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetString )( \r
+ IDeckLinkAPIInformation * This,\r
+ /* [in] */ BMDDeckLinkAPIInformationID cfgID,\r
+ /* [out] */ BSTR *value);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkAPIInformationVtbl;\r
+\r
+ interface IDeckLinkAPIInformation\r
+ {\r
+ CONST_VTBL struct IDeckLinkAPIInformationVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkAPIInformation_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkAPIInformation_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkAPIInformation_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkAPIInformation_GetFlag(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) \r
+\r
+#define IDeckLinkAPIInformation_GetInt(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) \r
+\r
+#define IDeckLinkAPIInformation_GetFloat(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) \r
+\r
+#define IDeckLinkAPIInformation_GetString(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetString(This,cfgID,value) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkAPIInformation_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__\r
+#define __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkDisplayModeIterator */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkDisplayModeIterator;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("9C88499F-F601-4021-B80B-032E4EB41C35")\r
+ IDeckLinkDisplayModeIterator : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE Next( \r
+ /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkDisplayModeIteratorVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkDisplayModeIterator * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkDisplayModeIterator * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkDisplayModeIterator * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Next )( \r
+ IDeckLinkDisplayModeIterator * This,\r
+ /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkDisplayModeIteratorVtbl;\r
+\r
+ interface IDeckLinkDisplayModeIterator\r
+ {\r
+ CONST_VTBL struct IDeckLinkDisplayModeIteratorVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkDisplayModeIterator_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkDisplayModeIterator_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkDisplayModeIterator_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkDisplayModeIterator_Next(This,deckLinkDisplayMode) \\r
+ ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayMode_INTERFACE_DEFINED__\r
+#define __IDeckLinkDisplayMode_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkDisplayMode */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkDisplayMode;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("3EB2C1AB-0A3D-4523-A3AD-F40D7FB14E78")\r
+ IDeckLinkDisplayMode : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetName( \r
+ /* [out] */ BSTR *name) = 0;\r
+ \r
+ virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetWidth( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetHeight( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetFrameRate( \r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ /* [out] */ BMDTimeScale *timeScale) = 0;\r
+ \r
+ virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0;\r
+ \r
+ virtual BMDDisplayModeFlags STDMETHODCALLTYPE GetFlags( void) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkDisplayModeVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkDisplayMode * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkDisplayMode * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkDisplayMode * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetName )( \r
+ IDeckLinkDisplayMode * This,\r
+ /* [out] */ BSTR *name);\r
+ \r
+ BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( \r
+ IDeckLinkDisplayMode * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkDisplayMode * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkDisplayMode * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( \r
+ IDeckLinkDisplayMode * This,\r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ /* [out] */ BMDTimeScale *timeScale);\r
+ \r
+ BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )( \r
+ IDeckLinkDisplayMode * This);\r
+ \r
+ BMDDisplayModeFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkDisplayMode * This);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkDisplayModeVtbl;\r
+\r
+ interface IDeckLinkDisplayMode\r
+ {\r
+ CONST_VTBL struct IDeckLinkDisplayModeVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkDisplayMode_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkDisplayMode_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkDisplayMode_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkDisplayMode_GetName(This,name) \\r
+ ( (This)->lpVtbl -> GetName(This,name) ) \r
+\r
+#define IDeckLinkDisplayMode_GetDisplayMode(This) \\r
+ ( (This)->lpVtbl -> GetDisplayMode(This) ) \r
+\r
+#define IDeckLinkDisplayMode_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkDisplayMode_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkDisplayMode_GetFrameRate(This,frameDuration,timeScale) \\r
+ ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) \r
+\r
+#define IDeckLinkDisplayMode_GetFieldDominance(This) \\r
+ ( (This)->lpVtbl -> GetFieldDominance(This) ) \r
+\r
+#define IDeckLinkDisplayMode_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkDisplayMode_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLink_INTERFACE_DEFINED__\r
+#define __IDeckLink_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLink */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLink;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("62BFF75D-6569-4E55-8D4D-66AA03829ABC")\r
+ IDeckLink : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetModelName( \r
+ /* [out] */ BSTR *modelName) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLink * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLink * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLink * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetModelName )( \r
+ IDeckLink * This,\r
+ /* [out] */ BSTR *modelName);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVtbl;\r
+\r
+ interface IDeckLink\r
+ {\r
+ CONST_VTBL struct IDeckLinkVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLink_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLink_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLink_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLink_GetModelName(This,modelName) \\r
+ ( (This)->lpVtbl -> GetModelName(This,modelName) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLink_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkOutput_INTERFACE_DEFINED__\r
+#define __IDeckLinkOutput_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkOutput */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkOutput;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("A3EF0963-0862-44ED-92A9-EE89ABF431C7")\r
+ IDeckLinkOutput : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( \r
+ /* [in] */ BMDDisplayMode displayMode,\r
+ /* [in] */ BMDPixelFormat pixelFormat,\r
+ /* [in] */ BMDVideoOutputFlags flags,\r
+ /* [out] */ BMDDisplayModeSupport *result,\r
+ /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( \r
+ /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( \r
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( \r
+ /* [in] */ BMDDisplayMode displayMode,\r
+ /* [in] */ BMDVideoOutputFlags flags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( \r
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( \r
+ /* [in] */ long width,\r
+ /* [in] */ long height,\r
+ /* [in] */ long rowBytes,\r
+ /* [in] */ BMDPixelFormat pixelFormat,\r
+ /* [in] */ BMDFrameFlags flags,\r
+ /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( \r
+ /* [in] */ BMDPixelFormat pixelFormat,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( \r
+ /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( \r
+ /* [in] */ IDeckLinkVideoFrame *theFrame,\r
+ /* [in] */ BMDTimeValue displayTime,\r
+ /* [in] */ BMDTimeValue displayDuration,\r
+ /* [in] */ BMDTimeScale timeScale) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( \r
+ /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( \r
+ /* [out] */ unsigned long *bufferedFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( \r
+ /* [in] */ BMDAudioSampleRate sampleRate,\r
+ /* [in] */ BMDAudioSampleType sampleType,\r
+ /* [in] */ unsigned long channelCount,\r
+ /* [in] */ BMDAudioOutputStreamType streamType) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( \r
+ /* [in] */ void *buffer,\r
+ /* [in] */ unsigned long sampleFrameCount,\r
+ /* [out] */ unsigned long *sampleFramesWritten) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( \r
+ /* [in] */ void *buffer,\r
+ /* [in] */ unsigned long sampleFrameCount,\r
+ /* [in] */ BMDTimeValue streamTime,\r
+ /* [in] */ BMDTimeScale timeScale,\r
+ /* [out] */ unsigned long *sampleFramesWritten) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( \r
+ /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( \r
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( \r
+ /* [in] */ BMDTimeValue playbackStartTime,\r
+ /* [in] */ BMDTimeScale timeScale,\r
+ /* [in] */ double playbackSpeed) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( \r
+ /* [in] */ BMDTimeValue stopPlaybackAtTime,\r
+ /* [out] */ BMDTimeValue *actualStopTime,\r
+ /* [in] */ BMDTimeScale timeScale) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( \r
+ /* [out] */ BOOL *active) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( \r
+ /* [in] */ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *streamTime,\r
+ /* [out] */ double *playbackSpeed) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus( \r
+ /* [out] */ BMDReferenceStatus *referenceStatus) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( \r
+ /* [in] */ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *hardwareTime,\r
+ /* [out] */ BMDTimeValue *timeInFrame,\r
+ /* [out] */ BMDTimeValue *ticksPerFrame) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkOutputVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkOutput * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkOutput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ BMDDisplayMode displayMode,\r
+ /* [in] */ BMDPixelFormat pixelFormat,\r
+ /* [in] */ BMDVideoOutputFlags flags,\r
+ /* [out] */ BMDDisplayModeSupport *result,\r
+ /* [out] */ IDeckLinkDisplayMode **resultDisplayMode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( \r
+ IDeckLinkOutput * This,\r
+ /* [out] */ IDeckLinkDisplayModeIterator **iterator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ BMDDisplayMode displayMode,\r
+ /* [in] */ BMDVideoOutputFlags flags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( \r
+ IDeckLinkOutput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ long width,\r
+ /* [in] */ long height,\r
+ /* [in] */ long rowBytes,\r
+ /* [in] */ BMDPixelFormat pixelFormat,\r
+ /* [in] */ BMDFrameFlags flags,\r
+ /* [out] */ IDeckLinkMutableVideoFrame **outFrame);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ BMDPixelFormat pixelFormat,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ IDeckLinkVideoFrame *theFrame);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ IDeckLinkVideoFrame *theFrame,\r
+ /* [in] */ BMDTimeValue displayTime,\r
+ /* [in] */ BMDTimeValue displayDuration,\r
+ /* [in] */ BMDTimeScale timeScale);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ IDeckLinkVideoOutputCallback *theCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( \r
+ IDeckLinkOutput * This,\r
+ /* [out] */ unsigned long *bufferedFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ BMDAudioSampleRate sampleRate,\r
+ /* [in] */ BMDAudioSampleType sampleType,\r
+ /* [in] */ unsigned long channelCount,\r
+ /* [in] */ BMDAudioOutputStreamType streamType);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( \r
+ IDeckLinkOutput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ void *buffer,\r
+ /* [in] */ unsigned long sampleFrameCount,\r
+ /* [out] */ unsigned long *sampleFramesWritten);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( \r
+ IDeckLinkOutput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( \r
+ IDeckLinkOutput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ void *buffer,\r
+ /* [in] */ unsigned long sampleFrameCount,\r
+ /* [in] */ BMDTimeValue streamTime,\r
+ /* [in] */ BMDTimeScale timeScale,\r
+ /* [out] */ unsigned long *sampleFramesWritten);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( \r
+ IDeckLinkOutput * This,\r
+ /* [out] */ unsigned long *bufferedSampleFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( \r
+ IDeckLinkOutput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ BMDTimeValue playbackStartTime,\r
+ /* [in] */ BMDTimeScale timeScale,\r
+ /* [in] */ double playbackSpeed);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ BMDTimeValue stopPlaybackAtTime,\r
+ /* [out] */ BMDTimeValue *actualStopTime,\r
+ /* [in] */ BMDTimeScale timeScale);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( \r
+ IDeckLinkOutput * This,\r
+ /* [out] */ BOOL *active);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *streamTime,\r
+ /* [out] */ double *playbackSpeed);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )( \r
+ IDeckLinkOutput * This,\r
+ /* [out] */ BMDReferenceStatus *referenceStatus);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( \r
+ IDeckLinkOutput * This,\r
+ /* [in] */ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *hardwareTime,\r
+ /* [out] */ BMDTimeValue *timeInFrame,\r
+ /* [out] */ BMDTimeValue *ticksPerFrame);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkOutputVtbl;\r
+\r
+ interface IDeckLinkOutput\r
+ {\r
+ CONST_VTBL struct IDeckLinkOutputVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkOutput_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkOutput_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkOutput_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkOutput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \\r
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) \r
+\r
+#define IDeckLinkOutput_GetDisplayModeIterator(This,iterator) \\r
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) \r
+\r
+#define IDeckLinkOutput_SetScreenPreviewCallback(This,previewCallback) \\r
+ ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) \r
+\r
+#define IDeckLinkOutput_EnableVideoOutput(This,displayMode,flags) \\r
+ ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) \r
+\r
+#define IDeckLinkOutput_DisableVideoOutput(This) \\r
+ ( (This)->lpVtbl -> DisableVideoOutput(This) ) \r
+\r
+#define IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \\r
+ ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) \r
+\r
+#define IDeckLinkOutput_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \\r
+ ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) \r
+\r
+#define IDeckLinkOutput_CreateAncillaryData(This,pixelFormat,outBuffer) \\r
+ ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) \r
+\r
+#define IDeckLinkOutput_DisplayVideoFrameSync(This,theFrame) \\r
+ ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) \r
+\r
+#define IDeckLinkOutput_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \\r
+ ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) \r
+\r
+#define IDeckLinkOutput_SetScheduledFrameCompletionCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) \r
+\r
+#define IDeckLinkOutput_GetBufferedVideoFrameCount(This,bufferedFrameCount) \\r
+ ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) \r
+\r
+#define IDeckLinkOutput_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \\r
+ ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) \r
+\r
+#define IDeckLinkOutput_DisableAudioOutput(This) \\r
+ ( (This)->lpVtbl -> DisableAudioOutput(This) ) \r
+\r
+#define IDeckLinkOutput_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \\r
+ ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) \r
+\r
+#define IDeckLinkOutput_BeginAudioPreroll(This) \\r
+ ( (This)->lpVtbl -> BeginAudioPreroll(This) ) \r
+\r
+#define IDeckLinkOutput_EndAudioPreroll(This) \\r
+ ( (This)->lpVtbl -> EndAudioPreroll(This) ) \r
+\r
+#define IDeckLinkOutput_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \\r
+ ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) \r
+\r
+#define IDeckLinkOutput_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \\r
+ ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) \r
+\r
+#define IDeckLinkOutput_FlushBufferedAudioSamples(This) \\r
+ ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) \r
+\r
+#define IDeckLinkOutput_SetAudioCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) \r
+\r
+#define IDeckLinkOutput_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \\r
+ ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) \r
+\r
+#define IDeckLinkOutput_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \\r
+ ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) \r
+\r
+#define IDeckLinkOutput_IsScheduledPlaybackRunning(This,active) \\r
+ ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) \r
+\r
+#define IDeckLinkOutput_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \\r
+ ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) \r
+\r
+#define IDeckLinkOutput_GetReferenceStatus(This,referenceStatus) \\r
+ ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) ) \r
+\r
+#define IDeckLinkOutput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \\r
+ ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkOutput_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInput_INTERFACE_DEFINED__\r
+#define __IDeckLinkInput_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkInput */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkInput;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("6D40EF78-28B9-4E21-990D-95BB7750A04F")\r
+ IDeckLinkInput : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( \r
+ /* [in] */ BMDDisplayMode displayMode,\r
+ /* [in] */ BMDPixelFormat pixelFormat,\r
+ /* [in] */ BMDVideoInputFlags flags,\r
+ /* [out] */ BMDDisplayModeSupport *result,\r
+ /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( \r
+ /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( \r
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( \r
+ /* [in] */ BMDDisplayMode displayMode,\r
+ /* [in] */ BMDPixelFormat pixelFormat,\r
+ /* [in] */ BMDVideoInputFlags flags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( \r
+ /* [out] */ unsigned long *availableFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( \r
+ /* [in] */ BMDAudioSampleRate sampleRate,\r
+ /* [in] */ BMDAudioSampleType sampleType,\r
+ /* [in] */ unsigned long channelCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( \r
+ /* [out] */ unsigned long *availableSampleFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetCallback( \r
+ /* [in] */ IDeckLinkInputCallback *theCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( \r
+ /* [in] */ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *hardwareTime,\r
+ /* [out] */ BMDTimeValue *timeInFrame,\r
+ /* [out] */ BMDTimeValue *ticksPerFrame) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkInputVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkInput * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkInput * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkInput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( \r
+ IDeckLinkInput * This,\r
+ /* [in] */ BMDDisplayMode displayMode,\r
+ /* [in] */ BMDPixelFormat pixelFormat,\r
+ /* [in] */ BMDVideoInputFlags flags,\r
+ /* [out] */ BMDDisplayModeSupport *result,\r
+ /* [out] */ IDeckLinkDisplayMode **resultDisplayMode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( \r
+ IDeckLinkInput * This,\r
+ /* [out] */ IDeckLinkDisplayModeIterator **iterator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( \r
+ IDeckLinkInput * This,\r
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( \r
+ IDeckLinkInput * This,\r
+ /* [in] */ BMDDisplayMode displayMode,\r
+ /* [in] */ BMDPixelFormat pixelFormat,\r
+ /* [in] */ BMDVideoInputFlags flags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( \r
+ IDeckLinkInput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( \r
+ IDeckLinkInput * This,\r
+ /* [out] */ unsigned long *availableFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( \r
+ IDeckLinkInput * This,\r
+ /* [in] */ BMDAudioSampleRate sampleRate,\r
+ /* [in] */ BMDAudioSampleType sampleType,\r
+ /* [in] */ unsigned long channelCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( \r
+ IDeckLinkInput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( \r
+ IDeckLinkInput * This,\r
+ /* [out] */ unsigned long *availableSampleFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartStreams )( \r
+ IDeckLinkInput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StopStreams )( \r
+ IDeckLinkInput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *PauseStreams )( \r
+ IDeckLinkInput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *FlushStreams )( \r
+ IDeckLinkInput * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetCallback )( \r
+ IDeckLinkInput * This,\r
+ /* [in] */ IDeckLinkInputCallback *theCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( \r
+ IDeckLinkInput * This,\r
+ /* [in] */ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *hardwareTime,\r
+ /* [out] */ BMDTimeValue *timeInFrame,\r
+ /* [out] */ BMDTimeValue *ticksPerFrame);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkInputVtbl;\r
+\r
+ interface IDeckLinkInput\r
+ {\r
+ CONST_VTBL struct IDeckLinkInputVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkInput_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkInput_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkInput_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkInput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \\r
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) \r
+\r
+#define IDeckLinkInput_GetDisplayModeIterator(This,iterator) \\r
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) \r
+\r
+#define IDeckLinkInput_SetScreenPreviewCallback(This,previewCallback) \\r
+ ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) \r
+\r
+#define IDeckLinkInput_EnableVideoInput(This,displayMode,pixelFormat,flags) \\r
+ ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) \r
+\r
+#define IDeckLinkInput_DisableVideoInput(This) \\r
+ ( (This)->lpVtbl -> DisableVideoInput(This) ) \r
+\r
+#define IDeckLinkInput_GetAvailableVideoFrameCount(This,availableFrameCount) \\r
+ ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) \r
+\r
+#define IDeckLinkInput_EnableAudioInput(This,sampleRate,sampleType,channelCount) \\r
+ ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) \r
+\r
+#define IDeckLinkInput_DisableAudioInput(This) \\r
+ ( (This)->lpVtbl -> DisableAudioInput(This) ) \r
+\r
+#define IDeckLinkInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \\r
+ ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) \r
+\r
+#define IDeckLinkInput_StartStreams(This) \\r
+ ( (This)->lpVtbl -> StartStreams(This) ) \r
+\r
+#define IDeckLinkInput_StopStreams(This) \\r
+ ( (This)->lpVtbl -> StopStreams(This) ) \r
+\r
+#define IDeckLinkInput_PauseStreams(This) \\r
+ ( (This)->lpVtbl -> PauseStreams(This) ) \r
+\r
+#define IDeckLinkInput_FlushStreams(This) \\r
+ ( (This)->lpVtbl -> FlushStreams(This) ) \r
+\r
+#define IDeckLinkInput_SetCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetCallback(This,theCallback) ) \r
+\r
+#define IDeckLinkInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \\r
+ ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkInput_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkTimecode_INTERFACE_DEFINED__\r
+#define __IDeckLinkTimecode_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkTimecode */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkTimecode;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("BC6CFBD3-8317-4325-AC1C-1216391E9340")\r
+ IDeckLinkTimecode : public IUnknown\r
+ {\r
+ public:\r
+ virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetComponents( \r
+ /* [out] */ unsigned char *hours,\r
+ /* [out] */ unsigned char *minutes,\r
+ /* [out] */ unsigned char *seconds,\r
+ /* [out] */ unsigned char *frames) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetString( \r
+ /* [out] */ BSTR *timecode) = 0;\r
+ \r
+ virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetTimecodeUserBits( \r
+ /* [out] */ BMDTimecodeUserBits *userBits) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkTimecodeVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkTimecode * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkTimecode * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkTimecode * This);\r
+ \r
+ BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )( \r
+ IDeckLinkTimecode * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetComponents )( \r
+ IDeckLinkTimecode * This,\r
+ /* [out] */ unsigned char *hours,\r
+ /* [out] */ unsigned char *minutes,\r
+ /* [out] */ unsigned char *seconds,\r
+ /* [out] */ unsigned char *frames);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetString )( \r
+ IDeckLinkTimecode * This,\r
+ /* [out] */ BSTR *timecode);\r
+ \r
+ BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkTimecode * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecodeUserBits )( \r
+ IDeckLinkTimecode * This,\r
+ /* [out] */ BMDTimecodeUserBits *userBits);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkTimecodeVtbl;\r
+\r
+ interface IDeckLinkTimecode\r
+ {\r
+ CONST_VTBL struct IDeckLinkTimecodeVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkTimecode_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkTimecode_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkTimecode_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkTimecode_GetBCD(This) \\r
+ ( (This)->lpVtbl -> GetBCD(This) ) \r
+\r
+#define IDeckLinkTimecode_GetComponents(This,hours,minutes,seconds,frames) \\r
+ ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) ) \r
+\r
+#define IDeckLinkTimecode_GetString(This,timecode) \\r
+ ( (This)->lpVtbl -> GetString(This,timecode) ) \r
+\r
+#define IDeckLinkTimecode_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#define IDeckLinkTimecode_GetTimecodeUserBits(This,userBits) \\r
+ ( (This)->lpVtbl -> GetTimecodeUserBits(This,userBits) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkTimecode_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoFrame_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoFrame_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoFrame */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoFrame;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("3F716FE0-F023-4111-BE5D-EF4414C05B17")\r
+ IDeckLinkVideoFrame : public IUnknown\r
+ {\r
+ public:\r
+ virtual long STDMETHODCALLTYPE GetWidth( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetHeight( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;\r
+ \r
+ virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;\r
+ \r
+ virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBytes( \r
+ /* [out] */ void **buffer) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetTimecode( \r
+ /* [in] */ BMDTimecodeFormat format,\r
+ /* [out] */ IDeckLinkTimecode **timecode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAncillaryData( \r
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoFrameVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoFrame * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoFrame * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoFrame * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkVideoFrame * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkVideoFrame * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetRowBytes )( \r
+ IDeckLinkVideoFrame * This);\r
+ \r
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( \r
+ IDeckLinkVideoFrame * This);\r
+ \r
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkVideoFrame * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )( \r
+ IDeckLinkVideoFrame * This,\r
+ /* [out] */ void **buffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )( \r
+ IDeckLinkVideoFrame * This,\r
+ /* [in] */ BMDTimecodeFormat format,\r
+ /* [out] */ IDeckLinkTimecode **timecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( \r
+ IDeckLinkVideoFrame * This,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoFrameVtbl;\r
+\r
+ interface IDeckLinkVideoFrame\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoFrameVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoFrame_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoFrame_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoFrame_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoFrame_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkVideoFrame_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkVideoFrame_GetRowBytes(This) \\r
+ ( (This)->lpVtbl -> GetRowBytes(This) ) \r
+\r
+#define IDeckLinkVideoFrame_GetPixelFormat(This) \\r
+ ( (This)->lpVtbl -> GetPixelFormat(This) ) \r
+\r
+#define IDeckLinkVideoFrame_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#define IDeckLinkVideoFrame_GetBytes(This,buffer) \\r
+ ( (This)->lpVtbl -> GetBytes(This,buffer) ) \r
+\r
+#define IDeckLinkVideoFrame_GetTimecode(This,format,timecode) \\r
+ ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) \r
+\r
+#define IDeckLinkVideoFrame_GetAncillaryData(This,ancillary) \\r
+ ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoFrame_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__\r
+#define __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkMutableVideoFrame */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkMutableVideoFrame;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("69E2639F-40DA-4E19-B6F2-20ACE815C390")\r
+ IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE SetFlags( \r
+ /* [in] */ BMDFrameFlags newFlags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetTimecode( \r
+ /* [in] */ BMDTimecodeFormat format,\r
+ /* [in] */ IDeckLinkTimecode *timecode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents( \r
+ /* [in] */ BMDTimecodeFormat format,\r
+ /* [in] */ unsigned char hours,\r
+ /* [in] */ unsigned char minutes,\r
+ /* [in] */ unsigned char seconds,\r
+ /* [in] */ unsigned char frames,\r
+ /* [in] */ BMDTimecodeFlags flags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetAncillaryData( \r
+ /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetTimecodeUserBits( \r
+ /* [in] */ BMDTimecodeFormat format,\r
+ /* [in] */ BMDTimecodeUserBits userBits) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkMutableVideoFrameVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkMutableVideoFrame * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkMutableVideoFrame * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkMutableVideoFrame * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkMutableVideoFrame * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkMutableVideoFrame * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetRowBytes )( \r
+ IDeckLinkMutableVideoFrame * This);\r
+ \r
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( \r
+ IDeckLinkMutableVideoFrame * This);\r
+ \r
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkMutableVideoFrame * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )( \r
+ IDeckLinkMutableVideoFrame * This,\r
+ /* [out] */ void **buffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )( \r
+ IDeckLinkMutableVideoFrame * This,\r
+ /* [in] */ BMDTimecodeFormat format,\r
+ /* [out] */ IDeckLinkTimecode **timecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( \r
+ IDeckLinkMutableVideoFrame * This,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetFlags )( \r
+ IDeckLinkMutableVideoFrame * This,\r
+ /* [in] */ BMDFrameFlags newFlags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetTimecode )( \r
+ IDeckLinkMutableVideoFrame * This,\r
+ /* [in] */ BMDTimecodeFormat format,\r
+ /* [in] */ IDeckLinkTimecode *timecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )( \r
+ IDeckLinkMutableVideoFrame * This,\r
+ /* [in] */ BMDTimecodeFormat format,\r
+ /* [in] */ unsigned char hours,\r
+ /* [in] */ unsigned char minutes,\r
+ /* [in] */ unsigned char seconds,\r
+ /* [in] */ unsigned char frames,\r
+ /* [in] */ BMDTimecodeFlags flags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )( \r
+ IDeckLinkMutableVideoFrame * This,\r
+ /* [in] */ IDeckLinkVideoFrameAncillary *ancillary);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetTimecodeUserBits )( \r
+ IDeckLinkMutableVideoFrame * This,\r
+ /* [in] */ BMDTimecodeFormat format,\r
+ /* [in] */ BMDTimecodeUserBits userBits);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkMutableVideoFrameVtbl;\r
+\r
+ interface IDeckLinkMutableVideoFrame\r
+ {\r
+ CONST_VTBL struct IDeckLinkMutableVideoFrameVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkMutableVideoFrame_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkMutableVideoFrame_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_GetRowBytes(This) \\r
+ ( (This)->lpVtbl -> GetRowBytes(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_GetPixelFormat(This) \\r
+ ( (This)->lpVtbl -> GetPixelFormat(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_GetBytes(This,buffer) \\r
+ ( (This)->lpVtbl -> GetBytes(This,buffer) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_GetTimecode(This,format,timecode) \\r
+ ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_GetAncillaryData(This,ancillary) \\r
+ ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) \r
+\r
+\r
+#define IDeckLinkMutableVideoFrame_SetFlags(This,newFlags) \\r
+ ( (This)->lpVtbl -> SetFlags(This,newFlags) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_SetTimecode(This,format,timecode) \\r
+ ( (This)->lpVtbl -> SetTimecode(This,format,timecode) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \\r
+ ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_SetAncillaryData(This,ancillary) \\r
+ ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_SetTimecodeUserBits(This,format,userBits) \\r
+ ( (This)->lpVtbl -> SetTimecodeUserBits(This,format,userBits) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoFrame3DExtensions */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoFrame3DExtensions;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7")\r
+ IDeckLinkVideoFrame3DExtensions : public IUnknown\r
+ {\r
+ public:\r
+ virtual BMDVideo3DPackingFormat STDMETHODCALLTYPE Get3DPackingFormat( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetFrameForRightEye( \r
+ /* [out] */ IDeckLinkVideoFrame **rightEyeFrame) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoFrame3DExtensionsVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoFrame3DExtensions * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoFrame3DExtensions * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoFrame3DExtensions * This);\r
+ \r
+ BMDVideo3DPackingFormat ( STDMETHODCALLTYPE *Get3DPackingFormat )( \r
+ IDeckLinkVideoFrame3DExtensions * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetFrameForRightEye )( \r
+ IDeckLinkVideoFrame3DExtensions * This,\r
+ /* [out] */ IDeckLinkVideoFrame **rightEyeFrame);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoFrame3DExtensionsVtbl;\r
+\r
+ interface IDeckLinkVideoFrame3DExtensions\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoFrame3DExtensionsVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoFrame3DExtensions_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoFrame3DExtensions_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoFrame3DExtensions_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(This) \\r
+ ( (This)->lpVtbl -> Get3DPackingFormat(This) ) \r
+\r
+#define IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(This,rightEyeFrame) \\r
+ ( (This)->lpVtbl -> GetFrameForRightEye(This,rightEyeFrame) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoInputFrame */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoInputFrame;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("05CFE374-537C-4094-9A57-680525118F44")\r
+ IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetStreamTime( \r
+ /* [out] */ BMDTimeValue *frameTime,\r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ /* [in] */ BMDTimeScale timeScale) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp( \r
+ /* [in] */ BMDTimeScale timeScale,\r
+ /* [out] */ BMDTimeValue *frameTime,\r
+ /* [out] */ BMDTimeValue *frameDuration) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoInputFrameVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoInputFrame * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoInputFrame * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoInputFrame * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkVideoInputFrame * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkVideoInputFrame * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetRowBytes )( \r
+ IDeckLinkVideoInputFrame * This);\r
+ \r
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( \r
+ IDeckLinkVideoInputFrame * This);\r
+ \r
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkVideoInputFrame * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )( \r
+ IDeckLinkVideoInputFrame * This,\r
+ /* [out] */ void **buffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )( \r
+ IDeckLinkVideoInputFrame * This,\r
+ /* [in] */ BMDTimecodeFormat format,\r
+ /* [out] */ IDeckLinkTimecode **timecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( \r
+ IDeckLinkVideoInputFrame * This,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( \r
+ IDeckLinkVideoInputFrame * This,\r
+ /* [out] */ BMDTimeValue *frameTime,\r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ /* [in] */ BMDTimeScale timeScale);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( \r
+ IDeckLinkVideoInputFrame * This,\r
+ /* [in] */ BMDTimeScale timeScale,\r
+ /* [out] */ BMDTimeValue *frameTime,\r
+ /* [out] */ BMDTimeValue *frameDuration);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoInputFrameVtbl;\r
+\r
+ interface IDeckLinkVideoInputFrame\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoInputFrameVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoInputFrame_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoInputFrame_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoInputFrame_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_GetRowBytes(This) \\r
+ ( (This)->lpVtbl -> GetRowBytes(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_GetPixelFormat(This) \\r
+ ( (This)->lpVtbl -> GetPixelFormat(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_GetBytes(This,buffer) \\r
+ ( (This)->lpVtbl -> GetBytes(This,buffer) ) \r
+\r
+#define IDeckLinkVideoInputFrame_GetTimecode(This,format,timecode) \\r
+ ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) \r
+\r
+#define IDeckLinkVideoInputFrame_GetAncillaryData(This,ancillary) \\r
+ ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) \r
+\r
+\r
+#define IDeckLinkVideoInputFrame_GetStreamTime(This,frameTime,frameDuration,timeScale) \\r
+ ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) \r
+\r
+#define IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \\r
+ ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoFrameAncillary */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoFrameAncillary;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("732E723C-D1A4-4E29-9E8E-4A88797A0004")\r
+ IDeckLinkVideoFrameAncillary : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetBufferForVerticalBlankingLine( \r
+ /* [in] */ unsigned long lineNumber,\r
+ /* [out] */ void **buffer) = 0;\r
+ \r
+ virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;\r
+ \r
+ virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoFrameAncillaryVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoFrameAncillary * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoFrameAncillary * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoFrameAncillary * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBufferForVerticalBlankingLine )( \r
+ IDeckLinkVideoFrameAncillary * This,\r
+ /* [in] */ unsigned long lineNumber,\r
+ /* [out] */ void **buffer);\r
+ \r
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( \r
+ IDeckLinkVideoFrameAncillary * This);\r
+ \r
+ BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( \r
+ IDeckLinkVideoFrameAncillary * This);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoFrameAncillaryVtbl;\r
+\r
+ interface IDeckLinkVideoFrameAncillary\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoFrameAncillaryVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoFrameAncillary_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoFrameAncillary_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoFrameAncillary_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(This,lineNumber,buffer) \\r
+ ( (This)->lpVtbl -> GetBufferForVerticalBlankingLine(This,lineNumber,buffer) ) \r
+\r
+#define IDeckLinkVideoFrameAncillary_GetPixelFormat(This) \\r
+ ( (This)->lpVtbl -> GetPixelFormat(This) ) \r
+\r
+#define IDeckLinkVideoFrameAncillary_GetDisplayMode(This) \\r
+ ( (This)->lpVtbl -> GetDisplayMode(This) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__\r
+#define __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkAudioInputPacket */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkAudioInputPacket;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("E43D5870-2894-11DE-8C30-0800200C9A66")\r
+ IDeckLinkAudioInputPacket : public IUnknown\r
+ {\r
+ public:\r
+ virtual long STDMETHODCALLTYPE GetSampleFrameCount( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBytes( \r
+ /* [out] */ void **buffer) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetPacketTime( \r
+ /* [out] */ BMDTimeValue *packetTime,\r
+ /* [in] */ BMDTimeScale timeScale) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkAudioInputPacketVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkAudioInputPacket * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkAudioInputPacket * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkAudioInputPacket * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetSampleFrameCount )( \r
+ IDeckLinkAudioInputPacket * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )( \r
+ IDeckLinkAudioInputPacket * This,\r
+ /* [out] */ void **buffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetPacketTime )( \r
+ IDeckLinkAudioInputPacket * This,\r
+ /* [out] */ BMDTimeValue *packetTime,\r
+ /* [in] */ BMDTimeScale timeScale);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkAudioInputPacketVtbl;\r
+\r
+ interface IDeckLinkAudioInputPacket\r
+ {\r
+ CONST_VTBL struct IDeckLinkAudioInputPacketVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkAudioInputPacket_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkAudioInputPacket_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkAudioInputPacket_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkAudioInputPacket_GetSampleFrameCount(This) \\r
+ ( (This)->lpVtbl -> GetSampleFrameCount(This) ) \r
+\r
+#define IDeckLinkAudioInputPacket_GetBytes(This,buffer) \\r
+ ( (This)->lpVtbl -> GetBytes(This,buffer) ) \r
+\r
+#define IDeckLinkAudioInputPacket_GetPacketTime(This,packetTime,timeScale) \\r
+ ( (This)->lpVtbl -> GetPacketTime(This,packetTime,timeScale) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__\r
+#define __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkScreenPreviewCallback */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438")\r
+ IDeckLinkScreenPreviewCallback : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE DrawFrame( \r
+ /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkScreenPreviewCallbackVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkScreenPreviewCallback * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkScreenPreviewCallback * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkScreenPreviewCallback * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DrawFrame )( \r
+ IDeckLinkScreenPreviewCallback * This,\r
+ /* [in] */ IDeckLinkVideoFrame *theFrame);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkScreenPreviewCallbackVtbl;\r
+\r
+ interface IDeckLinkScreenPreviewCallback\r
+ {\r
+ CONST_VTBL struct IDeckLinkScreenPreviewCallbackVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkScreenPreviewCallback_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkScreenPreviewCallback_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkScreenPreviewCallback_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) \\r
+ ( (This)->lpVtbl -> DrawFrame(This,theFrame) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__\r
+#define __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkGLScreenPreviewHelper */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("504E2209-CAC7-4C1A-9FB4-C5BB6274D22F")\r
+ IDeckLinkGLScreenPreviewHelper : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetFrame( \r
+ /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( \r
+ /* [in] */ BMD3DPreviewFormat previewFormat) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkGLScreenPreviewHelperVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkGLScreenPreviewHelper * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkGLScreenPreviewHelper * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkGLScreenPreviewHelper * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *InitializeGL )( \r
+ IDeckLinkGLScreenPreviewHelper * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *PaintGL )( \r
+ IDeckLinkGLScreenPreviewHelper * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetFrame )( \r
+ IDeckLinkGLScreenPreviewHelper * This,\r
+ /* [in] */ IDeckLinkVideoFrame *theFrame);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )( \r
+ IDeckLinkGLScreenPreviewHelper * This,\r
+ /* [in] */ BMD3DPreviewFormat previewFormat);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkGLScreenPreviewHelperVtbl;\r
+\r
+ interface IDeckLinkGLScreenPreviewHelper\r
+ {\r
+ CONST_VTBL struct IDeckLinkGLScreenPreviewHelperVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkGLScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkGLScreenPreviewHelper_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkGLScreenPreviewHelper_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkGLScreenPreviewHelper_InitializeGL(This) \\r
+ ( (This)->lpVtbl -> InitializeGL(This) ) \r
+\r
+#define IDeckLinkGLScreenPreviewHelper_PaintGL(This) \\r
+ ( (This)->lpVtbl -> PaintGL(This) ) \r
+\r
+#define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) \\r
+ ( (This)->lpVtbl -> SetFrame(This,theFrame) ) \r
+\r
+#define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \\r
+ ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkConfiguration_INTERFACE_DEFINED__\r
+#define __IDeckLinkConfiguration_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkConfiguration */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkConfiguration;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("C679A35B-610C-4D09-B748-1D0478100FC0")\r
+ IDeckLinkConfiguration : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE SetFlag( \r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [in] */ BOOL value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetFlag( \r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [out] */ BOOL *value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetInt( \r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [in] */ LONGLONG value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetInt( \r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [out] */ LONGLONG *value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetFloat( \r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [in] */ double value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetFloat( \r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [out] */ double *value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetString( \r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [in] */ BSTR value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetString( \r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [out] */ BSTR *value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkConfigurationVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkConfiguration * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkConfiguration * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkConfiguration * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetFlag )( \r
+ IDeckLinkConfiguration * This,\r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [in] */ BOOL value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetFlag )( \r
+ IDeckLinkConfiguration * This,\r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [out] */ BOOL *value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetInt )( \r
+ IDeckLinkConfiguration * This,\r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [in] */ LONGLONG value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetInt )( \r
+ IDeckLinkConfiguration * This,\r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [out] */ LONGLONG *value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetFloat )( \r
+ IDeckLinkConfiguration * This,\r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [in] */ double value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetFloat )( \r
+ IDeckLinkConfiguration * This,\r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [out] */ double *value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetString )( \r
+ IDeckLinkConfiguration * This,\r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [in] */ BSTR value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetString )( \r
+ IDeckLinkConfiguration * This,\r
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,\r
+ /* [out] */ BSTR *value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( \r
+ IDeckLinkConfiguration * This);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkConfigurationVtbl;\r
+\r
+ interface IDeckLinkConfiguration\r
+ {\r
+ CONST_VTBL struct IDeckLinkConfigurationVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkConfiguration_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkConfiguration_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkConfiguration_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkConfiguration_SetFlag(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) \r
+\r
+#define IDeckLinkConfiguration_GetFlag(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) \r
+\r
+#define IDeckLinkConfiguration_SetInt(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) \r
+\r
+#define IDeckLinkConfiguration_GetInt(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) \r
+\r
+#define IDeckLinkConfiguration_SetFloat(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) \r
+\r
+#define IDeckLinkConfiguration_GetFloat(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) \r
+\r
+#define IDeckLinkConfiguration_SetString(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> SetString(This,cfgID,value) ) \r
+\r
+#define IDeckLinkConfiguration_GetString(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetString(This,cfgID,value) ) \r
+\r
+#define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) \\r
+ ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkConfiguration_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkAttributes_INTERFACE_DEFINED__\r
+#define __IDeckLinkAttributes_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkAttributes */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkAttributes;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("ABC11843-D966-44CB-96E2-A1CB5D3135C4")\r
+ IDeckLinkAttributes : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetFlag( \r
+ /* [in] */ BMDDeckLinkAttributeID cfgID,\r
+ /* [out] */ BOOL *value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetInt( \r
+ /* [in] */ BMDDeckLinkAttributeID cfgID,\r
+ /* [out] */ LONGLONG *value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetFloat( \r
+ /* [in] */ BMDDeckLinkAttributeID cfgID,\r
+ /* [out] */ double *value) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetString( \r
+ /* [in] */ BMDDeckLinkAttributeID cfgID,\r
+ /* [out] */ BSTR *value) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkAttributesVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkAttributes * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkAttributes * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkAttributes * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetFlag )( \r
+ IDeckLinkAttributes * This,\r
+ /* [in] */ BMDDeckLinkAttributeID cfgID,\r
+ /* [out] */ BOOL *value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetInt )( \r
+ IDeckLinkAttributes * This,\r
+ /* [in] */ BMDDeckLinkAttributeID cfgID,\r
+ /* [out] */ LONGLONG *value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetFloat )( \r
+ IDeckLinkAttributes * This,\r
+ /* [in] */ BMDDeckLinkAttributeID cfgID,\r
+ /* [out] */ double *value);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetString )( \r
+ IDeckLinkAttributes * This,\r
+ /* [in] */ BMDDeckLinkAttributeID cfgID,\r
+ /* [out] */ BSTR *value);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkAttributesVtbl;\r
+\r
+ interface IDeckLinkAttributes\r
+ {\r
+ CONST_VTBL struct IDeckLinkAttributesVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkAttributes_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkAttributes_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkAttributes_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkAttributes_GetFlag(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) \r
+\r
+#define IDeckLinkAttributes_GetInt(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) \r
+\r
+#define IDeckLinkAttributes_GetFloat(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) \r
+\r
+#define IDeckLinkAttributes_GetString(This,cfgID,value) \\r
+ ( (This)->lpVtbl -> GetString(This,cfgID,value) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkAttributes_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkKeyer_INTERFACE_DEFINED__\r
+#define __IDeckLinkKeyer_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkKeyer */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkKeyer;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3")\r
+ IDeckLinkKeyer : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE Enable( \r
+ /* [in] */ BOOL isExternal) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetLevel( \r
+ /* [in] */ unsigned char level) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE RampUp( \r
+ /* [in] */ unsigned long numberOfFrames) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE RampDown( \r
+ /* [in] */ unsigned long numberOfFrames) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Disable( void) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkKeyerVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkKeyer * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkKeyer * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkKeyer * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Enable )( \r
+ IDeckLinkKeyer * This,\r
+ /* [in] */ BOOL isExternal);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetLevel )( \r
+ IDeckLinkKeyer * This,\r
+ /* [in] */ unsigned char level);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *RampUp )( \r
+ IDeckLinkKeyer * This,\r
+ /* [in] */ unsigned long numberOfFrames);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *RampDown )( \r
+ IDeckLinkKeyer * This,\r
+ /* [in] */ unsigned long numberOfFrames);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Disable )( \r
+ IDeckLinkKeyer * This);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkKeyerVtbl;\r
+\r
+ interface IDeckLinkKeyer\r
+ {\r
+ CONST_VTBL struct IDeckLinkKeyerVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkKeyer_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkKeyer_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkKeyer_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkKeyer_Enable(This,isExternal) \\r
+ ( (This)->lpVtbl -> Enable(This,isExternal) ) \r
+\r
+#define IDeckLinkKeyer_SetLevel(This,level) \\r
+ ( (This)->lpVtbl -> SetLevel(This,level) ) \r
+\r
+#define IDeckLinkKeyer_RampUp(This,numberOfFrames) \\r
+ ( (This)->lpVtbl -> RampUp(This,numberOfFrames) ) \r
+\r
+#define IDeckLinkKeyer_RampDown(This,numberOfFrames) \\r
+ ( (This)->lpVtbl -> RampDown(This,numberOfFrames) ) \r
+\r
+#define IDeckLinkKeyer_Disable(This) \\r
+ ( (This)->lpVtbl -> Disable(This) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkKeyer_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoConversion_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoConversion_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoConversion */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoConversion;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("3BBCB8A2-DA2C-42D9-B5D8-88083644E99A")\r
+ IDeckLinkVideoConversion : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE ConvertFrame( \r
+ /* [in] */ IDeckLinkVideoFrame *srcFrame,\r
+ /* [in] */ IDeckLinkVideoFrame *dstFrame) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoConversionVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoConversion * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoConversion * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoConversion * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ConvertFrame )( \r
+ IDeckLinkVideoConversion * This,\r
+ /* [in] */ IDeckLinkVideoFrame *srcFrame,\r
+ /* [in] */ IDeckLinkVideoFrame *dstFrame);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoConversionVtbl;\r
+\r
+ interface IDeckLinkVideoConversion\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoConversionVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoConversion_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoConversion_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoConversion_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoConversion_ConvertFrame(This,srcFrame,dstFrame) \\r
+ ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoConversion_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__\r
+#define __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkDeckControlStatusCallback */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("E5F693C1-4283-4716-B18F-C1431521955B")\r
+ IDeckLinkDeckControlStatusCallback : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate( \r
+ /* [in] */ BMDTimecodeBCD currentTimecode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged( \r
+ /* [in] */ BMDDeckControlVTRControlState newState,\r
+ /* [in] */ BMDDeckControlError error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived( \r
+ /* [in] */ BMDDeckControlEvent event,\r
+ /* [in] */ BMDDeckControlError error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged( \r
+ /* [in] */ BMDDeckControlStatusFlags flags,\r
+ /* [in] */ unsigned long mask) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkDeckControlStatusCallbackVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkDeckControlStatusCallback * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkDeckControlStatusCallback * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkDeckControlStatusCallback * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *TimecodeUpdate )( \r
+ IDeckLinkDeckControlStatusCallback * This,\r
+ /* [in] */ BMDTimecodeBCD currentTimecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *VTRControlStateChanged )( \r
+ IDeckLinkDeckControlStatusCallback * This,\r
+ /* [in] */ BMDDeckControlVTRControlState newState,\r
+ /* [in] */ BMDDeckControlError error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DeckControlEventReceived )( \r
+ IDeckLinkDeckControlStatusCallback * This,\r
+ /* [in] */ BMDDeckControlEvent event,\r
+ /* [in] */ BMDDeckControlError error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )( \r
+ IDeckLinkDeckControlStatusCallback * This,\r
+ /* [in] */ BMDDeckControlStatusFlags flags,\r
+ /* [in] */ unsigned long mask);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkDeckControlStatusCallbackVtbl;\r
+\r
+ interface IDeckLinkDeckControlStatusCallback\r
+ {\r
+ CONST_VTBL struct IDeckLinkDeckControlStatusCallbackVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkDeckControlStatusCallback_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkDeckControlStatusCallback_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkDeckControlStatusCallback_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkDeckControlStatusCallback_TimecodeUpdate(This,currentTimecode) \\r
+ ( (This)->lpVtbl -> TimecodeUpdate(This,currentTimecode) ) \r
+\r
+#define IDeckLinkDeckControlStatusCallback_VTRControlStateChanged(This,newState,error) \\r
+ ( (This)->lpVtbl -> VTRControlStateChanged(This,newState,error) ) \r
+\r
+#define IDeckLinkDeckControlStatusCallback_DeckControlEventReceived(This,event,error) \\r
+ ( (This)->lpVtbl -> DeckControlEventReceived(This,event,error) ) \r
+\r
+#define IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(This,flags,mask) \\r
+ ( (This)->lpVtbl -> DeckControlStatusChanged(This,flags,mask) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDeckControl_INTERFACE_DEFINED__\r
+#define __IDeckLinkDeckControl_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkDeckControl */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkDeckControl;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("522A9E39-0F3C-4742-94EE-D80DE335DA1D")\r
+ IDeckLinkDeckControl : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE Open( \r
+ /* [in] */ BMDTimeScale timeScale,\r
+ /* [in] */ BMDTimeValue timeValue,\r
+ /* [in] */ BOOL timecodeIsDropFrame,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Close( \r
+ /* [in] */ BOOL standbyOn) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentState( \r
+ /* [out] */ BMDDeckControlMode *mode,\r
+ /* [out] */ BMDDeckControlVTRControlState *vtrControlState,\r
+ /* [out] */ BMDDeckControlStatusFlags *flags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetStandby( \r
+ /* [in] */ BOOL standbyOn) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SendCommand( \r
+ /* [in] */ unsigned char *inBuffer,\r
+ /* [in] */ unsigned long inBufferSize,\r
+ /* [out] */ unsigned char *outBuffer,\r
+ /* [out] */ unsigned long *outDataSize,\r
+ /* [in] */ unsigned long outBufferSize,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Play( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Stop( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE TogglePlayStop( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Eject( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GoToTimecode( \r
+ /* [in] */ BMDTimecodeBCD timecode,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE FastForward( \r
+ /* [in] */ BOOL viewTape,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Rewind( \r
+ /* [in] */ BOOL viewTape,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StepForward( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StepBack( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Jog( \r
+ /* [in] */ double rate,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Shuttle( \r
+ /* [in] */ double rate,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetTimecodeString( \r
+ /* [out] */ BSTR *currentTimeCode,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetTimecode( \r
+ /* [out] */ IDeckLinkTimecode **currentTimecode,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD( \r
+ /* [out] */ BMDTimecodeBCD *currentTimecode,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetPreroll( \r
+ /* [in] */ unsigned long prerollSeconds) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetPreroll( \r
+ /* [out] */ unsigned long *prerollSeconds) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetExportOffset( \r
+ /* [in] */ long exportOffsetFields) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetExportOffset( \r
+ /* [out] */ long *exportOffsetFields) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( \r
+ /* [out] */ long *deckManualExportOffsetFields) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( \r
+ /* [in] */ long captureOffsetFields) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( \r
+ /* [out] */ long *captureOffsetFields) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartExport( \r
+ /* [in] */ BMDTimecodeBCD inTimecode,\r
+ /* [in] */ BMDTimecodeBCD outTimecode,\r
+ /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartCapture( \r
+ /* [in] */ BOOL useVITC,\r
+ /* [in] */ BMDTimecodeBCD inTimecode,\r
+ /* [in] */ BMDTimecodeBCD outTimecode,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetDeviceID( \r
+ /* [out] */ unsigned short *deviceId,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CrashRecordStart( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CrashRecordStop( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetCallback( \r
+ /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkDeckControlVtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkDeckControl * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkDeckControl * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Open )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ BMDTimeScale timeScale,\r
+ /* [in] */ BMDTimeValue timeValue,\r
+ /* [in] */ BOOL timecodeIsDropFrame,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Close )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ BOOL standbyOn);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentState )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ BMDDeckControlMode *mode,\r
+ /* [out] */ BMDDeckControlVTRControlState *vtrControlState,\r
+ /* [out] */ BMDDeckControlStatusFlags *flags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetStandby )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ BOOL standbyOn);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SendCommand )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ unsigned char *inBuffer,\r
+ /* [in] */ unsigned long inBufferSize,\r
+ /* [out] */ unsigned char *outBuffer,\r
+ /* [out] */ unsigned long *outDataSize,\r
+ /* [in] */ unsigned long outBufferSize,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Play )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Stop )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Eject )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GoToTimecode )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ BMDTimecodeBCD timecode,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *FastForward )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ BOOL viewTape,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Rewind )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ BOOL viewTape,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StepForward )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StepBack )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Jog )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ double rate,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Shuttle )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ double rate,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ BSTR *currentTimeCode,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ IDeckLinkTimecode **currentTimecode,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ BMDTimecodeBCD *currentTimecode,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetPreroll )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ unsigned long prerollSeconds);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetPreroll )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ unsigned long *prerollSeconds);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ long exportOffsetFields);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ long *exportOffsetFields);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ long *deckManualExportOffsetFields);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ long captureOffsetFields);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ long *captureOffsetFields);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartExport )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ BMDTimecodeBCD inTimecode,\r
+ /* [in] */ BMDTimecodeBCD outTimecode,\r
+ /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartCapture )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ BOOL useVITC,\r
+ /* [in] */ BMDTimecodeBCD inTimecode,\r
+ /* [in] */ BMDTimecodeBCD outTimecode,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ unsigned short *deviceId,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Abort )( \r
+ IDeckLinkDeckControl * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetCallback )( \r
+ IDeckLinkDeckControl * This,\r
+ /* [in] */ IDeckLinkDeckControlStatusCallback *callback);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkDeckControlVtbl;\r
+\r
+ interface IDeckLinkDeckControl\r
+ {\r
+ CONST_VTBL struct IDeckLinkDeckControlVtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkDeckControl_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkDeckControl_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkDeckControl_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkDeckControl_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \\r
+ ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) ) \r
+\r
+#define IDeckLinkDeckControl_Close(This,standbyOn) \\r
+ ( (This)->lpVtbl -> Close(This,standbyOn) ) \r
+\r
+#define IDeckLinkDeckControl_GetCurrentState(This,mode,vtrControlState,flags) \\r
+ ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) ) \r
+\r
+#define IDeckLinkDeckControl_SetStandby(This,standbyOn) \\r
+ ( (This)->lpVtbl -> SetStandby(This,standbyOn) ) \r
+\r
+#define IDeckLinkDeckControl_SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) \\r
+ ( (This)->lpVtbl -> SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) ) \r
+\r
+#define IDeckLinkDeckControl_Play(This,error) \\r
+ ( (This)->lpVtbl -> Play(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_Stop(This,error) \\r
+ ( (This)->lpVtbl -> Stop(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_TogglePlayStop(This,error) \\r
+ ( (This)->lpVtbl -> TogglePlayStop(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_Eject(This,error) \\r
+ ( (This)->lpVtbl -> Eject(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_GoToTimecode(This,timecode,error) \\r
+ ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) ) \r
+\r
+#define IDeckLinkDeckControl_FastForward(This,viewTape,error) \\r
+ ( (This)->lpVtbl -> FastForward(This,viewTape,error) ) \r
+\r
+#define IDeckLinkDeckControl_Rewind(This,viewTape,error) \\r
+ ( (This)->lpVtbl -> Rewind(This,viewTape,error) ) \r
+\r
+#define IDeckLinkDeckControl_StepForward(This,error) \\r
+ ( (This)->lpVtbl -> StepForward(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_StepBack(This,error) \\r
+ ( (This)->lpVtbl -> StepBack(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_Jog(This,rate,error) \\r
+ ( (This)->lpVtbl -> Jog(This,rate,error) ) \r
+\r
+#define IDeckLinkDeckControl_Shuttle(This,rate,error) \\r
+ ( (This)->lpVtbl -> Shuttle(This,rate,error) ) \r
+\r
+#define IDeckLinkDeckControl_GetTimecodeString(This,currentTimeCode,error) \\r
+ ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) ) \r
+\r
+#define IDeckLinkDeckControl_GetTimecode(This,currentTimecode,error) \\r
+ ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) ) \r
+\r
+#define IDeckLinkDeckControl_GetTimecodeBCD(This,currentTimecode,error) \\r
+ ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) ) \r
+\r
+#define IDeckLinkDeckControl_SetPreroll(This,prerollSeconds) \\r
+ ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) ) \r
+\r
+#define IDeckLinkDeckControl_GetPreroll(This,prerollSeconds) \\r
+ ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) ) \r
+\r
+#define IDeckLinkDeckControl_SetExportOffset(This,exportOffsetFields) \\r
+ ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) ) \r
+\r
+#define IDeckLinkDeckControl_GetExportOffset(This,exportOffsetFields) \\r
+ ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) ) \r
+\r
+#define IDeckLinkDeckControl_GetManualExportOffset(This,deckManualExportOffsetFields) \\r
+ ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) ) \r
+\r
+#define IDeckLinkDeckControl_SetCaptureOffset(This,captureOffsetFields) \\r
+ ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) ) \r
+\r
+#define IDeckLinkDeckControl_GetCaptureOffset(This,captureOffsetFields) \\r
+ ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) ) \r
+\r
+#define IDeckLinkDeckControl_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \\r
+ ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) ) \r
+\r
+#define IDeckLinkDeckControl_StartCapture(This,useVITC,inTimecode,outTimecode,error) \\r
+ ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) ) \r
+\r
+#define IDeckLinkDeckControl_GetDeviceID(This,deviceId,error) \\r
+ ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) ) \r
+\r
+#define IDeckLinkDeckControl_Abort(This) \\r
+ ( (This)->lpVtbl -> Abort(This) ) \r
+\r
+#define IDeckLinkDeckControl_CrashRecordStart(This,error) \\r
+ ( (This)->lpVtbl -> CrashRecordStart(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_CrashRecordStop(This,error) \\r
+ ( (This)->lpVtbl -> CrashRecordStop(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_SetCallback(This,callback) \\r
+ ( (This)->lpVtbl -> SetCallback(This,callback) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkDeckControl_INTERFACE_DEFINED__ */\r
+\r
+\r
+EXTERN_C const CLSID CLSID_CDeckLinkIterator;\r
+\r
+#ifdef __cplusplus\r
+\r
+class DECLSPEC_UUID("D9EDA3B3-2887-41FA-B724-017CF1EB1D37")\r
+CDeckLinkIterator;\r
+#endif\r
+\r
+EXTERN_C const CLSID CLSID_CDeckLinkAPIInformation;\r
+\r
+#ifdef __cplusplus\r
+\r
+class DECLSPEC_UUID("263CA19F-ED09-482E-9F9D-84005783A237")\r
+CDeckLinkAPIInformation;\r
+#endif\r
+\r
+EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper;\r
+\r
+#ifdef __cplusplus\r
+\r
+class DECLSPEC_UUID("F63E77C7-B655-4A4A-9AD0-3CA85D394343")\r
+CDeckLinkGLScreenPreviewHelper;\r
+#endif\r
+\r
+EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion;\r
+\r
+#ifdef __cplusplus\r
+\r
+class DECLSPEC_UUID("7DBBBB11-5B7B-467D-AEA4-CEA468FD368C")\r
+CDeckLinkVideoConversion;\r
+#endif\r
+\r
+#ifndef __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__\r
+#define __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkDeckControl_v7_9 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkDeckControl_v7_9;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("A4D81043-0619-42B7-8ED6-602D29041DF7")\r
+ IDeckLinkDeckControl_v7_9 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE Open( \r
+ /* [in] */ BMDTimeScale timeScale,\r
+ /* [in] */ BMDTimeValue timeValue,\r
+ /* [in] */ BOOL timecodeIsDropFrame,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Close( \r
+ /* [in] */ BOOL standbyOn) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentState( \r
+ /* [out] */ BMDDeckControlMode *mode,\r
+ /* [out] */ BMDDeckControlVTRControlState *vtrControlState,\r
+ /* [out] */ BMDDeckControlStatusFlags *flags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetStandby( \r
+ /* [in] */ BOOL standbyOn) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Play( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Stop( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE TogglePlayStop( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Eject( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GoToTimecode( \r
+ /* [in] */ BMDTimecodeBCD timecode,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE FastForward( \r
+ /* [in] */ BOOL viewTape,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Rewind( \r
+ /* [in] */ BOOL viewTape,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StepForward( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StepBack( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Jog( \r
+ /* [in] */ double rate,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Shuttle( \r
+ /* [in] */ double rate,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetTimecodeString( \r
+ /* [out] */ BSTR *currentTimeCode,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetTimecode( \r
+ /* [out] */ IDeckLinkTimecode **currentTimecode,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD( \r
+ /* [out] */ BMDTimecodeBCD *currentTimecode,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetPreroll( \r
+ /* [in] */ unsigned long prerollSeconds) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetPreroll( \r
+ /* [out] */ unsigned long *prerollSeconds) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetExportOffset( \r
+ /* [in] */ long exportOffsetFields) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetExportOffset( \r
+ /* [out] */ long *exportOffsetFields) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( \r
+ /* [out] */ long *deckManualExportOffsetFields) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( \r
+ /* [in] */ long captureOffsetFields) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( \r
+ /* [out] */ long *captureOffsetFields) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartExport( \r
+ /* [in] */ BMDTimecodeBCD inTimecode,\r
+ /* [in] */ BMDTimecodeBCD outTimecode,\r
+ /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartCapture( \r
+ /* [in] */ BOOL useVITC,\r
+ /* [in] */ BMDTimecodeBCD inTimecode,\r
+ /* [in] */ BMDTimecodeBCD outTimecode,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetDeviceID( \r
+ /* [out] */ unsigned short *deviceId,\r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CrashRecordStart( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CrashRecordStop( \r
+ /* [out] */ BMDDeckControlError *error) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetCallback( \r
+ /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkDeckControl_v7_9Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkDeckControl_v7_9 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkDeckControl_v7_9 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Open )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ BMDTimeScale timeScale,\r
+ /* [in] */ BMDTimeValue timeValue,\r
+ /* [in] */ BOOL timecodeIsDropFrame,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Close )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ BOOL standbyOn);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentState )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ BMDDeckControlMode *mode,\r
+ /* [out] */ BMDDeckControlVTRControlState *vtrControlState,\r
+ /* [out] */ BMDDeckControlStatusFlags *flags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetStandby )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ BOOL standbyOn);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Play )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Stop )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Eject )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GoToTimecode )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ BMDTimecodeBCD timecode,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *FastForward )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ BOOL viewTape,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Rewind )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ BOOL viewTape,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StepForward )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StepBack )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Jog )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ double rate,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Shuttle )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ double rate,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ BSTR *currentTimeCode,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ IDeckLinkTimecode **currentTimecode,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ BMDTimecodeBCD *currentTimecode,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetPreroll )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ unsigned long prerollSeconds);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetPreroll )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ unsigned long *prerollSeconds);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ long exportOffsetFields);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ long *exportOffsetFields);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ long *deckManualExportOffsetFields);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ long captureOffsetFields);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ long *captureOffsetFields);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartExport )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ BMDTimecodeBCD inTimecode,\r
+ /* [in] */ BMDTimecodeBCD outTimecode,\r
+ /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartCapture )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ BOOL useVITC,\r
+ /* [in] */ BMDTimecodeBCD inTimecode,\r
+ /* [in] */ BMDTimecodeBCD outTimecode,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ unsigned short *deviceId,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Abort )( \r
+ IDeckLinkDeckControl_v7_9 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [out] */ BMDDeckControlError *error);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetCallback )( \r
+ IDeckLinkDeckControl_v7_9 * This,\r
+ /* [in] */ IDeckLinkDeckControlStatusCallback *callback);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkDeckControl_v7_9Vtbl;\r
+\r
+ interface IDeckLinkDeckControl_v7_9\r
+ {\r
+ CONST_VTBL struct IDeckLinkDeckControl_v7_9Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkDeckControl_v7_9_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkDeckControl_v7_9_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \\r
+ ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_Close(This,standbyOn) \\r
+ ( (This)->lpVtbl -> Close(This,standbyOn) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_GetCurrentState(This,mode,vtrControlState,flags) \\r
+ ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_SetStandby(This,standbyOn) \\r
+ ( (This)->lpVtbl -> SetStandby(This,standbyOn) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_Play(This,error) \\r
+ ( (This)->lpVtbl -> Play(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_Stop(This,error) \\r
+ ( (This)->lpVtbl -> Stop(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_TogglePlayStop(This,error) \\r
+ ( (This)->lpVtbl -> TogglePlayStop(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_Eject(This,error) \\r
+ ( (This)->lpVtbl -> Eject(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_GoToTimecode(This,timecode,error) \\r
+ ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_FastForward(This,viewTape,error) \\r
+ ( (This)->lpVtbl -> FastForward(This,viewTape,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_Rewind(This,viewTape,error) \\r
+ ( (This)->lpVtbl -> Rewind(This,viewTape,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_StepForward(This,error) \\r
+ ( (This)->lpVtbl -> StepForward(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_StepBack(This,error) \\r
+ ( (This)->lpVtbl -> StepBack(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_Jog(This,rate,error) \\r
+ ( (This)->lpVtbl -> Jog(This,rate,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_Shuttle(This,rate,error) \\r
+ ( (This)->lpVtbl -> Shuttle(This,rate,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_GetTimecodeString(This,currentTimeCode,error) \\r
+ ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_GetTimecode(This,currentTimecode,error) \\r
+ ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_GetTimecodeBCD(This,currentTimecode,error) \\r
+ ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_SetPreroll(This,prerollSeconds) \\r
+ ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_GetPreroll(This,prerollSeconds) \\r
+ ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_SetExportOffset(This,exportOffsetFields) \\r
+ ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_GetExportOffset(This,exportOffsetFields) \\r
+ ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_GetManualExportOffset(This,deckManualExportOffsetFields) \\r
+ ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_SetCaptureOffset(This,captureOffsetFields) \\r
+ ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_GetCaptureOffset(This,captureOffsetFields) \\r
+ ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \\r
+ ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_StartCapture(This,useVITC,inTimecode,outTimecode,error) \\r
+ ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_GetDeviceID(This,deviceId,error) \\r
+ ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_Abort(This) \\r
+ ( (This)->lpVtbl -> Abort(This) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_CrashRecordStart(This,error) \\r
+ ( (This)->lpVtbl -> CrashRecordStart(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_CrashRecordStop(This,error) \\r
+ ( (This)->lpVtbl -> CrashRecordStop(This,error) ) \r
+\r
+#define IDeckLinkDeckControl_v7_9_SetCallback(This,callback) \\r
+ ( (This)->lpVtbl -> SetCallback(This,callback) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkDisplayModeIterator_v7_6 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("455D741F-1779-4800-86F5-0B5D13D79751")\r
+ IDeckLinkDisplayModeIterator_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE Next( \r
+ /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkDisplayModeIterator_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkDisplayModeIterator_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkDisplayModeIterator_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkDisplayModeIterator_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Next )( \r
+ IDeckLinkDisplayModeIterator_v7_6 * This,\r
+ /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkDisplayModeIterator_v7_6Vtbl;\r
+\r
+ interface IDeckLinkDisplayModeIterator_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkDisplayModeIterator_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkDisplayModeIterator_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkDisplayModeIterator_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkDisplayModeIterator_v7_6_Next(This,deckLinkDisplayMode) \\r
+ ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkDisplayMode_v7_6 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("87451E84-2B7E-439E-A629-4393EA4A8550")\r
+ IDeckLinkDisplayMode_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetName( \r
+ /* [out] */ BSTR *name) = 0;\r
+ \r
+ virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetWidth( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetHeight( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetFrameRate( \r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ /* [out] */ BMDTimeScale *timeScale) = 0;\r
+ \r
+ virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkDisplayMode_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkDisplayMode_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkDisplayMode_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkDisplayMode_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetName )( \r
+ IDeckLinkDisplayMode_v7_6 * This,\r
+ /* [out] */ BSTR *name);\r
+ \r
+ BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( \r
+ IDeckLinkDisplayMode_v7_6 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkDisplayMode_v7_6 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkDisplayMode_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( \r
+ IDeckLinkDisplayMode_v7_6 * This,\r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ /* [out] */ BMDTimeScale *timeScale);\r
+ \r
+ BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )( \r
+ IDeckLinkDisplayMode_v7_6 * This);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkDisplayMode_v7_6Vtbl;\r
+\r
+ interface IDeckLinkDisplayMode_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkDisplayMode_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkDisplayMode_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkDisplayMode_v7_6_GetName(This,name) \\r
+ ( (This)->lpVtbl -> GetName(This,name) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_6_GetDisplayMode(This) \\r
+ ( (This)->lpVtbl -> GetDisplayMode(This) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_6_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_6_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_6_GetFrameRate(This,frameDuration,timeScale) \\r
+ ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_6_GetFieldDominance(This) \\r
+ ( (This)->lpVtbl -> GetFieldDominance(This) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkOutput_v7_6 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkOutput_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("29228142-EB8C-4141-A621-F74026450955")\r
+ IDeckLinkOutput_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( \r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( \r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( \r
+ /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( \r
+ BMDDisplayMode displayMode,\r
+ BMDVideoOutputFlags flags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( \r
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( \r
+ long width,\r
+ long height,\r
+ long rowBytes,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDFrameFlags flags,\r
+ /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( \r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( \r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( \r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,\r
+ BMDTimeValue displayTime,\r
+ BMDTimeValue displayDuration,\r
+ BMDTimeScale timeScale) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( \r
+ /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( \r
+ /* [out] */ unsigned long *bufferedFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( \r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount,\r
+ BMDAudioOutputStreamType streamType) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( \r
+ /* [in] */ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ /* [out] */ unsigned long *sampleFramesWritten) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( \r
+ /* [in] */ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ BMDTimeValue streamTime,\r
+ BMDTimeScale timeScale,\r
+ /* [out] */ unsigned long *sampleFramesWritten) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( \r
+ /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( \r
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( \r
+ BMDTimeValue playbackStartTime,\r
+ BMDTimeScale timeScale,\r
+ double playbackSpeed) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( \r
+ BMDTimeValue stopPlaybackAtTime,\r
+ /* [out] */ BMDTimeValue *actualStopTime,\r
+ BMDTimeScale timeScale) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( \r
+ /* [out] */ BOOL *active) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( \r
+ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *streamTime,\r
+ /* [out] */ double *playbackSpeed) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( \r
+ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *hardwareTime,\r
+ /* [out] */ BMDTimeValue *timeInFrame,\r
+ /* [out] */ BMDTimeValue *ticksPerFrame) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkOutput_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkOutput_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkOutput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ BMDDisplayMode displayMode,\r
+ BMDVideoOutputFlags flags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( \r
+ IDeckLinkOutput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ long width,\r
+ long height,\r
+ long rowBytes,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDFrameFlags flags,\r
+ /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,\r
+ BMDTimeValue displayTime,\r
+ BMDTimeValue displayDuration,\r
+ BMDTimeScale timeScale);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [out] */ unsigned long *bufferedFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount,\r
+ BMDAudioOutputStreamType streamType);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( \r
+ IDeckLinkOutput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [in] */ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ /* [out] */ unsigned long *sampleFramesWritten);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( \r
+ IDeckLinkOutput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( \r
+ IDeckLinkOutput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [in] */ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ BMDTimeValue streamTime,\r
+ BMDTimeScale timeScale,\r
+ /* [out] */ unsigned long *sampleFramesWritten);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [out] */ unsigned long *bufferedSampleFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( \r
+ IDeckLinkOutput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ BMDTimeValue playbackStartTime,\r
+ BMDTimeScale timeScale,\r
+ double playbackSpeed);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ BMDTimeValue stopPlaybackAtTime,\r
+ /* [out] */ BMDTimeValue *actualStopTime,\r
+ BMDTimeScale timeScale);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ /* [out] */ BOOL *active);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *streamTime,\r
+ /* [out] */ double *playbackSpeed);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( \r
+ IDeckLinkOutput_v7_6 * This,\r
+ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *hardwareTime,\r
+ /* [out] */ BMDTimeValue *timeInFrame,\r
+ /* [out] */ BMDTimeValue *ticksPerFrame);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkOutput_v7_6Vtbl;\r
+\r
+ interface IDeckLinkOutput_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkOutput_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkOutput_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkOutput_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkOutput_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkOutput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \\r
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) \r
+\r
+#define IDeckLinkOutput_v7_6_GetDisplayModeIterator(This,iterator) \\r
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) \r
+\r
+#define IDeckLinkOutput_v7_6_SetScreenPreviewCallback(This,previewCallback) \\r
+ ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) \r
+\r
+#define IDeckLinkOutput_v7_6_EnableVideoOutput(This,displayMode,flags) \\r
+ ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) \r
+\r
+#define IDeckLinkOutput_v7_6_DisableVideoOutput(This) \\r
+ ( (This)->lpVtbl -> DisableVideoOutput(This) ) \r
+\r
+#define IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \\r
+ ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) \r
+\r
+#define IDeckLinkOutput_v7_6_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \\r
+ ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) \r
+\r
+#define IDeckLinkOutput_v7_6_CreateAncillaryData(This,pixelFormat,outBuffer) \\r
+ ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) \r
+\r
+#define IDeckLinkOutput_v7_6_DisplayVideoFrameSync(This,theFrame) \\r
+ ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) \r
+\r
+#define IDeckLinkOutput_v7_6_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \\r
+ ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) \r
+\r
+#define IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) \r
+\r
+#define IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(This,bufferedFrameCount) \\r
+ ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) \r
+\r
+#define IDeckLinkOutput_v7_6_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \\r
+ ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) \r
+\r
+#define IDeckLinkOutput_v7_6_DisableAudioOutput(This) \\r
+ ( (This)->lpVtbl -> DisableAudioOutput(This) ) \r
+\r
+#define IDeckLinkOutput_v7_6_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \\r
+ ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) \r
+\r
+#define IDeckLinkOutput_v7_6_BeginAudioPreroll(This) \\r
+ ( (This)->lpVtbl -> BeginAudioPreroll(This) ) \r
+\r
+#define IDeckLinkOutput_v7_6_EndAudioPreroll(This) \\r
+ ( (This)->lpVtbl -> EndAudioPreroll(This) ) \r
+\r
+#define IDeckLinkOutput_v7_6_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \\r
+ ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) \r
+\r
+#define IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \\r
+ ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) \r
+\r
+#define IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(This) \\r
+ ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) \r
+\r
+#define IDeckLinkOutput_v7_6_SetAudioCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) \r
+\r
+#define IDeckLinkOutput_v7_6_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \\r
+ ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) \r
+\r
+#define IDeckLinkOutput_v7_6_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \\r
+ ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) \r
+\r
+#define IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(This,active) \\r
+ ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) \r
+\r
+#define IDeckLinkOutput_v7_6_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \\r
+ ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) \r
+\r
+#define IDeckLinkOutput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \\r
+ ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInput_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkInput_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkInput_v7_6 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkInput_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("300C135A-9F43-48E2-9906-6D7911D93CF1")\r
+ IDeckLinkInput_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( \r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( \r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( \r
+ /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( \r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDVideoInputFlags flags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( \r
+ /* [out] */ unsigned long *availableFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( \r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( \r
+ /* [out] */ unsigned long *availableSampleFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetCallback( \r
+ /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( \r
+ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *hardwareTime,\r
+ /* [out] */ BMDTimeValue *timeInFrame,\r
+ /* [out] */ BMDTimeValue *ticksPerFrame) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkInput_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkInput_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkInput_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkInput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( \r
+ IDeckLinkInput_v7_6 * This,\r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( \r
+ IDeckLinkInput_v7_6 * This,\r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( \r
+ IDeckLinkInput_v7_6 * This,\r
+ /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( \r
+ IDeckLinkInput_v7_6 * This,\r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDVideoInputFlags flags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( \r
+ IDeckLinkInput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( \r
+ IDeckLinkInput_v7_6 * This,\r
+ /* [out] */ unsigned long *availableFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( \r
+ IDeckLinkInput_v7_6 * This,\r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( \r
+ IDeckLinkInput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( \r
+ IDeckLinkInput_v7_6 * This,\r
+ /* [out] */ unsigned long *availableSampleFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartStreams )( \r
+ IDeckLinkInput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StopStreams )( \r
+ IDeckLinkInput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *PauseStreams )( \r
+ IDeckLinkInput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *FlushStreams )( \r
+ IDeckLinkInput_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetCallback )( \r
+ IDeckLinkInput_v7_6 * This,\r
+ /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( \r
+ IDeckLinkInput_v7_6 * This,\r
+ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *hardwareTime,\r
+ /* [out] */ BMDTimeValue *timeInFrame,\r
+ /* [out] */ BMDTimeValue *ticksPerFrame);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkInput_v7_6Vtbl;\r
+\r
+ interface IDeckLinkInput_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkInput_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkInput_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkInput_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkInput_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkInput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \\r
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) \r
+\r
+#define IDeckLinkInput_v7_6_GetDisplayModeIterator(This,iterator) \\r
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) \r
+\r
+#define IDeckLinkInput_v7_6_SetScreenPreviewCallback(This,previewCallback) \\r
+ ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) \r
+\r
+#define IDeckLinkInput_v7_6_EnableVideoInput(This,displayMode,pixelFormat,flags) \\r
+ ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) \r
+\r
+#define IDeckLinkInput_v7_6_DisableVideoInput(This) \\r
+ ( (This)->lpVtbl -> DisableVideoInput(This) ) \r
+\r
+#define IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(This,availableFrameCount) \\r
+ ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) \r
+\r
+#define IDeckLinkInput_v7_6_EnableAudioInput(This,sampleRate,sampleType,channelCount) \\r
+ ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) \r
+\r
+#define IDeckLinkInput_v7_6_DisableAudioInput(This) \\r
+ ( (This)->lpVtbl -> DisableAudioInput(This) ) \r
+\r
+#define IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \\r
+ ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) \r
+\r
+#define IDeckLinkInput_v7_6_StartStreams(This) \\r
+ ( (This)->lpVtbl -> StartStreams(This) ) \r
+\r
+#define IDeckLinkInput_v7_6_StopStreams(This) \\r
+ ( (This)->lpVtbl -> StopStreams(This) ) \r
+\r
+#define IDeckLinkInput_v7_6_PauseStreams(This) \\r
+ ( (This)->lpVtbl -> PauseStreams(This) ) \r
+\r
+#define IDeckLinkInput_v7_6_FlushStreams(This) \\r
+ ( (This)->lpVtbl -> FlushStreams(This) ) \r
+\r
+#define IDeckLinkInput_v7_6_SetCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetCallback(This,theCallback) ) \r
+\r
+#define IDeckLinkInput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \\r
+ ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkTimecode_v7_6 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkTimecode_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("EFB9BCA6-A521-44F7-BD69-2332F24D9EE6")\r
+ IDeckLinkTimecode_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetComponents( \r
+ /* [out] */ unsigned char *hours,\r
+ /* [out] */ unsigned char *minutes,\r
+ /* [out] */ unsigned char *seconds,\r
+ /* [out] */ unsigned char *frames) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetString( \r
+ /* [out] */ BSTR *timecode) = 0;\r
+ \r
+ virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkTimecode_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkTimecode_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkTimecode_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkTimecode_v7_6 * This);\r
+ \r
+ BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )( \r
+ IDeckLinkTimecode_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetComponents )( \r
+ IDeckLinkTimecode_v7_6 * This,\r
+ /* [out] */ unsigned char *hours,\r
+ /* [out] */ unsigned char *minutes,\r
+ /* [out] */ unsigned char *seconds,\r
+ /* [out] */ unsigned char *frames);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetString )( \r
+ IDeckLinkTimecode_v7_6 * This,\r
+ /* [out] */ BSTR *timecode);\r
+ \r
+ BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkTimecode_v7_6 * This);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkTimecode_v7_6Vtbl;\r
+\r
+ interface IDeckLinkTimecode_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkTimecode_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkTimecode_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkTimecode_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkTimecode_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkTimecode_v7_6_GetBCD(This) \\r
+ ( (This)->lpVtbl -> GetBCD(This) ) \r
+\r
+#define IDeckLinkTimecode_v7_6_GetComponents(This,hours,minutes,seconds,frames) \\r
+ ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) ) \r
+\r
+#define IDeckLinkTimecode_v7_6_GetString(This,timecode) \\r
+ ( (This)->lpVtbl -> GetString(This,timecode) ) \r
+\r
+#define IDeckLinkTimecode_v7_6_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoFrame_v7_6 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("A8D8238E-6B18-4196-99E1-5AF717B83D32")\r
+ IDeckLinkVideoFrame_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual long STDMETHODCALLTYPE GetWidth( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetHeight( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;\r
+ \r
+ virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;\r
+ \r
+ virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBytes( \r
+ /* [out] */ void **buffer) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetTimecode( \r
+ BMDTimecodeFormat format,\r
+ /* [out] */ IDeckLinkTimecode_v7_6 **timecode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAncillaryData( \r
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoFrame_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoFrame_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoFrame_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoFrame_v7_6 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkVideoFrame_v7_6 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkVideoFrame_v7_6 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetRowBytes )( \r
+ IDeckLinkVideoFrame_v7_6 * This);\r
+ \r
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( \r
+ IDeckLinkVideoFrame_v7_6 * This);\r
+ \r
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkVideoFrame_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )( \r
+ IDeckLinkVideoFrame_v7_6 * This,\r
+ /* [out] */ void **buffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )( \r
+ IDeckLinkVideoFrame_v7_6 * This,\r
+ BMDTimecodeFormat format,\r
+ /* [out] */ IDeckLinkTimecode_v7_6 **timecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( \r
+ IDeckLinkVideoFrame_v7_6 * This,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoFrame_v7_6Vtbl;\r
+\r
+ interface IDeckLinkVideoFrame_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoFrame_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoFrame_v7_6_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_6_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_6_GetRowBytes(This) \\r
+ ( (This)->lpVtbl -> GetRowBytes(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_6_GetPixelFormat(This) \\r
+ ( (This)->lpVtbl -> GetPixelFormat(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_6_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_6_GetBytes(This,buffer) \\r
+ ( (This)->lpVtbl -> GetBytes(This,buffer) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_6_GetTimecode(This,format,timecode) \\r
+ ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_6_GetAncillaryData(This,ancillary) \\r
+ ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkMutableVideoFrame_v7_6 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkMutableVideoFrame_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("46FCEE00-B4E6-43D0-91C0-023A7FCEB34F")\r
+ IDeckLinkMutableVideoFrame_v7_6 : public IDeckLinkVideoFrame_v7_6\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE SetFlags( \r
+ BMDFrameFlags newFlags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetTimecode( \r
+ BMDTimecodeFormat format,\r
+ /* [in] */ IDeckLinkTimecode_v7_6 *timecode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents( \r
+ BMDTimecodeFormat format,\r
+ unsigned char hours,\r
+ unsigned char minutes,\r
+ unsigned char seconds,\r
+ unsigned char frames,\r
+ BMDTimecodeFlags flags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetAncillaryData( \r
+ /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkMutableVideoFrame_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetRowBytes )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This);\r
+ \r
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This);\r
+ \r
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This,\r
+ /* [out] */ void **buffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This,\r
+ BMDTimecodeFormat format,\r
+ /* [out] */ IDeckLinkTimecode_v7_6 **timecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetFlags )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This,\r
+ BMDFrameFlags newFlags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetTimecode )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This,\r
+ BMDTimecodeFormat format,\r
+ /* [in] */ IDeckLinkTimecode_v7_6 *timecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This,\r
+ BMDTimecodeFormat format,\r
+ unsigned char hours,\r
+ unsigned char minutes,\r
+ unsigned char seconds,\r
+ unsigned char frames,\r
+ BMDTimecodeFlags flags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )( \r
+ IDeckLinkMutableVideoFrame_v7_6 * This,\r
+ /* [in] */ IDeckLinkVideoFrameAncillary *ancillary);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkMutableVideoFrame_v7_6Vtbl;\r
+\r
+ interface IDeckLinkMutableVideoFrame_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkMutableVideoFrame_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(This) \\r
+ ( (This)->lpVtbl -> GetRowBytes(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(This) \\r
+ ( (This)->lpVtbl -> GetPixelFormat(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_GetBytes(This,buffer) \\r
+ ( (This)->lpVtbl -> GetBytes(This,buffer) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_GetTimecode(This,format,timecode) \\r
+ ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(This,ancillary) \\r
+ ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) \r
+\r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_SetFlags(This,newFlags) \\r
+ ( (This)->lpVtbl -> SetFlags(This,newFlags) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_SetTimecode(This,format,timecode) \\r
+ ( (This)->lpVtbl -> SetTimecode(This,format,timecode) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \\r
+ ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) ) \r
+\r
+#define IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(This,ancillary) \\r
+ ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoInputFrame_v7_6 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("9A74FA41-AE9F-47AC-8CF4-01F42DD59965")\r
+ IDeckLinkVideoInputFrame_v7_6 : public IDeckLinkVideoFrame_v7_6\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetStreamTime( \r
+ /* [out] */ BMDTimeValue *frameTime,\r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ BMDTimeScale timeScale) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp( \r
+ BMDTimeScale timeScale,\r
+ /* [out] */ BMDTimeValue *frameTime,\r
+ /* [out] */ BMDTimeValue *frameDuration) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoInputFrame_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetRowBytes )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This);\r
+ \r
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This);\r
+ \r
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This,\r
+ /* [out] */ void **buffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This,\r
+ BMDTimecodeFormat format,\r
+ /* [out] */ IDeckLinkTimecode_v7_6 **timecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This,\r
+ /* [out] */ BMDTimeValue *frameTime,\r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ BMDTimeScale timeScale);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( \r
+ IDeckLinkVideoInputFrame_v7_6 * This,\r
+ BMDTimeScale timeScale,\r
+ /* [out] */ BMDTimeValue *frameTime,\r
+ /* [out] */ BMDTimeValue *frameDuration);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoInputFrame_v7_6Vtbl;\r
+\r
+ interface IDeckLinkVideoInputFrame_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoInputFrame_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_GetRowBytes(This) \\r
+ ( (This)->lpVtbl -> GetRowBytes(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(This) \\r
+ ( (This)->lpVtbl -> GetPixelFormat(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_GetBytes(This,buffer) \\r
+ ( (This)->lpVtbl -> GetBytes(This,buffer) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_GetTimecode(This,format,timecode) \\r
+ ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(This,ancillary) \\r
+ ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) \r
+\r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_GetStreamTime(This,frameTime,frameDuration,timeScale) \\r
+ ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \\r
+ ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkScreenPreviewCallback_v7_6 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("373F499D-4B4D-4518-AD22-6354E5A5825E")\r
+ IDeckLinkScreenPreviewCallback_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE DrawFrame( \r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkScreenPreviewCallback_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkScreenPreviewCallback_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkScreenPreviewCallback_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkScreenPreviewCallback_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DrawFrame )( \r
+ IDeckLinkScreenPreviewCallback_v7_6 * This,\r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkScreenPreviewCallback_v7_6Vtbl;\r
+\r
+ interface IDeckLinkScreenPreviewCallback_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkScreenPreviewCallback_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkScreenPreviewCallback_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkScreenPreviewCallback_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(This,theFrame) \\r
+ ( (This)->lpVtbl -> DrawFrame(This,theFrame) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkGLScreenPreviewHelper_v7_6 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA")\r
+ IDeckLinkGLScreenPreviewHelper_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetFrame( \r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *InitializeGL )( \r
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *PaintGL )( \r
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetFrame )( \r
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This,\r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkGLScreenPreviewHelper_v7_6Vtbl;\r
+\r
+ interface IDeckLinkGLScreenPreviewHelper_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkGLScreenPreviewHelper_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(This) \\r
+ ( (This)->lpVtbl -> InitializeGL(This) ) \r
+\r
+#define IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(This) \\r
+ ( (This)->lpVtbl -> PaintGL(This) ) \r
+\r
+#define IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(This,theFrame) \\r
+ ( (This)->lpVtbl -> SetFrame(This,theFrame) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoConversion_v7_6 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoConversion_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("3EB504C9-F97D-40FE-A158-D407D48CB53B")\r
+ IDeckLinkVideoConversion_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE ConvertFrame( \r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame,\r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoConversion_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoConversion_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoConversion_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoConversion_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ConvertFrame )( \r
+ IDeckLinkVideoConversion_v7_6 * This,\r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame,\r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoConversion_v7_6Vtbl;\r
+\r
+ interface IDeckLinkVideoConversion_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoConversion_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoConversion_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoConversion_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoConversion_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoConversion_v7_6_ConvertFrame(This,srcFrame,dstFrame) \\r
+ ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkConfiguration_v7_6 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkConfiguration_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("B8EAD569-B764-47F0-A73F-AE40DF6CBF10")\r
+ IDeckLinkConfiguration_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetConfigurationValidator( \r
+ /* [out] */ IDeckLinkConfiguration_v7_6 **configObject) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFormat( \r
+ /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE IsVideoOutputActive( \r
+ /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection,\r
+ /* [out] */ BOOL *active) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoOutputFlags( \r
+ /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoOutputFlags( \r
+ /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableFieldFlickerRemovalWhenPaused( \r
+ /* [in] */ BOOL enable) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE IsEnabledFieldFlickerRemovalWhenPaused( \r
+ /* [out] */ BOOL *enabled) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Set444And3GBpsVideoOutput( \r
+ /* [in] */ BOOL enable444VideoOutput,\r
+ /* [in] */ BOOL enable3GbsOutput) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Get444And3GBpsVideoOutput( \r
+ /* [out] */ BOOL *is444VideoOutputEnabled,\r
+ /* [out] */ BOOL *threeGbsOutputEnabled) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetVideoOutputConversionMode( \r
+ /* [in] */ BMDVideoOutputConversionMode conversionMode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetVideoOutputConversionMode( \r
+ /* [out] */ BMDVideoOutputConversionMode *conversionMode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Set_HD1080p24_to_HD1080i5994_Conversion( \r
+ /* [in] */ BOOL enable) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Get_HD1080p24_to_HD1080i5994_Conversion( \r
+ /* [out] */ BOOL *enabled) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetVideoInputFormat( \r
+ /* [in] */ BMDVideoConnection_v7_6 videoInputFormat) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetVideoInputFormat( \r
+ /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoInputFlags( \r
+ /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoInputFlags( \r
+ /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetVideoInputConversionMode( \r
+ /* [in] */ BMDVideoInputConversionMode conversionMode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetVideoInputConversionMode( \r
+ /* [out] */ BMDVideoInputConversionMode *conversionMode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetBlackVideoOutputDuringCapture( \r
+ /* [in] */ BOOL blackOutInCapture) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBlackVideoOutputDuringCapture( \r
+ /* [out] */ BOOL *blackOutInCapture) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame( \r
+ /* [in] */ unsigned long aFrameTimecode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame( \r
+ /* [out] */ unsigned long *aFrameTimecode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping( \r
+ /* [in] */ unsigned long activeLine1VANCsource,\r
+ /* [in] */ unsigned long activeLine2VANCsource,\r
+ /* [in] */ unsigned long activeLine3VANCsource) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping( \r
+ /* [out] */ unsigned long *activeLine1VANCsource,\r
+ /* [out] */ unsigned long *activeLine2VANCsource,\r
+ /* [out] */ unsigned long *activeLine3VANCsource) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat( \r
+ /* [in] */ BMDAudioConnection audioInputFormat) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAudioInputFormat( \r
+ /* [out] */ BMDAudioConnection *audioInputFormat) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkConfiguration_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkConfiguration_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkConfiguration_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetConfigurationValidator )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ IDeckLinkConfiguration_v7_6 **configObject);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( \r
+ IDeckLinkConfiguration_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFormat )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *IsVideoOutputActive )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection,\r
+ /* [out] */ BOOL *active);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoOutputFlags )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BMDAnalogVideoFlags analogVideoFlags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoOutputFlags )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableFieldFlickerRemovalWhenPaused )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BOOL enable);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *IsEnabledFieldFlickerRemovalWhenPaused )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ BOOL *enabled);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Set444And3GBpsVideoOutput )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BOOL enable444VideoOutput,\r
+ /* [in] */ BOOL enable3GbsOutput);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Get444And3GBpsVideoOutput )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ BOOL *is444VideoOutputEnabled,\r
+ /* [out] */ BOOL *threeGbsOutputEnabled);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetVideoOutputConversionMode )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BMDVideoOutputConversionMode conversionMode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetVideoOutputConversionMode )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ BMDVideoOutputConversionMode *conversionMode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Set_HD1080p24_to_HD1080i5994_Conversion )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BOOL enable);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Get_HD1080p24_to_HD1080i5994_Conversion )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ BOOL *enabled);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetVideoInputFormat )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BMDVideoConnection_v7_6 videoInputFormat);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetVideoInputFormat )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoInputFlags )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BMDAnalogVideoFlags analogVideoFlags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoInputFlags )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetVideoInputConversionMode )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BMDVideoInputConversionMode conversionMode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetVideoInputConversionMode )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ BMDVideoInputConversionMode *conversionMode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetBlackVideoOutputDuringCapture )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BOOL blackOutInCapture);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBlackVideoOutputDuringCapture )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ BOOL *blackOutInCapture);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ unsigned long aFrameTimecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ unsigned long *aFrameTimecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetVancSourceLineMapping )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ unsigned long activeLine1VANCsource,\r
+ /* [in] */ unsigned long activeLine2VANCsource,\r
+ /* [in] */ unsigned long activeLine3VANCsource);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetVancSourceLineMapping )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ unsigned long *activeLine1VANCsource,\r
+ /* [out] */ unsigned long *activeLine2VANCsource,\r
+ /* [out] */ unsigned long *activeLine3VANCsource);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetAudioInputFormat )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [in] */ BMDAudioConnection audioInputFormat);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAudioInputFormat )( \r
+ IDeckLinkConfiguration_v7_6 * This,\r
+ /* [out] */ BMDAudioConnection *audioInputFormat);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkConfiguration_v7_6Vtbl;\r
+\r
+ interface IDeckLinkConfiguration_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkConfiguration_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkConfiguration_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkConfiguration_v7_6_GetConfigurationValidator(This,configObject) \\r
+ ( (This)->lpVtbl -> GetConfigurationValidator(This,configObject) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(This) \\r
+ ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(This,videoOutputConnection) \\r
+ ( (This)->lpVtbl -> SetVideoOutputFormat(This,videoOutputConnection) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_IsVideoOutputActive(This,videoOutputConnection,active) \\r
+ ( (This)->lpVtbl -> IsVideoOutputActive(This,videoOutputConnection,active) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(This,analogVideoFlags) \\r
+ ( (This)->lpVtbl -> SetAnalogVideoOutputFlags(This,analogVideoFlags) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(This,analogVideoFlags) \\r
+ ( (This)->lpVtbl -> GetAnalogVideoOutputFlags(This,analogVideoFlags) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(This,enable) \\r
+ ( (This)->lpVtbl -> EnableFieldFlickerRemovalWhenPaused(This,enable) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) \\r
+ ( (This)->lpVtbl -> IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) \\r
+ ( (This)->lpVtbl -> Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) \\r
+ ( (This)->lpVtbl -> Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(This,conversionMode) \\r
+ ( (This)->lpVtbl -> SetVideoOutputConversionMode(This,conversionMode) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(This,conversionMode) \\r
+ ( (This)->lpVtbl -> GetVideoOutputConversionMode(This,conversionMode) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) \\r
+ ( (This)->lpVtbl -> Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) \\r
+ ( (This)->lpVtbl -> Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_SetVideoInputFormat(This,videoInputFormat) \\r
+ ( (This)->lpVtbl -> SetVideoInputFormat(This,videoInputFormat) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_GetVideoInputFormat(This,videoInputFormat) \\r
+ ( (This)->lpVtbl -> GetVideoInputFormat(This,videoInputFormat) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(This,analogVideoFlags) \\r
+ ( (This)->lpVtbl -> SetAnalogVideoInputFlags(This,analogVideoFlags) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(This,analogVideoFlags) \\r
+ ( (This)->lpVtbl -> GetAnalogVideoInputFlags(This,analogVideoFlags) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(This,conversionMode) \\r
+ ( (This)->lpVtbl -> SetVideoInputConversionMode(This,conversionMode) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(This,conversionMode) \\r
+ ( (This)->lpVtbl -> GetVideoInputConversionMode(This,conversionMode) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(This,blackOutInCapture) \\r
+ ( (This)->lpVtbl -> SetBlackVideoOutputDuringCapture(This,blackOutInCapture) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(This,blackOutInCapture) \\r
+ ( (This)->lpVtbl -> GetBlackVideoOutputDuringCapture(This,blackOutInCapture) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \\r
+ ( (This)->lpVtbl -> Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \\r
+ ( (This)->lpVtbl -> Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \\r
+ ( (This)->lpVtbl -> SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \\r
+ ( (This)->lpVtbl -> GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_SetAudioInputFormat(This,audioInputFormat) \\r
+ ( (This)->lpVtbl -> SetAudioInputFormat(This,audioInputFormat) ) \r
+\r
+#define IDeckLinkConfiguration_v7_6_GetAudioInputFormat(This,audioInputFormat) \\r
+ ( (This)->lpVtbl -> GetAudioInputFormat(This,audioInputFormat) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoOutputCallback_v7_6 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("E763A626-4A3C-49D1-BF13-E7AD3692AE52")\r
+ IDeckLinkVideoOutputCallback_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( \r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame,\r
+ /* [in] */ BMDOutputFrameCompletionResult result) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoOutputCallback_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoOutputCallback_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoOutputCallback_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoOutputCallback_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( \r
+ IDeckLinkVideoOutputCallback_v7_6 * This,\r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame,\r
+ /* [in] */ BMDOutputFrameCompletionResult result);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )( \r
+ IDeckLinkVideoOutputCallback_v7_6 * This);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoOutputCallback_v7_6Vtbl;\r
+\r
+ interface IDeckLinkVideoOutputCallback_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoOutputCallback_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoOutputCallback_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoOutputCallback_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(This,completedFrame,result) \\r
+ ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) \r
+\r
+#define IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(This) \\r
+ ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__\r
+#define __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkInputCallback_v7_6 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkInputCallback_v7_6;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("31D28EE7-88B6-4CB1-897A-CDBF79A26414")\r
+ IDeckLinkInputCallback_v7_6 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( \r
+ /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,\r
+ /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,\r
+ /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( \r
+ /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame,\r
+ /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkInputCallback_v7_6Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkInputCallback_v7_6 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkInputCallback_v7_6 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkInputCallback_v7_6 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( \r
+ IDeckLinkInputCallback_v7_6 * This,\r
+ /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,\r
+ /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,\r
+ /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( \r
+ IDeckLinkInputCallback_v7_6 * This,\r
+ /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame,\r
+ /* [in] */ IDeckLinkAudioInputPacket *audioPacket);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkInputCallback_v7_6Vtbl;\r
+\r
+ interface IDeckLinkInputCallback_v7_6\r
+ {\r
+ CONST_VTBL struct IDeckLinkInputCallback_v7_6Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkInputCallback_v7_6_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkInputCallback_v7_6_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkInputCallback_v7_6_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \\r
+ ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) \r
+\r
+#define IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(This,videoFrame,audioPacket) \\r
+ ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ */\r
+\r
+\r
+EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper_v7_6;\r
+\r
+#ifdef __cplusplus\r
+\r
+class DECLSPEC_UUID("D398CEE7-4434-4CA3-9BA6-5AE34556B905")\r
+CDeckLinkGLScreenPreviewHelper_v7_6;\r
+#endif\r
+\r
+EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion_v7_6;\r
+\r
+#ifdef __cplusplus\r
+\r
+class DECLSPEC_UUID("FFA84F77-73BE-4FB7-B03E-B5E44B9F759B")\r
+CDeckLinkVideoConversion_v7_6;\r
+#endif\r
+\r
+#ifndef __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__\r
+#define __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkInputCallback_v7_3 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkInputCallback_v7_3;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("FD6F311D-4D00-444B-9ED4-1F25B5730AD0")\r
+ IDeckLinkInputCallback_v7_3 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( \r
+ /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,\r
+ /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,\r
+ /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( \r
+ /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,\r
+ /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkInputCallback_v7_3Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkInputCallback_v7_3 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkInputCallback_v7_3 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkInputCallback_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( \r
+ IDeckLinkInputCallback_v7_3 * This,\r
+ /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,\r
+ /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,\r
+ /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( \r
+ IDeckLinkInputCallback_v7_3 * This,\r
+ /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,\r
+ /* [in] */ IDeckLinkAudioInputPacket *audioPacket);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkInputCallback_v7_3Vtbl;\r
+\r
+ interface IDeckLinkInputCallback_v7_3\r
+ {\r
+ CONST_VTBL struct IDeckLinkInputCallback_v7_3Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkInputCallback_v7_3_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkInputCallback_v7_3_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkInputCallback_v7_3_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \\r
+ ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) \r
+\r
+#define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) \\r
+ ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__\r
+#define __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkOutput_v7_3 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkOutput_v7_3;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("271C65E3-C323-4344-A30F-D908BCB20AA3")\r
+ IDeckLinkOutput_v7_3 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( \r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( \r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( \r
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( \r
+ BMDDisplayMode displayMode,\r
+ BMDVideoOutputFlags flags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( \r
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( \r
+ long width,\r
+ long height,\r
+ long rowBytes,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDFrameFlags flags,\r
+ /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( \r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( \r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( \r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,\r
+ BMDTimeValue displayTime,\r
+ BMDTimeValue displayDuration,\r
+ BMDTimeScale timeScale) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( \r
+ /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( \r
+ /* [out] */ unsigned long *bufferedFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( \r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount,\r
+ BMDAudioOutputStreamType streamType) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( \r
+ /* [in] */ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ /* [out] */ unsigned long *sampleFramesWritten) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( \r
+ /* [in] */ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ BMDTimeValue streamTime,\r
+ BMDTimeScale timeScale,\r
+ /* [out] */ unsigned long *sampleFramesWritten) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( \r
+ /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( \r
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( \r
+ BMDTimeValue playbackStartTime,\r
+ BMDTimeScale timeScale,\r
+ double playbackSpeed) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( \r
+ BMDTimeValue stopPlaybackAtTime,\r
+ /* [out] */ BMDTimeValue *actualStopTime,\r
+ BMDTimeScale timeScale) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( \r
+ /* [out] */ BOOL *active) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( \r
+ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkOutput_v7_3Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkOutput_v7_3 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkOutput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ BMDDisplayMode displayMode,\r
+ BMDVideoOutputFlags flags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( \r
+ IDeckLinkOutput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ long width,\r
+ long height,\r
+ long rowBytes,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDFrameFlags flags,\r
+ /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,\r
+ BMDTimeValue displayTime,\r
+ BMDTimeValue displayDuration,\r
+ BMDTimeScale timeScale);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [in] */ IDeckLinkVideoOutputCallback *theCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [out] */ unsigned long *bufferedFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount,\r
+ BMDAudioOutputStreamType streamType);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( \r
+ IDeckLinkOutput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [in] */ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ /* [out] */ unsigned long *sampleFramesWritten);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( \r
+ IDeckLinkOutput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( \r
+ IDeckLinkOutput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [in] */ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ BMDTimeValue streamTime,\r
+ BMDTimeScale timeScale,\r
+ /* [out] */ unsigned long *sampleFramesWritten);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [out] */ unsigned long *bufferedSampleFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( \r
+ IDeckLinkOutput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ BMDTimeValue playbackStartTime,\r
+ BMDTimeScale timeScale,\r
+ double playbackSpeed);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ BMDTimeValue stopPlaybackAtTime,\r
+ /* [out] */ BMDTimeValue *actualStopTime,\r
+ BMDTimeScale timeScale);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ /* [out] */ BOOL *active);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( \r
+ IDeckLinkOutput_v7_3 * This,\r
+ BMDTimeScale desiredTimeScale,\r
+ /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkOutput_v7_3Vtbl;\r
+\r
+ interface IDeckLinkOutput_v7_3\r
+ {\r
+ CONST_VTBL struct IDeckLinkOutput_v7_3Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkOutput_v7_3_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkOutput_v7_3_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkOutput_v7_3_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkOutput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \\r
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) \r
+\r
+#define IDeckLinkOutput_v7_3_GetDisplayModeIterator(This,iterator) \\r
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) \r
+\r
+#define IDeckLinkOutput_v7_3_SetScreenPreviewCallback(This,previewCallback) \\r
+ ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) \r
+\r
+#define IDeckLinkOutput_v7_3_EnableVideoOutput(This,displayMode,flags) \\r
+ ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) \r
+\r
+#define IDeckLinkOutput_v7_3_DisableVideoOutput(This) \\r
+ ( (This)->lpVtbl -> DisableVideoOutput(This) ) \r
+\r
+#define IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \\r
+ ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) \r
+\r
+#define IDeckLinkOutput_v7_3_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \\r
+ ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) \r
+\r
+#define IDeckLinkOutput_v7_3_CreateAncillaryData(This,pixelFormat,outBuffer) \\r
+ ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) \r
+\r
+#define IDeckLinkOutput_v7_3_DisplayVideoFrameSync(This,theFrame) \\r
+ ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) \r
+\r
+#define IDeckLinkOutput_v7_3_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \\r
+ ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) \r
+\r
+#define IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) \r
+\r
+#define IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(This,bufferedFrameCount) \\r
+ ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) \r
+\r
+#define IDeckLinkOutput_v7_3_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \\r
+ ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) \r
+\r
+#define IDeckLinkOutput_v7_3_DisableAudioOutput(This) \\r
+ ( (This)->lpVtbl -> DisableAudioOutput(This) ) \r
+\r
+#define IDeckLinkOutput_v7_3_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \\r
+ ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) \r
+\r
+#define IDeckLinkOutput_v7_3_BeginAudioPreroll(This) \\r
+ ( (This)->lpVtbl -> BeginAudioPreroll(This) ) \r
+\r
+#define IDeckLinkOutput_v7_3_EndAudioPreroll(This) \\r
+ ( (This)->lpVtbl -> EndAudioPreroll(This) ) \r
+\r
+#define IDeckLinkOutput_v7_3_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \\r
+ ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) \r
+\r
+#define IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \\r
+ ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) \r
+\r
+#define IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(This) \\r
+ ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) \r
+\r
+#define IDeckLinkOutput_v7_3_SetAudioCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) \r
+\r
+#define IDeckLinkOutput_v7_3_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \\r
+ ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) \r
+\r
+#define IDeckLinkOutput_v7_3_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \\r
+ ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) \r
+\r
+#define IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(This,active) \\r
+ ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) \r
+\r
+#define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \\r
+ ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInput_v7_3_INTERFACE_DEFINED__\r
+#define __IDeckLinkInput_v7_3_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkInput_v7_3 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkInput_v7_3;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("4973F012-9925-458C-871C-18774CDBBECB")\r
+ IDeckLinkInput_v7_3 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( \r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( \r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( \r
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( \r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDVideoInputFlags flags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( \r
+ /* [out] */ unsigned long *availableFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( \r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( \r
+ /* [out] */ unsigned long *availableSampleFrameCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetCallback( \r
+ /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkInput_v7_3Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkInput_v7_3 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkInput_v7_3 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkInput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( \r
+ IDeckLinkInput_v7_3 * This,\r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( \r
+ IDeckLinkInput_v7_3 * This,\r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( \r
+ IDeckLinkInput_v7_3 * This,\r
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( \r
+ IDeckLinkInput_v7_3 * This,\r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDVideoInputFlags flags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( \r
+ IDeckLinkInput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( \r
+ IDeckLinkInput_v7_3 * This,\r
+ /* [out] */ unsigned long *availableFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( \r
+ IDeckLinkInput_v7_3 * This,\r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( \r
+ IDeckLinkInput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( \r
+ IDeckLinkInput_v7_3 * This,\r
+ /* [out] */ unsigned long *availableSampleFrameCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartStreams )( \r
+ IDeckLinkInput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StopStreams )( \r
+ IDeckLinkInput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *PauseStreams )( \r
+ IDeckLinkInput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *FlushStreams )( \r
+ IDeckLinkInput_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetCallback )( \r
+ IDeckLinkInput_v7_3 * This,\r
+ /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkInput_v7_3Vtbl;\r
+\r
+ interface IDeckLinkInput_v7_3\r
+ {\r
+ CONST_VTBL struct IDeckLinkInput_v7_3Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkInput_v7_3_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkInput_v7_3_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkInput_v7_3_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkInput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \\r
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) \r
+\r
+#define IDeckLinkInput_v7_3_GetDisplayModeIterator(This,iterator) \\r
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) \r
+\r
+#define IDeckLinkInput_v7_3_SetScreenPreviewCallback(This,previewCallback) \\r
+ ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) \r
+\r
+#define IDeckLinkInput_v7_3_EnableVideoInput(This,displayMode,pixelFormat,flags) \\r
+ ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) \r
+\r
+#define IDeckLinkInput_v7_3_DisableVideoInput(This) \\r
+ ( (This)->lpVtbl -> DisableVideoInput(This) ) \r
+\r
+#define IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(This,availableFrameCount) \\r
+ ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) \r
+\r
+#define IDeckLinkInput_v7_3_EnableAudioInput(This,sampleRate,sampleType,channelCount) \\r
+ ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) \r
+\r
+#define IDeckLinkInput_v7_3_DisableAudioInput(This) \\r
+ ( (This)->lpVtbl -> DisableAudioInput(This) ) \r
+\r
+#define IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \\r
+ ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) \r
+\r
+#define IDeckLinkInput_v7_3_StartStreams(This) \\r
+ ( (This)->lpVtbl -> StartStreams(This) ) \r
+\r
+#define IDeckLinkInput_v7_3_StopStreams(This) \\r
+ ( (This)->lpVtbl -> StopStreams(This) ) \r
+\r
+#define IDeckLinkInput_v7_3_PauseStreams(This) \\r
+ ( (This)->lpVtbl -> PauseStreams(This) ) \r
+\r
+#define IDeckLinkInput_v7_3_FlushStreams(This) \\r
+ ( (This)->lpVtbl -> FlushStreams(This) ) \r
+\r
+#define IDeckLinkInput_v7_3_SetCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetCallback(This,theCallback) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoInputFrame_v7_3 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_3;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("CF317790-2894-11DE-8C30-0800200C9A66")\r
+ IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame_v7_6\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetStreamTime( \r
+ /* [out] */ BMDTimeValue *frameTime,\r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ BMDTimeScale timeScale) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoInputFrame_v7_3Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetRowBytes )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This);\r
+ \r
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This);\r
+ \r
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This,\r
+ /* [out] */ void **buffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This,\r
+ BMDTimecodeFormat format,\r
+ /* [out] */ IDeckLinkTimecode_v7_6 **timecode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This,\r
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( \r
+ IDeckLinkVideoInputFrame_v7_3 * This,\r
+ /* [out] */ BMDTimeValue *frameTime,\r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ BMDTimeScale timeScale);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoInputFrame_v7_3Vtbl;\r
+\r
+ interface IDeckLinkVideoInputFrame_v7_3\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoInputFrame_v7_3Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_GetRowBytes(This) \\r
+ ( (This)->lpVtbl -> GetRowBytes(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(This) \\r
+ ( (This)->lpVtbl -> GetPixelFormat(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_GetBytes(This,buffer) \\r
+ ( (This)->lpVtbl -> GetBytes(This,buffer) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_GetTimecode(This,format,timecode) \\r
+ ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(This,ancillary) \\r
+ ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) \r
+\r
+\r
+#define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) \\r
+ ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__\r
+#define __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkDisplayModeIterator_v7_1 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_1;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("B28131B6-59AC-4857-B5AC-CD75D5883E2F")\r
+ IDeckLinkDisplayModeIterator_v7_1 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE Next( \r
+ /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkDisplayModeIterator_v7_1Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkDisplayModeIterator_v7_1 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkDisplayModeIterator_v7_1 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkDisplayModeIterator_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *Next )( \r
+ IDeckLinkDisplayModeIterator_v7_1 * This,\r
+ /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkDisplayModeIterator_v7_1Vtbl;\r
+\r
+ interface IDeckLinkDisplayModeIterator_v7_1\r
+ {\r
+ CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_1Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkDisplayModeIterator_v7_1_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkDisplayModeIterator_v7_1_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkDisplayModeIterator_v7_1_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) \\r
+ ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__\r
+#define __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkDisplayMode_v7_1 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_1;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("AF0CD6D5-8376-435E-8433-54F9DD530AC3")\r
+ IDeckLinkDisplayMode_v7_1 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetName( \r
+ /* [out] */ BSTR *name) = 0;\r
+ \r
+ virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetWidth( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetHeight( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetFrameRate( \r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ /* [out] */ BMDTimeScale *timeScale) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkDisplayMode_v7_1Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkDisplayMode_v7_1 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkDisplayMode_v7_1 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkDisplayMode_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetName )( \r
+ IDeckLinkDisplayMode_v7_1 * This,\r
+ /* [out] */ BSTR *name);\r
+ \r
+ BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( \r
+ IDeckLinkDisplayMode_v7_1 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkDisplayMode_v7_1 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkDisplayMode_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( \r
+ IDeckLinkDisplayMode_v7_1 * This,\r
+ /* [out] */ BMDTimeValue *frameDuration,\r
+ /* [out] */ BMDTimeScale *timeScale);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkDisplayMode_v7_1Vtbl;\r
+\r
+ interface IDeckLinkDisplayMode_v7_1\r
+ {\r
+ CONST_VTBL struct IDeckLinkDisplayMode_v7_1Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkDisplayMode_v7_1_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_1_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_1_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkDisplayMode_v7_1_GetName(This,name) \\r
+ ( (This)->lpVtbl -> GetName(This,name) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_1_GetDisplayMode(This) \\r
+ ( (This)->lpVtbl -> GetDisplayMode(This) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_1_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_1_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) \\r
+ ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoFrame_v7_1 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_1;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("333F3A10-8C2D-43CF-B79D-46560FEEA1CE")\r
+ IDeckLinkVideoFrame_v7_1 : public IUnknown\r
+ {\r
+ public:\r
+ virtual long STDMETHODCALLTYPE GetWidth( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetHeight( void) = 0;\r
+ \r
+ virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;\r
+ \r
+ virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;\r
+ \r
+ virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBytes( \r
+ void **buffer) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoFrame_v7_1Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoFrame_v7_1 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoFrame_v7_1 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoFrame_v7_1 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkVideoFrame_v7_1 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkVideoFrame_v7_1 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetRowBytes )( \r
+ IDeckLinkVideoFrame_v7_1 * This);\r
+ \r
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( \r
+ IDeckLinkVideoFrame_v7_1 * This);\r
+ \r
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkVideoFrame_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )( \r
+ IDeckLinkVideoFrame_v7_1 * This,\r
+ void **buffer);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoFrame_v7_1Vtbl;\r
+\r
+ interface IDeckLinkVideoFrame_v7_1\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoFrame_v7_1Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoFrame_v7_1_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_1_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_1_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoFrame_v7_1_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_1_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_1_GetRowBytes(This) \\r
+ ( (This)->lpVtbl -> GetRowBytes(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_1_GetPixelFormat(This) \\r
+ ( (This)->lpVtbl -> GetPixelFormat(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_1_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) \\r
+ ( (This)->lpVtbl -> GetBytes(This,buffer) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoInputFrame_v7_1 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_1;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("C8B41D95-8848-40EE-9B37-6E3417FB114B")\r
+ IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE GetFrameTime( \r
+ BMDTimeValue *frameTime,\r
+ BMDTimeValue *frameDuration,\r
+ BMDTimeScale timeScale) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoInputFrame_v7_1Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoInputFrame_v7_1 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoInputFrame_v7_1 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoInputFrame_v7_1 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetWidth )( \r
+ IDeckLinkVideoInputFrame_v7_1 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetHeight )( \r
+ IDeckLinkVideoInputFrame_v7_1 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetRowBytes )( \r
+ IDeckLinkVideoInputFrame_v7_1 * This);\r
+ \r
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( \r
+ IDeckLinkVideoInputFrame_v7_1 * This);\r
+ \r
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( \r
+ IDeckLinkVideoInputFrame_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )( \r
+ IDeckLinkVideoInputFrame_v7_1 * This,\r
+ void **buffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetFrameTime )( \r
+ IDeckLinkVideoInputFrame_v7_1 * This,\r
+ BMDTimeValue *frameTime,\r
+ BMDTimeValue *frameDuration,\r
+ BMDTimeScale timeScale);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoInputFrame_v7_1Vtbl;\r
+\r
+ interface IDeckLinkVideoInputFrame_v7_1\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoInputFrame_v7_1Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoInputFrame_v7_1_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_1_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_1_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoInputFrame_v7_1_GetWidth(This) \\r
+ ( (This)->lpVtbl -> GetWidth(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_1_GetHeight(This) \\r
+ ( (This)->lpVtbl -> GetHeight(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_1_GetRowBytes(This) \\r
+ ( (This)->lpVtbl -> GetRowBytes(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(This) \\r
+ ( (This)->lpVtbl -> GetPixelFormat(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_1_GetFlags(This) \\r
+ ( (This)->lpVtbl -> GetFlags(This) ) \r
+\r
+#define IDeckLinkVideoInputFrame_v7_1_GetBytes(This,buffer) \\r
+ ( (This)->lpVtbl -> GetBytes(This,buffer) ) \r
+\r
+\r
+#define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) \\r
+ ( (This)->lpVtbl -> GetFrameTime(This,frameTime,frameDuration,timeScale) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__\r
+#define __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkAudioInputPacket_v7_1 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkAudioInputPacket_v7_1;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("C86DE4F6-A29F-42E3-AB3A-1363E29F0788")\r
+ IDeckLinkAudioInputPacket_v7_1 : public IUnknown\r
+ {\r
+ public:\r
+ virtual long STDMETHODCALLTYPE GetSampleCount( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBytes( \r
+ void **buffer) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime( \r
+ BMDTimeValue *packetTime,\r
+ BMDTimeScale timeScale) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkAudioInputPacket_v7_1Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkAudioInputPacket_v7_1 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkAudioInputPacket_v7_1 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkAudioInputPacket_v7_1 * This);\r
+ \r
+ long ( STDMETHODCALLTYPE *GetSampleCount )( \r
+ IDeckLinkAudioInputPacket_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )( \r
+ IDeckLinkAudioInputPacket_v7_1 * This,\r
+ void **buffer);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetAudioPacketTime )( \r
+ IDeckLinkAudioInputPacket_v7_1 * This,\r
+ BMDTimeValue *packetTime,\r
+ BMDTimeScale timeScale);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkAudioInputPacket_v7_1Vtbl;\r
+\r
+ interface IDeckLinkAudioInputPacket_v7_1\r
+ {\r
+ CONST_VTBL struct IDeckLinkAudioInputPacket_v7_1Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkAudioInputPacket_v7_1_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkAudioInputPacket_v7_1_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkAudioInputPacket_v7_1_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkAudioInputPacket_v7_1_GetSampleCount(This) \\r
+ ( (This)->lpVtbl -> GetSampleCount(This) ) \r
+\r
+#define IDeckLinkAudioInputPacket_v7_1_GetBytes(This,buffer) \\r
+ ( (This)->lpVtbl -> GetBytes(This,buffer) ) \r
+\r
+#define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) \\r
+ ( (This)->lpVtbl -> GetAudioPacketTime(This,packetTime,timeScale) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__\r
+#define __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkVideoOutputCallback_v7_1 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_1;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9")\r
+ IDeckLinkVideoOutputCallback_v7_1 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( \r
+ /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,\r
+ /* [in] */ BMDOutputFrameCompletionResult result) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkVideoOutputCallback_v7_1Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkVideoOutputCallback_v7_1 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkVideoOutputCallback_v7_1 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkVideoOutputCallback_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( \r
+ IDeckLinkVideoOutputCallback_v7_1 * This,\r
+ /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,\r
+ /* [in] */ BMDOutputFrameCompletionResult result);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkVideoOutputCallback_v7_1Vtbl;\r
+\r
+ interface IDeckLinkVideoOutputCallback_v7_1\r
+ {\r
+ CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_1Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkVideoOutputCallback_v7_1_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkVideoOutputCallback_v7_1_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkVideoOutputCallback_v7_1_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) \\r
+ ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__\r
+#define __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkInputCallback_v7_1 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkInputCallback_v7_1;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("7F94F328-5ED4-4E9F-9729-76A86BDC99CC")\r
+ IDeckLinkInputCallback_v7_1 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( \r
+ /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,\r
+ /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkInputCallback_v7_1Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkInputCallback_v7_1 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkInputCallback_v7_1 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkInputCallback_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( \r
+ IDeckLinkInputCallback_v7_1 * This,\r
+ /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,\r
+ /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkInputCallback_v7_1Vtbl;\r
+\r
+ interface IDeckLinkInputCallback_v7_1\r
+ {\r
+ CONST_VTBL struct IDeckLinkInputCallback_v7_1Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkInputCallback_v7_1_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkInputCallback_v7_1_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkInputCallback_v7_1_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) \\r
+ ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__\r
+#define __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkOutput_v7_1 */\r
+/* [helpstring][local][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkOutput_v7_1;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5")\r
+ IDeckLinkOutput_v7_1 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( \r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( \r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( \r
+ BMDDisplayMode displayMode) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( \r
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( \r
+ long width,\r
+ long height,\r
+ long rowBytes,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDFrameFlags flags,\r
+ IDeckLinkVideoFrame_v7_1 **outFrame) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer( \r
+ void *buffer,\r
+ long width,\r
+ long height,\r
+ long rowBytes,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDFrameFlags flags,\r
+ IDeckLinkVideoFrame_v7_1 **outFrame) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( \r
+ IDeckLinkVideoFrame_v7_1 *theFrame) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( \r
+ IDeckLinkVideoFrame_v7_1 *theFrame,\r
+ BMDTimeValue displayTime,\r
+ BMDTimeValue displayDuration,\r
+ BMDTimeScale timeScale) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( \r
+ /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( \r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( \r
+ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ /* [out] */ unsigned long *sampleFramesWritten) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( \r
+ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ BMDTimeValue streamTime,\r
+ BMDTimeScale timeScale,\r
+ /* [out] */ unsigned long *sampleFramesWritten) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( \r
+ /* [out] */ unsigned long *bufferedSampleCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( \r
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( \r
+ BMDTimeValue playbackStartTime,\r
+ BMDTimeScale timeScale,\r
+ double playbackSpeed) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( \r
+ BMDTimeValue stopPlaybackAtTime,\r
+ BMDTimeValue *actualStopTime,\r
+ BMDTimeScale timeScale) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( \r
+ BMDTimeScale desiredTimeScale,\r
+ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkOutput_v7_1Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkOutput_v7_1 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkOutput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ BMDDisplayMode displayMode);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( \r
+ IDeckLinkOutput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ long width,\r
+ long height,\r
+ long rowBytes,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDFrameFlags flags,\r
+ IDeckLinkVideoFrame_v7_1 **outFrame);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *CreateVideoFrameFromBuffer )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ void *buffer,\r
+ long width,\r
+ long height,\r
+ long rowBytes,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDFrameFlags flags,\r
+ IDeckLinkVideoFrame_v7_1 **outFrame);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ IDeckLinkVideoFrame_v7_1 *theFrame);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ IDeckLinkVideoFrame_v7_1 *theFrame,\r
+ BMDTimeValue displayTime,\r
+ BMDTimeValue displayDuration,\r
+ BMDTimeScale timeScale);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( \r
+ IDeckLinkOutput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ /* [out] */ unsigned long *sampleFramesWritten);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( \r
+ IDeckLinkOutput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( \r
+ IDeckLinkOutput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ BMDTimeValue streamTime,\r
+ BMDTimeScale timeScale,\r
+ /* [out] */ unsigned long *sampleFramesWritten);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ /* [out] */ unsigned long *bufferedSampleCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( \r
+ IDeckLinkOutput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ BMDTimeValue playbackStartTime,\r
+ BMDTimeScale timeScale,\r
+ double playbackSpeed);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ BMDTimeValue stopPlaybackAtTime,\r
+ BMDTimeValue *actualStopTime,\r
+ BMDTimeScale timeScale);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( \r
+ IDeckLinkOutput_v7_1 * This,\r
+ BMDTimeScale desiredTimeScale,\r
+ BMDTimeValue *elapsedTimeSinceSchedulerBegan);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkOutput_v7_1Vtbl;\r
+\r
+ interface IDeckLinkOutput_v7_1\r
+ {\r
+ CONST_VTBL struct IDeckLinkOutput_v7_1Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkOutput_v7_1_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkOutput_v7_1_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkOutput_v7_1_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkOutput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \\r
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) \r
+\r
+#define IDeckLinkOutput_v7_1_GetDisplayModeIterator(This,iterator) \\r
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) \r
+\r
+#define IDeckLinkOutput_v7_1_EnableVideoOutput(This,displayMode) \\r
+ ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode) ) \r
+\r
+#define IDeckLinkOutput_v7_1_DisableVideoOutput(This) \\r
+ ( (This)->lpVtbl -> DisableVideoOutput(This) ) \r
+\r
+#define IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \\r
+ ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) \r
+\r
+#define IDeckLinkOutput_v7_1_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \\r
+ ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) \r
+\r
+#define IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) \\r
+ ( (This)->lpVtbl -> CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) ) \r
+\r
+#define IDeckLinkOutput_v7_1_DisplayVideoFrameSync(This,theFrame) \\r
+ ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) \r
+\r
+#define IDeckLinkOutput_v7_1_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \\r
+ ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) \r
+\r
+#define IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) \r
+\r
+#define IDeckLinkOutput_v7_1_EnableAudioOutput(This,sampleRate,sampleType,channelCount) \\r
+ ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount) ) \r
+\r
+#define IDeckLinkOutput_v7_1_DisableAudioOutput(This) \\r
+ ( (This)->lpVtbl -> DisableAudioOutput(This) ) \r
+\r
+#define IDeckLinkOutput_v7_1_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \\r
+ ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) \r
+\r
+#define IDeckLinkOutput_v7_1_BeginAudioPreroll(This) \\r
+ ( (This)->lpVtbl -> BeginAudioPreroll(This) ) \r
+\r
+#define IDeckLinkOutput_v7_1_EndAudioPreroll(This) \\r
+ ( (This)->lpVtbl -> EndAudioPreroll(This) ) \r
+\r
+#define IDeckLinkOutput_v7_1_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \\r
+ ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) \r
+\r
+#define IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \\r
+ ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) ) \r
+\r
+#define IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(This) \\r
+ ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) \r
+\r
+#define IDeckLinkOutput_v7_1_SetAudioCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) \r
+\r
+#define IDeckLinkOutput_v7_1_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \\r
+ ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) \r
+\r
+#define IDeckLinkOutput_v7_1_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \\r
+ ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) \r
+\r
+#define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \\r
+ ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ */\r
+\r
+\r
+#ifndef __IDeckLinkInput_v7_1_INTERFACE_DEFINED__\r
+#define __IDeckLinkInput_v7_1_INTERFACE_DEFINED__\r
+\r
+/* interface IDeckLinkInput_v7_1 */\r
+/* [helpstring][uuid][object] */ \r
+\r
+\r
+EXTERN_C const IID IID_IDeckLinkInput_v7_1;\r
+\r
+#if defined(__cplusplus) && !defined(CINTERFACE)\r
+ \r
+ MIDL_INTERFACE("2B54EDEF-5B32-429F-BA11-BB990596EACD")\r
+ IDeckLinkInput_v7_1 : public IUnknown\r
+ {\r
+ public:\r
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( \r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( \r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( \r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDVideoInputFlags flags) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( \r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples( \r
+ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ /* [out] */ unsigned long *sampleFramesRead,\r
+ /* [out] */ BMDTimeValue *audioPacketTime,\r
+ BMDTimeScale timeScale) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( \r
+ /* [out] */ unsigned long *bufferedSampleCount) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;\r
+ \r
+ virtual HRESULT STDMETHODCALLTYPE SetCallback( \r
+ /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback) = 0;\r
+ \r
+ };\r
+ \r
+#else /* C style interface */\r
+\r
+ typedef struct IDeckLinkInput_v7_1Vtbl\r
+ {\r
+ BEGIN_INTERFACE\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
+ IDeckLinkInput_v7_1 * This,\r
+ /* [in] */ REFIID riid,\r
+ /* [annotation][iid_is][out] */ \r
+ __RPC__deref_out void **ppvObject);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *AddRef )( \r
+ IDeckLinkInput_v7_1 * This);\r
+ \r
+ ULONG ( STDMETHODCALLTYPE *Release )( \r
+ IDeckLinkInput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( \r
+ IDeckLinkInput_v7_1 * This,\r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ /* [out] */ BMDDisplayModeSupport *result);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( \r
+ IDeckLinkInput_v7_1 * This,\r
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( \r
+ IDeckLinkInput_v7_1 * This,\r
+ BMDDisplayMode displayMode,\r
+ BMDPixelFormat pixelFormat,\r
+ BMDVideoInputFlags flags);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( \r
+ IDeckLinkInput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( \r
+ IDeckLinkInput_v7_1 * This,\r
+ BMDAudioSampleRate sampleRate,\r
+ BMDAudioSampleType sampleType,\r
+ unsigned long channelCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( \r
+ IDeckLinkInput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *ReadAudioSamples )( \r
+ IDeckLinkInput_v7_1 * This,\r
+ void *buffer,\r
+ unsigned long sampleFrameCount,\r
+ /* [out] */ unsigned long *sampleFramesRead,\r
+ /* [out] */ BMDTimeValue *audioPacketTime,\r
+ BMDTimeScale timeScale);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( \r
+ IDeckLinkInput_v7_1 * This,\r
+ /* [out] */ unsigned long *bufferedSampleCount);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StartStreams )( \r
+ IDeckLinkInput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *StopStreams )( \r
+ IDeckLinkInput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *PauseStreams )( \r
+ IDeckLinkInput_v7_1 * This);\r
+ \r
+ HRESULT ( STDMETHODCALLTYPE *SetCallback )( \r
+ IDeckLinkInput_v7_1 * This,\r
+ /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback);\r
+ \r
+ END_INTERFACE\r
+ } IDeckLinkInput_v7_1Vtbl;\r
+\r
+ interface IDeckLinkInput_v7_1\r
+ {\r
+ CONST_VTBL struct IDeckLinkInput_v7_1Vtbl *lpVtbl;\r
+ };\r
+\r
+ \r
+\r
+#ifdef COBJMACROS\r
+\r
+\r
+#define IDeckLinkInput_v7_1_QueryInterface(This,riid,ppvObject) \\r
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
+\r
+#define IDeckLinkInput_v7_1_AddRef(This) \\r
+ ( (This)->lpVtbl -> AddRef(This) ) \r
+\r
+#define IDeckLinkInput_v7_1_Release(This) \\r
+ ( (This)->lpVtbl -> Release(This) ) \r
+\r
+\r
+#define IDeckLinkInput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \\r
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) \r
+\r
+#define IDeckLinkInput_v7_1_GetDisplayModeIterator(This,iterator) \\r
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) \r
+\r
+#define IDeckLinkInput_v7_1_EnableVideoInput(This,displayMode,pixelFormat,flags) \\r
+ ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) \r
+\r
+#define IDeckLinkInput_v7_1_DisableVideoInput(This) \\r
+ ( (This)->lpVtbl -> DisableVideoInput(This) ) \r
+\r
+#define IDeckLinkInput_v7_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) \\r
+ ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) \r
+\r
+#define IDeckLinkInput_v7_1_DisableAudioInput(This) \\r
+ ( (This)->lpVtbl -> DisableAudioInput(This) ) \r
+\r
+#define IDeckLinkInput_v7_1_ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) \\r
+ ( (This)->lpVtbl -> ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) ) \r
+\r
+#define IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \\r
+ ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) ) \r
+\r
+#define IDeckLinkInput_v7_1_StartStreams(This) \\r
+ ( (This)->lpVtbl -> StartStreams(This) ) \r
+\r
+#define IDeckLinkInput_v7_1_StopStreams(This) \\r
+ ( (This)->lpVtbl -> StopStreams(This) ) \r
+\r
+#define IDeckLinkInput_v7_1_PauseStreams(This) \\r
+ ( (This)->lpVtbl -> PauseStreams(This) ) \r
+\r
+#define IDeckLinkInput_v7_1_SetCallback(This,theCallback) \\r
+ ( (This)->lpVtbl -> SetCallback(This,theCallback) ) \r
+\r
+#endif /* COBJMACROS */\r
+\r
+\r
+#endif /* C style interface */\r
+\r
+\r
+\r
+\r
+#endif /* __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ */\r
+\r
+#endif /* __DeckLinkAPI_LIBRARY_DEFINED__ */\r
+\r
+/* Additional Prototypes for ALL interfaces */\r
+\r
+/* end of Additional Prototypes */\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+\r