Files
UltraGrid/DeckLink/Windows/DeckLinkAPI_h.h
2019-04-24 14:46:20 +02:00

18990 lines
807 KiB
C++

/*** Autogenerated by WIDL 3.20 from DeckLinkAPI.idl - Do not edit ***/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __decklinkapi_h__
#define __decklinkapi_h__
/* Forward declarations */
#ifndef __IDeckLinkTimecode_FWD_DEFINED__
#define __IDeckLinkTimecode_FWD_DEFINED__
typedef interface IDeckLinkTimecode IDeckLinkTimecode;
#ifdef __cplusplus
interface IDeckLinkTimecode;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDisplayModeIterator_FWD_DEFINED__
#define __IDeckLinkDisplayModeIterator_FWD_DEFINED__
typedef interface IDeckLinkDisplayModeIterator IDeckLinkDisplayModeIterator;
#ifdef __cplusplus
interface IDeckLinkDisplayModeIterator;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDisplayMode_FWD_DEFINED__
#define __IDeckLinkDisplayMode_FWD_DEFINED__
typedef interface IDeckLinkDisplayMode IDeckLinkDisplayMode;
#ifdef __cplusplus
interface IDeckLinkDisplayMode;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLink_FWD_DEFINED__
#define __IDeckLink_FWD_DEFINED__
typedef interface IDeckLink IDeckLink;
#ifdef __cplusplus
interface IDeckLink;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkConfiguration_FWD_DEFINED__
#define __IDeckLinkConfiguration_FWD_DEFINED__
typedef interface IDeckLinkConfiguration IDeckLinkConfiguration;
#ifdef __cplusplus
interface IDeckLinkConfiguration;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderConfiguration_FWD_DEFINED__
#define __IDeckLinkEncoderConfiguration_FWD_DEFINED__
typedef interface IDeckLinkEncoderConfiguration IDeckLinkEncoderConfiguration;
#ifdef __cplusplus
interface IDeckLinkEncoderConfiguration;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__
#define __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__
typedef interface IDeckLinkDeckControlStatusCallback IDeckLinkDeckControlStatusCallback;
#ifdef __cplusplus
interface IDeckLinkDeckControlStatusCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDeckControl_FWD_DEFINED__
#define __IDeckLinkDeckControl_FWD_DEFINED__
typedef interface IDeckLinkDeckControl IDeckLinkDeckControl;
#ifdef __cplusplus
interface IDeckLinkDeckControl;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingDeviceNotificationCallback_FWD_DEFINED__
#define __IBMDStreamingDeviceNotificationCallback_FWD_DEFINED__
typedef interface IBMDStreamingDeviceNotificationCallback IBMDStreamingDeviceNotificationCallback;
#ifdef __cplusplus
interface IBMDStreamingDeviceNotificationCallback;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingH264InputCallback_FWD_DEFINED__
#define __IBMDStreamingH264InputCallback_FWD_DEFINED__
typedef interface IBMDStreamingH264InputCallback IBMDStreamingH264InputCallback;
#ifdef __cplusplus
interface IBMDStreamingH264InputCallback;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingDiscovery_FWD_DEFINED__
#define __IBMDStreamingDiscovery_FWD_DEFINED__
typedef interface IBMDStreamingDiscovery IBMDStreamingDiscovery;
#ifdef __cplusplus
interface IBMDStreamingDiscovery;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingVideoEncodingMode_FWD_DEFINED__
#define __IBMDStreamingVideoEncodingMode_FWD_DEFINED__
typedef interface IBMDStreamingVideoEncodingMode IBMDStreamingVideoEncodingMode;
#ifdef __cplusplus
interface IBMDStreamingVideoEncodingMode;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingMutableVideoEncodingMode_FWD_DEFINED__
#define __IBMDStreamingMutableVideoEncodingMode_FWD_DEFINED__
typedef interface IBMDStreamingMutableVideoEncodingMode IBMDStreamingMutableVideoEncodingMode;
#ifdef __cplusplus
interface IBMDStreamingMutableVideoEncodingMode;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingVideoEncodingModePresetIterator_FWD_DEFINED__
#define __IBMDStreamingVideoEncodingModePresetIterator_FWD_DEFINED__
typedef interface IBMDStreamingVideoEncodingModePresetIterator IBMDStreamingVideoEncodingModePresetIterator;
#ifdef __cplusplus
interface IBMDStreamingVideoEncodingModePresetIterator;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingDeviceInput_FWD_DEFINED__
#define __IBMDStreamingDeviceInput_FWD_DEFINED__
typedef interface IBMDStreamingDeviceInput IBMDStreamingDeviceInput;
#ifdef __cplusplus
interface IBMDStreamingDeviceInput;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingH264NALPacket_FWD_DEFINED__
#define __IBMDStreamingH264NALPacket_FWD_DEFINED__
typedef interface IBMDStreamingH264NALPacket IBMDStreamingH264NALPacket;
#ifdef __cplusplus
interface IBMDStreamingH264NALPacket;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingAudioPacket_FWD_DEFINED__
#define __IBMDStreamingAudioPacket_FWD_DEFINED__
typedef interface IBMDStreamingAudioPacket IBMDStreamingAudioPacket;
#ifdef __cplusplus
interface IBMDStreamingAudioPacket;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingMPEG2TSPacket_FWD_DEFINED__
#define __IBMDStreamingMPEG2TSPacket_FWD_DEFINED__
typedef interface IBMDStreamingMPEG2TSPacket IBMDStreamingMPEG2TSPacket;
#ifdef __cplusplus
interface IBMDStreamingMPEG2TSPacket;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingH264NALParser_FWD_DEFINED__
#define __IBMDStreamingH264NALParser_FWD_DEFINED__
typedef interface IBMDStreamingH264NALParser IBMDStreamingH264NALParser;
#ifdef __cplusplus
interface IBMDStreamingH264NALParser;
#endif /* __cplusplus */
#endif
#ifndef __CBMDStreamingDiscovery_FWD_DEFINED__
#define __CBMDStreamingDiscovery_FWD_DEFINED__
#ifdef __cplusplus
typedef class CBMDStreamingDiscovery CBMDStreamingDiscovery;
#else
typedef struct CBMDStreamingDiscovery CBMDStreamingDiscovery;
#endif /* defined __cplusplus */
#endif /* defined __CBMDStreamingDiscovery_FWD_DEFINED__ */
#ifndef __CBMDStreamingH264NALParser_FWD_DEFINED__
#define __CBMDStreamingH264NALParser_FWD_DEFINED__
#ifdef __cplusplus
typedef class CBMDStreamingH264NALParser CBMDStreamingH264NALParser;
#else
typedef struct CBMDStreamingH264NALParser CBMDStreamingH264NALParser;
#endif /* defined __cplusplus */
#endif /* defined __CBMDStreamingH264NALParser_FWD_DEFINED__ */
#ifndef __IDeckLinkVideoOutputCallback_FWD_DEFINED__
#define __IDeckLinkVideoOutputCallback_FWD_DEFINED__
typedef interface IDeckLinkVideoOutputCallback IDeckLinkVideoOutputCallback;
#ifdef __cplusplus
interface IDeckLinkVideoOutputCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInputCallback_FWD_DEFINED__
#define __IDeckLinkInputCallback_FWD_DEFINED__
typedef interface IDeckLinkInputCallback IDeckLinkInputCallback;
#ifdef __cplusplus
interface IDeckLinkInputCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderInputCallback_FWD_DEFINED__
#define __IDeckLinkEncoderInputCallback_FWD_DEFINED__
typedef interface IDeckLinkEncoderInputCallback IDeckLinkEncoderInputCallback;
#ifdef __cplusplus
interface IDeckLinkEncoderInputCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkMemoryAllocator_FWD_DEFINED__
#define __IDeckLinkMemoryAllocator_FWD_DEFINED__
typedef interface IDeckLinkMemoryAllocator IDeckLinkMemoryAllocator;
#ifdef __cplusplus
interface IDeckLinkMemoryAllocator;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAudioOutputCallback_FWD_DEFINED__
#define __IDeckLinkAudioOutputCallback_FWD_DEFINED__
typedef interface IDeckLinkAudioOutputCallback IDeckLinkAudioOutputCallback;
#ifdef __cplusplus
interface IDeckLinkAudioOutputCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkIterator_FWD_DEFINED__
#define __IDeckLinkIterator_FWD_DEFINED__
typedef interface IDeckLinkIterator IDeckLinkIterator;
#ifdef __cplusplus
interface IDeckLinkIterator;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAPIInformation_FWD_DEFINED__
#define __IDeckLinkAPIInformation_FWD_DEFINED__
typedef interface IDeckLinkAPIInformation IDeckLinkAPIInformation;
#ifdef __cplusplus
interface IDeckLinkAPIInformation;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkOutput_FWD_DEFINED__
#define __IDeckLinkOutput_FWD_DEFINED__
typedef interface IDeckLinkOutput IDeckLinkOutput;
#ifdef __cplusplus
interface IDeckLinkOutput;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInput_FWD_DEFINED__
#define __IDeckLinkInput_FWD_DEFINED__
typedef interface IDeckLinkInput IDeckLinkInput;
#ifdef __cplusplus
interface IDeckLinkInput;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkHDMIInputEDID_FWD_DEFINED__
#define __IDeckLinkHDMIInputEDID_FWD_DEFINED__
typedef interface IDeckLinkHDMIInputEDID IDeckLinkHDMIInputEDID;
#ifdef __cplusplus
interface IDeckLinkHDMIInputEDID;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderInput_FWD_DEFINED__
#define __IDeckLinkEncoderInput_FWD_DEFINED__
typedef interface IDeckLinkEncoderInput IDeckLinkEncoderInput;
#ifdef __cplusplus
interface IDeckLinkEncoderInput;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrame_FWD_DEFINED__
#define __IDeckLinkVideoFrame_FWD_DEFINED__
typedef interface IDeckLinkVideoFrame IDeckLinkVideoFrame;
#ifdef __cplusplus
interface IDeckLinkVideoFrame;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkMutableVideoFrame_FWD_DEFINED__
#define __IDeckLinkMutableVideoFrame_FWD_DEFINED__
typedef interface IDeckLinkMutableVideoFrame IDeckLinkMutableVideoFrame;
#ifdef __cplusplus
interface IDeckLinkMutableVideoFrame;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__
#define __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__
typedef interface IDeckLinkVideoFrame3DExtensions IDeckLinkVideoFrame3DExtensions;
#ifdef __cplusplus
interface IDeckLinkVideoFrame3DExtensions;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__
#define __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__
typedef interface IDeckLinkVideoFrameMetadataExtensions IDeckLinkVideoFrameMetadataExtensions;
#ifdef __cplusplus
interface IDeckLinkVideoFrameMetadataExtensions;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoInputFrame_FWD_DEFINED__
#define __IDeckLinkVideoInputFrame_FWD_DEFINED__
typedef interface IDeckLinkVideoInputFrame IDeckLinkVideoInputFrame;
#ifdef __cplusplus
interface IDeckLinkVideoInputFrame;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAncillaryPacket_FWD_DEFINED__
#define __IDeckLinkAncillaryPacket_FWD_DEFINED__
typedef interface IDeckLinkAncillaryPacket IDeckLinkAncillaryPacket;
#ifdef __cplusplus
interface IDeckLinkAncillaryPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAncillaryPacketIterator_FWD_DEFINED__
#define __IDeckLinkAncillaryPacketIterator_FWD_DEFINED__
typedef interface IDeckLinkAncillaryPacketIterator IDeckLinkAncillaryPacketIterator;
#ifdef __cplusplus
interface IDeckLinkAncillaryPacketIterator;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__
#define __IDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__
typedef interface IDeckLinkVideoFrameAncillaryPackets IDeckLinkVideoFrameAncillaryPackets;
#ifdef __cplusplus
interface IDeckLinkVideoFrameAncillaryPackets;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrameAncillary_FWD_DEFINED__
#define __IDeckLinkVideoFrameAncillary_FWD_DEFINED__
typedef interface IDeckLinkVideoFrameAncillary IDeckLinkVideoFrameAncillary;
#ifdef __cplusplus
interface IDeckLinkVideoFrameAncillary;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderPacket_FWD_DEFINED__
#define __IDeckLinkEncoderPacket_FWD_DEFINED__
typedef interface IDeckLinkEncoderPacket IDeckLinkEncoderPacket;
#ifdef __cplusplus
interface IDeckLinkEncoderPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderVideoPacket_FWD_DEFINED__
#define __IDeckLinkEncoderVideoPacket_FWD_DEFINED__
typedef interface IDeckLinkEncoderVideoPacket IDeckLinkEncoderVideoPacket;
#ifdef __cplusplus
interface IDeckLinkEncoderVideoPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderAudioPacket_FWD_DEFINED__
#define __IDeckLinkEncoderAudioPacket_FWD_DEFINED__
typedef interface IDeckLinkEncoderAudioPacket IDeckLinkEncoderAudioPacket;
#ifdef __cplusplus
interface IDeckLinkEncoderAudioPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkH265NALPacket_FWD_DEFINED__
#define __IDeckLinkH265NALPacket_FWD_DEFINED__
typedef interface IDeckLinkH265NALPacket IDeckLinkH265NALPacket;
#ifdef __cplusplus
interface IDeckLinkH265NALPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAudioInputPacket_FWD_DEFINED__
#define __IDeckLinkAudioInputPacket_FWD_DEFINED__
typedef interface IDeckLinkAudioInputPacket IDeckLinkAudioInputPacket;
#ifdef __cplusplus
interface IDeckLinkAudioInputPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkScreenPreviewCallback_FWD_DEFINED__
#define __IDeckLinkScreenPreviewCallback_FWD_DEFINED__
typedef interface IDeckLinkScreenPreviewCallback IDeckLinkScreenPreviewCallback;
#ifdef __cplusplus
interface IDeckLinkScreenPreviewCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
#define __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
typedef interface IDeckLinkGLScreenPreviewHelper IDeckLinkGLScreenPreviewHelper;
#ifdef __cplusplus
interface IDeckLinkGLScreenPreviewHelper;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__
#define __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__
typedef interface IDeckLinkDX9ScreenPreviewHelper IDeckLinkDX9ScreenPreviewHelper;
#ifdef __cplusplus
interface IDeckLinkDX9ScreenPreviewHelper;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkNotificationCallback_FWD_DEFINED__
#define __IDeckLinkNotificationCallback_FWD_DEFINED__
typedef interface IDeckLinkNotificationCallback IDeckLinkNotificationCallback;
#ifdef __cplusplus
interface IDeckLinkNotificationCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkNotification_FWD_DEFINED__
#define __IDeckLinkNotification_FWD_DEFINED__
typedef interface IDeckLinkNotification IDeckLinkNotification;
#ifdef __cplusplus
interface IDeckLinkNotification;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkProfileAttributes_FWD_DEFINED__
#define __IDeckLinkProfileAttributes_FWD_DEFINED__
typedef interface IDeckLinkProfileAttributes IDeckLinkProfileAttributes;
#ifdef __cplusplus
interface IDeckLinkProfileAttributes;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkProfileIterator_FWD_DEFINED__
#define __IDeckLinkProfileIterator_FWD_DEFINED__
typedef interface IDeckLinkProfileIterator IDeckLinkProfileIterator;
#ifdef __cplusplus
interface IDeckLinkProfileIterator;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkProfile_FWD_DEFINED__
#define __IDeckLinkProfile_FWD_DEFINED__
typedef interface IDeckLinkProfile IDeckLinkProfile;
#ifdef __cplusplus
interface IDeckLinkProfile;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkProfileCallback_FWD_DEFINED__
#define __IDeckLinkProfileCallback_FWD_DEFINED__
typedef interface IDeckLinkProfileCallback IDeckLinkProfileCallback;
#ifdef __cplusplus
interface IDeckLinkProfileCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkProfileManager_FWD_DEFINED__
#define __IDeckLinkProfileManager_FWD_DEFINED__
typedef interface IDeckLinkProfileManager IDeckLinkProfileManager;
#ifdef __cplusplus
interface IDeckLinkProfileManager;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkStatus_FWD_DEFINED__
#define __IDeckLinkStatus_FWD_DEFINED__
typedef interface IDeckLinkStatus IDeckLinkStatus;
#ifdef __cplusplus
interface IDeckLinkStatus;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkKeyer_FWD_DEFINED__
#define __IDeckLinkKeyer_FWD_DEFINED__
typedef interface IDeckLinkKeyer IDeckLinkKeyer;
#ifdef __cplusplus
interface IDeckLinkKeyer;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoConversion_FWD_DEFINED__
#define __IDeckLinkVideoConversion_FWD_DEFINED__
typedef interface IDeckLinkVideoConversion IDeckLinkVideoConversion;
#ifdef __cplusplus
interface IDeckLinkVideoConversion;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__
#define __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__
typedef interface IDeckLinkDeviceNotificationCallback IDeckLinkDeviceNotificationCallback;
#ifdef __cplusplus
interface IDeckLinkDeviceNotificationCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDiscovery_FWD_DEFINED__
#define __IDeckLinkDiscovery_FWD_DEFINED__
typedef interface IDeckLinkDiscovery IDeckLinkDiscovery;
#ifdef __cplusplus
interface IDeckLinkDiscovery;
#endif /* __cplusplus */
#endif
#ifndef __CDeckLinkIterator_FWD_DEFINED__
#define __CDeckLinkIterator_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkIterator CDeckLinkIterator;
#else
typedef struct CDeckLinkIterator CDeckLinkIterator;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkIterator_FWD_DEFINED__ */
#ifndef __CDeckLinkAPIInformation_FWD_DEFINED__
#define __CDeckLinkAPIInformation_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkAPIInformation CDeckLinkAPIInformation;
#else
typedef struct CDeckLinkAPIInformation CDeckLinkAPIInformation;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkAPIInformation_FWD_DEFINED__ */
#ifndef __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
#define __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper;
#else
typedef struct CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */
#ifndef __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__
#define __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkDX9ScreenPreviewHelper CDeckLinkDX9ScreenPreviewHelper;
#else
typedef struct CDeckLinkDX9ScreenPreviewHelper CDeckLinkDX9ScreenPreviewHelper;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ */
#ifndef __CDeckLinkVideoConversion_FWD_DEFINED__
#define __CDeckLinkVideoConversion_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkVideoConversion CDeckLinkVideoConversion;
#else
typedef struct CDeckLinkVideoConversion CDeckLinkVideoConversion;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkVideoConversion_FWD_DEFINED__ */
#ifndef __CDeckLinkDiscovery_FWD_DEFINED__
#define __CDeckLinkDiscovery_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkDiscovery CDeckLinkDiscovery;
#else
typedef struct CDeckLinkDiscovery CDeckLinkDiscovery;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkDiscovery_FWD_DEFINED__ */
#ifndef __CDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__
#define __CDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkVideoFrameAncillaryPackets CDeckLinkVideoFrameAncillaryPackets;
#else
typedef struct CDeckLinkVideoFrameAncillaryPackets CDeckLinkVideoFrameAncillaryPackets;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__ */
#ifndef __IDeckLinkConfiguration_v10_11_FWD_DEFINED__
#define __IDeckLinkConfiguration_v10_11_FWD_DEFINED__
typedef interface IDeckLinkConfiguration_v10_11 IDeckLinkConfiguration_v10_11;
#ifdef __cplusplus
interface IDeckLinkConfiguration_v10_11;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAttributes_v10_11_FWD_DEFINED__
#define __IDeckLinkAttributes_v10_11_FWD_DEFINED__
typedef interface IDeckLinkAttributes_v10_11 IDeckLinkAttributes_v10_11;
#ifdef __cplusplus
interface IDeckLinkAttributes_v10_11;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkOutput_v10_11_FWD_DEFINED__
#define __IDeckLinkOutput_v10_11_FWD_DEFINED__
typedef interface IDeckLinkOutput_v10_11 IDeckLinkOutput_v10_11;
#ifdef __cplusplus
interface IDeckLinkOutput_v10_11;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInput_v10_11_FWD_DEFINED__
#define __IDeckLinkInput_v10_11_FWD_DEFINED__
typedef interface IDeckLinkInput_v10_11 IDeckLinkInput_v10_11;
#ifdef __cplusplus
interface IDeckLinkInput_v10_11;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderInput_v10_11_FWD_DEFINED__
#define __IDeckLinkEncoderInput_v10_11_FWD_DEFINED__
typedef interface IDeckLinkEncoderInput_v10_11 IDeckLinkEncoderInput_v10_11;
#ifdef __cplusplus
interface IDeckLinkEncoderInput_v10_11;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkNotification_v10_11_FWD_DEFINED__
#define __IDeckLinkNotification_v10_11_FWD_DEFINED__
typedef interface IDeckLinkNotification_v10_11 IDeckLinkNotification_v10_11;
#ifdef __cplusplus
interface IDeckLinkNotification_v10_11;
#endif /* __cplusplus */
#endif
#ifndef __CDeckLinkIterator_v10_11_FWD_DEFINED__
#define __CDeckLinkIterator_v10_11_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkIterator_v10_11 CDeckLinkIterator_v10_11;
#else
typedef struct CDeckLinkIterator_v10_11 CDeckLinkIterator_v10_11;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkIterator_v10_11_FWD_DEFINED__ */
#ifndef __CDeckLinkDiscovery_v10_11_FWD_DEFINED__
#define __CDeckLinkDiscovery_v10_11_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkDiscovery_v10_11 CDeckLinkDiscovery_v10_11;
#else
typedef struct CDeckLinkDiscovery_v10_11 CDeckLinkDiscovery_v10_11;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkDiscovery_v10_11_FWD_DEFINED__ */
#ifndef __IDeckLinkConfiguration_v10_9_FWD_DEFINED__
#define __IDeckLinkConfiguration_v10_9_FWD_DEFINED__
typedef interface IDeckLinkConfiguration_v10_9 IDeckLinkConfiguration_v10_9;
#ifdef __cplusplus
interface IDeckLinkConfiguration_v10_9;
#endif /* __cplusplus */
#endif
#ifndef __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__
#define __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__
#ifdef __cplusplus
typedef class CBMDStreamingDiscovery_v10_8 CBMDStreamingDiscovery_v10_8;
#else
typedef struct CBMDStreamingDiscovery_v10_8 CBMDStreamingDiscovery_v10_8;
#endif /* defined __cplusplus */
#endif /* defined __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__ */
#ifndef __CDeckLinkIterator_v10_8_FWD_DEFINED__
#define __CDeckLinkIterator_v10_8_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkIterator_v10_8 CDeckLinkIterator_v10_8;
#else
typedef struct CDeckLinkIterator_v10_8 CDeckLinkIterator_v10_8;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkIterator_v10_8_FWD_DEFINED__ */
#ifndef __CDeckLinkDiscovery_v10_8_FWD_DEFINED__
#define __CDeckLinkDiscovery_v10_8_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkDiscovery_v10_8 CDeckLinkDiscovery_v10_8;
#else
typedef struct CDeckLinkDiscovery_v10_8 CDeckLinkDiscovery_v10_8;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkDiscovery_v10_8_FWD_DEFINED__ */
#ifndef __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__
#define __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__
typedef interface IDeckLinkEncoderConfiguration_v10_5 IDeckLinkEncoderConfiguration_v10_5;
#ifdef __cplusplus
interface IDeckLinkEncoderConfiguration_v10_5;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkConfiguration_v10_4_FWD_DEFINED__
#define __IDeckLinkConfiguration_v10_4_FWD_DEFINED__
typedef interface IDeckLinkConfiguration_v10_4 IDeckLinkConfiguration_v10_4;
#ifdef __cplusplus
interface IDeckLinkConfiguration_v10_4;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkConfiguration_v10_2_FWD_DEFINED__
#define __IDeckLinkConfiguration_v10_2_FWD_DEFINED__
typedef interface IDeckLinkConfiguration_v10_2 IDeckLinkConfiguration_v10_2;
#ifdef __cplusplus
interface IDeckLinkConfiguration_v10_2;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkOutput_v9_9_FWD_DEFINED__
#define __IDeckLinkOutput_v9_9_FWD_DEFINED__
typedef interface IDeckLinkOutput_v9_9 IDeckLinkOutput_v9_9;
#ifdef __cplusplus
interface IDeckLinkOutput_v9_9;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInput_v9_2_FWD_DEFINED__
#define __IDeckLinkInput_v9_2_FWD_DEFINED__
typedef interface IDeckLinkInput_v9_2 IDeckLinkInput_v9_2;
#ifdef __cplusplus
interface IDeckLinkInput_v9_2;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDeckControlStatusCallback_v8_1_FWD_DEFINED__
#define __IDeckLinkDeckControlStatusCallback_v8_1_FWD_DEFINED__
typedef interface IDeckLinkDeckControlStatusCallback_v8_1 IDeckLinkDeckControlStatusCallback_v8_1;
#ifdef __cplusplus
interface IDeckLinkDeckControlStatusCallback_v8_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDeckControl_v8_1_FWD_DEFINED__
#define __IDeckLinkDeckControl_v8_1_FWD_DEFINED__
typedef interface IDeckLinkDeckControl_v8_1 IDeckLinkDeckControl_v8_1;
#ifdef __cplusplus
interface IDeckLinkDeckControl_v8_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLink_v8_0_FWD_DEFINED__
#define __IDeckLink_v8_0_FWD_DEFINED__
typedef interface IDeckLink_v8_0 IDeckLink_v8_0;
#ifdef __cplusplus
interface IDeckLink_v8_0;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkIterator_v8_0_FWD_DEFINED__
#define __IDeckLinkIterator_v8_0_FWD_DEFINED__
typedef interface IDeckLinkIterator_v8_0 IDeckLinkIterator_v8_0;
#ifdef __cplusplus
interface IDeckLinkIterator_v8_0;
#endif /* __cplusplus */
#endif
#ifndef __CDeckLinkIterator_v8_0_FWD_DEFINED__
#define __CDeckLinkIterator_v8_0_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkIterator_v8_0 CDeckLinkIterator_v8_0;
#else
typedef struct CDeckLinkIterator_v8_0 CDeckLinkIterator_v8_0;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkIterator_v8_0_FWD_DEFINED__ */
#ifndef __IDeckLinkDeckControl_v7_9_FWD_DEFINED__
#define __IDeckLinkDeckControl_v7_9_FWD_DEFINED__
typedef interface IDeckLinkDeckControl_v7_9 IDeckLinkDeckControl_v7_9;
#ifdef __cplusplus
interface IDeckLinkDeckControl_v7_9;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__
#define __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__
typedef interface IDeckLinkVideoOutputCallback_v7_6 IDeckLinkVideoOutputCallback_v7_6;
#ifdef __cplusplus
interface IDeckLinkVideoOutputCallback_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInputCallback_v7_6_FWD_DEFINED__
#define __IDeckLinkInputCallback_v7_6_FWD_DEFINED__
typedef interface IDeckLinkInputCallback_v7_6 IDeckLinkInputCallback_v7_6;
#ifdef __cplusplus
interface IDeckLinkInputCallback_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__
#define __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__
typedef interface IDeckLinkDisplayModeIterator_v7_6 IDeckLinkDisplayModeIterator_v7_6;
#ifdef __cplusplus
interface IDeckLinkDisplayModeIterator_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__
#define __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__
typedef interface IDeckLinkDisplayMode_v7_6 IDeckLinkDisplayMode_v7_6;
#ifdef __cplusplus
interface IDeckLinkDisplayMode_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkOutput_v7_6_FWD_DEFINED__
#define __IDeckLinkOutput_v7_6_FWD_DEFINED__
typedef interface IDeckLinkOutput_v7_6 IDeckLinkOutput_v7_6;
#ifdef __cplusplus
interface IDeckLinkOutput_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInput_v7_6_FWD_DEFINED__
#define __IDeckLinkInput_v7_6_FWD_DEFINED__
typedef interface IDeckLinkInput_v7_6 IDeckLinkInput_v7_6;
#ifdef __cplusplus
interface IDeckLinkInput_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkTimecode_v7_6_FWD_DEFINED__
#define __IDeckLinkTimecode_v7_6_FWD_DEFINED__
typedef interface IDeckLinkTimecode_v7_6 IDeckLinkTimecode_v7_6;
#ifdef __cplusplus
interface IDeckLinkTimecode_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__
#define __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__
typedef interface IDeckLinkVideoFrame_v7_6 IDeckLinkVideoFrame_v7_6;
#ifdef __cplusplus
interface IDeckLinkVideoFrame_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__
#define __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__
typedef interface IDeckLinkMutableVideoFrame_v7_6 IDeckLinkMutableVideoFrame_v7_6;
#ifdef __cplusplus
interface IDeckLinkMutableVideoFrame_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__
#define __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__
typedef interface IDeckLinkVideoInputFrame_v7_6 IDeckLinkVideoInputFrame_v7_6;
#ifdef __cplusplus
interface IDeckLinkVideoInputFrame_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__
#define __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__
typedef interface IDeckLinkScreenPreviewCallback_v7_6 IDeckLinkScreenPreviewCallback_v7_6;
#ifdef __cplusplus
interface IDeckLinkScreenPreviewCallback_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
#define __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
typedef interface IDeckLinkGLScreenPreviewHelper_v7_6 IDeckLinkGLScreenPreviewHelper_v7_6;
#ifdef __cplusplus
interface IDeckLinkGLScreenPreviewHelper_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__
#define __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__
typedef interface IDeckLinkVideoConversion_v7_6 IDeckLinkVideoConversion_v7_6;
#ifdef __cplusplus
interface IDeckLinkVideoConversion_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkConfiguration_v7_6_FWD_DEFINED__
#define __IDeckLinkConfiguration_v7_6_FWD_DEFINED__
typedef interface IDeckLinkConfiguration_v7_6 IDeckLinkConfiguration_v7_6;
#ifdef __cplusplus
interface IDeckLinkConfiguration_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
#define __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6;
#else
typedef struct CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */
#ifndef __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__
#define __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6;
#else
typedef struct CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6;
#endif /* defined __cplusplus */
#endif /* defined __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */
#ifndef __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
#define __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
typedef interface IDeckLinkInputCallback_v7_3 IDeckLinkInputCallback_v7_3;
#ifdef __cplusplus
interface IDeckLinkInputCallback_v7_3;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkOutput_v7_3_FWD_DEFINED__
#define __IDeckLinkOutput_v7_3_FWD_DEFINED__
typedef interface IDeckLinkOutput_v7_3 IDeckLinkOutput_v7_3;
#ifdef __cplusplus
interface IDeckLinkOutput_v7_3;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInput_v7_3_FWD_DEFINED__
#define __IDeckLinkInput_v7_3_FWD_DEFINED__
typedef interface IDeckLinkInput_v7_3 IDeckLinkInput_v7_3;
#ifdef __cplusplus
interface IDeckLinkInput_v7_3;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
#define __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
typedef interface IDeckLinkVideoInputFrame_v7_3 IDeckLinkVideoInputFrame_v7_3;
#ifdef __cplusplus
interface IDeckLinkVideoInputFrame_v7_3;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
#define __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
typedef interface IDeckLinkDisplayModeIterator_v7_1 IDeckLinkDisplayModeIterator_v7_1;
#ifdef __cplusplus
interface IDeckLinkDisplayModeIterator_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__
#define __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__
typedef interface IDeckLinkDisplayMode_v7_1 IDeckLinkDisplayMode_v7_1;
#ifdef __cplusplus
interface IDeckLinkDisplayMode_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__
#define __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__
typedef interface IDeckLinkVideoOutputCallback_v7_1 IDeckLinkVideoOutputCallback_v7_1;
#ifdef __cplusplus
interface IDeckLinkVideoOutputCallback_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInputCallback_v7_1_FWD_DEFINED__
#define __IDeckLinkInputCallback_v7_1_FWD_DEFINED__
typedef interface IDeckLinkInputCallback_v7_1 IDeckLinkInputCallback_v7_1;
#ifdef __cplusplus
interface IDeckLinkInputCallback_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkOutput_v7_1_FWD_DEFINED__
#define __IDeckLinkOutput_v7_1_FWD_DEFINED__
typedef interface IDeckLinkOutput_v7_1 IDeckLinkOutput_v7_1;
#ifdef __cplusplus
interface IDeckLinkOutput_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInput_v7_1_FWD_DEFINED__
#define __IDeckLinkInput_v7_1_FWD_DEFINED__
typedef interface IDeckLinkInput_v7_1 IDeckLinkInput_v7_1;
#ifdef __cplusplus
interface IDeckLinkInput_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__
#define __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__
typedef interface IDeckLinkVideoFrame_v7_1 IDeckLinkVideoFrame_v7_1;
#ifdef __cplusplus
interface IDeckLinkVideoFrame_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__
#define __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__
typedef interface IDeckLinkVideoInputFrame_v7_1 IDeckLinkVideoInputFrame_v7_1;
#ifdef __cplusplus
interface IDeckLinkVideoInputFrame_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__
#define __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__
typedef interface IDeckLinkAudioInputPacket_v7_1 IDeckLinkAudioInputPacket_v7_1;
#ifdef __cplusplus
interface IDeckLinkAudioInputPacket_v7_1;
#endif /* __cplusplus */
#endif
/* Headers for imported files */
#include <unknwn.h>
#ifdef __cplusplus
extern "C" {
#endif
DEFINE_GUID(LIBID_DeckLinkAPI, 0xd864517a, 0xedd5, 0x466d, 0x86,0x7d, 0xc8,0x19,0xf1,0xc0,0x52,0xbb);
typedef LONGLONG BMDTimeValue;
typedef LONGLONG BMDTimeScale;
typedef unsigned int BMDTimecodeBCD;
typedef unsigned int BMDTimecodeUserBits;
typedef unsigned int BMDTimecodeFlags;
#if 0
typedef enum _BMDTimecodeFlags BMDTimecodeFlags;
#endif
enum _BMDTimecodeFlags {
bmdTimecodeFlagDefault = 0,
bmdTimecodeIsDropFrame = 1 << 0,
bmdTimecodeFieldMark = 1 << 1,
bmdTimecodeColorFrame = 1 << 2
};
typedef enum _BMDVideoConnection {
bmdVideoConnectionUnspecified = 0,
bmdVideoConnectionSDI = 1 << 0,
bmdVideoConnectionHDMI = 1 << 1,
bmdVideoConnectionOpticalSDI = 1 << 2,
bmdVideoConnectionComponent = 1 << 3,
bmdVideoConnectionComposite = 1 << 4,
bmdVideoConnectionSVideo = 1 << 5
} BMDVideoConnection;
typedef enum _BMDAudioConnection {
bmdAudioConnectionEmbedded = 1 << 0,
bmdAudioConnectionAESEBU = 1 << 1,
bmdAudioConnectionAnalog = 1 << 2,
bmdAudioConnectionAnalogXLR = 1 << 3,
bmdAudioConnectionAnalogRCA = 1 << 4,
bmdAudioConnectionMicrophone = 1 << 5,
bmdAudioConnectionHeadphones = 1 << 6
} BMDAudioConnection;
typedef enum _BMDDeckControlConnection {
bmdDeckControlConnectionRS422Remote1 = 1 << 0,
bmdDeckControlConnectionRS422Remote2 = 1 << 1
} BMDDeckControlConnection;
#ifndef __IDeckLinkTimecode_FWD_DEFINED__
#define __IDeckLinkTimecode_FWD_DEFINED__
typedef interface IDeckLinkTimecode IDeckLinkTimecode;
#ifdef __cplusplus
interface IDeckLinkTimecode;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkTimecode interface
*/
#ifndef __IDeckLinkTimecode_INTERFACE_DEFINED__
#define __IDeckLinkTimecode_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkTimecode, 0xbc6cfbd3, 0x8317, 0x4325, 0xac,0x1c, 0x12,0x16,0x39,0x1e,0x93,0x40);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("bc6cfbd3-8317-4325-ac1c-1216391e9340")
IDeckLinkTimecode : public IUnknown
{
virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetComponents(
unsigned char *hours,
unsigned char *minutes,
unsigned char *seconds,
unsigned char *frames) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BSTR *timecode) = 0;
virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecodeUserBits(
BMDTimecodeUserBits *userBits) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkTimecode, 0xbc6cfbd3, 0x8317, 0x4325, 0xac,0x1c, 0x12,0x16,0x39,0x1e,0x93,0x40)
#endif
#else
typedef struct IDeckLinkTimecodeVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkTimecode *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkTimecode *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkTimecode *This);
/*** IDeckLinkTimecode methods ***/
BMDTimecodeBCD (STDMETHODCALLTYPE *GetBCD)(
IDeckLinkTimecode *This);
HRESULT (STDMETHODCALLTYPE *GetComponents)(
IDeckLinkTimecode *This,
unsigned char *hours,
unsigned char *minutes,
unsigned char *seconds,
unsigned char *frames);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkTimecode *This,
BSTR *timecode);
BMDTimecodeFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkTimecode *This);
HRESULT (STDMETHODCALLTYPE *GetTimecodeUserBits)(
IDeckLinkTimecode *This,
BMDTimecodeUserBits *userBits);
END_INTERFACE
} IDeckLinkTimecodeVtbl;
interface IDeckLinkTimecode {
CONST_VTBL IDeckLinkTimecodeVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkTimecode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkTimecode_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkTimecode_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkTimecode methods ***/
#define IDeckLinkTimecode_GetBCD(This) (This)->lpVtbl->GetBCD(This)
#define IDeckLinkTimecode_GetComponents(This,hours,minutes,seconds,frames) (This)->lpVtbl->GetComponents(This,hours,minutes,seconds,frames)
#define IDeckLinkTimecode_GetString(This,timecode) (This)->lpVtbl->GetString(This,timecode)
#define IDeckLinkTimecode_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#define IDeckLinkTimecode_GetTimecodeUserBits(This,userBits) (This)->lpVtbl->GetTimecodeUserBits(This,userBits)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkTimecode_QueryInterface(IDeckLinkTimecode* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkTimecode_AddRef(IDeckLinkTimecode* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkTimecode_Release(IDeckLinkTimecode* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkTimecode methods ***/
static FORCEINLINE BMDTimecodeBCD IDeckLinkTimecode_GetBCD(IDeckLinkTimecode* This) {
return This->lpVtbl->GetBCD(This);
}
static FORCEINLINE HRESULT IDeckLinkTimecode_GetComponents(IDeckLinkTimecode* This,unsigned char *hours,unsigned char *minutes,unsigned char *seconds,unsigned char *frames) {
return This->lpVtbl->GetComponents(This,hours,minutes,seconds,frames);
}
static FORCEINLINE HRESULT IDeckLinkTimecode_GetString(IDeckLinkTimecode* This,BSTR *timecode) {
return This->lpVtbl->GetString(This,timecode);
}
static FORCEINLINE BMDTimecodeFlags IDeckLinkTimecode_GetFlags(IDeckLinkTimecode* This) {
return This->lpVtbl->GetFlags(This);
}
static FORCEINLINE HRESULT IDeckLinkTimecode_GetTimecodeUserBits(IDeckLinkTimecode* This,BMDTimecodeUserBits *userBits) {
return This->lpVtbl->GetTimecodeUserBits(This,userBits);
}
#endif
#endif
#endif
#endif /* __IDeckLinkTimecode_INTERFACE_DEFINED__ */
typedef unsigned int BMDDisplayModeFlags;
#if 0
typedef enum _BMDDisplayModeFlags BMDDisplayModeFlags;
#endif
typedef enum _BMDDisplayMode {
bmdModeNTSC = 0x6e747363,
bmdModeNTSC2398 = 0x6e743233,
bmdModePAL = 0x70616c20,
bmdModeNTSCp = 0x6e747370,
bmdModePALp = 0x70616c70,
bmdModeHD1080p2398 = 0x32337073,
bmdModeHD1080p24 = 0x32347073,
bmdModeHD1080p25 = 0x48703235,
bmdModeHD1080p2997 = 0x48703239,
bmdModeHD1080p30 = 0x48703330,
bmdModeHD1080p4795 = 0x48703437,
bmdModeHD1080p48 = 0x48703438,
bmdModeHD1080p50 = 0x48703530,
bmdModeHD1080p5994 = 0x48703539,
bmdModeHD1080p6000 = 0x48703630,
bmdModeHD1080p9590 = 0x48703935,
bmdModeHD1080p96 = 0x48703936,
bmdModeHD1080p100 = 0x48703130,
bmdModeHD1080p11988 = 0x48703131,
bmdModeHD1080p120 = 0x48703132,
bmdModeHD1080i50 = 0x48693530,
bmdModeHD1080i5994 = 0x48693539,
bmdModeHD1080i6000 = 0x48693630,
bmdModeHD720p50 = 0x68703530,
bmdModeHD720p5994 = 0x68703539,
bmdModeHD720p60 = 0x68703630,
bmdMode2k2398 = 0x326b3233,
bmdMode2k24 = 0x326b3234,
bmdMode2k25 = 0x326b3235,
bmdMode2kDCI2398 = 0x32643233,
bmdMode2kDCI24 = 0x32643234,
bmdMode2kDCI25 = 0x32643235,
bmdMode2kDCI2997 = 0x32643239,
bmdMode2kDCI30 = 0x32643330,
bmdMode2kDCI4795 = 0x32643437,
bmdMode2kDCI48 = 0x32643438,
bmdMode2kDCI50 = 0x32643530,
bmdMode2kDCI5994 = 0x32643539,
bmdMode2kDCI60 = 0x32643630,
bmdMode2kDCI9590 = 0x32643935,
bmdMode2kDCI96 = 0x32643936,
bmdMode2kDCI100 = 0x32643130,
bmdMode2kDCI11988 = 0x32643131,
bmdMode2kDCI120 = 0x32643132,
bmdMode4K2160p2398 = 0x346b3233,
bmdMode4K2160p24 = 0x346b3234,
bmdMode4K2160p25 = 0x346b3235,
bmdMode4K2160p2997 = 0x346b3239,
bmdMode4K2160p30 = 0x346b3330,
bmdMode4K2160p4795 = 0x346b3437,
bmdMode4K2160p48 = 0x346b3438,
bmdMode4K2160p50 = 0x346b3530,
bmdMode4K2160p5994 = 0x346b3539,
bmdMode4K2160p60 = 0x346b3630,
bmdMode4K2160p9590 = 0x346b3935,
bmdMode4K2160p96 = 0x346b3936,
bmdMode4K2160p100 = 0x346b3130,
bmdMode4K2160p11988 = 0x346b3131,
bmdMode4K2160p120 = 0x346b3132,
bmdMode4kDCI2398 = 0x34643233,
bmdMode4kDCI24 = 0x34643234,
bmdMode4kDCI25 = 0x34643235,
bmdMode4kDCI2997 = 0x34643239,
bmdMode4kDCI30 = 0x34643330,
bmdMode4kDCI4795 = 0x34643437,
bmdMode4kDCI48 = 0x34643438,
bmdMode4kDCI50 = 0x34643530,
bmdMode4kDCI5994 = 0x34643539,
bmdMode4kDCI60 = 0x34643630,
bmdMode4kDCI9590 = 0x34643935,
bmdMode4kDCI96 = 0x34643936,
bmdMode4kDCI100 = 0x34643130,
bmdMode4kDCI11988 = 0x34643131,
bmdMode4kDCI120 = 0x34643132,
bmdMode8K4320p2398 = 0x386b3233,
bmdMode8K4320p24 = 0x386b3234,
bmdMode8K4320p25 = 0x386b3235,
bmdMode8K4320p2997 = 0x386b3239,
bmdMode8K4320p30 = 0x386b3330,
bmdMode8K4320p4795 = 0x386b3437,
bmdMode8K4320p48 = 0x386b3438,
bmdMode8K4320p50 = 0x386b3530,
bmdMode8K4320p5994 = 0x386b3539,
bmdMode8K4320p60 = 0x386b3630,
bmdMode8kDCI2398 = 0x38643233,
bmdMode8kDCI24 = 0x38643234,
bmdMode8kDCI25 = 0x38643235,
bmdMode8kDCI2997 = 0x38643239,
bmdMode8kDCI30 = 0x38643330,
bmdMode8kDCI4795 = 0x38643437,
bmdMode8kDCI48 = 0x38643438,
bmdMode8kDCI50 = 0x38643530,
bmdMode8kDCI5994 = 0x38643539,
bmdMode8kDCI60 = 0x38643630,
bmdModeCintelRAW = 0x72776369,
bmdModeCintelCompressedRAW = 0x72776363,
bmdModeUnknown = 0x69756e6b
} BMDDisplayMode;
typedef enum _BMDFieldDominance {
bmdUnknownFieldDominance = 0,
bmdLowerFieldFirst = 0x6c6f7772,
bmdUpperFieldFirst = 0x75707072,
bmdProgressiveFrame = 0x70726f67,
bmdProgressiveSegmentedFrame = 0x70736620
} BMDFieldDominance;
typedef enum _BMDPixelFormat {
bmdFormatUnspecified = 0,
bmdFormat8BitYUV = 0x32767579,
bmdFormat10BitYUV = 0x76323130,
bmdFormat8BitARGB = 32,
bmdFormat8BitBGRA = 0x42475241,
bmdFormat10BitRGB = 0x72323130,
bmdFormat12BitRGB = 0x52313242,
bmdFormat12BitRGBLE = 0x5231324c,
bmdFormat10BitRGBXLE = 0x5231306c,
bmdFormat10BitRGBX = 0x52313062,
bmdFormatH265 = 0x68657631,
bmdFormatDNxHR = 0x41566468,
bmdFormat12BitRAWGRBG = 0x72313270,
bmdFormat12BitRAWJPEG = 0x72313670
} BMDPixelFormat;
enum _BMDDisplayModeFlags {
bmdDisplayModeSupports3D = 1 << 0,
bmdDisplayModeColorspaceRec601 = 1 << 1,
bmdDisplayModeColorspaceRec709 = 1 << 2,
bmdDisplayModeColorspaceRec2020 = 1 << 3
};
#ifndef __IDeckLinkDisplayModeIterator_FWD_DEFINED__
#define __IDeckLinkDisplayModeIterator_FWD_DEFINED__
typedef interface IDeckLinkDisplayModeIterator IDeckLinkDisplayModeIterator;
#ifdef __cplusplus
interface IDeckLinkDisplayModeIterator;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDisplayMode_FWD_DEFINED__
#define __IDeckLinkDisplayMode_FWD_DEFINED__
typedef interface IDeckLinkDisplayMode IDeckLinkDisplayMode;
#ifdef __cplusplus
interface IDeckLinkDisplayMode;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkDisplayModeIterator interface
*/
#ifndef __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__
#define __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDisplayModeIterator, 0x9c88499f, 0xf601, 0x4021, 0xb8,0x0b, 0x03,0x2e,0x4e,0xb4,0x1c,0x35);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9c88499f-f601-4021-b80b-032e4eb41c35")
IDeckLinkDisplayModeIterator : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
IDeckLinkDisplayMode **deckLinkDisplayMode) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDisplayModeIterator, 0x9c88499f, 0xf601, 0x4021, 0xb8,0x0b, 0x03,0x2e,0x4e,0xb4,0x1c,0x35)
#endif
#else
typedef struct IDeckLinkDisplayModeIteratorVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDisplayModeIterator *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDisplayModeIterator *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDisplayModeIterator *This);
/*** IDeckLinkDisplayModeIterator methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IDeckLinkDisplayModeIterator *This,
IDeckLinkDisplayMode **deckLinkDisplayMode);
END_INTERFACE
} IDeckLinkDisplayModeIteratorVtbl;
interface IDeckLinkDisplayModeIterator {
CONST_VTBL IDeckLinkDisplayModeIteratorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDisplayModeIterator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDisplayModeIterator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDisplayModeIterator_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDisplayModeIterator methods ***/
#define IDeckLinkDisplayModeIterator_Next(This,deckLinkDisplayMode) (This)->lpVtbl->Next(This,deckLinkDisplayMode)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_QueryInterface(IDeckLinkDisplayModeIterator* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_AddRef(IDeckLinkDisplayModeIterator* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_Release(IDeckLinkDisplayModeIterator* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDisplayModeIterator methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_Next(IDeckLinkDisplayModeIterator* This,IDeckLinkDisplayMode **deckLinkDisplayMode) {
return This->lpVtbl->Next(This,deckLinkDisplayMode);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkDisplayMode interface
*/
#ifndef __IDeckLinkDisplayMode_INTERFACE_DEFINED__
#define __IDeckLinkDisplayMode_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDisplayMode, 0x3eb2c1ab, 0x0a3d, 0x4523, 0xa3,0xad, 0xf4,0x0d,0x7f,0xb1,0x4e,0x78);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3eb2c1ab-0a3d-4523-a3ad-f40d7fb14e78")
IDeckLinkDisplayMode : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetName(
BSTR *name) = 0;
virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode(
) = 0;
virtual LONG STDMETHODCALLTYPE GetWidth(
) = 0;
virtual LONG STDMETHODCALLTYPE GetHeight(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
BMDTimeValue *frameDuration,
BMDTimeScale *timeScale) = 0;
virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance(
) = 0;
virtual BMDDisplayModeFlags STDMETHODCALLTYPE GetFlags(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDisplayMode, 0x3eb2c1ab, 0x0a3d, 0x4523, 0xa3,0xad, 0xf4,0x0d,0x7f,0xb1,0x4e,0x78)
#endif
#else
typedef struct IDeckLinkDisplayModeVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDisplayMode *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDisplayMode *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDisplayMode *This);
/*** IDeckLinkDisplayMode methods ***/
HRESULT (STDMETHODCALLTYPE *GetName)(
IDeckLinkDisplayMode *This,
BSTR *name);
BMDDisplayMode (STDMETHODCALLTYPE *GetDisplayMode)(
IDeckLinkDisplayMode *This);
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkDisplayMode *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkDisplayMode *This);
HRESULT (STDMETHODCALLTYPE *GetFrameRate)(
IDeckLinkDisplayMode *This,
BMDTimeValue *frameDuration,
BMDTimeScale *timeScale);
BMDFieldDominance (STDMETHODCALLTYPE *GetFieldDominance)(
IDeckLinkDisplayMode *This);
BMDDisplayModeFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkDisplayMode *This);
END_INTERFACE
} IDeckLinkDisplayModeVtbl;
interface IDeckLinkDisplayMode {
CONST_VTBL IDeckLinkDisplayModeVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDisplayMode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDisplayMode_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDisplayMode_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDisplayMode methods ***/
#define IDeckLinkDisplayMode_GetName(This,name) (This)->lpVtbl->GetName(This,name)
#define IDeckLinkDisplayMode_GetDisplayMode(This) (This)->lpVtbl->GetDisplayMode(This)
#define IDeckLinkDisplayMode_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkDisplayMode_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkDisplayMode_GetFrameRate(This,frameDuration,timeScale) (This)->lpVtbl->GetFrameRate(This,frameDuration,timeScale)
#define IDeckLinkDisplayMode_GetFieldDominance(This) (This)->lpVtbl->GetFieldDominance(This)
#define IDeckLinkDisplayMode_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayMode_QueryInterface(IDeckLinkDisplayMode* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDisplayMode_AddRef(IDeckLinkDisplayMode* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDisplayMode_Release(IDeckLinkDisplayMode* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDisplayMode methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayMode_GetName(IDeckLinkDisplayMode* This,BSTR *name) {
return This->lpVtbl->GetName(This,name);
}
static FORCEINLINE BMDDisplayMode IDeckLinkDisplayMode_GetDisplayMode(IDeckLinkDisplayMode* This) {
return This->lpVtbl->GetDisplayMode(This);
}
static FORCEINLINE LONG IDeckLinkDisplayMode_GetWidth(IDeckLinkDisplayMode* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkDisplayMode_GetHeight(IDeckLinkDisplayMode* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE HRESULT IDeckLinkDisplayMode_GetFrameRate(IDeckLinkDisplayMode* This,BMDTimeValue *frameDuration,BMDTimeScale *timeScale) {
return This->lpVtbl->GetFrameRate(This,frameDuration,timeScale);
}
static FORCEINLINE BMDFieldDominance IDeckLinkDisplayMode_GetFieldDominance(IDeckLinkDisplayMode* This) {
return This->lpVtbl->GetFieldDominance(This);
}
static FORCEINLINE BMDDisplayModeFlags IDeckLinkDisplayMode_GetFlags(IDeckLinkDisplayMode* This) {
return This->lpVtbl->GetFlags(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDisplayMode_INTERFACE_DEFINED__ */
#if 0
#endif
#ifndef __IDeckLink_FWD_DEFINED__
#define __IDeckLink_FWD_DEFINED__
typedef interface IDeckLink IDeckLink;
#ifdef __cplusplus
interface IDeckLink;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLink interface
*/
#ifndef __IDeckLink_INTERFACE_DEFINED__
#define __IDeckLink_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLink, 0xc418fbdd, 0x0587, 0x48ed, 0x8f,0xe5, 0x64,0x0f,0x0a,0x14,0xaf,0x91);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c418fbdd-0587-48ed-8fe5-640f0a14af91")
IDeckLink : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetModelName(
BSTR *modelName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
BSTR *displayName) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLink, 0xc418fbdd, 0x0587, 0x48ed, 0x8f,0xe5, 0x64,0x0f,0x0a,0x14,0xaf,0x91)
#endif
#else
typedef struct IDeckLinkVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLink *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLink *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLink *This);
/*** IDeckLink methods ***/
HRESULT (STDMETHODCALLTYPE *GetModelName)(
IDeckLink *This,
BSTR *modelName);
HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
IDeckLink *This,
BSTR *displayName);
END_INTERFACE
} IDeckLinkVtbl;
interface IDeckLink {
CONST_VTBL IDeckLinkVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLink_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLink_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLink methods ***/
#define IDeckLink_GetModelName(This,modelName) (This)->lpVtbl->GetModelName(This,modelName)
#define IDeckLink_GetDisplayName(This,displayName) (This)->lpVtbl->GetDisplayName(This,displayName)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLink_QueryInterface(IDeckLink* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLink_AddRef(IDeckLink* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLink_Release(IDeckLink* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLink methods ***/
static FORCEINLINE HRESULT IDeckLink_GetModelName(IDeckLink* This,BSTR *modelName) {
return This->lpVtbl->GetModelName(This,modelName);
}
static FORCEINLINE HRESULT IDeckLink_GetDisplayName(IDeckLink* This,BSTR *displayName) {
return This->lpVtbl->GetDisplayName(This,displayName);
}
#endif
#endif
#endif
#endif /* __IDeckLink_INTERFACE_DEFINED__ */
#if 0
#endif
typedef enum _BMDDeckLinkConfigurationID {
bmdDeckLinkConfigSwapSerialRxTx = 0x73737274,
bmdDeckLinkConfigHDMI3DPackingFormat = 0x33647066,
bmdDeckLinkConfigBypass = 0x62797073,
bmdDeckLinkConfigClockTimingAdjustment = 0x63746164,
bmdDeckLinkConfigAnalogAudioConsumerLevels = 0x6161636c,
bmdDeckLinkConfigFieldFlickerRemoval = 0x66646672,
bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 0x746f3539,
bmdDeckLinkConfig444SDIVideoOutput = 0x3434346f,
bmdDeckLinkConfigBlackVideoOutputDuringCapture = 0x62766f63,
bmdDeckLinkConfigLowLatencyVideoOutput = 0x6c6c766f,
bmdDeckLinkConfigDownConversionOnAllAnalogOutput = 0x6361616f,
bmdDeckLinkConfigSMPTELevelAOutput = 0x736d7461,
bmdDeckLinkConfigRec2020Output = 0x72656332,
bmdDeckLinkConfigQuadLinkSDIVideoOutputSquareDivisionSplit = 0x53445153,
bmdDeckLinkConfigOutput1080pAsPsF = 0x70667072,
bmdDeckLinkConfigVideoOutputConnection = 0x766f636e,
bmdDeckLinkConfigVideoOutputConversionMode = 0x766f636d,
bmdDeckLinkConfigAnalogVideoOutputFlags = 0x61766f66,
bmdDeckLinkConfigReferenceInputTimingOffset = 0x676c6f74,
bmdDeckLinkConfigVideoOutputIdleOperation = 0x766f696f,
bmdDeckLinkConfigDefaultVideoOutputMode = 0x64766f6d,
bmdDeckLinkConfigDefaultVideoOutputModeFlags = 0x64766f66,
bmdDeckLinkConfigSDIOutputLinkConfiguration = 0x736f6c63,
bmdDeckLinkConfigPlaybackGroup = 0x706c6772,
bmdDeckLinkConfigVideoOutputComponentLumaGain = 0x6f636c67,
bmdDeckLinkConfigVideoOutputComponentChromaBlueGain = 0x6f636362,
bmdDeckLinkConfigVideoOutputComponentChromaRedGain = 0x6f636372,
bmdDeckLinkConfigVideoOutputCompositeLumaGain = 0x6f696c67,
bmdDeckLinkConfigVideoOutputCompositeChromaGain = 0x6f696367,
bmdDeckLinkConfigVideoOutputSVideoLumaGain = 0x6f736c67,
bmdDeckLinkConfigVideoOutputSVideoChromaGain = 0x6f736367,
bmdDeckLinkConfigVideoInputScanning = 0x76697363,
bmdDeckLinkConfigUseDedicatedLTCInput = 0x646c7463,
bmdDeckLinkConfigSDIInput3DPayloadOverride = 0x33646473,
bmdDeckLinkConfigCapture1080pAsPsF = 0x63667072,
bmdDeckLinkConfigVideoInputConnection = 0x7669636e,
bmdDeckLinkConfigAnalogVideoInputFlags = 0x61766966,
bmdDeckLinkConfigVideoInputConversionMode = 0x7669636d,
bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = 0x70646966,
bmdDeckLinkConfigVANCSourceLine1Mapping = 0x76736c31,
bmdDeckLinkConfigVANCSourceLine2Mapping = 0x76736c32,
bmdDeckLinkConfigVANCSourceLine3Mapping = 0x76736c33,
bmdDeckLinkConfigCapturePassThroughMode = 0x6370746d,
bmdDeckLinkConfigCaptureGroup = 0x63706772,
bmdDeckLinkConfigVideoInputComponentLumaGain = 0x69636c67,
bmdDeckLinkConfigVideoInputComponentChromaBlueGain = 0x69636362,
bmdDeckLinkConfigVideoInputComponentChromaRedGain = 0x69636372,
bmdDeckLinkConfigVideoInputCompositeLumaGain = 0x69696c67,
bmdDeckLinkConfigVideoInputCompositeChromaGain = 0x69696367,
bmdDeckLinkConfigVideoInputSVideoLumaGain = 0x69736c67,
bmdDeckLinkConfigVideoInputSVideoChromaGain = 0x69736367,
bmdDeckLinkConfigMicrophonePhantomPower = 0x6d706870,
bmdDeckLinkConfigAudioInputConnection = 0x6169636e,
bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = 0x61697331,
bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = 0x61697332,
bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 0x61697333,
bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 0x61697334,
bmdDeckLinkConfigDigitalAudioInputScale = 0x64616973,
bmdDeckLinkConfigMicrophoneInputGain = 0x6d696367,
bmdDeckLinkConfigAudioOutputAESAnalogSwitch = 0x616f6161,
bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = 0x616f7331,
bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 0x616f7332,
bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 0x616f7333,
bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 0x616f7334,
bmdDeckLinkConfigDigitalAudioOutputScale = 0x64616f73,
bmdDeckLinkConfigHeadphoneVolume = 0x68766f6c,
bmdDeckLinkConfigDeviceInformationLabel = 0x64696c61,
bmdDeckLinkConfigDeviceInformationSerialNumber = 0x6469736e,
bmdDeckLinkConfigDeviceInformationCompany = 0x6469636f,
bmdDeckLinkConfigDeviceInformationPhone = 0x64697068,
bmdDeckLinkConfigDeviceInformationEmail = 0x6469656d,
bmdDeckLinkConfigDeviceInformationDate = 0x64696461,
bmdDeckLinkConfigDeckControlConnection = 0x6463636f
} BMDDeckLinkConfigurationID;
typedef enum _BMDDeckLinkEncoderConfigurationID {
bmdDeckLinkEncoderConfigPreferredBitDepth = 0x65706272,
bmdDeckLinkEncoderConfigFrameCodingMode = 0x6566636d,
bmdDeckLinkEncoderConfigH265TargetBitrate = 0x68746272,
bmdDeckLinkEncoderConfigDNxHRCompressionID = 0x64636964,
bmdDeckLinkEncoderConfigDNxHRLevel = 0x646c6576,
bmdDeckLinkEncoderConfigMPEG4SampleDescription = 0x73747345,
bmdDeckLinkEncoderConfigMPEG4CodecSpecificDesc = 0x65736473
} BMDDeckLinkEncoderConfigurationID;
#ifndef __IDeckLinkConfiguration_FWD_DEFINED__
#define __IDeckLinkConfiguration_FWD_DEFINED__
typedef interface IDeckLinkConfiguration IDeckLinkConfiguration;
#ifdef __cplusplus
interface IDeckLinkConfiguration;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderConfiguration_FWD_DEFINED__
#define __IDeckLinkEncoderConfiguration_FWD_DEFINED__
typedef interface IDeckLinkEncoderConfiguration IDeckLinkEncoderConfiguration;
#ifdef __cplusplus
interface IDeckLinkEncoderConfiguration;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkConfiguration interface
*/
#ifndef __IDeckLinkConfiguration_INTERFACE_DEFINED__
#define __IDeckLinkConfiguration_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkConfiguration, 0x912f634b, 0x2d4e, 0x40a4, 0x8a,0xab, 0x8d,0x80,0xb7,0x3f,0x12,0x89);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("912f634b-2d4e-40a4-8aab-8d80b73f1289")
IDeckLinkConfiguration : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFlag(
BMDDeckLinkConfigurationID cfgID,
BOOL value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkConfigurationID cfgID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInt(
BMDDeckLinkConfigurationID cfgID,
LONGLONG value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkConfigurationID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFloat(
BMDDeckLinkConfigurationID cfgID,
double value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkConfigurationID cfgID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetString(
BMDDeckLinkConfigurationID cfgID,
BSTR value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkConfigurationID cfgID,
BSTR *value) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkConfiguration, 0x912f634b, 0x2d4e, 0x40a4, 0x8a,0xab, 0x8d,0x80,0xb7,0x3f,0x12,0x89)
#endif
#else
typedef struct IDeckLinkConfigurationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkConfiguration *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkConfiguration *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkConfiguration *This);
/*** IDeckLinkConfiguration methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlag)(
IDeckLinkConfiguration *This,
BMDDeckLinkConfigurationID cfgID,
BOOL value);
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkConfiguration *This,
BMDDeckLinkConfigurationID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *SetInt)(
IDeckLinkConfiguration *This,
BMDDeckLinkConfigurationID cfgID,
LONGLONG value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkConfiguration *This,
BMDDeckLinkConfigurationID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *SetFloat)(
IDeckLinkConfiguration *This,
BMDDeckLinkConfigurationID cfgID,
double value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkConfiguration *This,
BMDDeckLinkConfigurationID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *SetString)(
IDeckLinkConfiguration *This,
BMDDeckLinkConfigurationID cfgID,
BSTR value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkConfiguration *This,
BMDDeckLinkConfigurationID cfgID,
BSTR *value);
HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)(
IDeckLinkConfiguration *This);
END_INTERFACE
} IDeckLinkConfigurationVtbl;
interface IDeckLinkConfiguration {
CONST_VTBL IDeckLinkConfigurationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkConfiguration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkConfiguration_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkConfiguration_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkConfiguration methods ***/
#define IDeckLinkConfiguration_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value)
#define IDeckLinkConfiguration_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IDeckLinkConfiguration_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value)
#define IDeckLinkConfiguration_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IDeckLinkConfiguration_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value)
#define IDeckLinkConfiguration_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IDeckLinkConfiguration_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value)
#define IDeckLinkConfiguration_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_QueryInterface(IDeckLinkConfiguration* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_AddRef(IDeckLinkConfiguration* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_Release(IDeckLinkConfiguration* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkConfiguration methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_SetFlag(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BOOL value) {
return This->lpVtbl->SetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_GetFlag(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_SetInt(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) {
return This->lpVtbl->SetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_GetInt(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_SetFloat(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,double value) {
return This->lpVtbl->SetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_GetFloat(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_SetString(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BSTR value) {
return This->lpVtbl->SetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_GetString(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_WriteConfigurationToPreferences(IDeckLinkConfiguration* This) {
return This->lpVtbl->WriteConfigurationToPreferences(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkConfiguration_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkEncoderConfiguration interface
*/
#ifndef __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__
#define __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkEncoderConfiguration, 0x138050e5, 0xc60a, 0x4552, 0xbf,0x3f, 0x0f,0x35,0x80,0x49,0x32,0x7e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("138050e5-c60a-4552-bf3f-0f358049327e")
IDeckLinkEncoderConfiguration : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFlag(
BMDDeckLinkEncoderConfigurationID cfgID,
BOOL value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkEncoderConfigurationID cfgID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInt(
BMDDeckLinkEncoderConfigurationID cfgID,
LONGLONG value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkEncoderConfigurationID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFloat(
BMDDeckLinkEncoderConfigurationID cfgID,
double value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkEncoderConfigurationID cfgID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetString(
BMDDeckLinkEncoderConfigurationID cfgID,
BSTR value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkEncoderConfigurationID cfgID,
BSTR *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytes(
BMDDeckLinkEncoderConfigurationID cfgID,
void *buffer,
unsigned int *bufferSize) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkEncoderConfiguration, 0x138050e5, 0xc60a, 0x4552, 0xbf,0x3f, 0x0f,0x35,0x80,0x49,0x32,0x7e)
#endif
#else
typedef struct IDeckLinkEncoderConfigurationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkEncoderConfiguration *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkEncoderConfiguration *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkEncoderConfiguration *This);
/*** IDeckLinkEncoderConfiguration methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlag)(
IDeckLinkEncoderConfiguration *This,
BMDDeckLinkEncoderConfigurationID cfgID,
BOOL value);
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkEncoderConfiguration *This,
BMDDeckLinkEncoderConfigurationID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *SetInt)(
IDeckLinkEncoderConfiguration *This,
BMDDeckLinkEncoderConfigurationID cfgID,
LONGLONG value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkEncoderConfiguration *This,
BMDDeckLinkEncoderConfigurationID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *SetFloat)(
IDeckLinkEncoderConfiguration *This,
BMDDeckLinkEncoderConfigurationID cfgID,
double value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkEncoderConfiguration *This,
BMDDeckLinkEncoderConfigurationID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *SetString)(
IDeckLinkEncoderConfiguration *This,
BMDDeckLinkEncoderConfigurationID cfgID,
BSTR value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkEncoderConfiguration *This,
BMDDeckLinkEncoderConfigurationID cfgID,
BSTR *value);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkEncoderConfiguration *This,
BMDDeckLinkEncoderConfigurationID cfgID,
void *buffer,
unsigned int *bufferSize);
END_INTERFACE
} IDeckLinkEncoderConfigurationVtbl;
interface IDeckLinkEncoderConfiguration {
CONST_VTBL IDeckLinkEncoderConfigurationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkEncoderConfiguration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkEncoderConfiguration_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkEncoderConfiguration_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkEncoderConfiguration methods ***/
#define IDeckLinkEncoderConfiguration_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_GetBytes(This,cfgID,buffer,bufferSize) (This)->lpVtbl->GetBytes(This,cfgID,buffer,bufferSize)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_QueryInterface(IDeckLinkEncoderConfiguration* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkEncoderConfiguration_AddRef(IDeckLinkEncoderConfiguration* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkEncoderConfiguration_Release(IDeckLinkEncoderConfiguration* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkEncoderConfiguration methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_SetFlag(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL value) {
return This->lpVtbl->SetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_GetFlag(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_SetInt(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG value) {
return This->lpVtbl->SetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_GetInt(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_SetFloat(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,double value) {
return This->lpVtbl->SetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_GetFloat(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_SetString(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR value) {
return This->lpVtbl->SetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_GetString(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_GetBytes(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,void *buffer,unsigned int *bufferSize) {
return This->lpVtbl->GetBytes(This,cfgID,buffer,bufferSize);
}
#endif
#endif
#endif
#endif /* __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__ */
typedef unsigned int BMDDeckControlStatusFlags;
typedef unsigned int BMDDeckControlExportModeOpsFlags;
#if 0
typedef enum _BMDDeckControlStatusFlags BMDDeckControlStatusFlags;
typedef enum _BMDDeckControlExportModeOpsFlags BMDDeckControlExportModeOpsFlags;
#endif
typedef enum _BMDDeckControlMode {
bmdDeckControlNotOpened = 0x6e746f70,
bmdDeckControlVTRControlMode = 0x76747263,
bmdDeckControlExportMode = 0x6578706d,
bmdDeckControlCaptureMode = 0x6361706d
} BMDDeckControlMode;
typedef enum _BMDDeckControlEvent {
bmdDeckControlAbortedEvent = 0x61627465,
bmdDeckControlPrepareForExportEvent = 0x70666565,
bmdDeckControlExportCompleteEvent = 0x65786365,
bmdDeckControlPrepareForCaptureEvent = 0x70666365,
bmdDeckControlCaptureCompleteEvent = 0x63636576
} BMDDeckControlEvent;
typedef enum _BMDDeckControlVTRControlState {
bmdDeckControlNotInVTRControlMode = 0x6e76636d,
bmdDeckControlVTRControlPlaying = 0x76747270,
bmdDeckControlVTRControlRecording = 0x76747272,
bmdDeckControlVTRControlStill = 0x76747261,
bmdDeckControlVTRControlShuttleForward = 0x76747366,
bmdDeckControlVTRControlShuttleReverse = 0x76747372,
bmdDeckControlVTRControlJogForward = 0x76746a66,
bmdDeckControlVTRControlJogReverse = 0x76746a72,
bmdDeckControlVTRControlStopped = 0x7674726f
} BMDDeckControlVTRControlState;
enum _BMDDeckControlStatusFlags {
bmdDeckControlStatusDeckConnected = 1 << 0,
bmdDeckControlStatusRemoteMode = 1 << 1,
bmdDeckControlStatusRecordInhibited = 1 << 2,
bmdDeckControlStatusCassetteOut = 1 << 3
};
enum _BMDDeckControlExportModeOpsFlags {
bmdDeckControlExportModeInsertVideo = 1 << 0,
bmdDeckControlExportModeInsertAudio1 = 1 << 1,
bmdDeckControlExportModeInsertAudio2 = 1 << 2,
bmdDeckControlExportModeInsertAudio3 = 1 << 3,
bmdDeckControlExportModeInsertAudio4 = 1 << 4,
bmdDeckControlExportModeInsertAudio5 = 1 << 5,
bmdDeckControlExportModeInsertAudio6 = 1 << 6,
bmdDeckControlExportModeInsertAudio7 = 1 << 7,
bmdDeckControlExportModeInsertAudio8 = 1 << 8,
bmdDeckControlExportModeInsertAudio9 = 1 << 9,
bmdDeckControlExportModeInsertAudio10 = 1 << 10,
bmdDeckControlExportModeInsertAudio11 = 1 << 11,
bmdDeckControlExportModeInsertAudio12 = 1 << 12,
bmdDeckControlExportModeInsertTimeCode = 1 << 13,
bmdDeckControlExportModeInsertAssemble = 1 << 14,
bmdDeckControlExportModeInsertPreview = 1 << 15,
bmdDeckControlUseManualExport = 1 << 16
};
typedef enum _BMDDeckControlError {
bmdDeckControlNoError = 0x6e6f6572,
bmdDeckControlModeError = 0x6d6f6572,
bmdDeckControlMissedInPointError = 0x6d696572,
bmdDeckControlDeckTimeoutError = 0x64746572,
bmdDeckControlCommandFailedError = 0x63666572,
bmdDeckControlDeviceAlreadyOpenedError = 0x64616c6f,
bmdDeckControlFailedToOpenDeviceError = 0x66646572,
bmdDeckControlInLocalModeError = 0x6c6d6572,
bmdDeckControlEndOfTapeError = 0x65746572,
bmdDeckControlUserAbortError = 0x75616572,
bmdDeckControlNoTapeInDeckError = 0x6e746572,
bmdDeckControlNoVideoFromCardError = 0x6e766663,
bmdDeckControlNoCommunicationError = 0x6e636f6d,
bmdDeckControlBufferTooSmallError = 0x6274736d,
bmdDeckControlBadChecksumError = 0x63686b73,
bmdDeckControlUnknownError = 0x756e6572
} BMDDeckControlError;
#ifndef __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__
#define __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__
typedef interface IDeckLinkDeckControlStatusCallback IDeckLinkDeckControlStatusCallback;
#ifdef __cplusplus
interface IDeckLinkDeckControlStatusCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDeckControl_FWD_DEFINED__
#define __IDeckLinkDeckControl_FWD_DEFINED__
typedef interface IDeckLinkDeckControl IDeckLinkDeckControl;
#ifdef __cplusplus
interface IDeckLinkDeckControl;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkDeckControlStatusCallback interface
*/
#ifndef __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__
#define __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDeckControlStatusCallback, 0x53436ffb, 0xb434, 0x4906, 0xba,0xdc, 0xae,0x30,0x60,0xff,0xe8,0xef);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("53436ffb-b434-4906-badc-ae3060ffe8ef")
IDeckLinkDeckControlStatusCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate(
BMDTimecodeBCD currentTimecode) = 0;
virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged(
BMDDeckControlVTRControlState newState,
BMDDeckControlError error) = 0;
virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived(
BMDDeckControlEvent event,
BMDDeckControlError error) = 0;
virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged(
BMDDeckControlStatusFlags flags,
unsigned int mask) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDeckControlStatusCallback, 0x53436ffb, 0xb434, 0x4906, 0xba,0xdc, 0xae,0x30,0x60,0xff,0xe8,0xef)
#endif
#else
typedef struct IDeckLinkDeckControlStatusCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDeckControlStatusCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDeckControlStatusCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDeckControlStatusCallback *This);
/*** IDeckLinkDeckControlStatusCallback methods ***/
HRESULT (STDMETHODCALLTYPE *TimecodeUpdate)(
IDeckLinkDeckControlStatusCallback *This,
BMDTimecodeBCD currentTimecode);
HRESULT (STDMETHODCALLTYPE *VTRControlStateChanged)(
IDeckLinkDeckControlStatusCallback *This,
BMDDeckControlVTRControlState newState,
BMDDeckControlError error);
HRESULT (STDMETHODCALLTYPE *DeckControlEventReceived)(
IDeckLinkDeckControlStatusCallback *This,
BMDDeckControlEvent event,
BMDDeckControlError error);
HRESULT (STDMETHODCALLTYPE *DeckControlStatusChanged)(
IDeckLinkDeckControlStatusCallback *This,
BMDDeckControlStatusFlags flags,
unsigned int mask);
END_INTERFACE
} IDeckLinkDeckControlStatusCallbackVtbl;
interface IDeckLinkDeckControlStatusCallback {
CONST_VTBL IDeckLinkDeckControlStatusCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDeckControlStatusCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDeckControlStatusCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDeckControlStatusCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDeckControlStatusCallback methods ***/
#define IDeckLinkDeckControlStatusCallback_TimecodeUpdate(This,currentTimecode) (This)->lpVtbl->TimecodeUpdate(This,currentTimecode)
#define IDeckLinkDeckControlStatusCallback_VTRControlStateChanged(This,newState,error) (This)->lpVtbl->VTRControlStateChanged(This,newState,error)
#define IDeckLinkDeckControlStatusCallback_DeckControlEventReceived(This,event,error) (This)->lpVtbl->DeckControlEventReceived(This,event,error)
#define IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(This,flags,mask) (This)->lpVtbl->DeckControlStatusChanged(This,flags,mask)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_QueryInterface(IDeckLinkDeckControlStatusCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDeckControlStatusCallback_AddRef(IDeckLinkDeckControlStatusCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDeckControlStatusCallback_Release(IDeckLinkDeckControlStatusCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDeckControlStatusCallback methods ***/
static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_TimecodeUpdate(IDeckLinkDeckControlStatusCallback* This,BMDTimecodeBCD currentTimecode) {
return This->lpVtbl->TimecodeUpdate(This,currentTimecode);
}
static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_VTRControlStateChanged(IDeckLinkDeckControlStatusCallback* This,BMDDeckControlVTRControlState newState,BMDDeckControlError error) {
return This->lpVtbl->VTRControlStateChanged(This,newState,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_DeckControlEventReceived(IDeckLinkDeckControlStatusCallback* This,BMDDeckControlEvent event,BMDDeckControlError error) {
return This->lpVtbl->DeckControlEventReceived(This,event,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(IDeckLinkDeckControlStatusCallback* This,BMDDeckControlStatusFlags flags,unsigned int mask) {
return This->lpVtbl->DeckControlStatusChanged(This,flags,mask);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkDeckControl interface
*/
#ifndef __IDeckLinkDeckControl_INTERFACE_DEFINED__
#define __IDeckLinkDeckControl_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDeckControl, 0x8e1c3ace, 0x19c7, 0x4e00, 0x8b,0x92, 0xd8,0x04,0x31,0xd9,0x58,0xbe);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8e1c3ace-19c7-4e00-8b92-d80431d958be")
IDeckLinkDeckControl : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Open(
BMDTimeScale timeScale,
BMDTimeValue timeValue,
BOOL timecodeIsDropFrame,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Close(
BOOL standbyOn) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentState(
BMDDeckControlMode *mode,
BMDDeckControlVTRControlState *vtrControlState,
BMDDeckControlStatusFlags *flags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStandby(
BOOL standbyOn) = 0;
virtual HRESULT STDMETHODCALLTYPE SendCommand(
unsigned char *inBuffer,
unsigned int inBufferSize,
unsigned char *outBuffer,
unsigned int *outDataSize,
unsigned int outBufferSize,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Play(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE TogglePlayStop(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Eject(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GoToTimecode(
BMDTimecodeBCD timecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE FastForward(
BOOL viewTape,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Rewind(
BOOL viewTape,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE StepForward(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE StepBack(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Jog(
double rate,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Shuttle(
double rate,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecodeString(
BSTR *currentTimeCode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecode(
IDeckLinkTimecode **currentTimecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD(
BMDTimecodeBCD *currentTimecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPreroll(
unsigned int prerollSeconds) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPreroll(
unsigned int *prerollSeconds) = 0;
virtual HRESULT STDMETHODCALLTYPE SetExportOffset(
int exportOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE GetExportOffset(
int *exportOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset(
int *deckManualExportOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset(
int captureOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset(
int *captureOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE StartExport(
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlExportModeOpsFlags exportModeOps,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE StartCapture(
BOOL useVITC,
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDeviceID(
unsigned short *deviceId,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Abort(
) = 0;
virtual HRESULT STDMETHODCALLTYPE CrashRecordStart(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE CrashRecordStop(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkDeckControlStatusCallback *callback) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDeckControl, 0x8e1c3ace, 0x19c7, 0x4e00, 0x8b,0x92, 0xd8,0x04,0x31,0xd9,0x58,0xbe)
#endif
#else
typedef struct IDeckLinkDeckControlVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDeckControl *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDeckControl *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDeckControl *This);
/*** IDeckLinkDeckControl methods ***/
HRESULT (STDMETHODCALLTYPE *Open)(
IDeckLinkDeckControl *This,
BMDTimeScale timeScale,
BMDTimeValue timeValue,
BOOL timecodeIsDropFrame,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Close)(
IDeckLinkDeckControl *This,
BOOL standbyOn);
HRESULT (STDMETHODCALLTYPE *GetCurrentState)(
IDeckLinkDeckControl *This,
BMDDeckControlMode *mode,
BMDDeckControlVTRControlState *vtrControlState,
BMDDeckControlStatusFlags *flags);
HRESULT (STDMETHODCALLTYPE *SetStandby)(
IDeckLinkDeckControl *This,
BOOL standbyOn);
HRESULT (STDMETHODCALLTYPE *SendCommand)(
IDeckLinkDeckControl *This,
unsigned char *inBuffer,
unsigned int inBufferSize,
unsigned char *outBuffer,
unsigned int *outDataSize,
unsigned int outBufferSize,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Play)(
IDeckLinkDeckControl *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Stop)(
IDeckLinkDeckControl *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *TogglePlayStop)(
IDeckLinkDeckControl *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Eject)(
IDeckLinkDeckControl *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GoToTimecode)(
IDeckLinkDeckControl *This,
BMDTimecodeBCD timecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *FastForward)(
IDeckLinkDeckControl *This,
BOOL viewTape,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Rewind)(
IDeckLinkDeckControl *This,
BOOL viewTape,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *StepForward)(
IDeckLinkDeckControl *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *StepBack)(
IDeckLinkDeckControl *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Jog)(
IDeckLinkDeckControl *This,
double rate,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Shuttle)(
IDeckLinkDeckControl *This,
double rate,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetTimecodeString)(
IDeckLinkDeckControl *This,
BSTR *currentTimeCode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkDeckControl *This,
IDeckLinkTimecode **currentTimecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetTimecodeBCD)(
IDeckLinkDeckControl *This,
BMDTimecodeBCD *currentTimecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *SetPreroll)(
IDeckLinkDeckControl *This,
unsigned int prerollSeconds);
HRESULT (STDMETHODCALLTYPE *GetPreroll)(
IDeckLinkDeckControl *This,
unsigned int *prerollSeconds);
HRESULT (STDMETHODCALLTYPE *SetExportOffset)(
IDeckLinkDeckControl *This,
int exportOffsetFields);
HRESULT (STDMETHODCALLTYPE *GetExportOffset)(
IDeckLinkDeckControl *This,
int *exportOffsetFields);
HRESULT (STDMETHODCALLTYPE *GetManualExportOffset)(
IDeckLinkDeckControl *This,
int *deckManualExportOffsetFields);
HRESULT (STDMETHODCALLTYPE *SetCaptureOffset)(
IDeckLinkDeckControl *This,
int captureOffsetFields);
HRESULT (STDMETHODCALLTYPE *GetCaptureOffset)(
IDeckLinkDeckControl *This,
int *captureOffsetFields);
HRESULT (STDMETHODCALLTYPE *StartExport)(
IDeckLinkDeckControl *This,
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlExportModeOpsFlags exportModeOps,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *StartCapture)(
IDeckLinkDeckControl *This,
BOOL useVITC,
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetDeviceID)(
IDeckLinkDeckControl *This,
unsigned short *deviceId,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Abort)(
IDeckLinkDeckControl *This);
HRESULT (STDMETHODCALLTYPE *CrashRecordStart)(
IDeckLinkDeckControl *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *CrashRecordStop)(
IDeckLinkDeckControl *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkDeckControl *This,
IDeckLinkDeckControlStatusCallback *callback);
END_INTERFACE
} IDeckLinkDeckControlVtbl;
interface IDeckLinkDeckControl {
CONST_VTBL IDeckLinkDeckControlVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDeckControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDeckControl_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDeckControl_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDeckControl methods ***/
#define IDeckLinkDeckControl_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) (This)->lpVtbl->Open(This,timeScale,timeValue,timecodeIsDropFrame,error)
#define IDeckLinkDeckControl_Close(This,standbyOn) (This)->lpVtbl->Close(This,standbyOn)
#define IDeckLinkDeckControl_GetCurrentState(This,mode,vtrControlState,flags) (This)->lpVtbl->GetCurrentState(This,mode,vtrControlState,flags)
#define IDeckLinkDeckControl_SetStandby(This,standbyOn) (This)->lpVtbl->SetStandby(This,standbyOn)
#define IDeckLinkDeckControl_SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) (This)->lpVtbl->SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error)
#define IDeckLinkDeckControl_Play(This,error) (This)->lpVtbl->Play(This,error)
#define IDeckLinkDeckControl_Stop(This,error) (This)->lpVtbl->Stop(This,error)
#define IDeckLinkDeckControl_TogglePlayStop(This,error) (This)->lpVtbl->TogglePlayStop(This,error)
#define IDeckLinkDeckControl_Eject(This,error) (This)->lpVtbl->Eject(This,error)
#define IDeckLinkDeckControl_GoToTimecode(This,timecode,error) (This)->lpVtbl->GoToTimecode(This,timecode,error)
#define IDeckLinkDeckControl_FastForward(This,viewTape,error) (This)->lpVtbl->FastForward(This,viewTape,error)
#define IDeckLinkDeckControl_Rewind(This,viewTape,error) (This)->lpVtbl->Rewind(This,viewTape,error)
#define IDeckLinkDeckControl_StepForward(This,error) (This)->lpVtbl->StepForward(This,error)
#define IDeckLinkDeckControl_StepBack(This,error) (This)->lpVtbl->StepBack(This,error)
#define IDeckLinkDeckControl_Jog(This,rate,error) (This)->lpVtbl->Jog(This,rate,error)
#define IDeckLinkDeckControl_Shuttle(This,rate,error) (This)->lpVtbl->Shuttle(This,rate,error)
#define IDeckLinkDeckControl_GetTimecodeString(This,currentTimeCode,error) (This)->lpVtbl->GetTimecodeString(This,currentTimeCode,error)
#define IDeckLinkDeckControl_GetTimecode(This,currentTimecode,error) (This)->lpVtbl->GetTimecode(This,currentTimecode,error)
#define IDeckLinkDeckControl_GetTimecodeBCD(This,currentTimecode,error) (This)->lpVtbl->GetTimecodeBCD(This,currentTimecode,error)
#define IDeckLinkDeckControl_SetPreroll(This,prerollSeconds) (This)->lpVtbl->SetPreroll(This,prerollSeconds)
#define IDeckLinkDeckControl_GetPreroll(This,prerollSeconds) (This)->lpVtbl->GetPreroll(This,prerollSeconds)
#define IDeckLinkDeckControl_SetExportOffset(This,exportOffsetFields) (This)->lpVtbl->SetExportOffset(This,exportOffsetFields)
#define IDeckLinkDeckControl_GetExportOffset(This,exportOffsetFields) (This)->lpVtbl->GetExportOffset(This,exportOffsetFields)
#define IDeckLinkDeckControl_GetManualExportOffset(This,deckManualExportOffsetFields) (This)->lpVtbl->GetManualExportOffset(This,deckManualExportOffsetFields)
#define IDeckLinkDeckControl_SetCaptureOffset(This,captureOffsetFields) (This)->lpVtbl->SetCaptureOffset(This,captureOffsetFields)
#define IDeckLinkDeckControl_GetCaptureOffset(This,captureOffsetFields) (This)->lpVtbl->GetCaptureOffset(This,captureOffsetFields)
#define IDeckLinkDeckControl_StartExport(This,inTimecode,outTimecode,exportModeOps,error) (This)->lpVtbl->StartExport(This,inTimecode,outTimecode,exportModeOps,error)
#define IDeckLinkDeckControl_StartCapture(This,useVITC,inTimecode,outTimecode,error) (This)->lpVtbl->StartCapture(This,useVITC,inTimecode,outTimecode,error)
#define IDeckLinkDeckControl_GetDeviceID(This,deviceId,error) (This)->lpVtbl->GetDeviceID(This,deviceId,error)
#define IDeckLinkDeckControl_Abort(This) (This)->lpVtbl->Abort(This)
#define IDeckLinkDeckControl_CrashRecordStart(This,error) (This)->lpVtbl->CrashRecordStart(This,error)
#define IDeckLinkDeckControl_CrashRecordStop(This,error) (This)->lpVtbl->CrashRecordStop(This,error)
#define IDeckLinkDeckControl_SetCallback(This,callback) (This)->lpVtbl->SetCallback(This,callback)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDeckControl_QueryInterface(IDeckLinkDeckControl* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDeckControl_AddRef(IDeckLinkDeckControl* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDeckControl_Release(IDeckLinkDeckControl* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDeckControl methods ***/
static FORCEINLINE HRESULT IDeckLinkDeckControl_Open(IDeckLinkDeckControl* This,BMDTimeScale timeScale,BMDTimeValue timeValue,BOOL timecodeIsDropFrame,BMDDeckControlError *error) {
return This->lpVtbl->Open(This,timeScale,timeValue,timecodeIsDropFrame,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_Close(IDeckLinkDeckControl* This,BOOL standbyOn) {
return This->lpVtbl->Close(This,standbyOn);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_GetCurrentState(IDeckLinkDeckControl* This,BMDDeckControlMode *mode,BMDDeckControlVTRControlState *vtrControlState,BMDDeckControlStatusFlags *flags) {
return This->lpVtbl->GetCurrentState(This,mode,vtrControlState,flags);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_SetStandby(IDeckLinkDeckControl* This,BOOL standbyOn) {
return This->lpVtbl->SetStandby(This,standbyOn);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_SendCommand(IDeckLinkDeckControl* This,unsigned char *inBuffer,unsigned int inBufferSize,unsigned char *outBuffer,unsigned int *outDataSize,unsigned int outBufferSize,BMDDeckControlError *error) {
return This->lpVtbl->SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_Play(IDeckLinkDeckControl* This,BMDDeckControlError *error) {
return This->lpVtbl->Play(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_Stop(IDeckLinkDeckControl* This,BMDDeckControlError *error) {
return This->lpVtbl->Stop(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_TogglePlayStop(IDeckLinkDeckControl* This,BMDDeckControlError *error) {
return This->lpVtbl->TogglePlayStop(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_Eject(IDeckLinkDeckControl* This,BMDDeckControlError *error) {
return This->lpVtbl->Eject(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_GoToTimecode(IDeckLinkDeckControl* This,BMDTimecodeBCD timecode,BMDDeckControlError *error) {
return This->lpVtbl->GoToTimecode(This,timecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_FastForward(IDeckLinkDeckControl* This,BOOL viewTape,BMDDeckControlError *error) {
return This->lpVtbl->FastForward(This,viewTape,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_Rewind(IDeckLinkDeckControl* This,BOOL viewTape,BMDDeckControlError *error) {
return This->lpVtbl->Rewind(This,viewTape,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_StepForward(IDeckLinkDeckControl* This,BMDDeckControlError *error) {
return This->lpVtbl->StepForward(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_StepBack(IDeckLinkDeckControl* This,BMDDeckControlError *error) {
return This->lpVtbl->StepBack(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_Jog(IDeckLinkDeckControl* This,double rate,BMDDeckControlError *error) {
return This->lpVtbl->Jog(This,rate,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_Shuttle(IDeckLinkDeckControl* This,double rate,BMDDeckControlError *error) {
return This->lpVtbl->Shuttle(This,rate,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_GetTimecodeString(IDeckLinkDeckControl* This,BSTR *currentTimeCode,BMDDeckControlError *error) {
return This->lpVtbl->GetTimecodeString(This,currentTimeCode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_GetTimecode(IDeckLinkDeckControl* This,IDeckLinkTimecode **currentTimecode,BMDDeckControlError *error) {
return This->lpVtbl->GetTimecode(This,currentTimecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_GetTimecodeBCD(IDeckLinkDeckControl* This,BMDTimecodeBCD *currentTimecode,BMDDeckControlError *error) {
return This->lpVtbl->GetTimecodeBCD(This,currentTimecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_SetPreroll(IDeckLinkDeckControl* This,unsigned int prerollSeconds) {
return This->lpVtbl->SetPreroll(This,prerollSeconds);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_GetPreroll(IDeckLinkDeckControl* This,unsigned int *prerollSeconds) {
return This->lpVtbl->GetPreroll(This,prerollSeconds);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_SetExportOffset(IDeckLinkDeckControl* This,int exportOffsetFields) {
return This->lpVtbl->SetExportOffset(This,exportOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_GetExportOffset(IDeckLinkDeckControl* This,int *exportOffsetFields) {
return This->lpVtbl->GetExportOffset(This,exportOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_GetManualExportOffset(IDeckLinkDeckControl* This,int *deckManualExportOffsetFields) {
return This->lpVtbl->GetManualExportOffset(This,deckManualExportOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_SetCaptureOffset(IDeckLinkDeckControl* This,int captureOffsetFields) {
return This->lpVtbl->SetCaptureOffset(This,captureOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_GetCaptureOffset(IDeckLinkDeckControl* This,int *captureOffsetFields) {
return This->lpVtbl->GetCaptureOffset(This,captureOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_StartExport(IDeckLinkDeckControl* This,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlExportModeOpsFlags exportModeOps,BMDDeckControlError *error) {
return This->lpVtbl->StartExport(This,inTimecode,outTimecode,exportModeOps,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_StartCapture(IDeckLinkDeckControl* This,BOOL useVITC,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlError *error) {
return This->lpVtbl->StartCapture(This,useVITC,inTimecode,outTimecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_GetDeviceID(IDeckLinkDeckControl* This,unsigned short *deviceId,BMDDeckControlError *error) {
return This->lpVtbl->GetDeviceID(This,deviceId,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_Abort(IDeckLinkDeckControl* This) {
return This->lpVtbl->Abort(This);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_CrashRecordStart(IDeckLinkDeckControl* This,BMDDeckControlError *error) {
return This->lpVtbl->CrashRecordStart(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_CrashRecordStop(IDeckLinkDeckControl* This,BMDDeckControlError *error) {
return This->lpVtbl->CrashRecordStop(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_SetCallback(IDeckLinkDeckControl* This,IDeckLinkDeckControlStatusCallback *callback) {
return This->lpVtbl->SetCallback(This,callback);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDeckControl_INTERFACE_DEFINED__ */
#if 0
#endif
typedef enum _BMDStreamingDeviceMode {
bmdStreamingDeviceIdle = 0x69646c65,
bmdStreamingDeviceEncoding = 0x656e636f,
bmdStreamingDeviceStopping = 0x73746f70,
bmdStreamingDeviceUnknown = 0x6d756e6b
} BMDStreamingDeviceMode;
typedef enum _BMDStreamingEncodingFrameRate {
bmdStreamingEncodedFrameRate50i = 0x65353069,
bmdStreamingEncodedFrameRate5994i = 0x65353969,
bmdStreamingEncodedFrameRate60i = 0x65363069,
bmdStreamingEncodedFrameRate2398p = 0x65323370,
bmdStreamingEncodedFrameRate24p = 0x65323470,
bmdStreamingEncodedFrameRate25p = 0x65323570,
bmdStreamingEncodedFrameRate2997p = 0x65323970,
bmdStreamingEncodedFrameRate30p = 0x65333070,
bmdStreamingEncodedFrameRate50p = 0x65353070,
bmdStreamingEncodedFrameRate5994p = 0x65353970,
bmdStreamingEncodedFrameRate60p = 0x65363070
} BMDStreamingEncodingFrameRate;
typedef enum _BMDStreamingEncodingSupport {
bmdStreamingEncodingModeNotSupported = 0,
bmdStreamingEncodingModeSupported = 1,
bmdStreamingEncodingModeSupportedWithChanges = 2
} BMDStreamingEncodingSupport;
typedef enum _BMDStreamingVideoCodec {
bmdStreamingVideoCodecH264 = 0x48323634
} BMDStreamingVideoCodec;
typedef enum _BMDStreamingH264Profile {
bmdStreamingH264ProfileHigh = 0x68696768,
bmdStreamingH264ProfileMain = 0x6d61696e,
bmdStreamingH264ProfileBaseline = 0x62617365
} BMDStreamingH264Profile;
typedef enum _BMDStreamingH264Level {
bmdStreamingH264Level12 = 0x6c763132,
bmdStreamingH264Level13 = 0x6c763133,
bmdStreamingH264Level2 = 0x6c763220,
bmdStreamingH264Level21 = 0x6c763231,
bmdStreamingH264Level22 = 0x6c763232,
bmdStreamingH264Level3 = 0x6c763320,
bmdStreamingH264Level31 = 0x6c763331,
bmdStreamingH264Level32 = 0x6c763332,
bmdStreamingH264Level4 = 0x6c763420,
bmdStreamingH264Level41 = 0x6c763431,
bmdStreamingH264Level42 = 0x6c763432
} BMDStreamingH264Level;
typedef enum _BMDStreamingH264EntropyCoding {
bmdStreamingH264EntropyCodingCAVLC = 0x45564c43,
bmdStreamingH264EntropyCodingCABAC = 0x45424143
} BMDStreamingH264EntropyCoding;
typedef enum _BMDStreamingAudioCodec {
bmdStreamingAudioCodecAAC = 0x41414320
} BMDStreamingAudioCodec;
typedef enum _BMDStreamingEncodingModePropertyID {
bmdStreamingEncodingPropertyVideoFrameRate = 0x76667274,
bmdStreamingEncodingPropertyVideoBitRateKbps = 0x76627274,
bmdStreamingEncodingPropertyH264Profile = 0x68707266,
bmdStreamingEncodingPropertyH264Level = 0x686c766c,
bmdStreamingEncodingPropertyH264EntropyCoding = 0x68656e74,
bmdStreamingEncodingPropertyH264HasBFrames = 0x68426672,
bmdStreamingEncodingPropertyAudioCodec = 0x61636463,
bmdStreamingEncodingPropertyAudioSampleRate = 0x61737274,
bmdStreamingEncodingPropertyAudioChannelCount = 0x61636863,
bmdStreamingEncodingPropertyAudioBitRateKbps = 0x61627274
} BMDStreamingEncodingModePropertyID;
#ifndef __IBMDStreamingDeviceNotificationCallback_FWD_DEFINED__
#define __IBMDStreamingDeviceNotificationCallback_FWD_DEFINED__
typedef interface IBMDStreamingDeviceNotificationCallback IBMDStreamingDeviceNotificationCallback;
#ifdef __cplusplus
interface IBMDStreamingDeviceNotificationCallback;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingH264InputCallback_FWD_DEFINED__
#define __IBMDStreamingH264InputCallback_FWD_DEFINED__
typedef interface IBMDStreamingH264InputCallback IBMDStreamingH264InputCallback;
#ifdef __cplusplus
interface IBMDStreamingH264InputCallback;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingDiscovery_FWD_DEFINED__
#define __IBMDStreamingDiscovery_FWD_DEFINED__
typedef interface IBMDStreamingDiscovery IBMDStreamingDiscovery;
#ifdef __cplusplus
interface IBMDStreamingDiscovery;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingVideoEncodingMode_FWD_DEFINED__
#define __IBMDStreamingVideoEncodingMode_FWD_DEFINED__
typedef interface IBMDStreamingVideoEncodingMode IBMDStreamingVideoEncodingMode;
#ifdef __cplusplus
interface IBMDStreamingVideoEncodingMode;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingMutableVideoEncodingMode_FWD_DEFINED__
#define __IBMDStreamingMutableVideoEncodingMode_FWD_DEFINED__
typedef interface IBMDStreamingMutableVideoEncodingMode IBMDStreamingMutableVideoEncodingMode;
#ifdef __cplusplus
interface IBMDStreamingMutableVideoEncodingMode;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingVideoEncodingModePresetIterator_FWD_DEFINED__
#define __IBMDStreamingVideoEncodingModePresetIterator_FWD_DEFINED__
typedef interface IBMDStreamingVideoEncodingModePresetIterator IBMDStreamingVideoEncodingModePresetIterator;
#ifdef __cplusplus
interface IBMDStreamingVideoEncodingModePresetIterator;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingDeviceInput_FWD_DEFINED__
#define __IBMDStreamingDeviceInput_FWD_DEFINED__
typedef interface IBMDStreamingDeviceInput IBMDStreamingDeviceInput;
#ifdef __cplusplus
interface IBMDStreamingDeviceInput;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingH264NALPacket_FWD_DEFINED__
#define __IBMDStreamingH264NALPacket_FWD_DEFINED__
typedef interface IBMDStreamingH264NALPacket IBMDStreamingH264NALPacket;
#ifdef __cplusplus
interface IBMDStreamingH264NALPacket;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingAudioPacket_FWD_DEFINED__
#define __IBMDStreamingAudioPacket_FWD_DEFINED__
typedef interface IBMDStreamingAudioPacket IBMDStreamingAudioPacket;
#ifdef __cplusplus
interface IBMDStreamingAudioPacket;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingMPEG2TSPacket_FWD_DEFINED__
#define __IBMDStreamingMPEG2TSPacket_FWD_DEFINED__
typedef interface IBMDStreamingMPEG2TSPacket IBMDStreamingMPEG2TSPacket;
#ifdef __cplusplus
interface IBMDStreamingMPEG2TSPacket;
#endif /* __cplusplus */
#endif
#ifndef __IBMDStreamingH264NALParser_FWD_DEFINED__
#define __IBMDStreamingH264NALParser_FWD_DEFINED__
typedef interface IBMDStreamingH264NALParser IBMDStreamingH264NALParser;
#ifdef __cplusplus
interface IBMDStreamingH264NALParser;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IBMDStreamingDeviceNotificationCallback interface
*/
#ifndef __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__
#define __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBMDStreamingDeviceNotificationCallback, 0xf9531d64, 0x3305, 0x4b29, 0xa3,0x87, 0x7f,0x74,0xbb,0x0d,0x0e,0x84);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f9531d64-3305-4b29-a387-7f74bb0d0e84")
IBMDStreamingDeviceNotificationCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE StreamingDeviceArrived(
IDeckLink *device) = 0;
virtual HRESULT STDMETHODCALLTYPE StreamingDeviceRemoved(
IDeckLink *device) = 0;
virtual HRESULT STDMETHODCALLTYPE StreamingDeviceModeChanged(
IDeckLink *device,
BMDStreamingDeviceMode mode) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBMDStreamingDeviceNotificationCallback, 0xf9531d64, 0x3305, 0x4b29, 0xa3,0x87, 0x7f,0x74,0xbb,0x0d,0x0e,0x84)
#endif
#else
typedef struct IBMDStreamingDeviceNotificationCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBMDStreamingDeviceNotificationCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBMDStreamingDeviceNotificationCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBMDStreamingDeviceNotificationCallback *This);
/*** IBMDStreamingDeviceNotificationCallback methods ***/
HRESULT (STDMETHODCALLTYPE *StreamingDeviceArrived)(
IBMDStreamingDeviceNotificationCallback *This,
IDeckLink *device);
HRESULT (STDMETHODCALLTYPE *StreamingDeviceRemoved)(
IBMDStreamingDeviceNotificationCallback *This,
IDeckLink *device);
HRESULT (STDMETHODCALLTYPE *StreamingDeviceModeChanged)(
IBMDStreamingDeviceNotificationCallback *This,
IDeckLink *device,
BMDStreamingDeviceMode mode);
END_INTERFACE
} IBMDStreamingDeviceNotificationCallbackVtbl;
interface IBMDStreamingDeviceNotificationCallback {
CONST_VTBL IBMDStreamingDeviceNotificationCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBMDStreamingDeviceNotificationCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBMDStreamingDeviceNotificationCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBMDStreamingDeviceNotificationCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IBMDStreamingDeviceNotificationCallback methods ***/
#define IBMDStreamingDeviceNotificationCallback_StreamingDeviceArrived(This,device) (This)->lpVtbl->StreamingDeviceArrived(This,device)
#define IBMDStreamingDeviceNotificationCallback_StreamingDeviceRemoved(This,device) (This)->lpVtbl->StreamingDeviceRemoved(This,device)
#define IBMDStreamingDeviceNotificationCallback_StreamingDeviceModeChanged(This,device,mode) (This)->lpVtbl->StreamingDeviceModeChanged(This,device,mode)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBMDStreamingDeviceNotificationCallback_QueryInterface(IBMDStreamingDeviceNotificationCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBMDStreamingDeviceNotificationCallback_AddRef(IBMDStreamingDeviceNotificationCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBMDStreamingDeviceNotificationCallback_Release(IBMDStreamingDeviceNotificationCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IBMDStreamingDeviceNotificationCallback methods ***/
static FORCEINLINE HRESULT IBMDStreamingDeviceNotificationCallback_StreamingDeviceArrived(IBMDStreamingDeviceNotificationCallback* This,IDeckLink *device) {
return This->lpVtbl->StreamingDeviceArrived(This,device);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceNotificationCallback_StreamingDeviceRemoved(IBMDStreamingDeviceNotificationCallback* This,IDeckLink *device) {
return This->lpVtbl->StreamingDeviceRemoved(This,device);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceNotificationCallback_StreamingDeviceModeChanged(IBMDStreamingDeviceNotificationCallback* This,IDeckLink *device,BMDStreamingDeviceMode mode) {
return This->lpVtbl->StreamingDeviceModeChanged(This,device,mode);
}
#endif
#endif
#endif
#endif /* __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IBMDStreamingH264InputCallback interface
*/
#ifndef __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__
#define __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBMDStreamingH264InputCallback, 0x823c475f, 0x55ae, 0x46f9, 0x89,0x0c, 0x53,0x7c,0xc5,0xce,0xdc,0xca);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("823c475f-55ae-46f9-890c-537cc5cedcca")
IBMDStreamingH264InputCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE H264NALPacketArrived(
IBMDStreamingH264NALPacket *nalPacket) = 0;
virtual HRESULT STDMETHODCALLTYPE H264AudioPacketArrived(
IBMDStreamingAudioPacket *audioPacket) = 0;
virtual HRESULT STDMETHODCALLTYPE MPEG2TSPacketArrived(
IBMDStreamingMPEG2TSPacket *tsPacket) = 0;
virtual HRESULT STDMETHODCALLTYPE H264VideoInputConnectorScanningChanged(
) = 0;
virtual HRESULT STDMETHODCALLTYPE H264VideoInputConnectorChanged(
) = 0;
virtual HRESULT STDMETHODCALLTYPE H264VideoInputModeChanged(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBMDStreamingH264InputCallback, 0x823c475f, 0x55ae, 0x46f9, 0x89,0x0c, 0x53,0x7c,0xc5,0xce,0xdc,0xca)
#endif
#else
typedef struct IBMDStreamingH264InputCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBMDStreamingH264InputCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBMDStreamingH264InputCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBMDStreamingH264InputCallback *This);
/*** IBMDStreamingH264InputCallback methods ***/
HRESULT (STDMETHODCALLTYPE *H264NALPacketArrived)(
IBMDStreamingH264InputCallback *This,
IBMDStreamingH264NALPacket *nalPacket);
HRESULT (STDMETHODCALLTYPE *H264AudioPacketArrived)(
IBMDStreamingH264InputCallback *This,
IBMDStreamingAudioPacket *audioPacket);
HRESULT (STDMETHODCALLTYPE *MPEG2TSPacketArrived)(
IBMDStreamingH264InputCallback *This,
IBMDStreamingMPEG2TSPacket *tsPacket);
HRESULT (STDMETHODCALLTYPE *H264VideoInputConnectorScanningChanged)(
IBMDStreamingH264InputCallback *This);
HRESULT (STDMETHODCALLTYPE *H264VideoInputConnectorChanged)(
IBMDStreamingH264InputCallback *This);
HRESULT (STDMETHODCALLTYPE *H264VideoInputModeChanged)(
IBMDStreamingH264InputCallback *This);
END_INTERFACE
} IBMDStreamingH264InputCallbackVtbl;
interface IBMDStreamingH264InputCallback {
CONST_VTBL IBMDStreamingH264InputCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBMDStreamingH264InputCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBMDStreamingH264InputCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBMDStreamingH264InputCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IBMDStreamingH264InputCallback methods ***/
#define IBMDStreamingH264InputCallback_H264NALPacketArrived(This,nalPacket) (This)->lpVtbl->H264NALPacketArrived(This,nalPacket)
#define IBMDStreamingH264InputCallback_H264AudioPacketArrived(This,audioPacket) (This)->lpVtbl->H264AudioPacketArrived(This,audioPacket)
#define IBMDStreamingH264InputCallback_MPEG2TSPacketArrived(This,tsPacket) (This)->lpVtbl->MPEG2TSPacketArrived(This,tsPacket)
#define IBMDStreamingH264InputCallback_H264VideoInputConnectorScanningChanged(This) (This)->lpVtbl->H264VideoInputConnectorScanningChanged(This)
#define IBMDStreamingH264InputCallback_H264VideoInputConnectorChanged(This) (This)->lpVtbl->H264VideoInputConnectorChanged(This)
#define IBMDStreamingH264InputCallback_H264VideoInputModeChanged(This) (This)->lpVtbl->H264VideoInputModeChanged(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_QueryInterface(IBMDStreamingH264InputCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBMDStreamingH264InputCallback_AddRef(IBMDStreamingH264InputCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBMDStreamingH264InputCallback_Release(IBMDStreamingH264InputCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IBMDStreamingH264InputCallback methods ***/
static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_H264NALPacketArrived(IBMDStreamingH264InputCallback* This,IBMDStreamingH264NALPacket *nalPacket) {
return This->lpVtbl->H264NALPacketArrived(This,nalPacket);
}
static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_H264AudioPacketArrived(IBMDStreamingH264InputCallback* This,IBMDStreamingAudioPacket *audioPacket) {
return This->lpVtbl->H264AudioPacketArrived(This,audioPacket);
}
static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_MPEG2TSPacketArrived(IBMDStreamingH264InputCallback* This,IBMDStreamingMPEG2TSPacket *tsPacket) {
return This->lpVtbl->MPEG2TSPacketArrived(This,tsPacket);
}
static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_H264VideoInputConnectorScanningChanged(IBMDStreamingH264InputCallback* This) {
return This->lpVtbl->H264VideoInputConnectorScanningChanged(This);
}
static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_H264VideoInputConnectorChanged(IBMDStreamingH264InputCallback* This) {
return This->lpVtbl->H264VideoInputConnectorChanged(This);
}
static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_H264VideoInputModeChanged(IBMDStreamingH264InputCallback* This) {
return This->lpVtbl->H264VideoInputModeChanged(This);
}
#endif
#endif
#endif
#endif /* __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IBMDStreamingDiscovery interface
*/
#ifndef __IBMDStreamingDiscovery_INTERFACE_DEFINED__
#define __IBMDStreamingDiscovery_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBMDStreamingDiscovery, 0x2c837444, 0xf989, 0x4d87, 0x90,0x1a, 0x47,0xc8,0xa3,0x6d,0x09,0x6d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2c837444-f989-4d87-901a-47c8a36d096d")
IBMDStreamingDiscovery : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE InstallDeviceNotifications(
IBMDStreamingDeviceNotificationCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE UninstallDeviceNotifications(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBMDStreamingDiscovery, 0x2c837444, 0xf989, 0x4d87, 0x90,0x1a, 0x47,0xc8,0xa3,0x6d,0x09,0x6d)
#endif
#else
typedef struct IBMDStreamingDiscoveryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBMDStreamingDiscovery *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBMDStreamingDiscovery *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBMDStreamingDiscovery *This);
/*** IBMDStreamingDiscovery methods ***/
HRESULT (STDMETHODCALLTYPE *InstallDeviceNotifications)(
IBMDStreamingDiscovery *This,
IBMDStreamingDeviceNotificationCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *UninstallDeviceNotifications)(
IBMDStreamingDiscovery *This);
END_INTERFACE
} IBMDStreamingDiscoveryVtbl;
interface IBMDStreamingDiscovery {
CONST_VTBL IBMDStreamingDiscoveryVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBMDStreamingDiscovery_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBMDStreamingDiscovery_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBMDStreamingDiscovery_Release(This) (This)->lpVtbl->Release(This)
/*** IBMDStreamingDiscovery methods ***/
#define IBMDStreamingDiscovery_InstallDeviceNotifications(This,theCallback) (This)->lpVtbl->InstallDeviceNotifications(This,theCallback)
#define IBMDStreamingDiscovery_UninstallDeviceNotifications(This) (This)->lpVtbl->UninstallDeviceNotifications(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBMDStreamingDiscovery_QueryInterface(IBMDStreamingDiscovery* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBMDStreamingDiscovery_AddRef(IBMDStreamingDiscovery* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBMDStreamingDiscovery_Release(IBMDStreamingDiscovery* This) {
return This->lpVtbl->Release(This);
}
/*** IBMDStreamingDiscovery methods ***/
static FORCEINLINE HRESULT IBMDStreamingDiscovery_InstallDeviceNotifications(IBMDStreamingDiscovery* This,IBMDStreamingDeviceNotificationCallback *theCallback) {
return This->lpVtbl->InstallDeviceNotifications(This,theCallback);
}
static FORCEINLINE HRESULT IBMDStreamingDiscovery_UninstallDeviceNotifications(IBMDStreamingDiscovery* This) {
return This->lpVtbl->UninstallDeviceNotifications(This);
}
#endif
#endif
#endif
#endif /* __IBMDStreamingDiscovery_INTERFACE_DEFINED__ */
/*****************************************************************************
* IBMDStreamingVideoEncodingMode interface
*/
#ifndef __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__
#define __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBMDStreamingVideoEncodingMode, 0x1ab8035b, 0xcd13, 0x458d, 0xb6,0xdf, 0x5e,0x8f,0x7c,0x21,0x41,0xd9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1ab8035b-cd13-458d-b6df-5e8f7c2141d9")
IBMDStreamingVideoEncodingMode : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetName(
BSTR *name) = 0;
virtual unsigned int STDMETHODCALLTYPE GetPresetID(
) = 0;
virtual unsigned int STDMETHODCALLTYPE GetSourcePositionX(
) = 0;
virtual unsigned int STDMETHODCALLTYPE GetSourcePositionY(
) = 0;
virtual unsigned int STDMETHODCALLTYPE GetSourceWidth(
) = 0;
virtual unsigned int STDMETHODCALLTYPE GetSourceHeight(
) = 0;
virtual unsigned int STDMETHODCALLTYPE GetDestWidth(
) = 0;
virtual unsigned int STDMETHODCALLTYPE GetDestHeight(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDStreamingEncodingModePropertyID cfgID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDStreamingEncodingModePropertyID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDStreamingEncodingModePropertyID cfgID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDStreamingEncodingModePropertyID cfgID,
BSTR *value) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateMutableVideoEncodingMode(
IBMDStreamingMutableVideoEncodingMode **newEncodingMode) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBMDStreamingVideoEncodingMode, 0x1ab8035b, 0xcd13, 0x458d, 0xb6,0xdf, 0x5e,0x8f,0x7c,0x21,0x41,0xd9)
#endif
#else
typedef struct IBMDStreamingVideoEncodingModeVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBMDStreamingVideoEncodingMode *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBMDStreamingVideoEncodingMode *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBMDStreamingVideoEncodingMode *This);
/*** IBMDStreamingVideoEncodingMode methods ***/
HRESULT (STDMETHODCALLTYPE *GetName)(
IBMDStreamingVideoEncodingMode *This,
BSTR *name);
unsigned int (STDMETHODCALLTYPE *GetPresetID)(
IBMDStreamingVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetSourcePositionX)(
IBMDStreamingVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetSourcePositionY)(
IBMDStreamingVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetSourceWidth)(
IBMDStreamingVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetSourceHeight)(
IBMDStreamingVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetDestWidth)(
IBMDStreamingVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetDestHeight)(
IBMDStreamingVideoEncodingMode *This);
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IBMDStreamingVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IBMDStreamingVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IBMDStreamingVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IBMDStreamingVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
BSTR *value);
HRESULT (STDMETHODCALLTYPE *CreateMutableVideoEncodingMode)(
IBMDStreamingVideoEncodingMode *This,
IBMDStreamingMutableVideoEncodingMode **newEncodingMode);
END_INTERFACE
} IBMDStreamingVideoEncodingModeVtbl;
interface IBMDStreamingVideoEncodingMode {
CONST_VTBL IBMDStreamingVideoEncodingModeVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBMDStreamingVideoEncodingMode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBMDStreamingVideoEncodingMode_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBMDStreamingVideoEncodingMode_Release(This) (This)->lpVtbl->Release(This)
/*** IBMDStreamingVideoEncodingMode methods ***/
#define IBMDStreamingVideoEncodingMode_GetName(This,name) (This)->lpVtbl->GetName(This,name)
#define IBMDStreamingVideoEncodingMode_GetPresetID(This) (This)->lpVtbl->GetPresetID(This)
#define IBMDStreamingVideoEncodingMode_GetSourcePositionX(This) (This)->lpVtbl->GetSourcePositionX(This)
#define IBMDStreamingVideoEncodingMode_GetSourcePositionY(This) (This)->lpVtbl->GetSourcePositionY(This)
#define IBMDStreamingVideoEncodingMode_GetSourceWidth(This) (This)->lpVtbl->GetSourceWidth(This)
#define IBMDStreamingVideoEncodingMode_GetSourceHeight(This) (This)->lpVtbl->GetSourceHeight(This)
#define IBMDStreamingVideoEncodingMode_GetDestWidth(This) (This)->lpVtbl->GetDestWidth(This)
#define IBMDStreamingVideoEncodingMode_GetDestHeight(This) (This)->lpVtbl->GetDestHeight(This)
#define IBMDStreamingVideoEncodingMode_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IBMDStreamingVideoEncodingMode_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IBMDStreamingVideoEncodingMode_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IBMDStreamingVideoEncodingMode_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#define IBMDStreamingVideoEncodingMode_CreateMutableVideoEncodingMode(This,newEncodingMode) (This)->lpVtbl->CreateMutableVideoEncodingMode(This,newEncodingMode)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_QueryInterface(IBMDStreamingVideoEncodingMode* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBMDStreamingVideoEncodingMode_AddRef(IBMDStreamingVideoEncodingMode* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBMDStreamingVideoEncodingMode_Release(IBMDStreamingVideoEncodingMode* This) {
return This->lpVtbl->Release(This);
}
/*** IBMDStreamingVideoEncodingMode methods ***/
static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_GetName(IBMDStreamingVideoEncodingMode* This,BSTR *name) {
return This->lpVtbl->GetName(This,name);
}
static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetPresetID(IBMDStreamingVideoEncodingMode* This) {
return This->lpVtbl->GetPresetID(This);
}
static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetSourcePositionX(IBMDStreamingVideoEncodingMode* This) {
return This->lpVtbl->GetSourcePositionX(This);
}
static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetSourcePositionY(IBMDStreamingVideoEncodingMode* This) {
return This->lpVtbl->GetSourcePositionY(This);
}
static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetSourceWidth(IBMDStreamingVideoEncodingMode* This) {
return This->lpVtbl->GetSourceWidth(This);
}
static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetSourceHeight(IBMDStreamingVideoEncodingMode* This) {
return This->lpVtbl->GetSourceHeight(This);
}
static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetDestWidth(IBMDStreamingVideoEncodingMode* This) {
return This->lpVtbl->GetDestWidth(This);
}
static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetDestHeight(IBMDStreamingVideoEncodingMode* This) {
return This->lpVtbl->GetDestHeight(This);
}
static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_GetFlag(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_GetInt(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_GetFloat(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_GetString(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_CreateMutableVideoEncodingMode(IBMDStreamingVideoEncodingMode* This,IBMDStreamingMutableVideoEncodingMode **newEncodingMode) {
return This->lpVtbl->CreateMutableVideoEncodingMode(This,newEncodingMode);
}
#endif
#endif
#endif
#endif /* __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__ */
/*****************************************************************************
* IBMDStreamingMutableVideoEncodingMode interface
*/
#ifndef __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__
#define __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBMDStreamingMutableVideoEncodingMode, 0x19bf7d90, 0x1e0a, 0x400d, 0xb2,0xc6, 0xff,0xc4,0xe7,0x8a,0xd4,0x9d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("19bf7d90-1e0a-400d-b2c6-ffc4e78ad49d")
IBMDStreamingMutableVideoEncodingMode : public IBMDStreamingVideoEncodingMode
{
virtual HRESULT STDMETHODCALLTYPE SetSourceRect(
unsigned int posX,
unsigned int posY,
unsigned int width,
unsigned int height) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDestSize(
unsigned int width,
unsigned int height) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFlag(
BMDStreamingEncodingModePropertyID cfgID,
BOOL value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInt(
BMDStreamingEncodingModePropertyID cfgID,
LONGLONG value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFloat(
BMDStreamingEncodingModePropertyID cfgID,
double value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetString(
BMDStreamingEncodingModePropertyID cfgID,
BSTR value) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBMDStreamingMutableVideoEncodingMode, 0x19bf7d90, 0x1e0a, 0x400d, 0xb2,0xc6, 0xff,0xc4,0xe7,0x8a,0xd4,0x9d)
#endif
#else
typedef struct IBMDStreamingMutableVideoEncodingModeVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBMDStreamingMutableVideoEncodingMode *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBMDStreamingMutableVideoEncodingMode *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBMDStreamingMutableVideoEncodingMode *This);
/*** IBMDStreamingVideoEncodingMode methods ***/
HRESULT (STDMETHODCALLTYPE *GetName)(
IBMDStreamingMutableVideoEncodingMode *This,
BSTR *name);
unsigned int (STDMETHODCALLTYPE *GetPresetID)(
IBMDStreamingMutableVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetSourcePositionX)(
IBMDStreamingMutableVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetSourcePositionY)(
IBMDStreamingMutableVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetSourceWidth)(
IBMDStreamingMutableVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetSourceHeight)(
IBMDStreamingMutableVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetDestWidth)(
IBMDStreamingMutableVideoEncodingMode *This);
unsigned int (STDMETHODCALLTYPE *GetDestHeight)(
IBMDStreamingMutableVideoEncodingMode *This);
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IBMDStreamingMutableVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IBMDStreamingMutableVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IBMDStreamingMutableVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IBMDStreamingMutableVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
BSTR *value);
HRESULT (STDMETHODCALLTYPE *CreateMutableVideoEncodingMode)(
IBMDStreamingMutableVideoEncodingMode *This,
IBMDStreamingMutableVideoEncodingMode **newEncodingMode);
/*** IBMDStreamingMutableVideoEncodingMode methods ***/
HRESULT (STDMETHODCALLTYPE *SetSourceRect)(
IBMDStreamingMutableVideoEncodingMode *This,
unsigned int posX,
unsigned int posY,
unsigned int width,
unsigned int height);
HRESULT (STDMETHODCALLTYPE *SetDestSize)(
IBMDStreamingMutableVideoEncodingMode *This,
unsigned int width,
unsigned int height);
HRESULT (STDMETHODCALLTYPE *SetFlag)(
IBMDStreamingMutableVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
BOOL value);
HRESULT (STDMETHODCALLTYPE *SetInt)(
IBMDStreamingMutableVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
LONGLONG value);
HRESULT (STDMETHODCALLTYPE *SetFloat)(
IBMDStreamingMutableVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
double value);
HRESULT (STDMETHODCALLTYPE *SetString)(
IBMDStreamingMutableVideoEncodingMode *This,
BMDStreamingEncodingModePropertyID cfgID,
BSTR value);
END_INTERFACE
} IBMDStreamingMutableVideoEncodingModeVtbl;
interface IBMDStreamingMutableVideoEncodingMode {
CONST_VTBL IBMDStreamingMutableVideoEncodingModeVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBMDStreamingMutableVideoEncodingMode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBMDStreamingMutableVideoEncodingMode_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBMDStreamingMutableVideoEncodingMode_Release(This) (This)->lpVtbl->Release(This)
/*** IBMDStreamingVideoEncodingMode methods ***/
#define IBMDStreamingMutableVideoEncodingMode_GetName(This,name) (This)->lpVtbl->GetName(This,name)
#define IBMDStreamingMutableVideoEncodingMode_GetPresetID(This) (This)->lpVtbl->GetPresetID(This)
#define IBMDStreamingMutableVideoEncodingMode_GetSourcePositionX(This) (This)->lpVtbl->GetSourcePositionX(This)
#define IBMDStreamingMutableVideoEncodingMode_GetSourcePositionY(This) (This)->lpVtbl->GetSourcePositionY(This)
#define IBMDStreamingMutableVideoEncodingMode_GetSourceWidth(This) (This)->lpVtbl->GetSourceWidth(This)
#define IBMDStreamingMutableVideoEncodingMode_GetSourceHeight(This) (This)->lpVtbl->GetSourceHeight(This)
#define IBMDStreamingMutableVideoEncodingMode_GetDestWidth(This) (This)->lpVtbl->GetDestWidth(This)
#define IBMDStreamingMutableVideoEncodingMode_GetDestHeight(This) (This)->lpVtbl->GetDestHeight(This)
#define IBMDStreamingMutableVideoEncodingMode_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IBMDStreamingMutableVideoEncodingMode_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IBMDStreamingMutableVideoEncodingMode_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IBMDStreamingMutableVideoEncodingMode_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#define IBMDStreamingMutableVideoEncodingMode_CreateMutableVideoEncodingMode(This,newEncodingMode) (This)->lpVtbl->CreateMutableVideoEncodingMode(This,newEncodingMode)
/*** IBMDStreamingMutableVideoEncodingMode methods ***/
#define IBMDStreamingMutableVideoEncodingMode_SetSourceRect(This,posX,posY,width,height) (This)->lpVtbl->SetSourceRect(This,posX,posY,width,height)
#define IBMDStreamingMutableVideoEncodingMode_SetDestSize(This,width,height) (This)->lpVtbl->SetDestSize(This,width,height)
#define IBMDStreamingMutableVideoEncodingMode_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value)
#define IBMDStreamingMutableVideoEncodingMode_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value)
#define IBMDStreamingMutableVideoEncodingMode_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value)
#define IBMDStreamingMutableVideoEncodingMode_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_QueryInterface(IBMDStreamingMutableVideoEncodingMode* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBMDStreamingMutableVideoEncodingMode_AddRef(IBMDStreamingMutableVideoEncodingMode* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBMDStreamingMutableVideoEncodingMode_Release(IBMDStreamingMutableVideoEncodingMode* This) {
return This->lpVtbl->Release(This);
}
/*** IBMDStreamingVideoEncodingMode methods ***/
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_GetName(IBMDStreamingMutableVideoEncodingMode* This,BSTR *name) {
return This->lpVtbl->GetName(This,name);
}
static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetPresetID(IBMDStreamingMutableVideoEncodingMode* This) {
return This->lpVtbl->GetPresetID(This);
}
static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourcePositionX(IBMDStreamingMutableVideoEncodingMode* This) {
return This->lpVtbl->GetSourcePositionX(This);
}
static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourcePositionY(IBMDStreamingMutableVideoEncodingMode* This) {
return This->lpVtbl->GetSourcePositionY(This);
}
static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourceWidth(IBMDStreamingMutableVideoEncodingMode* This) {
return This->lpVtbl->GetSourceWidth(This);
}
static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourceHeight(IBMDStreamingMutableVideoEncodingMode* This) {
return This->lpVtbl->GetSourceHeight(This);
}
static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetDestWidth(IBMDStreamingMutableVideoEncodingMode* This) {
return This->lpVtbl->GetDestWidth(This);
}
static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetDestHeight(IBMDStreamingMutableVideoEncodingMode* This) {
return This->lpVtbl->GetDestHeight(This);
}
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_GetFlag(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_GetInt(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_GetFloat(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_GetString(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_CreateMutableVideoEncodingMode(IBMDStreamingMutableVideoEncodingMode* This,IBMDStreamingMutableVideoEncodingMode **newEncodingMode) {
return This->lpVtbl->CreateMutableVideoEncodingMode(This,newEncodingMode);
}
/*** IBMDStreamingMutableVideoEncodingMode methods ***/
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetSourceRect(IBMDStreamingMutableVideoEncodingMode* This,unsigned int posX,unsigned int posY,unsigned int width,unsigned int height) {
return This->lpVtbl->SetSourceRect(This,posX,posY,width,height);
}
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetDestSize(IBMDStreamingMutableVideoEncodingMode* This,unsigned int width,unsigned int height) {
return This->lpVtbl->SetDestSize(This,width,height);
}
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetFlag(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BOOL value) {
return This->lpVtbl->SetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetInt(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,LONGLONG value) {
return This->lpVtbl->SetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetFloat(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,double value) {
return This->lpVtbl->SetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetString(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BSTR value) {
return This->lpVtbl->SetString(This,cfgID,value);
}
#endif
#endif
#endif
#endif /* __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__ */
/*****************************************************************************
* IBMDStreamingVideoEncodingModePresetIterator interface
*/
#ifndef __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__
#define __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBMDStreamingVideoEncodingModePresetIterator, 0x7ac731a3, 0xc950, 0x4ad0, 0x80,0x4a, 0x83,0x77,0xaa,0x51,0xc6,0xc4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7ac731a3-c950-4ad0-804a-8377aa51c6c4")
IBMDStreamingVideoEncodingModePresetIterator : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
IBMDStreamingVideoEncodingMode **videoEncodingMode) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBMDStreamingVideoEncodingModePresetIterator, 0x7ac731a3, 0xc950, 0x4ad0, 0x80,0x4a, 0x83,0x77,0xaa,0x51,0xc6,0xc4)
#endif
#else
typedef struct IBMDStreamingVideoEncodingModePresetIteratorVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBMDStreamingVideoEncodingModePresetIterator *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBMDStreamingVideoEncodingModePresetIterator *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBMDStreamingVideoEncodingModePresetIterator *This);
/*** IBMDStreamingVideoEncodingModePresetIterator methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IBMDStreamingVideoEncodingModePresetIterator *This,
IBMDStreamingVideoEncodingMode **videoEncodingMode);
END_INTERFACE
} IBMDStreamingVideoEncodingModePresetIteratorVtbl;
interface IBMDStreamingVideoEncodingModePresetIterator {
CONST_VTBL IBMDStreamingVideoEncodingModePresetIteratorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBMDStreamingVideoEncodingModePresetIterator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBMDStreamingVideoEncodingModePresetIterator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBMDStreamingVideoEncodingModePresetIterator_Release(This) (This)->lpVtbl->Release(This)
/*** IBMDStreamingVideoEncodingModePresetIterator methods ***/
#define IBMDStreamingVideoEncodingModePresetIterator_Next(This,videoEncodingMode) (This)->lpVtbl->Next(This,videoEncodingMode)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBMDStreamingVideoEncodingModePresetIterator_QueryInterface(IBMDStreamingVideoEncodingModePresetIterator* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBMDStreamingVideoEncodingModePresetIterator_AddRef(IBMDStreamingVideoEncodingModePresetIterator* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBMDStreamingVideoEncodingModePresetIterator_Release(IBMDStreamingVideoEncodingModePresetIterator* This) {
return This->lpVtbl->Release(This);
}
/*** IBMDStreamingVideoEncodingModePresetIterator methods ***/
static FORCEINLINE HRESULT IBMDStreamingVideoEncodingModePresetIterator_Next(IBMDStreamingVideoEncodingModePresetIterator* This,IBMDStreamingVideoEncodingMode **videoEncodingMode) {
return This->lpVtbl->Next(This,videoEncodingMode);
}
#endif
#endif
#endif
#endif /* __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__ */
/*****************************************************************************
* IBMDStreamingDeviceInput interface
*/
#ifndef __IBMDStreamingDeviceInput_INTERFACE_DEFINED__
#define __IBMDStreamingDeviceInput_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBMDStreamingDeviceInput, 0x24b6b6ec, 0x1727, 0x44bb, 0x98,0x18, 0x34,0xff,0x08,0x6a,0xcf,0x98);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("24b6b6ec-1727-44bb-9818-34ff086acf98")
IBMDStreamingDeviceInput : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoInputMode(
BMDDisplayMode inputMode,
BOOL *result) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoInputModeIterator(
IDeckLinkDisplayModeIterator **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoInputMode(
BMDDisplayMode inputMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentDetectedVideoInputMode(
BMDDisplayMode *detectedMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoEncodingMode(
IBMDStreamingVideoEncodingMode **encodingMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoEncodingModePresetIterator(
BMDDisplayMode inputMode,
IBMDStreamingVideoEncodingModePresetIterator **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoEncodingMode(
BMDDisplayMode inputMode,
IBMDStreamingVideoEncodingMode *encodingMode,
BMDStreamingEncodingSupport *result,
IBMDStreamingVideoEncodingMode **changedEncodingMode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoEncodingMode(
IBMDStreamingVideoEncodingMode *encodingMode) = 0;
virtual HRESULT STDMETHODCALLTYPE StartCapture(
) = 0;
virtual HRESULT STDMETHODCALLTYPE StopCapture(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IUnknown *theCallback) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBMDStreamingDeviceInput, 0x24b6b6ec, 0x1727, 0x44bb, 0x98,0x18, 0x34,0xff,0x08,0x6a,0xcf,0x98)
#endif
#else
typedef struct IBMDStreamingDeviceInputVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBMDStreamingDeviceInput *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBMDStreamingDeviceInput *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBMDStreamingDeviceInput *This);
/*** IBMDStreamingDeviceInput methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoInputMode)(
IBMDStreamingDeviceInput *This,
BMDDisplayMode inputMode,
BOOL *result);
HRESULT (STDMETHODCALLTYPE *GetVideoInputModeIterator)(
IBMDStreamingDeviceInput *This,
IDeckLinkDisplayModeIterator **iterator);
HRESULT (STDMETHODCALLTYPE *SetVideoInputMode)(
IBMDStreamingDeviceInput *This,
BMDDisplayMode inputMode);
HRESULT (STDMETHODCALLTYPE *GetCurrentDetectedVideoInputMode)(
IBMDStreamingDeviceInput *This,
BMDDisplayMode *detectedMode);
HRESULT (STDMETHODCALLTYPE *GetVideoEncodingMode)(
IBMDStreamingDeviceInput *This,
IBMDStreamingVideoEncodingMode **encodingMode);
HRESULT (STDMETHODCALLTYPE *GetVideoEncodingModePresetIterator)(
IBMDStreamingDeviceInput *This,
BMDDisplayMode inputMode,
IBMDStreamingVideoEncodingModePresetIterator **iterator);
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoEncodingMode)(
IBMDStreamingDeviceInput *This,
BMDDisplayMode inputMode,
IBMDStreamingVideoEncodingMode *encodingMode,
BMDStreamingEncodingSupport *result,
IBMDStreamingVideoEncodingMode **changedEncodingMode);
HRESULT (STDMETHODCALLTYPE *SetVideoEncodingMode)(
IBMDStreamingDeviceInput *This,
IBMDStreamingVideoEncodingMode *encodingMode);
HRESULT (STDMETHODCALLTYPE *StartCapture)(
IBMDStreamingDeviceInput *This);
HRESULT (STDMETHODCALLTYPE *StopCapture)(
IBMDStreamingDeviceInput *This);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IBMDStreamingDeviceInput *This,
IUnknown *theCallback);
END_INTERFACE
} IBMDStreamingDeviceInputVtbl;
interface IBMDStreamingDeviceInput {
CONST_VTBL IBMDStreamingDeviceInputVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBMDStreamingDeviceInput_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBMDStreamingDeviceInput_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBMDStreamingDeviceInput_Release(This) (This)->lpVtbl->Release(This)
/*** IBMDStreamingDeviceInput methods ***/
#define IBMDStreamingDeviceInput_DoesSupportVideoInputMode(This,inputMode,result) (This)->lpVtbl->DoesSupportVideoInputMode(This,inputMode,result)
#define IBMDStreamingDeviceInput_GetVideoInputModeIterator(This,iterator) (This)->lpVtbl->GetVideoInputModeIterator(This,iterator)
#define IBMDStreamingDeviceInput_SetVideoInputMode(This,inputMode) (This)->lpVtbl->SetVideoInputMode(This,inputMode)
#define IBMDStreamingDeviceInput_GetCurrentDetectedVideoInputMode(This,detectedMode) (This)->lpVtbl->GetCurrentDetectedVideoInputMode(This,detectedMode)
#define IBMDStreamingDeviceInput_GetVideoEncodingMode(This,encodingMode) (This)->lpVtbl->GetVideoEncodingMode(This,encodingMode)
#define IBMDStreamingDeviceInput_GetVideoEncodingModePresetIterator(This,inputMode,iterator) (This)->lpVtbl->GetVideoEncodingModePresetIterator(This,inputMode,iterator)
#define IBMDStreamingDeviceInput_DoesSupportVideoEncodingMode(This,inputMode,encodingMode,result,changedEncodingMode) (This)->lpVtbl->DoesSupportVideoEncodingMode(This,inputMode,encodingMode,result,changedEncodingMode)
#define IBMDStreamingDeviceInput_SetVideoEncodingMode(This,encodingMode) (This)->lpVtbl->SetVideoEncodingMode(This,encodingMode)
#define IBMDStreamingDeviceInput_StartCapture(This) (This)->lpVtbl->StartCapture(This)
#define IBMDStreamingDeviceInput_StopCapture(This) (This)->lpVtbl->StopCapture(This)
#define IBMDStreamingDeviceInput_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_QueryInterface(IBMDStreamingDeviceInput* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBMDStreamingDeviceInput_AddRef(IBMDStreamingDeviceInput* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBMDStreamingDeviceInput_Release(IBMDStreamingDeviceInput* This) {
return This->lpVtbl->Release(This);
}
/*** IBMDStreamingDeviceInput methods ***/
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_DoesSupportVideoInputMode(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode,BOOL *result) {
return This->lpVtbl->DoesSupportVideoInputMode(This,inputMode,result);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_GetVideoInputModeIterator(IBMDStreamingDeviceInput* This,IDeckLinkDisplayModeIterator **iterator) {
return This->lpVtbl->GetVideoInputModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_SetVideoInputMode(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode) {
return This->lpVtbl->SetVideoInputMode(This,inputMode);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_GetCurrentDetectedVideoInputMode(IBMDStreamingDeviceInput* This,BMDDisplayMode *detectedMode) {
return This->lpVtbl->GetCurrentDetectedVideoInputMode(This,detectedMode);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_GetVideoEncodingMode(IBMDStreamingDeviceInput* This,IBMDStreamingVideoEncodingMode **encodingMode) {
return This->lpVtbl->GetVideoEncodingMode(This,encodingMode);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_GetVideoEncodingModePresetIterator(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode,IBMDStreamingVideoEncodingModePresetIterator **iterator) {
return This->lpVtbl->GetVideoEncodingModePresetIterator(This,inputMode,iterator);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_DoesSupportVideoEncodingMode(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode,IBMDStreamingVideoEncodingMode *encodingMode,BMDStreamingEncodingSupport *result,IBMDStreamingVideoEncodingMode **changedEncodingMode) {
return This->lpVtbl->DoesSupportVideoEncodingMode(This,inputMode,encodingMode,result,changedEncodingMode);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_SetVideoEncodingMode(IBMDStreamingDeviceInput* This,IBMDStreamingVideoEncodingMode *encodingMode) {
return This->lpVtbl->SetVideoEncodingMode(This,encodingMode);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_StartCapture(IBMDStreamingDeviceInput* This) {
return This->lpVtbl->StartCapture(This);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_StopCapture(IBMDStreamingDeviceInput* This) {
return This->lpVtbl->StopCapture(This);
}
static FORCEINLINE HRESULT IBMDStreamingDeviceInput_SetCallback(IBMDStreamingDeviceInput* This,IUnknown *theCallback) {
return This->lpVtbl->SetCallback(This,theCallback);
}
#endif
#endif
#endif
#endif /* __IBMDStreamingDeviceInput_INTERFACE_DEFINED__ */
/*****************************************************************************
* IBMDStreamingH264NALPacket interface
*/
#ifndef __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__
#define __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBMDStreamingH264NALPacket, 0xe260e955, 0x14be, 0x4395, 0x97,0x75, 0x9f,0x02,0xcc,0x0a,0x9d,0x89);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e260e955-14be-4395-9775-9f02cc0a9d89")
IBMDStreamingH264NALPacket : public IUnknown
{
virtual LONG STDMETHODCALLTYPE GetPayloadSize(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytes(
void **buffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytesWithSizePrefix(
void **buffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayTime(
ULONGLONG requestedTimeScale,
ULONGLONG *displayTime) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPacketIndex(
unsigned int *packetIndex) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBMDStreamingH264NALPacket, 0xe260e955, 0x14be, 0x4395, 0x97,0x75, 0x9f,0x02,0xcc,0x0a,0x9d,0x89)
#endif
#else
typedef struct IBMDStreamingH264NALPacketVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBMDStreamingH264NALPacket *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBMDStreamingH264NALPacket *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBMDStreamingH264NALPacket *This);
/*** IBMDStreamingH264NALPacket methods ***/
LONG (STDMETHODCALLTYPE *GetPayloadSize)(
IBMDStreamingH264NALPacket *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IBMDStreamingH264NALPacket *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetBytesWithSizePrefix)(
IBMDStreamingH264NALPacket *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetDisplayTime)(
IBMDStreamingH264NALPacket *This,
ULONGLONG requestedTimeScale,
ULONGLONG *displayTime);
HRESULT (STDMETHODCALLTYPE *GetPacketIndex)(
IBMDStreamingH264NALPacket *This,
unsigned int *packetIndex);
END_INTERFACE
} IBMDStreamingH264NALPacketVtbl;
interface IBMDStreamingH264NALPacket {
CONST_VTBL IBMDStreamingH264NALPacketVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBMDStreamingH264NALPacket_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBMDStreamingH264NALPacket_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBMDStreamingH264NALPacket_Release(This) (This)->lpVtbl->Release(This)
/*** IBMDStreamingH264NALPacket methods ***/
#define IBMDStreamingH264NALPacket_GetPayloadSize(This) (This)->lpVtbl->GetPayloadSize(This)
#define IBMDStreamingH264NALPacket_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IBMDStreamingH264NALPacket_GetBytesWithSizePrefix(This,buffer) (This)->lpVtbl->GetBytesWithSizePrefix(This,buffer)
#define IBMDStreamingH264NALPacket_GetDisplayTime(This,requestedTimeScale,displayTime) (This)->lpVtbl->GetDisplayTime(This,requestedTimeScale,displayTime)
#define IBMDStreamingH264NALPacket_GetPacketIndex(This,packetIndex) (This)->lpVtbl->GetPacketIndex(This,packetIndex)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBMDStreamingH264NALPacket_QueryInterface(IBMDStreamingH264NALPacket* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBMDStreamingH264NALPacket_AddRef(IBMDStreamingH264NALPacket* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBMDStreamingH264NALPacket_Release(IBMDStreamingH264NALPacket* This) {
return This->lpVtbl->Release(This);
}
/*** IBMDStreamingH264NALPacket methods ***/
static FORCEINLINE LONG IBMDStreamingH264NALPacket_GetPayloadSize(IBMDStreamingH264NALPacket* This) {
return This->lpVtbl->GetPayloadSize(This);
}
static FORCEINLINE HRESULT IBMDStreamingH264NALPacket_GetBytes(IBMDStreamingH264NALPacket* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE HRESULT IBMDStreamingH264NALPacket_GetBytesWithSizePrefix(IBMDStreamingH264NALPacket* This,void **buffer) {
return This->lpVtbl->GetBytesWithSizePrefix(This,buffer);
}
static FORCEINLINE HRESULT IBMDStreamingH264NALPacket_GetDisplayTime(IBMDStreamingH264NALPacket* This,ULONGLONG requestedTimeScale,ULONGLONG *displayTime) {
return This->lpVtbl->GetDisplayTime(This,requestedTimeScale,displayTime);
}
static FORCEINLINE HRESULT IBMDStreamingH264NALPacket_GetPacketIndex(IBMDStreamingH264NALPacket* This,unsigned int *packetIndex) {
return This->lpVtbl->GetPacketIndex(This,packetIndex);
}
#endif
#endif
#endif
#endif /* __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__ */
/*****************************************************************************
* IBMDStreamingAudioPacket interface
*/
#ifndef __IBMDStreamingAudioPacket_INTERFACE_DEFINED__
#define __IBMDStreamingAudioPacket_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBMDStreamingAudioPacket, 0xd9eb5902, 0x1ad2, 0x43f4, 0x9e,0x2c, 0x3c,0xfa,0x50,0xb5,0xee,0x19);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d9eb5902-1ad2-43f4-9e2c-3cfa50b5ee19")
IBMDStreamingAudioPacket : public IUnknown
{
virtual BMDStreamingAudioCodec STDMETHODCALLTYPE GetCodec(
) = 0;
virtual LONG STDMETHODCALLTYPE GetPayloadSize(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytes(
void **buffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPlayTime(
ULONGLONG requestedTimeScale,
ULONGLONG *playTime) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPacketIndex(
unsigned int *packetIndex) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBMDStreamingAudioPacket, 0xd9eb5902, 0x1ad2, 0x43f4, 0x9e,0x2c, 0x3c,0xfa,0x50,0xb5,0xee,0x19)
#endif
#else
typedef struct IBMDStreamingAudioPacketVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBMDStreamingAudioPacket *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBMDStreamingAudioPacket *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBMDStreamingAudioPacket *This);
/*** IBMDStreamingAudioPacket methods ***/
BMDStreamingAudioCodec (STDMETHODCALLTYPE *GetCodec)(
IBMDStreamingAudioPacket *This);
LONG (STDMETHODCALLTYPE *GetPayloadSize)(
IBMDStreamingAudioPacket *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IBMDStreamingAudioPacket *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetPlayTime)(
IBMDStreamingAudioPacket *This,
ULONGLONG requestedTimeScale,
ULONGLONG *playTime);
HRESULT (STDMETHODCALLTYPE *GetPacketIndex)(
IBMDStreamingAudioPacket *This,
unsigned int *packetIndex);
END_INTERFACE
} IBMDStreamingAudioPacketVtbl;
interface IBMDStreamingAudioPacket {
CONST_VTBL IBMDStreamingAudioPacketVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBMDStreamingAudioPacket_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBMDStreamingAudioPacket_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBMDStreamingAudioPacket_Release(This) (This)->lpVtbl->Release(This)
/*** IBMDStreamingAudioPacket methods ***/
#define IBMDStreamingAudioPacket_GetCodec(This) (This)->lpVtbl->GetCodec(This)
#define IBMDStreamingAudioPacket_GetPayloadSize(This) (This)->lpVtbl->GetPayloadSize(This)
#define IBMDStreamingAudioPacket_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IBMDStreamingAudioPacket_GetPlayTime(This,requestedTimeScale,playTime) (This)->lpVtbl->GetPlayTime(This,requestedTimeScale,playTime)
#define IBMDStreamingAudioPacket_GetPacketIndex(This,packetIndex) (This)->lpVtbl->GetPacketIndex(This,packetIndex)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBMDStreamingAudioPacket_QueryInterface(IBMDStreamingAudioPacket* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBMDStreamingAudioPacket_AddRef(IBMDStreamingAudioPacket* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBMDStreamingAudioPacket_Release(IBMDStreamingAudioPacket* This) {
return This->lpVtbl->Release(This);
}
/*** IBMDStreamingAudioPacket methods ***/
static FORCEINLINE BMDStreamingAudioCodec IBMDStreamingAudioPacket_GetCodec(IBMDStreamingAudioPacket* This) {
return This->lpVtbl->GetCodec(This);
}
static FORCEINLINE LONG IBMDStreamingAudioPacket_GetPayloadSize(IBMDStreamingAudioPacket* This) {
return This->lpVtbl->GetPayloadSize(This);
}
static FORCEINLINE HRESULT IBMDStreamingAudioPacket_GetBytes(IBMDStreamingAudioPacket* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE HRESULT IBMDStreamingAudioPacket_GetPlayTime(IBMDStreamingAudioPacket* This,ULONGLONG requestedTimeScale,ULONGLONG *playTime) {
return This->lpVtbl->GetPlayTime(This,requestedTimeScale,playTime);
}
static FORCEINLINE HRESULT IBMDStreamingAudioPacket_GetPacketIndex(IBMDStreamingAudioPacket* This,unsigned int *packetIndex) {
return This->lpVtbl->GetPacketIndex(This,packetIndex);
}
#endif
#endif
#endif
#endif /* __IBMDStreamingAudioPacket_INTERFACE_DEFINED__ */
/*****************************************************************************
* IBMDStreamingMPEG2TSPacket interface
*/
#ifndef __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__
#define __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBMDStreamingMPEG2TSPacket, 0x91810d1c, 0x4fb3, 0x4aaa, 0xae,0x56, 0xfa,0x30,0x1d,0x3d,0xfa,0x4c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("91810d1c-4fb3-4aaa-ae56-fa301d3dfa4c")
IBMDStreamingMPEG2TSPacket : public IUnknown
{
virtual LONG STDMETHODCALLTYPE GetPayloadSize(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytes(
void **buffer) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBMDStreamingMPEG2TSPacket, 0x91810d1c, 0x4fb3, 0x4aaa, 0xae,0x56, 0xfa,0x30,0x1d,0x3d,0xfa,0x4c)
#endif
#else
typedef struct IBMDStreamingMPEG2TSPacketVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBMDStreamingMPEG2TSPacket *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBMDStreamingMPEG2TSPacket *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBMDStreamingMPEG2TSPacket *This);
/*** IBMDStreamingMPEG2TSPacket methods ***/
LONG (STDMETHODCALLTYPE *GetPayloadSize)(
IBMDStreamingMPEG2TSPacket *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IBMDStreamingMPEG2TSPacket *This,
void **buffer);
END_INTERFACE
} IBMDStreamingMPEG2TSPacketVtbl;
interface IBMDStreamingMPEG2TSPacket {
CONST_VTBL IBMDStreamingMPEG2TSPacketVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBMDStreamingMPEG2TSPacket_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBMDStreamingMPEG2TSPacket_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBMDStreamingMPEG2TSPacket_Release(This) (This)->lpVtbl->Release(This)
/*** IBMDStreamingMPEG2TSPacket methods ***/
#define IBMDStreamingMPEG2TSPacket_GetPayloadSize(This) (This)->lpVtbl->GetPayloadSize(This)
#define IBMDStreamingMPEG2TSPacket_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBMDStreamingMPEG2TSPacket_QueryInterface(IBMDStreamingMPEG2TSPacket* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBMDStreamingMPEG2TSPacket_AddRef(IBMDStreamingMPEG2TSPacket* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBMDStreamingMPEG2TSPacket_Release(IBMDStreamingMPEG2TSPacket* This) {
return This->lpVtbl->Release(This);
}
/*** IBMDStreamingMPEG2TSPacket methods ***/
static FORCEINLINE LONG IBMDStreamingMPEG2TSPacket_GetPayloadSize(IBMDStreamingMPEG2TSPacket* This) {
return This->lpVtbl->GetPayloadSize(This);
}
static FORCEINLINE HRESULT IBMDStreamingMPEG2TSPacket_GetBytes(IBMDStreamingMPEG2TSPacket* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
#endif
#endif
#endif
#endif /* __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__ */
/*****************************************************************************
* IBMDStreamingH264NALParser interface
*/
#ifndef __IBMDStreamingH264NALParser_INTERFACE_DEFINED__
#define __IBMDStreamingH264NALParser_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBMDStreamingH264NALParser, 0x5867f18c, 0x5bfa, 0x4ccc, 0xb2,0xa7, 0x9d,0xfd,0x14,0x04,0x17,0xd2);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5867f18c-5bfa-4ccc-b2a7-9dfd140417d2")
IBMDStreamingH264NALParser : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE IsNALSequenceParameterSet(
IBMDStreamingH264NALPacket *nal) = 0;
virtual HRESULT STDMETHODCALLTYPE IsNALPictureParameterSet(
IBMDStreamingH264NALPacket *nal) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProfileAndLevelFromSPS(
IBMDStreamingH264NALPacket *nal,
unsigned int *profileIdc,
unsigned int *profileCompatability,
unsigned int *levelIdc) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBMDStreamingH264NALParser, 0x5867f18c, 0x5bfa, 0x4ccc, 0xb2,0xa7, 0x9d,0xfd,0x14,0x04,0x17,0xd2)
#endif
#else
typedef struct IBMDStreamingH264NALParserVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBMDStreamingH264NALParser *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBMDStreamingH264NALParser *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBMDStreamingH264NALParser *This);
/*** IBMDStreamingH264NALParser methods ***/
HRESULT (STDMETHODCALLTYPE *IsNALSequenceParameterSet)(
IBMDStreamingH264NALParser *This,
IBMDStreamingH264NALPacket *nal);
HRESULT (STDMETHODCALLTYPE *IsNALPictureParameterSet)(
IBMDStreamingH264NALParser *This,
IBMDStreamingH264NALPacket *nal);
HRESULT (STDMETHODCALLTYPE *GetProfileAndLevelFromSPS)(
IBMDStreamingH264NALParser *This,
IBMDStreamingH264NALPacket *nal,
unsigned int *profileIdc,
unsigned int *profileCompatability,
unsigned int *levelIdc);
END_INTERFACE
} IBMDStreamingH264NALParserVtbl;
interface IBMDStreamingH264NALParser {
CONST_VTBL IBMDStreamingH264NALParserVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBMDStreamingH264NALParser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBMDStreamingH264NALParser_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBMDStreamingH264NALParser_Release(This) (This)->lpVtbl->Release(This)
/*** IBMDStreamingH264NALParser methods ***/
#define IBMDStreamingH264NALParser_IsNALSequenceParameterSet(This,nal) (This)->lpVtbl->IsNALSequenceParameterSet(This,nal)
#define IBMDStreamingH264NALParser_IsNALPictureParameterSet(This,nal) (This)->lpVtbl->IsNALPictureParameterSet(This,nal)
#define IBMDStreamingH264NALParser_GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc) (This)->lpVtbl->GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBMDStreamingH264NALParser_QueryInterface(IBMDStreamingH264NALParser* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBMDStreamingH264NALParser_AddRef(IBMDStreamingH264NALParser* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBMDStreamingH264NALParser_Release(IBMDStreamingH264NALParser* This) {
return This->lpVtbl->Release(This);
}
/*** IBMDStreamingH264NALParser methods ***/
static FORCEINLINE HRESULT IBMDStreamingH264NALParser_IsNALSequenceParameterSet(IBMDStreamingH264NALParser* This,IBMDStreamingH264NALPacket *nal) {
return This->lpVtbl->IsNALSequenceParameterSet(This,nal);
}
static FORCEINLINE HRESULT IBMDStreamingH264NALParser_IsNALPictureParameterSet(IBMDStreamingH264NALParser* This,IBMDStreamingH264NALPacket *nal) {
return This->lpVtbl->IsNALPictureParameterSet(This,nal);
}
static FORCEINLINE HRESULT IBMDStreamingH264NALParser_GetProfileAndLevelFromSPS(IBMDStreamingH264NALParser* This,IBMDStreamingH264NALPacket *nal,unsigned int *profileIdc,unsigned int *profileCompatability,unsigned int *levelIdc) {
return This->lpVtbl->GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc);
}
#endif
#endif
#endif
#endif /* __IBMDStreamingH264NALParser_INTERFACE_DEFINED__ */
/*****************************************************************************
* CBMDStreamingDiscovery coclass
*/
DEFINE_GUID(CLSID_CBMDStreamingDiscovery, 0x23a4edf5, 0xa0e5, 0x432c, 0x94,0xef, 0x3b,0xab,0xb5,0xf8,0x1c,0x82);
#ifdef __cplusplus
class DECLSPEC_UUID("23a4edf5-a0e5-432c-94ef-3babb5f81c82") CBMDStreamingDiscovery;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CBMDStreamingDiscovery, 0x23a4edf5, 0xa0e5, 0x432c, 0x94,0xef, 0x3b,0xab,0xb5,0xf8,0x1c,0x82)
#endif
#endif
/*****************************************************************************
* CBMDStreamingH264NALParser coclass
*/
DEFINE_GUID(CLSID_CBMDStreamingH264NALParser, 0x7753efbd, 0x951c, 0x407c, 0x97,0xa5, 0x23,0xc7,0x37,0xb7,0x3b,0x52);
#ifdef __cplusplus
class DECLSPEC_UUID("7753efbd-951c-407c-97a5-23c737b73b52") CBMDStreamingH264NALParser;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CBMDStreamingH264NALParser, 0x7753efbd, 0x951c, 0x407c, 0x97,0xa5, 0x23,0xc7,0x37,0xb7,0x3b,0x52)
#endif
#endif
typedef unsigned int BMDFrameFlags;
typedef unsigned int BMDVideoInputFlags;
typedef unsigned int BMDVideoInputFormatChangedEvents;
typedef unsigned int BMDDetectedVideoInputFormatFlags;
typedef unsigned int BMDDeckLinkCapturePassthroughMode;
typedef unsigned int BMDAnalogVideoFlags;
typedef unsigned int BMDDeviceBusyState;
#if 0
typedef enum _BMDFrameFlags BMDFrameFlags;
typedef enum _BMDVideoInputFlags BMDVideoInputFlags;
typedef enum _BMDVideoInputFormatChangedEvents BMDVideoInputFormatChangedEvents;
typedef enum _BMDDetectedVideoInputFormatFlags BMDDetectedVideoInputFormatFlags;
typedef enum _BMDDeckLinkCapturePassthroughMode BMDDeckLinkCapturePassthroughMode;
typedef enum _BMDAnalogVideoFlags BMDAnalogVideoFlags;
typedef enum _BMDDeviceBusyState BMDDeviceBusyState;
#endif
typedef enum _BMDVideoOutputFlags {
bmdVideoOutputFlagDefault = 0,
bmdVideoOutputVANC = 1 << 0,
bmdVideoOutputVITC = 1 << 1,
bmdVideoOutputRP188 = 1 << 2,
bmdVideoOutputDualStream3D = 1 << 4,
bmdVideoOutputSynchronizeToPlaybackGroup = 1 << 6
} BMDVideoOutputFlags;
typedef enum _BMDSupportedVideoModeFlags {
bmdSupportedVideoModeDefault = 0,
bmdSupportedVideoModeKeying = 1 << 0,
bmdSupportedVideoModeDualStream3D = 1 << 1,
bmdSupportedVideoModeSDISingleLink = 1 << 2,
bmdSupportedVideoModeSDIDualLink = 1 << 3,
bmdSupportedVideoModeSDIQuadLink = 1 << 4,
bmdSupportedVideoModeInAnyProfile = 1 << 5
} BMDSupportedVideoModeFlags;
typedef enum _BMDPacketType {
bmdPacketTypeStreamInterruptedMarker = 0x73696e74,
bmdPacketTypeStreamData = 0x73646174
} BMDPacketType;
enum _BMDFrameFlags {
bmdFrameFlagDefault = 0,
bmdFrameFlagFlipVertical = 1 << 0,
bmdFrameContainsHDRMetadata = 1 << 1,
bmdFrameContainsCintelMetadata = 1 << 2,
bmdFrameCapturedAsPsF = 1 << 30,
bmdFrameHasNoInputSource = 1 << 31
};
enum _BMDVideoInputFlags {
bmdVideoInputFlagDefault = 0,
bmdVideoInputEnableFormatDetection = 1 << 0,
bmdVideoInputDualStream3D = 1 << 1,
bmdVideoInputSynchronizeToCaptureGroup = 1 << 2
};
enum _BMDVideoInputFormatChangedEvents {
bmdVideoInputDisplayModeChanged = 1 << 0,
bmdVideoInputFieldDominanceChanged = 1 << 1,
bmdVideoInputColorspaceChanged = 1 << 2
};
enum _BMDDetectedVideoInputFormatFlags {
bmdDetectedVideoInputYCbCr422 = 1 << 0,
bmdDetectedVideoInputRGB444 = 1 << 1,
bmdDetectedVideoInputDualStream3D = 1 << 2
};
enum _BMDDeckLinkCapturePassthroughMode {
bmdDeckLinkCapturePassthroughModeDisabled = 0x70646973,
bmdDeckLinkCapturePassthroughModeDirect = 0x70646972,
bmdDeckLinkCapturePassthroughModeCleanSwitch = 0x70636c6e
};
typedef enum _BMDOutputFrameCompletionResult {
bmdOutputFrameCompleted = 0,
bmdOutputFrameDisplayedLate = 1,
bmdOutputFrameDropped = 2,
bmdOutputFrameFlushed = 3
} BMDOutputFrameCompletionResult;
typedef enum _BMDReferenceStatus {
bmdReferenceNotSupportedByHardware = 1 << 0,
bmdReferenceLocked = 1 << 1
} BMDReferenceStatus;
typedef enum _BMDAudioFormat {
bmdAudioFormatPCM = 0x6c70636d
} BMDAudioFormat;
typedef enum _BMDAudioSampleRate {
bmdAudioSampleRate48kHz = 48000
} BMDAudioSampleRate;
typedef enum _BMDAudioSampleType {
bmdAudioSampleType16bitInteger = 16,
bmdAudioSampleType32bitInteger = 32
} BMDAudioSampleType;
typedef enum _BMDAudioOutputStreamType {
bmdAudioOutputStreamContinuous = 0,
bmdAudioOutputStreamContinuousDontResample = 1,
bmdAudioOutputStreamTimestamped = 2
} BMDAudioOutputStreamType;
typedef enum _BMDAncillaryPacketFormat {
bmdAncillaryPacketFormatUInt8 = 0x75693038,
bmdAncillaryPacketFormatUInt16 = 0x75693136,
bmdAncillaryPacketFormatYCbCr10 = 0x76323130
} BMDAncillaryPacketFormat;
typedef enum _BMDTimecodeFormat {
bmdTimecodeRP188VITC1 = 0x72707631,
bmdTimecodeRP188VITC2 = 0x72703132,
bmdTimecodeRP188LTC = 0x72706c74,
bmdTimecodeRP188HighFrameRate = 0x72706872,
bmdTimecodeRP188Any = 0x72703138,
bmdTimecodeVITC = 0x76697463,
bmdTimecodeVITCField2 = 0x76697432,
bmdTimecodeSerial = 0x73657269
} BMDTimecodeFormat;
enum _BMDAnalogVideoFlags {
bmdAnalogVideoFlagCompositeSetup75 = 1 << 0,
bmdAnalogVideoFlagComponentBetacamLevels = 1 << 1
};
typedef enum _BMDAudioOutputAnalogAESSwitch {
bmdAudioOutputSwitchAESEBU = 0x61657320,
bmdAudioOutputSwitchAnalog = 0x616e6c67
} BMDAudioOutputAnalogAESSwitch;
typedef enum _BMDVideoOutputConversionMode {
bmdNoVideoOutputConversion = 0x6e6f6e65,
bmdVideoOutputLetterboxDownconversion = 0x6c746278,
bmdVideoOutputAnamorphicDownconversion = 0x616d7068,
bmdVideoOutputHD720toHD1080Conversion = 0x37323063,
bmdVideoOutputHardwareLetterboxDownconversion = 0x48576c62,
bmdVideoOutputHardwareAnamorphicDownconversion = 0x4857616d,
bmdVideoOutputHardwareCenterCutDownconversion = 0x48576363,
bmdVideoOutputHardware720p1080pCrossconversion = 0x78636170,
bmdVideoOutputHardwareAnamorphic720pUpconversion = 0x75613770,
bmdVideoOutputHardwareAnamorphic1080iUpconversion = 0x75613169,
bmdVideoOutputHardwareAnamorphic149To720pUpconversion = 0x75343770,
bmdVideoOutputHardwareAnamorphic149To1080iUpconversion = 0x75343169,
bmdVideoOutputHardwarePillarbox720pUpconversion = 0x75703770,
bmdVideoOutputHardwarePillarbox1080iUpconversion = 0x75703169
} BMDVideoOutputConversionMode;
typedef enum _BMDVideoInputConversionMode {
bmdNoVideoInputConversion = 0x6e6f6e65,
bmdVideoInputLetterboxDownconversionFromHD1080 = 0x31306c62,
bmdVideoInputAnamorphicDownconversionFromHD1080 = 0x3130616d,
bmdVideoInputLetterboxDownconversionFromHD720 = 0x37326c62,
bmdVideoInputAnamorphicDownconversionFromHD720 = 0x3732616d,
bmdVideoInputLetterboxUpconversion = 0x6c627570,
bmdVideoInputAnamorphicUpconversion = 0x616d7570
} BMDVideoInputConversionMode;
typedef enum _BMDVideo3DPackingFormat {
bmdVideo3DPackingSidebySideHalf = 0x73627368,
bmdVideo3DPackingLinebyLine = 0x6c62796c,
bmdVideo3DPackingTopAndBottom = 0x7461626f,
bmdVideo3DPackingFramePacking = 0x6672706b,
bmdVideo3DPackingLeftOnly = 0x6c656674,
bmdVideo3DPackingRightOnly = 0x72696768
} BMDVideo3DPackingFormat;
typedef enum _BMDIdleVideoOutputOperation {
bmdIdleVideoOutputBlack = 0x626c6163,
bmdIdleVideoOutputLastFrame = 0x6c616661
} BMDIdleVideoOutputOperation;
typedef enum _BMDVideoEncoderFrameCodingMode {
bmdVideoEncoderFrameCodingModeInter = 0x696e7465,
bmdVideoEncoderFrameCodingModeIntra = 0x696e7472
} BMDVideoEncoderFrameCodingMode;
typedef enum _BMDDNxHRLevel {
bmdDNxHRLevelSQ = 0x646e7371,
bmdDNxHRLevelLB = 0x646e6c62,
bmdDNxHRLevelHQ = 0x646e6871,
bmdDNxHRLevelHQX = 0x64687178,
bmdDNxHRLevel444 = 0x64343434
} BMDDNxHRLevel;
typedef enum _BMDLinkConfiguration {
bmdLinkConfigurationSingleLink = 0x6c63736c,
bmdLinkConfigurationDualLink = 0x6c63646c,
bmdLinkConfigurationQuadLink = 0x6c63716c
} BMDLinkConfiguration;
typedef enum _BMDDeviceInterface {
bmdDeviceInterfacePCI = 0x70636920,
bmdDeviceInterfaceUSB = 0x75736220,
bmdDeviceInterfaceThunderbolt = 0x7468756e
} BMDDeviceInterface;
typedef enum _BMDColorspace {
bmdColorspaceRec601 = 0x72363031,
bmdColorspaceRec709 = 0x72373039,
bmdColorspaceRec2020 = 0x32303230
} BMDColorspace;
typedef enum _BMDDynamicRange {
bmdDynamicRangeSDR = 0,
bmdDynamicRangeHDRStaticPQ = 1 << 29,
bmdDynamicRangeHDRStaticHLG = 1 << 30
} BMDDynamicRange;
typedef enum _BMDDeckLinkHDMIInputEDIDID {
bmdDeckLinkHDMIInputEDIDDynamicRange = 0x48494479
} BMDDeckLinkHDMIInputEDIDID;
typedef enum _BMDDeckLinkFrameMetadataID {
bmdDeckLinkFrameMetadataColorspace = 0x63737063,
bmdDeckLinkFrameMetadataHDRElectroOpticalTransferFunc = 0x656f7466,
bmdDeckLinkFrameMetadataCintelFilmType = 0x63667479,
bmdDeckLinkFrameMetadataCintelFilmGauge = 0x63666761,
bmdDeckLinkFrameMetadataCintelKeykodeLow = 0x636b6b6c,
bmdDeckLinkFrameMetadataCintelKeykodeHigh = 0x636b6b68,
bmdDeckLinkFrameMetadataCintelTile1Size = 0x63743173,
bmdDeckLinkFrameMetadataCintelTile2Size = 0x63743273,
bmdDeckLinkFrameMetadataCintelTile3Size = 0x63743373,
bmdDeckLinkFrameMetadataCintelTile4Size = 0x63743473,
bmdDeckLinkFrameMetadataCintelImageWidth = 0x49575078,
bmdDeckLinkFrameMetadataCintelImageHeight = 0x49485078,
bmdDeckLinkFrameMetadataCintelLinearMaskingRedInRed = 0x6d726972,
bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInRed = 0x6d676972,
bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInRed = 0x6d626972,
bmdDeckLinkFrameMetadataCintelLinearMaskingRedInGreen = 0x6d726967,
bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInGreen = 0x6d676967,
bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInGreen = 0x6d626967,
bmdDeckLinkFrameMetadataCintelLinearMaskingRedInBlue = 0x6d726962,
bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInBlue = 0x6d676962,
bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInBlue = 0x6d626962,
bmdDeckLinkFrameMetadataCintelLogMaskingRedInRed = 0x6d6c7272,
bmdDeckLinkFrameMetadataCintelLogMaskingGreenInRed = 0x6d6c6772,
bmdDeckLinkFrameMetadataCintelLogMaskingBlueInRed = 0x6d6c6272,
bmdDeckLinkFrameMetadataCintelLogMaskingRedInGreen = 0x6d6c7267,
bmdDeckLinkFrameMetadataCintelLogMaskingGreenInGreen = 0x6d6c6767,
bmdDeckLinkFrameMetadataCintelLogMaskingBlueInGreen = 0x6d6c6267,
bmdDeckLinkFrameMetadataCintelLogMaskingRedInBlue = 0x6d6c7262,
bmdDeckLinkFrameMetadataCintelLogMaskingGreenInBlue = 0x6d6c6762,
bmdDeckLinkFrameMetadataCintelLogMaskingBlueInBlue = 0x6d6c6262,
bmdDeckLinkFrameMetadataCintelFilmFrameRate = 0x63666672,
bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedX = 0x68647278,
bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedY = 0x68647279,
bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenX = 0x68646778,
bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenY = 0x68646779,
bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueX = 0x68646278,
bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueY = 0x68646279,
bmdDeckLinkFrameMetadataHDRWhitePointX = 0x68647778,
bmdDeckLinkFrameMetadataHDRWhitePointY = 0x68647779,
bmdDeckLinkFrameMetadataHDRMaxDisplayMasteringLuminance = 0x68646d6c,
bmdDeckLinkFrameMetadataHDRMinDisplayMasteringLuminance = 0x686d696c,
bmdDeckLinkFrameMetadataHDRMaximumContentLightLevel = 0x6d636c6c,
bmdDeckLinkFrameMetadataHDRMaximumFrameAverageLightLevel = 0x66616c6c,
bmdDeckLinkFrameMetadataCintelOffsetToApplyHorizontal = 0x6f746168,
bmdDeckLinkFrameMetadataCintelOffsetToApplyVertical = 0x6f746176,
bmdDeckLinkFrameMetadataCintelGainRed = 0x4c665264,
bmdDeckLinkFrameMetadataCintelGainGreen = 0x4c664772,
bmdDeckLinkFrameMetadataCintelGainBlue = 0x4c66426c,
bmdDeckLinkFrameMetadataCintelLiftRed = 0x476e5264,
bmdDeckLinkFrameMetadataCintelLiftGreen = 0x476e4772,
bmdDeckLinkFrameMetadataCintelLiftBlue = 0x476e426c,
bmdDeckLinkFrameMetadataCintelHDRGainRed = 0x48475264,
bmdDeckLinkFrameMetadataCintelHDRGainGreen = 0x48474772,
bmdDeckLinkFrameMetadataCintelHDRGainBlue = 0x4847426c
} BMDDeckLinkFrameMetadataID;
typedef enum _BMDProfileID {
bmdProfileOneSubDeviceFullDuplex = 0x31646664,
bmdProfileOneSubDeviceHalfDuplex = 0x31646864,
bmdProfileTwoSubDevicesFullDuplex = 0x32646664,
bmdProfileTwoSubDevicesHalfDuplex = 0x32646864,
bmdProfileFourSubDevicesHalfDuplex = 0x34646864
} BMDProfileID;
typedef enum _BMDDeckLinkAttributeID {
BMDDeckLinkSupportsInternalKeying = 0x6b657969,
BMDDeckLinkSupportsExternalKeying = 0x6b657965,
BMDDeckLinkSupportsInputFormatDetection = 0x696e6664,
BMDDeckLinkHasReferenceInput = 0x6872696e,
BMDDeckLinkHasSerialPort = 0x68737074,
BMDDeckLinkHasAnalogVideoOutputGain = 0x61766f67,
BMDDeckLinkCanOnlyAdjustOverallVideoOutputGain = 0x6f766f67,
BMDDeckLinkHasVideoInputAntiAliasingFilter = 0x6161666c,
BMDDeckLinkHasBypass = 0x62797073,
BMDDeckLinkSupportsClockTimingAdjustment = 0x63746164,
BMDDeckLinkSupportsFullFrameReferenceInputTimingOffset = 0x6672696e,
BMDDeckLinkSupportsSMPTELevelAOutput = 0x6c766c61,
BMDDeckLinkSupportsDualLinkSDI = 0x73646c73,
BMDDeckLinkSupportsQuadLinkSDI = 0x73716c73,
BMDDeckLinkSupportsIdleOutput = 0x69646f75,
BMDDeckLinkHasLTCTimecodeInput = 0x686c7463,
BMDDeckLinkSupportsHDRMetadata = 0x6864726d,
BMDDeckLinkSupportsColorspaceMetadata = 0x636d6574,
BMDDeckLinkSupportsHighFrameRateTimecode = 0x48465254,
BMDDeckLinkSupportsSynchronizeToCaptureGroup = 0x73746367,
BMDDeckLinkSupportsSynchronizeToPlaybackGroup = 0x73747067,
BMDDeckLinkMaximumAudioChannels = 0x6d616368,
BMDDeckLinkMaximumAnalogAudioInputChannels = 0x69616368,
BMDDeckLinkMaximumAnalogAudioOutputChannels = 0x61616368,
BMDDeckLinkNumberOfSubDevices = 0x6e736264,
BMDDeckLinkSubDeviceIndex = 0x73756269,
BMDDeckLinkPersistentID = 0x70656964,
BMDDeckLinkDeviceGroupID = 0x64676964,
BMDDeckLinkTopologicalID = 0x746f6964,
BMDDeckLinkVideoOutputConnections = 0x766f636e,
BMDDeckLinkVideoInputConnections = 0x7669636e,
BMDDeckLinkAudioOutputConnections = 0x616f636e,
BMDDeckLinkAudioInputConnections = 0x6169636e,
BMDDeckLinkVideoIOSupport = 0x76696f73,
BMDDeckLinkDeckControlConnections = 0x6463636e,
BMDDeckLinkDeviceInterface = 0x64627573,
BMDDeckLinkAudioInputRCAChannelCount = 0x61697263,
BMDDeckLinkAudioInputXLRChannelCount = 0x61697863,
BMDDeckLinkAudioOutputRCAChannelCount = 0x616f7263,
BMDDeckLinkAudioOutputXLRChannelCount = 0x616f7863,
BMDDeckLinkProfileID = 0x70726964,
BMDDeckLinkDuplex = 0x64757078,
BMDDeckLinkVideoInputGainMinimum = 0x7669676d,
BMDDeckLinkVideoInputGainMaximum = 0x76696778,
BMDDeckLinkVideoOutputGainMinimum = 0x766f676d,
BMDDeckLinkVideoOutputGainMaximum = 0x766f6778,
BMDDeckLinkMicrophoneInputGainMinimum = 0x6d69676d,
BMDDeckLinkMicrophoneInputGainMaximum = 0x6d696778,
BMDDeckLinkSerialPortDeviceName = 0x736c706e,
BMDDeckLinkVendorName = 0x766e6472,
BMDDeckLinkDisplayName = 0x6473706e,
BMDDeckLinkModelName = 0x6d646c6e,
BMDDeckLinkDeviceHandle = 0x64657668
} BMDDeckLinkAttributeID;
typedef enum _BMDDeckLinkAPIInformationID {
BMDDeckLinkAPIVersion = 0x76657273
} BMDDeckLinkAPIInformationID;
typedef enum _BMDDeckLinkStatusID {
bmdDeckLinkStatusDetectedVideoInputMode = 0x6476696d,
bmdDeckLinkStatusDetectedVideoInputFlags = 0x64766966,
bmdDeckLinkStatusCurrentVideoInputMode = 0x6376696d,
bmdDeckLinkStatusCurrentVideoInputPixelFormat = 0x63766970,
bmdDeckLinkStatusCurrentVideoInputFlags = 0x63766966,
bmdDeckLinkStatusCurrentVideoOutputMode = 0x63766f6d,
bmdDeckLinkStatusCurrentVideoOutputFlags = 0x63766f66,
bmdDeckLinkStatusPCIExpressLinkWidth = 0x70776964,
bmdDeckLinkStatusPCIExpressLinkSpeed = 0x706c6e6b,
bmdDeckLinkStatusLastVideoOutputPixelFormat = 0x6f706978,
bmdDeckLinkStatusReferenceSignalMode = 0x7265666d,
bmdDeckLinkStatusReferenceSignalFlags = 0x72656666,
bmdDeckLinkStatusBusy = 0x62757379,
bmdDeckLinkStatusInterchangeablePanelType = 0x69637074,
bmdDeckLinkStatusDeviceTemperature = 0x64746d70,
bmdDeckLinkStatusVideoInputSignalLocked = 0x7669736c,
bmdDeckLinkStatusReferenceSignalLocked = 0x7265666c,
bmdDeckLinkStatusReceivedEDID = 0x65646964
} BMDDeckLinkStatusID;
typedef enum _BMDDeckLinkVideoStatusFlags {
bmdDeckLinkVideoStatusPsF = 1 << 0,
bmdDeckLinkVideoStatusDualStream3D = 1 << 1
} BMDDeckLinkVideoStatusFlags;
typedef enum _BMDDuplexMode {
bmdDuplexFull = 0x64786675,
bmdDuplexHalf = 0x64786861,
bmdDuplexSimplex = 0x64787370,
bmdDuplexInactive = 0x6478696e
} BMDDuplexMode;
typedef enum _BMDPanelType {
bmdPanelNotDetected = 0x6e706e6c,
bmdPanelTeranexMiniSmartPanel = 0x746d736d
} BMDPanelType;
enum _BMDDeviceBusyState {
bmdDeviceCaptureBusy = 1 << 0,
bmdDevicePlaybackBusy = 1 << 1,
bmdDeviceSerialPortBusy = 1 << 2
};
typedef enum _BMDVideoIOSupport {
bmdDeviceSupportsCapture = 1 << 0,
bmdDeviceSupportsPlayback = 1 << 1
} BMDVideoIOSupport;
typedef enum _BMD3DPreviewFormat {
bmd3DPreviewFormatDefault = 0x64656661,
bmd3DPreviewFormatLeftOnly = 0x6c656674,
bmd3DPreviewFormatRightOnly = 0x72696768,
bmd3DPreviewFormatSideBySide = 0x73696465,
bmd3DPreviewFormatTopBottom = 0x746f7062
} BMD3DPreviewFormat;
typedef enum _BMDNotifications {
bmdPreferencesChanged = 0x70726566,
bmdStatusChanged = 0x73746174
} BMDNotifications;
#ifndef __IDeckLinkVideoOutputCallback_FWD_DEFINED__
#define __IDeckLinkVideoOutputCallback_FWD_DEFINED__
typedef interface IDeckLinkVideoOutputCallback IDeckLinkVideoOutputCallback;
#ifdef __cplusplus
interface IDeckLinkVideoOutputCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInputCallback_FWD_DEFINED__
#define __IDeckLinkInputCallback_FWD_DEFINED__
typedef interface IDeckLinkInputCallback IDeckLinkInputCallback;
#ifdef __cplusplus
interface IDeckLinkInputCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderInputCallback_FWD_DEFINED__
#define __IDeckLinkEncoderInputCallback_FWD_DEFINED__
typedef interface IDeckLinkEncoderInputCallback IDeckLinkEncoderInputCallback;
#ifdef __cplusplus
interface IDeckLinkEncoderInputCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkMemoryAllocator_FWD_DEFINED__
#define __IDeckLinkMemoryAllocator_FWD_DEFINED__
typedef interface IDeckLinkMemoryAllocator IDeckLinkMemoryAllocator;
#ifdef __cplusplus
interface IDeckLinkMemoryAllocator;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAudioOutputCallback_FWD_DEFINED__
#define __IDeckLinkAudioOutputCallback_FWD_DEFINED__
typedef interface IDeckLinkAudioOutputCallback IDeckLinkAudioOutputCallback;
#ifdef __cplusplus
interface IDeckLinkAudioOutputCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkIterator_FWD_DEFINED__
#define __IDeckLinkIterator_FWD_DEFINED__
typedef interface IDeckLinkIterator IDeckLinkIterator;
#ifdef __cplusplus
interface IDeckLinkIterator;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAPIInformation_FWD_DEFINED__
#define __IDeckLinkAPIInformation_FWD_DEFINED__
typedef interface IDeckLinkAPIInformation IDeckLinkAPIInformation;
#ifdef __cplusplus
interface IDeckLinkAPIInformation;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkOutput_FWD_DEFINED__
#define __IDeckLinkOutput_FWD_DEFINED__
typedef interface IDeckLinkOutput IDeckLinkOutput;
#ifdef __cplusplus
interface IDeckLinkOutput;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInput_FWD_DEFINED__
#define __IDeckLinkInput_FWD_DEFINED__
typedef interface IDeckLinkInput IDeckLinkInput;
#ifdef __cplusplus
interface IDeckLinkInput;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkHDMIInputEDID_FWD_DEFINED__
#define __IDeckLinkHDMIInputEDID_FWD_DEFINED__
typedef interface IDeckLinkHDMIInputEDID IDeckLinkHDMIInputEDID;
#ifdef __cplusplus
interface IDeckLinkHDMIInputEDID;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderInput_FWD_DEFINED__
#define __IDeckLinkEncoderInput_FWD_DEFINED__
typedef interface IDeckLinkEncoderInput IDeckLinkEncoderInput;
#ifdef __cplusplus
interface IDeckLinkEncoderInput;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrame_FWD_DEFINED__
#define __IDeckLinkVideoFrame_FWD_DEFINED__
typedef interface IDeckLinkVideoFrame IDeckLinkVideoFrame;
#ifdef __cplusplus
interface IDeckLinkVideoFrame;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkMutableVideoFrame_FWD_DEFINED__
#define __IDeckLinkMutableVideoFrame_FWD_DEFINED__
typedef interface IDeckLinkMutableVideoFrame IDeckLinkMutableVideoFrame;
#ifdef __cplusplus
interface IDeckLinkMutableVideoFrame;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__
#define __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__
typedef interface IDeckLinkVideoFrame3DExtensions IDeckLinkVideoFrame3DExtensions;
#ifdef __cplusplus
interface IDeckLinkVideoFrame3DExtensions;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__
#define __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__
typedef interface IDeckLinkVideoFrameMetadataExtensions IDeckLinkVideoFrameMetadataExtensions;
#ifdef __cplusplus
interface IDeckLinkVideoFrameMetadataExtensions;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoInputFrame_FWD_DEFINED__
#define __IDeckLinkVideoInputFrame_FWD_DEFINED__
typedef interface IDeckLinkVideoInputFrame IDeckLinkVideoInputFrame;
#ifdef __cplusplus
interface IDeckLinkVideoInputFrame;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAncillaryPacket_FWD_DEFINED__
#define __IDeckLinkAncillaryPacket_FWD_DEFINED__
typedef interface IDeckLinkAncillaryPacket IDeckLinkAncillaryPacket;
#ifdef __cplusplus
interface IDeckLinkAncillaryPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAncillaryPacketIterator_FWD_DEFINED__
#define __IDeckLinkAncillaryPacketIterator_FWD_DEFINED__
typedef interface IDeckLinkAncillaryPacketIterator IDeckLinkAncillaryPacketIterator;
#ifdef __cplusplus
interface IDeckLinkAncillaryPacketIterator;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__
#define __IDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__
typedef interface IDeckLinkVideoFrameAncillaryPackets IDeckLinkVideoFrameAncillaryPackets;
#ifdef __cplusplus
interface IDeckLinkVideoFrameAncillaryPackets;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrameAncillary_FWD_DEFINED__
#define __IDeckLinkVideoFrameAncillary_FWD_DEFINED__
typedef interface IDeckLinkVideoFrameAncillary IDeckLinkVideoFrameAncillary;
#ifdef __cplusplus
interface IDeckLinkVideoFrameAncillary;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderPacket_FWD_DEFINED__
#define __IDeckLinkEncoderPacket_FWD_DEFINED__
typedef interface IDeckLinkEncoderPacket IDeckLinkEncoderPacket;
#ifdef __cplusplus
interface IDeckLinkEncoderPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderVideoPacket_FWD_DEFINED__
#define __IDeckLinkEncoderVideoPacket_FWD_DEFINED__
typedef interface IDeckLinkEncoderVideoPacket IDeckLinkEncoderVideoPacket;
#ifdef __cplusplus
interface IDeckLinkEncoderVideoPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkEncoderAudioPacket_FWD_DEFINED__
#define __IDeckLinkEncoderAudioPacket_FWD_DEFINED__
typedef interface IDeckLinkEncoderAudioPacket IDeckLinkEncoderAudioPacket;
#ifdef __cplusplus
interface IDeckLinkEncoderAudioPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkH265NALPacket_FWD_DEFINED__
#define __IDeckLinkH265NALPacket_FWD_DEFINED__
typedef interface IDeckLinkH265NALPacket IDeckLinkH265NALPacket;
#ifdef __cplusplus
interface IDeckLinkH265NALPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAudioInputPacket_FWD_DEFINED__
#define __IDeckLinkAudioInputPacket_FWD_DEFINED__
typedef interface IDeckLinkAudioInputPacket IDeckLinkAudioInputPacket;
#ifdef __cplusplus
interface IDeckLinkAudioInputPacket;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkScreenPreviewCallback_FWD_DEFINED__
#define __IDeckLinkScreenPreviewCallback_FWD_DEFINED__
typedef interface IDeckLinkScreenPreviewCallback IDeckLinkScreenPreviewCallback;
#ifdef __cplusplus
interface IDeckLinkScreenPreviewCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
#define __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__
typedef interface IDeckLinkGLScreenPreviewHelper IDeckLinkGLScreenPreviewHelper;
#ifdef __cplusplus
interface IDeckLinkGLScreenPreviewHelper;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__
#define __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__
typedef interface IDeckLinkDX9ScreenPreviewHelper IDeckLinkDX9ScreenPreviewHelper;
#ifdef __cplusplus
interface IDeckLinkDX9ScreenPreviewHelper;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkNotificationCallback_FWD_DEFINED__
#define __IDeckLinkNotificationCallback_FWD_DEFINED__
typedef interface IDeckLinkNotificationCallback IDeckLinkNotificationCallback;
#ifdef __cplusplus
interface IDeckLinkNotificationCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkNotification_FWD_DEFINED__
#define __IDeckLinkNotification_FWD_DEFINED__
typedef interface IDeckLinkNotification IDeckLinkNotification;
#ifdef __cplusplus
interface IDeckLinkNotification;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkProfileAttributes_FWD_DEFINED__
#define __IDeckLinkProfileAttributes_FWD_DEFINED__
typedef interface IDeckLinkProfileAttributes IDeckLinkProfileAttributes;
#ifdef __cplusplus
interface IDeckLinkProfileAttributes;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkProfileIterator_FWD_DEFINED__
#define __IDeckLinkProfileIterator_FWD_DEFINED__
typedef interface IDeckLinkProfileIterator IDeckLinkProfileIterator;
#ifdef __cplusplus
interface IDeckLinkProfileIterator;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkProfile_FWD_DEFINED__
#define __IDeckLinkProfile_FWD_DEFINED__
typedef interface IDeckLinkProfile IDeckLinkProfile;
#ifdef __cplusplus
interface IDeckLinkProfile;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkProfileCallback_FWD_DEFINED__
#define __IDeckLinkProfileCallback_FWD_DEFINED__
typedef interface IDeckLinkProfileCallback IDeckLinkProfileCallback;
#ifdef __cplusplus
interface IDeckLinkProfileCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkProfileManager_FWD_DEFINED__
#define __IDeckLinkProfileManager_FWD_DEFINED__
typedef interface IDeckLinkProfileManager IDeckLinkProfileManager;
#ifdef __cplusplus
interface IDeckLinkProfileManager;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkStatus_FWD_DEFINED__
#define __IDeckLinkStatus_FWD_DEFINED__
typedef interface IDeckLinkStatus IDeckLinkStatus;
#ifdef __cplusplus
interface IDeckLinkStatus;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkKeyer_FWD_DEFINED__
#define __IDeckLinkKeyer_FWD_DEFINED__
typedef interface IDeckLinkKeyer IDeckLinkKeyer;
#ifdef __cplusplus
interface IDeckLinkKeyer;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoConversion_FWD_DEFINED__
#define __IDeckLinkVideoConversion_FWD_DEFINED__
typedef interface IDeckLinkVideoConversion IDeckLinkVideoConversion;
#ifdef __cplusplus
interface IDeckLinkVideoConversion;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__
#define __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__
typedef interface IDeckLinkDeviceNotificationCallback IDeckLinkDeviceNotificationCallback;
#ifdef __cplusplus
interface IDeckLinkDeviceNotificationCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDiscovery_FWD_DEFINED__
#define __IDeckLinkDiscovery_FWD_DEFINED__
typedef interface IDeckLinkDiscovery IDeckLinkDiscovery;
#ifdef __cplusplus
interface IDeckLinkDiscovery;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkVideoOutputCallback interface
*/
#ifndef __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__
#define __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoOutputCallback, 0x20aa5225, 0x1958, 0x47cb, 0x82,0x0b, 0x80,0xa8,0xd5,0x21,0xa6,0xee);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("20aa5225-1958-47cb-820b-80a8d521a6ee")
IDeckLinkVideoOutputCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
IDeckLinkVideoFrame *completedFrame,
BMDOutputFrameCompletionResult result) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoOutputCallback, 0x20aa5225, 0x1958, 0x47cb, 0x82,0x0b, 0x80,0xa8,0xd5,0x21,0xa6,0xee)
#endif
#else
typedef struct IDeckLinkVideoOutputCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoOutputCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoOutputCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoOutputCallback *This);
/*** IDeckLinkVideoOutputCallback methods ***/
HRESULT (STDMETHODCALLTYPE *ScheduledFrameCompleted)(
IDeckLinkVideoOutputCallback *This,
IDeckLinkVideoFrame *completedFrame,
BMDOutputFrameCompletionResult result);
HRESULT (STDMETHODCALLTYPE *ScheduledPlaybackHasStopped)(
IDeckLinkVideoOutputCallback *This);
END_INTERFACE
} IDeckLinkVideoOutputCallbackVtbl;
interface IDeckLinkVideoOutputCallback {
CONST_VTBL IDeckLinkVideoOutputCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoOutputCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoOutputCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoOutputCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoOutputCallback methods ***/
#define IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(This,completedFrame,result) (This)->lpVtbl->ScheduledFrameCompleted(This,completedFrame,result)
#define IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(This) (This)->lpVtbl->ScheduledPlaybackHasStopped(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_QueryInterface(IDeckLinkVideoOutputCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_AddRef(IDeckLinkVideoOutputCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_Release(IDeckLinkVideoOutputCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoOutputCallback methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(IDeckLinkVideoOutputCallback* This,IDeckLinkVideoFrame *completedFrame,BMDOutputFrameCompletionResult result) {
return This->lpVtbl->ScheduledFrameCompleted(This,completedFrame,result);
}
static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(IDeckLinkVideoOutputCallback* This) {
return This->lpVtbl->ScheduledPlaybackHasStopped(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkInputCallback interface
*/
#ifndef __IDeckLinkInputCallback_INTERFACE_DEFINED__
#define __IDeckLinkInputCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkInputCallback, 0xdd04e5ec, 0x7415, 0x42ab, 0xae,0x4a, 0xe8,0x0c,0x4d,0xfc,0x04,0x4a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("dd04e5ec-7415-42ab-ae4a-e80c4dfc044a")
IDeckLinkInputCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
BMDVideoInputFormatChangedEvents notificationEvents,
IDeckLinkDisplayMode *newDisplayMode,
BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
IDeckLinkVideoInputFrame *videoFrame,
IDeckLinkAudioInputPacket *audioPacket) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkInputCallback, 0xdd04e5ec, 0x7415, 0x42ab, 0xae,0x4a, 0xe8,0x0c,0x4d,0xfc,0x04,0x4a)
#endif
#else
typedef struct IDeckLinkInputCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkInputCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkInputCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkInputCallback *This);
/*** IDeckLinkInputCallback methods ***/
HRESULT (STDMETHODCALLTYPE *VideoInputFormatChanged)(
IDeckLinkInputCallback *This,
BMDVideoInputFormatChangedEvents notificationEvents,
IDeckLinkDisplayMode *newDisplayMode,
BMDDetectedVideoInputFormatFlags detectedSignalFlags);
HRESULT (STDMETHODCALLTYPE *VideoInputFrameArrived)(
IDeckLinkInputCallback *This,
IDeckLinkVideoInputFrame *videoFrame,
IDeckLinkAudioInputPacket *audioPacket);
END_INTERFACE
} IDeckLinkInputCallbackVtbl;
interface IDeckLinkInputCallback {
CONST_VTBL IDeckLinkInputCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkInputCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkInputCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkInputCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkInputCallback methods ***/
#define IDeckLinkInputCallback_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) (This)->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags)
#define IDeckLinkInputCallback_VideoInputFrameArrived(This,videoFrame,audioPacket) (This)->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkInputCallback_QueryInterface(IDeckLinkInputCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkInputCallback_AddRef(IDeckLinkInputCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkInputCallback_Release(IDeckLinkInputCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkInputCallback methods ***/
static FORCEINLINE HRESULT IDeckLinkInputCallback_VideoInputFormatChanged(IDeckLinkInputCallback* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) {
return This->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags);
}
static FORCEINLINE HRESULT IDeckLinkInputCallback_VideoInputFrameArrived(IDeckLinkInputCallback* This,IDeckLinkVideoInputFrame *videoFrame,IDeckLinkAudioInputPacket *audioPacket) {
return This->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket);
}
#endif
#endif
#endif
#endif /* __IDeckLinkInputCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkEncoderInputCallback interface
*/
#ifndef __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__
#define __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkEncoderInputCallback, 0xacf13e61, 0xf4a0, 0x4974, 0xa6,0xa7, 0x59,0xaf,0xf6,0x26,0x8b,0x31);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("acf13e61-f4a0-4974-a6a7-59aff6268b31")
IDeckLinkEncoderInputCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE VideoInputSignalChanged(
BMDVideoInputFormatChangedEvents notificationEvents,
IDeckLinkDisplayMode *newDisplayMode,
BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE VideoPacketArrived(
IDeckLinkEncoderVideoPacket *videoPacket) = 0;
virtual HRESULT STDMETHODCALLTYPE AudioPacketArrived(
IDeckLinkEncoderAudioPacket *audioPacket) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkEncoderInputCallback, 0xacf13e61, 0xf4a0, 0x4974, 0xa6,0xa7, 0x59,0xaf,0xf6,0x26,0x8b,0x31)
#endif
#else
typedef struct IDeckLinkEncoderInputCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkEncoderInputCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkEncoderInputCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkEncoderInputCallback *This);
/*** IDeckLinkEncoderInputCallback methods ***/
HRESULT (STDMETHODCALLTYPE *VideoInputSignalChanged)(
IDeckLinkEncoderInputCallback *This,
BMDVideoInputFormatChangedEvents notificationEvents,
IDeckLinkDisplayMode *newDisplayMode,
BMDDetectedVideoInputFormatFlags detectedSignalFlags);
HRESULT (STDMETHODCALLTYPE *VideoPacketArrived)(
IDeckLinkEncoderInputCallback *This,
IDeckLinkEncoderVideoPacket *videoPacket);
HRESULT (STDMETHODCALLTYPE *AudioPacketArrived)(
IDeckLinkEncoderInputCallback *This,
IDeckLinkEncoderAudioPacket *audioPacket);
END_INTERFACE
} IDeckLinkEncoderInputCallbackVtbl;
interface IDeckLinkEncoderInputCallback {
CONST_VTBL IDeckLinkEncoderInputCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkEncoderInputCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkEncoderInputCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkEncoderInputCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkEncoderInputCallback methods ***/
#define IDeckLinkEncoderInputCallback_VideoInputSignalChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) (This)->lpVtbl->VideoInputSignalChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags)
#define IDeckLinkEncoderInputCallback_VideoPacketArrived(This,videoPacket) (This)->lpVtbl->VideoPacketArrived(This,videoPacket)
#define IDeckLinkEncoderInputCallback_AudioPacketArrived(This,audioPacket) (This)->lpVtbl->AudioPacketArrived(This,audioPacket)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderInputCallback_QueryInterface(IDeckLinkEncoderInputCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkEncoderInputCallback_AddRef(IDeckLinkEncoderInputCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkEncoderInputCallback_Release(IDeckLinkEncoderInputCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkEncoderInputCallback methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderInputCallback_VideoInputSignalChanged(IDeckLinkEncoderInputCallback* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) {
return This->lpVtbl->VideoInputSignalChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInputCallback_VideoPacketArrived(IDeckLinkEncoderInputCallback* This,IDeckLinkEncoderVideoPacket *videoPacket) {
return This->lpVtbl->VideoPacketArrived(This,videoPacket);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInputCallback_AudioPacketArrived(IDeckLinkEncoderInputCallback* This,IDeckLinkEncoderAudioPacket *audioPacket) {
return This->lpVtbl->AudioPacketArrived(This,audioPacket);
}
#endif
#endif
#endif
#endif /* __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkMemoryAllocator interface
*/
#ifndef __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__
#define __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkMemoryAllocator, 0xb36eb6e7, 0x9d29, 0x4aa8, 0x92,0xef, 0x84,0x3b,0x87,0xa2,0x89,0xe8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b36eb6e7-9d29-4aa8-92ef-843b87a289e8")
IDeckLinkMemoryAllocator : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(
unsigned int bufferSize,
void **allocatedBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
void *buffer) = 0;
virtual HRESULT STDMETHODCALLTYPE Commit(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Decommit(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkMemoryAllocator, 0xb36eb6e7, 0x9d29, 0x4aa8, 0x92,0xef, 0x84,0x3b,0x87,0xa2,0x89,0xe8)
#endif
#else
typedef struct IDeckLinkMemoryAllocatorVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkMemoryAllocator *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkMemoryAllocator *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkMemoryAllocator *This);
/*** IDeckLinkMemoryAllocator methods ***/
HRESULT (STDMETHODCALLTYPE *AllocateBuffer)(
IDeckLinkMemoryAllocator *This,
unsigned int bufferSize,
void **allocatedBuffer);
HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)(
IDeckLinkMemoryAllocator *This,
void *buffer);
HRESULT (STDMETHODCALLTYPE *Commit)(
IDeckLinkMemoryAllocator *This);
HRESULT (STDMETHODCALLTYPE *Decommit)(
IDeckLinkMemoryAllocator *This);
END_INTERFACE
} IDeckLinkMemoryAllocatorVtbl;
interface IDeckLinkMemoryAllocator {
CONST_VTBL IDeckLinkMemoryAllocatorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkMemoryAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkMemoryAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkMemoryAllocator_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkMemoryAllocator methods ***/
#define IDeckLinkMemoryAllocator_AllocateBuffer(This,bufferSize,allocatedBuffer) (This)->lpVtbl->AllocateBuffer(This,bufferSize,allocatedBuffer)
#define IDeckLinkMemoryAllocator_ReleaseBuffer(This,buffer) (This)->lpVtbl->ReleaseBuffer(This,buffer)
#define IDeckLinkMemoryAllocator_Commit(This) (This)->lpVtbl->Commit(This)
#define IDeckLinkMemoryAllocator_Decommit(This) (This)->lpVtbl->Decommit(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkMemoryAllocator_QueryInterface(IDeckLinkMemoryAllocator* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkMemoryAllocator_AddRef(IDeckLinkMemoryAllocator* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkMemoryAllocator_Release(IDeckLinkMemoryAllocator* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkMemoryAllocator methods ***/
static FORCEINLINE HRESULT IDeckLinkMemoryAllocator_AllocateBuffer(IDeckLinkMemoryAllocator* This,unsigned int bufferSize,void **allocatedBuffer) {
return This->lpVtbl->AllocateBuffer(This,bufferSize,allocatedBuffer);
}
static FORCEINLINE HRESULT IDeckLinkMemoryAllocator_ReleaseBuffer(IDeckLinkMemoryAllocator* This,void *buffer) {
return This->lpVtbl->ReleaseBuffer(This,buffer);
}
static FORCEINLINE HRESULT IDeckLinkMemoryAllocator_Commit(IDeckLinkMemoryAllocator* This) {
return This->lpVtbl->Commit(This);
}
static FORCEINLINE HRESULT IDeckLinkMemoryAllocator_Decommit(IDeckLinkMemoryAllocator* This) {
return This->lpVtbl->Decommit(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkAudioOutputCallback interface
*/
#ifndef __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__
#define __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkAudioOutputCallback, 0x403c681b, 0x7f46, 0x4a12, 0xb9,0x93, 0x2b,0xb1,0x27,0x08,0x4e,0xe6);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("403c681b-7f46-4a12-b993-2bb127084ee6")
IDeckLinkAudioOutputCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples(
BOOL preroll) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkAudioOutputCallback, 0x403c681b, 0x7f46, 0x4a12, 0xb9,0x93, 0x2b,0xb1,0x27,0x08,0x4e,0xe6)
#endif
#else
typedef struct IDeckLinkAudioOutputCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkAudioOutputCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkAudioOutputCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkAudioOutputCallback *This);
/*** IDeckLinkAudioOutputCallback methods ***/
HRESULT (STDMETHODCALLTYPE *RenderAudioSamples)(
IDeckLinkAudioOutputCallback *This,
BOOL preroll);
END_INTERFACE
} IDeckLinkAudioOutputCallbackVtbl;
interface IDeckLinkAudioOutputCallback {
CONST_VTBL IDeckLinkAudioOutputCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkAudioOutputCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkAudioOutputCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkAudioOutputCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkAudioOutputCallback methods ***/
#define IDeckLinkAudioOutputCallback_RenderAudioSamples(This,preroll) (This)->lpVtbl->RenderAudioSamples(This,preroll)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkAudioOutputCallback_QueryInterface(IDeckLinkAudioOutputCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkAudioOutputCallback_AddRef(IDeckLinkAudioOutputCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkAudioOutputCallback_Release(IDeckLinkAudioOutputCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkAudioOutputCallback methods ***/
static FORCEINLINE HRESULT IDeckLinkAudioOutputCallback_RenderAudioSamples(IDeckLinkAudioOutputCallback* This,BOOL preroll) {
return This->lpVtbl->RenderAudioSamples(This,preroll);
}
#endif
#endif
#endif
#endif /* __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkIterator interface
*/
#ifndef __IDeckLinkIterator_INTERFACE_DEFINED__
#define __IDeckLinkIterator_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkIterator, 0x50fb36cd, 0x3063, 0x4b73, 0xbd,0xbb, 0x95,0x80,0x87,0xf2,0xd8,0xba);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("50fb36cd-3063-4b73-bdbb-958087f2d8ba")
IDeckLinkIterator : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
IDeckLink **deckLinkInstance) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkIterator, 0x50fb36cd, 0x3063, 0x4b73, 0xbd,0xbb, 0x95,0x80,0x87,0xf2,0xd8,0xba)
#endif
#else
typedef struct IDeckLinkIteratorVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkIterator *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkIterator *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkIterator *This);
/*** IDeckLinkIterator methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IDeckLinkIterator *This,
IDeckLink **deckLinkInstance);
END_INTERFACE
} IDeckLinkIteratorVtbl;
interface IDeckLinkIterator {
CONST_VTBL IDeckLinkIteratorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkIterator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkIterator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkIterator_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkIterator methods ***/
#define IDeckLinkIterator_Next(This,deckLinkInstance) (This)->lpVtbl->Next(This,deckLinkInstance)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkIterator_QueryInterface(IDeckLinkIterator* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkIterator_AddRef(IDeckLinkIterator* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkIterator_Release(IDeckLinkIterator* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkIterator methods ***/
static FORCEINLINE HRESULT IDeckLinkIterator_Next(IDeckLinkIterator* This,IDeckLink **deckLinkInstance) {
return This->lpVtbl->Next(This,deckLinkInstance);
}
#endif
#endif
#endif
#endif /* __IDeckLinkIterator_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkAPIInformation interface
*/
#ifndef __IDeckLinkAPIInformation_INTERFACE_DEFINED__
#define __IDeckLinkAPIInformation_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkAPIInformation, 0x7bea3c68, 0x730d, 0x4322, 0xaf,0x34, 0x8a,0x71,0x52,0xb5,0x32,0xa4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7bea3c68-730d-4322-af34-8a7152b532a4")
IDeckLinkAPIInformation : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkAPIInformationID cfgID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkAPIInformationID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkAPIInformationID cfgID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkAPIInformationID cfgID,
BSTR *value) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkAPIInformation, 0x7bea3c68, 0x730d, 0x4322, 0xaf,0x34, 0x8a,0x71,0x52,0xb5,0x32,0xa4)
#endif
#else
typedef struct IDeckLinkAPIInformationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkAPIInformation *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkAPIInformation *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkAPIInformation *This);
/*** IDeckLinkAPIInformation methods ***/
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkAPIInformation *This,
BMDDeckLinkAPIInformationID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkAPIInformation *This,
BMDDeckLinkAPIInformationID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkAPIInformation *This,
BMDDeckLinkAPIInformationID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkAPIInformation *This,
BMDDeckLinkAPIInformationID cfgID,
BSTR *value);
END_INTERFACE
} IDeckLinkAPIInformationVtbl;
interface IDeckLinkAPIInformation {
CONST_VTBL IDeckLinkAPIInformationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkAPIInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkAPIInformation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkAPIInformation_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkAPIInformation methods ***/
#define IDeckLinkAPIInformation_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IDeckLinkAPIInformation_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IDeckLinkAPIInformation_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IDeckLinkAPIInformation_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkAPIInformation_QueryInterface(IDeckLinkAPIInformation* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkAPIInformation_AddRef(IDeckLinkAPIInformation* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkAPIInformation_Release(IDeckLinkAPIInformation* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkAPIInformation methods ***/
static FORCEINLINE HRESULT IDeckLinkAPIInformation_GetFlag(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkAPIInformation_GetInt(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkAPIInformation_GetFloat(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkAPIInformation_GetString(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
#endif
#endif
#endif
#endif /* __IDeckLinkAPIInformation_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkOutput interface
*/
#ifndef __IDeckLinkOutput_INTERFACE_DEFINED__
#define __IDeckLinkOutput_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkOutput, 0x065a0f6c, 0xc508, 0x4d0d, 0xb9,0x19, 0xf5,0xeb,0x0e,0xbf,0xc9,0x6b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("065a0f6c-c508-4d0d-b919-f5eb0ebfc96b")
IDeckLinkOutput : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDVideoConnection connection,
BMDDisplayMode requestedMode,
BMDPixelFormat requestedPixelFormat,
BMDSupportedVideoModeFlags flags,
BMDDisplayMode *actualMode,
BOOL *supported) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayMode(
BMDDisplayMode displayMode,
IDeckLinkDisplayMode **resultDisplayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
IDeckLinkScreenPreviewCallback *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
BMDDisplayMode displayMode,
BMDVideoOutputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
IDeckLinkMemoryAllocator *theAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkMutableVideoFrame **outFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
BMDPixelFormat pixelFormat,
IDeckLinkVideoFrameAncillary **outBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
IDeckLinkVideoFrame *theFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
IDeckLinkVideoFrame *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
IDeckLinkVideoOutputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
unsigned int *bufferedFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount,
BMDAudioOutputStreamType streamType) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
unsigned int *bufferedSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
IDeckLinkAudioOutputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed) = 0;
virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
BOOL *active) = 0;
virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
BMDTimeScale desiredTimeScale,
BMDTimeValue *streamTime,
double *playbackSpeed) = 0;
virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus(
BMDReferenceStatus *referenceStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFrameCompletionReferenceTimestamp(
IDeckLinkVideoFrame *theFrame,
BMDTimeScale desiredTimeScale,
BMDTimeValue *frameCompletionTimestamp) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkOutput, 0x065a0f6c, 0xc508, 0x4d0d, 0xb9,0x19, 0xf5,0xeb,0x0e,0xbf,0xc9,0x6b)
#endif
#else
typedef struct IDeckLinkOutputVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkOutput *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkOutput *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkOutput *This);
/*** IDeckLinkOutput methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkOutput *This,
BMDVideoConnection connection,
BMDDisplayMode requestedMode,
BMDPixelFormat requestedPixelFormat,
BMDSupportedVideoModeFlags flags,
BMDDisplayMode *actualMode,
BOOL *supported);
HRESULT (STDMETHODCALLTYPE *GetDisplayMode)(
IDeckLinkOutput *This,
BMDDisplayMode displayMode,
IDeckLinkDisplayMode **resultDisplayMode);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkOutput *This,
IDeckLinkDisplayModeIterator **iterator);
HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)(
IDeckLinkOutput *This,
IDeckLinkScreenPreviewCallback *previewCallback);
HRESULT (STDMETHODCALLTYPE *EnableVideoOutput)(
IDeckLinkOutput *This,
BMDDisplayMode displayMode,
BMDVideoOutputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoOutput)(
IDeckLinkOutput *This);
HRESULT (STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator)(
IDeckLinkOutput *This,
IDeckLinkMemoryAllocator *theAllocator);
HRESULT (STDMETHODCALLTYPE *CreateVideoFrame)(
IDeckLinkOutput *This,
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkMutableVideoFrame **outFrame);
HRESULT (STDMETHODCALLTYPE *CreateAncillaryData)(
IDeckLinkOutput *This,
BMDPixelFormat pixelFormat,
IDeckLinkVideoFrameAncillary **outBuffer);
HRESULT (STDMETHODCALLTYPE *DisplayVideoFrameSync)(
IDeckLinkOutput *This,
IDeckLinkVideoFrame *theFrame);
HRESULT (STDMETHODCALLTYPE *ScheduleVideoFrame)(
IDeckLinkOutput *This,
IDeckLinkVideoFrame *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback)(
IDeckLinkOutput *This,
IDeckLinkVideoOutputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *GetBufferedVideoFrameCount)(
IDeckLinkOutput *This,
unsigned int *bufferedFrameCount);
HRESULT (STDMETHODCALLTYPE *EnableAudioOutput)(
IDeckLinkOutput *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount,
BMDAudioOutputStreamType streamType);
HRESULT (STDMETHODCALLTYPE *DisableAudioOutput)(
IDeckLinkOutput *This);
HRESULT (STDMETHODCALLTYPE *WriteAudioSamplesSync)(
IDeckLinkOutput *This,
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *BeginAudioPreroll)(
IDeckLinkOutput *This);
HRESULT (STDMETHODCALLTYPE *EndAudioPreroll)(
IDeckLinkOutput *This);
HRESULT (STDMETHODCALLTYPE *ScheduleAudioSamples)(
IDeckLinkOutput *This,
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount)(
IDeckLinkOutput *This,
unsigned int *bufferedSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *FlushBufferedAudioSamples)(
IDeckLinkOutput *This);
HRESULT (STDMETHODCALLTYPE *SetAudioCallback)(
IDeckLinkOutput *This,
IDeckLinkAudioOutputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *StartScheduledPlayback)(
IDeckLinkOutput *This,
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed);
HRESULT (STDMETHODCALLTYPE *StopScheduledPlayback)(
IDeckLinkOutput *This,
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *IsScheduledPlaybackRunning)(
IDeckLinkOutput *This,
BOOL *active);
HRESULT (STDMETHODCALLTYPE *GetScheduledStreamTime)(
IDeckLinkOutput *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *streamTime,
double *playbackSpeed);
HRESULT (STDMETHODCALLTYPE *GetReferenceStatus)(
IDeckLinkOutput *This,
BMDReferenceStatus *referenceStatus);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkOutput *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame);
HRESULT (STDMETHODCALLTYPE *GetFrameCompletionReferenceTimestamp)(
IDeckLinkOutput *This,
IDeckLinkVideoFrame *theFrame,
BMDTimeScale desiredTimeScale,
BMDTimeValue *frameCompletionTimestamp);
END_INTERFACE
} IDeckLinkOutputVtbl;
interface IDeckLinkOutput {
CONST_VTBL IDeckLinkOutputVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkOutput_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkOutput_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkOutput_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkOutput methods ***/
#define IDeckLinkOutput_DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,actualMode,supported) (This)->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,actualMode,supported)
#define IDeckLinkOutput_GetDisplayMode(This,displayMode,resultDisplayMode) (This)->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode)
#define IDeckLinkOutput_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkOutput_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback)
#define IDeckLinkOutput_EnableVideoOutput(This,displayMode,flags) (This)->lpVtbl->EnableVideoOutput(This,displayMode,flags)
#define IDeckLinkOutput_DisableVideoOutput(This) (This)->lpVtbl->DisableVideoOutput(This)
#define IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator)
#define IDeckLinkOutput_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) (This)->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame)
#define IDeckLinkOutput_CreateAncillaryData(This,pixelFormat,outBuffer) (This)->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer)
#define IDeckLinkOutput_DisplayVideoFrameSync(This,theFrame) (This)->lpVtbl->DisplayVideoFrameSync(This,theFrame)
#define IDeckLinkOutput_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) (This)->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale)
#define IDeckLinkOutput_SetScheduledFrameCompletionCallback(This,theCallback) (This)->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback)
#define IDeckLinkOutput_GetBufferedVideoFrameCount(This,bufferedFrameCount) (This)->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount)
#define IDeckLinkOutput_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) (This)->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType)
#define IDeckLinkOutput_DisableAudioOutput(This) (This)->lpVtbl->DisableAudioOutput(This)
#define IDeckLinkOutput_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) (This)->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten)
#define IDeckLinkOutput_BeginAudioPreroll(This) (This)->lpVtbl->BeginAudioPreroll(This)
#define IDeckLinkOutput_EndAudioPreroll(This) (This)->lpVtbl->EndAudioPreroll(This)
#define IDeckLinkOutput_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) (This)->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten)
#define IDeckLinkOutput_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) (This)->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount)
#define IDeckLinkOutput_FlushBufferedAudioSamples(This) (This)->lpVtbl->FlushBufferedAudioSamples(This)
#define IDeckLinkOutput_SetAudioCallback(This,theCallback) (This)->lpVtbl->SetAudioCallback(This,theCallback)
#define IDeckLinkOutput_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) (This)->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed)
#define IDeckLinkOutput_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) (This)->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale)
#define IDeckLinkOutput_IsScheduledPlaybackRunning(This,active) (This)->lpVtbl->IsScheduledPlaybackRunning(This,active)
#define IDeckLinkOutput_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) (This)->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed)
#define IDeckLinkOutput_GetReferenceStatus(This,referenceStatus) (This)->lpVtbl->GetReferenceStatus(This,referenceStatus)
#define IDeckLinkOutput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame)
#define IDeckLinkOutput_GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) (This)->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_QueryInterface(IDeckLinkOutput* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkOutput_AddRef(IDeckLinkOutput* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkOutput_Release(IDeckLinkOutput* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkOutput methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_DoesSupportVideoMode(IDeckLinkOutput* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDSupportedVideoModeFlags flags,BMDDisplayMode *actualMode,BOOL *supported) {
return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,actualMode,supported);
}
static FORCEINLINE HRESULT IDeckLinkOutput_GetDisplayMode(IDeckLinkOutput* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) {
return This->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode);
}
static FORCEINLINE HRESULT IDeckLinkOutput_GetDisplayModeIterator(IDeckLinkOutput* This,IDeckLinkDisplayModeIterator **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_SetScreenPreviewCallback(IDeckLinkOutput* This,IDeckLinkScreenPreviewCallback *previewCallback) {
return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_EnableVideoOutput(IDeckLinkOutput* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) {
return This->lpVtbl->EnableVideoOutput(This,displayMode,flags);
}
static FORCEINLINE HRESULT IDeckLinkOutput_DisableVideoOutput(IDeckLinkOutput* This) {
return This->lpVtbl->DisableVideoOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput* This,IDeckLinkMemoryAllocator *theAllocator) {
return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_CreateVideoFrame(IDeckLinkOutput* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame **outFrame) {
return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_CreateAncillaryData(IDeckLinkOutput* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) {
return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer);
}
static FORCEINLINE HRESULT IDeckLinkOutput_DisplayVideoFrameSync(IDeckLinkOutput* This,IDeckLinkVideoFrame *theFrame) {
return This->lpVtbl->DisplayVideoFrameSync(This,theFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_ScheduleVideoFrame(IDeckLinkOutput* This,IDeckLinkVideoFrame *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) {
return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_SetScheduledFrameCompletionCallback(IDeckLinkOutput* This,IDeckLinkVideoOutputCallback *theCallback) {
return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_GetBufferedVideoFrameCount(IDeckLinkOutput* This,unsigned int *bufferedFrameCount) {
return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_EnableAudioOutput(IDeckLinkOutput* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) {
return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType);
}
static FORCEINLINE HRESULT IDeckLinkOutput_DisableAudioOutput(IDeckLinkOutput* This) {
return This->lpVtbl->DisableAudioOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_WriteAudioSamplesSync(IDeckLinkOutput* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) {
return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_BeginAudioPreroll(IDeckLinkOutput* This) {
return This->lpVtbl->BeginAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_EndAudioPreroll(IDeckLinkOutput* This) {
return This->lpVtbl->EndAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_ScheduleAudioSamples(IDeckLinkOutput* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) {
return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_GetBufferedAudioSampleFrameCount(IDeckLinkOutput* This,unsigned int *bufferedSampleFrameCount) {
return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_FlushBufferedAudioSamples(IDeckLinkOutput* This) {
return This->lpVtbl->FlushBufferedAudioSamples(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_SetAudioCallback(IDeckLinkOutput* This,IDeckLinkAudioOutputCallback *theCallback) {
return This->lpVtbl->SetAudioCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_StartScheduledPlayback(IDeckLinkOutput* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) {
return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed);
}
static FORCEINLINE HRESULT IDeckLinkOutput_StopScheduledPlayback(IDeckLinkOutput* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) {
return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_IsScheduledPlaybackRunning(IDeckLinkOutput* This,BOOL *active) {
return This->lpVtbl->IsScheduledPlaybackRunning(This,active);
}
static FORCEINLINE HRESULT IDeckLinkOutput_GetScheduledStreamTime(IDeckLinkOutput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) {
return This->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed);
}
static FORCEINLINE HRESULT IDeckLinkOutput_GetReferenceStatus(IDeckLinkOutput* This,BMDReferenceStatus *referenceStatus) {
return This->lpVtbl->GetReferenceStatus(This,referenceStatus);
}
static FORCEINLINE HRESULT IDeckLinkOutput_GetHardwareReferenceClock(IDeckLinkOutput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_GetFrameCompletionReferenceTimestamp(IDeckLinkOutput* This,IDeckLinkVideoFrame *theFrame,BMDTimeScale desiredTimeScale,BMDTimeValue *frameCompletionTimestamp) {
return This->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp);
}
#endif
#endif
#endif
#endif /* __IDeckLinkOutput_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkInput interface
*/
#ifndef __IDeckLinkInput_INTERFACE_DEFINED__
#define __IDeckLinkInput_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkInput, 0x2a88cf76, 0xf494, 0x4216, 0xa7,0xef, 0xdc,0x74,0xee,0xb8,0x38,0x82);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2a88cf76-f494-4216-a7ef-dc74eeb83882")
IDeckLinkInput : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDVideoConnection connection,
BMDDisplayMode requestedMode,
BMDPixelFormat requestedPixelFormat,
BMDSupportedVideoModeFlags flags,
BOOL *supported) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayMode(
BMDDisplayMode displayMode,
IDeckLinkDisplayMode **resultDisplayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
IDeckLinkScreenPreviewCallback *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
unsigned int *availableFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoInputFrameMemoryAllocator(
IDeckLinkMemoryAllocator *theAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
unsigned int *availableSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE StartStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE StopStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PauseStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkInputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkInput, 0x2a88cf76, 0xf494, 0x4216, 0xa7,0xef, 0xdc,0x74,0xee,0xb8,0x38,0x82)
#endif
#else
typedef struct IDeckLinkInputVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkInput *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkInput *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkInput *This);
/*** IDeckLinkInput methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkInput *This,
BMDVideoConnection connection,
BMDDisplayMode requestedMode,
BMDPixelFormat requestedPixelFormat,
BMDSupportedVideoModeFlags flags,
BOOL *supported);
HRESULT (STDMETHODCALLTYPE *GetDisplayMode)(
IDeckLinkInput *This,
BMDDisplayMode displayMode,
IDeckLinkDisplayMode **resultDisplayMode);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkInput *This,
IDeckLinkDisplayModeIterator **iterator);
HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)(
IDeckLinkInput *This,
IDeckLinkScreenPreviewCallback *previewCallback);
HRESULT (STDMETHODCALLTYPE *EnableVideoInput)(
IDeckLinkInput *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoInput)(
IDeckLinkInput *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableVideoFrameCount)(
IDeckLinkInput *This,
unsigned int *availableFrameCount);
HRESULT (STDMETHODCALLTYPE *SetVideoInputFrameMemoryAllocator)(
IDeckLinkInput *This,
IDeckLinkMemoryAllocator *theAllocator);
HRESULT (STDMETHODCALLTYPE *EnableAudioInput)(
IDeckLinkInput *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount);
HRESULT (STDMETHODCALLTYPE *DisableAudioInput)(
IDeckLinkInput *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount)(
IDeckLinkInput *This,
unsigned int *availableSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *StartStreams)(
IDeckLinkInput *This);
HRESULT (STDMETHODCALLTYPE *StopStreams)(
IDeckLinkInput *This);
HRESULT (STDMETHODCALLTYPE *PauseStreams)(
IDeckLinkInput *This);
HRESULT (STDMETHODCALLTYPE *FlushStreams)(
IDeckLinkInput *This);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkInput *This,
IDeckLinkInputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkInput *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame);
END_INTERFACE
} IDeckLinkInputVtbl;
interface IDeckLinkInput {
CONST_VTBL IDeckLinkInputVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkInput_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkInput_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkInput_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkInput methods ***/
#define IDeckLinkInput_DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,supported) (This)->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,supported)
#define IDeckLinkInput_GetDisplayMode(This,displayMode,resultDisplayMode) (This)->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode)
#define IDeckLinkInput_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkInput_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback)
#define IDeckLinkInput_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags)
#define IDeckLinkInput_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This)
#define IDeckLinkInput_GetAvailableVideoFrameCount(This,availableFrameCount) (This)->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount)
#define IDeckLinkInput_SetVideoInputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator)
#define IDeckLinkInput_EnableAudioInput(This,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount)
#define IDeckLinkInput_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This)
#define IDeckLinkInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) (This)->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount)
#define IDeckLinkInput_StartStreams(This) (This)->lpVtbl->StartStreams(This)
#define IDeckLinkInput_StopStreams(This) (This)->lpVtbl->StopStreams(This)
#define IDeckLinkInput_PauseStreams(This) (This)->lpVtbl->PauseStreams(This)
#define IDeckLinkInput_FlushStreams(This) (This)->lpVtbl->FlushStreams(This)
#define IDeckLinkInput_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback)
#define IDeckLinkInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_QueryInterface(IDeckLinkInput* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkInput_AddRef(IDeckLinkInput* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkInput_Release(IDeckLinkInput* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkInput methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_DoesSupportVideoMode(IDeckLinkInput* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDSupportedVideoModeFlags flags,BOOL *supported) {
return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,supported);
}
static FORCEINLINE HRESULT IDeckLinkInput_GetDisplayMode(IDeckLinkInput* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) {
return This->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode);
}
static FORCEINLINE HRESULT IDeckLinkInput_GetDisplayModeIterator(IDeckLinkInput* This,IDeckLinkDisplayModeIterator **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkInput_SetScreenPreviewCallback(IDeckLinkInput* This,IDeckLinkScreenPreviewCallback *previewCallback) {
return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback);
}
static FORCEINLINE HRESULT IDeckLinkInput_EnableVideoInput(IDeckLinkInput* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) {
return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags);
}
static FORCEINLINE HRESULT IDeckLinkInput_DisableVideoInput(IDeckLinkInput* This) {
return This->lpVtbl->DisableVideoInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_GetAvailableVideoFrameCount(IDeckLinkInput* This,unsigned int *availableFrameCount) {
return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_SetVideoInputFrameMemoryAllocator(IDeckLinkInput* This,IDeckLinkMemoryAllocator *theAllocator) {
return This->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator);
}
static FORCEINLINE HRESULT IDeckLinkInput_EnableAudioInput(IDeckLinkInput* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) {
return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_DisableAudioInput(IDeckLinkInput* This) {
return This->lpVtbl->DisableAudioInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_GetAvailableAudioSampleFrameCount(IDeckLinkInput* This,unsigned int *availableSampleFrameCount) {
return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_StartStreams(IDeckLinkInput* This) {
return This->lpVtbl->StartStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_StopStreams(IDeckLinkInput* This) {
return This->lpVtbl->StopStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_PauseStreams(IDeckLinkInput* This) {
return This->lpVtbl->PauseStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_FlushStreams(IDeckLinkInput* This) {
return This->lpVtbl->FlushStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_SetCallback(IDeckLinkInput* This,IDeckLinkInputCallback *theCallback) {
return This->lpVtbl->SetCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkInput_GetHardwareReferenceClock(IDeckLinkInput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkInput_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkHDMIInputEDID interface
*/
#ifndef __IDeckLinkHDMIInputEDID_INTERFACE_DEFINED__
#define __IDeckLinkHDMIInputEDID_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkHDMIInputEDID, 0xabbbacbc, 0x45bc, 0x4665, 0x9d,0x92, 0xac,0xe6,0xe5,0xa9,0x79,0x02);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("abbbacbc-45bc-4665-9d92-ace6e5a97902")
IDeckLinkHDMIInputEDID : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetInt(
BMDDeckLinkHDMIInputEDIDID cfgID,
LONGLONG value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkHDMIInputEDIDID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteToEDID(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkHDMIInputEDID, 0xabbbacbc, 0x45bc, 0x4665, 0x9d,0x92, 0xac,0xe6,0xe5,0xa9,0x79,0x02)
#endif
#else
typedef struct IDeckLinkHDMIInputEDIDVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkHDMIInputEDID *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkHDMIInputEDID *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkHDMIInputEDID *This);
/*** IDeckLinkHDMIInputEDID methods ***/
HRESULT (STDMETHODCALLTYPE *SetInt)(
IDeckLinkHDMIInputEDID *This,
BMDDeckLinkHDMIInputEDIDID cfgID,
LONGLONG value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkHDMIInputEDID *This,
BMDDeckLinkHDMIInputEDIDID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *WriteToEDID)(
IDeckLinkHDMIInputEDID *This);
END_INTERFACE
} IDeckLinkHDMIInputEDIDVtbl;
interface IDeckLinkHDMIInputEDID {
CONST_VTBL IDeckLinkHDMIInputEDIDVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkHDMIInputEDID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkHDMIInputEDID_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkHDMIInputEDID_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkHDMIInputEDID methods ***/
#define IDeckLinkHDMIInputEDID_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value)
#define IDeckLinkHDMIInputEDID_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IDeckLinkHDMIInputEDID_WriteToEDID(This) (This)->lpVtbl->WriteToEDID(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkHDMIInputEDID_QueryInterface(IDeckLinkHDMIInputEDID* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkHDMIInputEDID_AddRef(IDeckLinkHDMIInputEDID* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkHDMIInputEDID_Release(IDeckLinkHDMIInputEDID* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkHDMIInputEDID methods ***/
static FORCEINLINE HRESULT IDeckLinkHDMIInputEDID_SetInt(IDeckLinkHDMIInputEDID* This,BMDDeckLinkHDMIInputEDIDID cfgID,LONGLONG value) {
return This->lpVtbl->SetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkHDMIInputEDID_GetInt(IDeckLinkHDMIInputEDID* This,BMDDeckLinkHDMIInputEDIDID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkHDMIInputEDID_WriteToEDID(IDeckLinkHDMIInputEDID* This) {
return This->lpVtbl->WriteToEDID(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkHDMIInputEDID_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkEncoderInput interface
*/
#ifndef __IDeckLinkEncoderInput_INTERFACE_DEFINED__
#define __IDeckLinkEncoderInput_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkEncoderInput, 0xf222551d, 0x13df, 0x4fd8, 0xb5,0x87, 0x9d,0x4f,0x19,0xec,0x12,0xc9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f222551d-13df-4fd8-b587-9d4f19ec12c9")
IDeckLinkEncoderInput : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDVideoConnection connection,
BMDDisplayMode requestedMode,
BMDPixelFormat requestedCodec,
unsigned int requestedCodecProfile,
BMDSupportedVideoModeFlags flags,
BOOL *supported) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayMode(
BMDDisplayMode displayMode,
IDeckLinkDisplayMode **resultDisplayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailablePacketsCount(
unsigned int *availablePacketsCount) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMemoryAllocator(
IDeckLinkMemoryAllocator *theAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
BMDAudioFormat audioFormat,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
unsigned int *availableSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE StartStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE StopStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PauseStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkEncoderInputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkEncoderInput, 0xf222551d, 0x13df, 0x4fd8, 0xb5,0x87, 0x9d,0x4f,0x19,0xec,0x12,0xc9)
#endif
#else
typedef struct IDeckLinkEncoderInputVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkEncoderInput *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkEncoderInput *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkEncoderInput *This);
/*** IDeckLinkEncoderInput methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkEncoderInput *This,
BMDVideoConnection connection,
BMDDisplayMode requestedMode,
BMDPixelFormat requestedCodec,
unsigned int requestedCodecProfile,
BMDSupportedVideoModeFlags flags,
BOOL *supported);
HRESULT (STDMETHODCALLTYPE *GetDisplayMode)(
IDeckLinkEncoderInput *This,
BMDDisplayMode displayMode,
IDeckLinkDisplayMode **resultDisplayMode);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkEncoderInput *This,
IDeckLinkDisplayModeIterator **iterator);
HRESULT (STDMETHODCALLTYPE *EnableVideoInput)(
IDeckLinkEncoderInput *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoInput)(
IDeckLinkEncoderInput *This);
HRESULT (STDMETHODCALLTYPE *GetAvailablePacketsCount)(
IDeckLinkEncoderInput *This,
unsigned int *availablePacketsCount);
HRESULT (STDMETHODCALLTYPE *SetMemoryAllocator)(
IDeckLinkEncoderInput *This,
IDeckLinkMemoryAllocator *theAllocator);
HRESULT (STDMETHODCALLTYPE *EnableAudioInput)(
IDeckLinkEncoderInput *This,
BMDAudioFormat audioFormat,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount);
HRESULT (STDMETHODCALLTYPE *DisableAudioInput)(
IDeckLinkEncoderInput *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount)(
IDeckLinkEncoderInput *This,
unsigned int *availableSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *StartStreams)(
IDeckLinkEncoderInput *This);
HRESULT (STDMETHODCALLTYPE *StopStreams)(
IDeckLinkEncoderInput *This);
HRESULT (STDMETHODCALLTYPE *PauseStreams)(
IDeckLinkEncoderInput *This);
HRESULT (STDMETHODCALLTYPE *FlushStreams)(
IDeckLinkEncoderInput *This);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkEncoderInput *This,
IDeckLinkEncoderInputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkEncoderInput *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame);
END_INTERFACE
} IDeckLinkEncoderInputVtbl;
interface IDeckLinkEncoderInput {
CONST_VTBL IDeckLinkEncoderInputVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkEncoderInput_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkEncoderInput_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkEncoderInput_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkEncoderInput methods ***/
#define IDeckLinkEncoderInput_DoesSupportVideoMode(This,connection,requestedMode,requestedCodec,requestedCodecProfile,flags,supported) (This)->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedCodec,requestedCodecProfile,flags,supported)
#define IDeckLinkEncoderInput_GetDisplayMode(This,displayMode,resultDisplayMode) (This)->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode)
#define IDeckLinkEncoderInput_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkEncoderInput_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags)
#define IDeckLinkEncoderInput_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This)
#define IDeckLinkEncoderInput_GetAvailablePacketsCount(This,availablePacketsCount) (This)->lpVtbl->GetAvailablePacketsCount(This,availablePacketsCount)
#define IDeckLinkEncoderInput_SetMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetMemoryAllocator(This,theAllocator)
#define IDeckLinkEncoderInput_EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount)
#define IDeckLinkEncoderInput_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This)
#define IDeckLinkEncoderInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) (This)->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount)
#define IDeckLinkEncoderInput_StartStreams(This) (This)->lpVtbl->StartStreams(This)
#define IDeckLinkEncoderInput_StopStreams(This) (This)->lpVtbl->StopStreams(This)
#define IDeckLinkEncoderInput_PauseStreams(This) (This)->lpVtbl->PauseStreams(This)
#define IDeckLinkEncoderInput_FlushStreams(This) (This)->lpVtbl->FlushStreams(This)
#define IDeckLinkEncoderInput_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback)
#define IDeckLinkEncoderInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderInput_QueryInterface(IDeckLinkEncoderInput* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkEncoderInput_AddRef(IDeckLinkEncoderInput* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkEncoderInput_Release(IDeckLinkEncoderInput* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkEncoderInput methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderInput_DoesSupportVideoMode(IDeckLinkEncoderInput* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedCodec,unsigned int requestedCodecProfile,BMDSupportedVideoModeFlags flags,BOOL *supported) {
return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedCodec,requestedCodecProfile,flags,supported);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_GetDisplayMode(IDeckLinkEncoderInput* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) {
return This->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_GetDisplayModeIterator(IDeckLinkEncoderInput* This,IDeckLinkDisplayModeIterator **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_EnableVideoInput(IDeckLinkEncoderInput* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) {
return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_DisableVideoInput(IDeckLinkEncoderInput* This) {
return This->lpVtbl->DisableVideoInput(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_GetAvailablePacketsCount(IDeckLinkEncoderInput* This,unsigned int *availablePacketsCount) {
return This->lpVtbl->GetAvailablePacketsCount(This,availablePacketsCount);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_SetMemoryAllocator(IDeckLinkEncoderInput* This,IDeckLinkMemoryAllocator *theAllocator) {
return This->lpVtbl->SetMemoryAllocator(This,theAllocator);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_EnableAudioInput(IDeckLinkEncoderInput* This,BMDAudioFormat audioFormat,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) {
return This->lpVtbl->EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_DisableAudioInput(IDeckLinkEncoderInput* This) {
return This->lpVtbl->DisableAudioInput(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_GetAvailableAudioSampleFrameCount(IDeckLinkEncoderInput* This,unsigned int *availableSampleFrameCount) {
return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_StartStreams(IDeckLinkEncoderInput* This) {
return This->lpVtbl->StartStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_StopStreams(IDeckLinkEncoderInput* This) {
return This->lpVtbl->StopStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_PauseStreams(IDeckLinkEncoderInput* This) {
return This->lpVtbl->PauseStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_FlushStreams(IDeckLinkEncoderInput* This) {
return This->lpVtbl->FlushStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_SetCallback(IDeckLinkEncoderInput* This,IDeckLinkEncoderInputCallback *theCallback) {
return This->lpVtbl->SetCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_GetHardwareReferenceClock(IDeckLinkEncoderInput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkEncoderInput_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoFrame interface
*/
#ifndef __IDeckLinkVideoFrame_INTERFACE_DEFINED__
#define __IDeckLinkVideoFrame_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoFrame, 0x3f716fe0, 0xf023, 0x4111, 0xbe,0x5d, 0xef,0x44,0x14,0xc0,0x5b,0x17);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3f716fe0-f023-4111-be5d-ef4414c05b17")
IDeckLinkVideoFrame : public IUnknown
{
virtual LONG STDMETHODCALLTYPE GetWidth(
) = 0;
virtual LONG STDMETHODCALLTYPE GetHeight(
) = 0;
virtual LONG STDMETHODCALLTYPE GetRowBytes(
) = 0;
virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat(
) = 0;
virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytes(
void **buffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecode(
BMDTimecodeFormat format,
IDeckLinkTimecode **timecode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(
IDeckLinkVideoFrameAncillary **ancillary) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoFrame, 0x3f716fe0, 0xf023, 0x4111, 0xbe,0x5d, 0xef,0x44,0x14,0xc0,0x5b,0x17)
#endif
#else
typedef struct IDeckLinkVideoFrameVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoFrame *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoFrame *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoFrame *This);
/*** IDeckLinkVideoFrame methods ***/
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkVideoFrame *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkVideoFrame *This);
LONG (STDMETHODCALLTYPE *GetRowBytes)(
IDeckLinkVideoFrame *This);
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkVideoFrame *This);
BMDFrameFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkVideoFrame *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkVideoFrame *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkVideoFrame *This,
BMDTimecodeFormat format,
IDeckLinkTimecode **timecode);
HRESULT (STDMETHODCALLTYPE *GetAncillaryData)(
IDeckLinkVideoFrame *This,
IDeckLinkVideoFrameAncillary **ancillary);
END_INTERFACE
} IDeckLinkVideoFrameVtbl;
interface IDeckLinkVideoFrame {
CONST_VTBL IDeckLinkVideoFrameVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoFrame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoFrame_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoFrame_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrame methods ***/
#define IDeckLinkVideoFrame_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkVideoFrame_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkVideoFrame_GetRowBytes(This) (This)->lpVtbl->GetRowBytes(This)
#define IDeckLinkVideoFrame_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkVideoFrame_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#define IDeckLinkVideoFrame_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkVideoFrame_GetTimecode(This,format,timecode) (This)->lpVtbl->GetTimecode(This,format,timecode)
#define IDeckLinkVideoFrame_GetAncillaryData(This,ancillary) (This)->lpVtbl->GetAncillaryData(This,ancillary)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoFrame_QueryInterface(IDeckLinkVideoFrame* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoFrame_AddRef(IDeckLinkVideoFrame* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoFrame_Release(IDeckLinkVideoFrame* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrame methods ***/
static FORCEINLINE LONG IDeckLinkVideoFrame_GetWidth(IDeckLinkVideoFrame* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkVideoFrame_GetHeight(IDeckLinkVideoFrame* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE LONG IDeckLinkVideoFrame_GetRowBytes(IDeckLinkVideoFrame* This) {
return This->lpVtbl->GetRowBytes(This);
}
static FORCEINLINE BMDPixelFormat IDeckLinkVideoFrame_GetPixelFormat(IDeckLinkVideoFrame* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE BMDFrameFlags IDeckLinkVideoFrame_GetFlags(IDeckLinkVideoFrame* This) {
return This->lpVtbl->GetFlags(This);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrame_GetBytes(IDeckLinkVideoFrame* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrame_GetTimecode(IDeckLinkVideoFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) {
return This->lpVtbl->GetTimecode(This,format,timecode);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrame_GetAncillaryData(IDeckLinkVideoFrame* This,IDeckLinkVideoFrameAncillary **ancillary) {
return This->lpVtbl->GetAncillaryData(This,ancillary);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoFrame_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkMutableVideoFrame interface
*/
#ifndef __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__
#define __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkMutableVideoFrame, 0x69e2639f, 0x40da, 0x4e19, 0xb6,0xf2, 0x20,0xac,0xe8,0x15,0xc3,0x90);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("69e2639f-40da-4e19-b6f2-20ace815c390")
IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame
{
virtual HRESULT STDMETHODCALLTYPE SetFlags(
BMDFrameFlags newFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimecode(
BMDTimecodeFormat format,
IDeckLinkTimecode *timecode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents(
BMDTimecodeFormat format,
unsigned char hours,
unsigned char minutes,
unsigned char seconds,
unsigned char frames,
BMDTimecodeFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAncillaryData(
IDeckLinkVideoFrameAncillary *ancillary) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimecodeUserBits(
BMDTimecodeFormat format,
BMDTimecodeUserBits userBits) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkMutableVideoFrame, 0x69e2639f, 0x40da, 0x4e19, 0xb6,0xf2, 0x20,0xac,0xe8,0x15,0xc3,0x90)
#endif
#else
typedef struct IDeckLinkMutableVideoFrameVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkMutableVideoFrame *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkMutableVideoFrame *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkMutableVideoFrame *This);
/*** IDeckLinkVideoFrame methods ***/
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkMutableVideoFrame *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkMutableVideoFrame *This);
LONG (STDMETHODCALLTYPE *GetRowBytes)(
IDeckLinkMutableVideoFrame *This);
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkMutableVideoFrame *This);
BMDFrameFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkMutableVideoFrame *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkMutableVideoFrame *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkMutableVideoFrame *This,
BMDTimecodeFormat format,
IDeckLinkTimecode **timecode);
HRESULT (STDMETHODCALLTYPE *GetAncillaryData)(
IDeckLinkMutableVideoFrame *This,
IDeckLinkVideoFrameAncillary **ancillary);
/*** IDeckLinkMutableVideoFrame methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlags)(
IDeckLinkMutableVideoFrame *This,
BMDFrameFlags newFlags);
HRESULT (STDMETHODCALLTYPE *SetTimecode)(
IDeckLinkMutableVideoFrame *This,
BMDTimecodeFormat format,
IDeckLinkTimecode *timecode);
HRESULT (STDMETHODCALLTYPE *SetTimecodeFromComponents)(
IDeckLinkMutableVideoFrame *This,
BMDTimecodeFormat format,
unsigned char hours,
unsigned char minutes,
unsigned char seconds,
unsigned char frames,
BMDTimecodeFlags flags);
HRESULT (STDMETHODCALLTYPE *SetAncillaryData)(
IDeckLinkMutableVideoFrame *This,
IDeckLinkVideoFrameAncillary *ancillary);
HRESULT (STDMETHODCALLTYPE *SetTimecodeUserBits)(
IDeckLinkMutableVideoFrame *This,
BMDTimecodeFormat format,
BMDTimecodeUserBits userBits);
END_INTERFACE
} IDeckLinkMutableVideoFrameVtbl;
interface IDeckLinkMutableVideoFrame {
CONST_VTBL IDeckLinkMutableVideoFrameVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkMutableVideoFrame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkMutableVideoFrame_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkMutableVideoFrame_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrame methods ***/
#define IDeckLinkMutableVideoFrame_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkMutableVideoFrame_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkMutableVideoFrame_GetRowBytes(This) (This)->lpVtbl->GetRowBytes(This)
#define IDeckLinkMutableVideoFrame_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkMutableVideoFrame_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#define IDeckLinkMutableVideoFrame_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkMutableVideoFrame_GetTimecode(This,format,timecode) (This)->lpVtbl->GetTimecode(This,format,timecode)
#define IDeckLinkMutableVideoFrame_GetAncillaryData(This,ancillary) (This)->lpVtbl->GetAncillaryData(This,ancillary)
/*** IDeckLinkMutableVideoFrame methods ***/
#define IDeckLinkMutableVideoFrame_SetFlags(This,newFlags) (This)->lpVtbl->SetFlags(This,newFlags)
#define IDeckLinkMutableVideoFrame_SetTimecode(This,format,timecode) (This)->lpVtbl->SetTimecode(This,format,timecode)
#define IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) (This)->lpVtbl->SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags)
#define IDeckLinkMutableVideoFrame_SetAncillaryData(This,ancillary) (This)->lpVtbl->SetAncillaryData(This,ancillary)
#define IDeckLinkMutableVideoFrame_SetTimecodeUserBits(This,format,userBits) (This)->lpVtbl->SetTimecodeUserBits(This,format,userBits)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_QueryInterface(IDeckLinkMutableVideoFrame* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkMutableVideoFrame_AddRef(IDeckLinkMutableVideoFrame* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkMutableVideoFrame_Release(IDeckLinkMutableVideoFrame* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrame methods ***/
static FORCEINLINE LONG IDeckLinkMutableVideoFrame_GetWidth(IDeckLinkMutableVideoFrame* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkMutableVideoFrame_GetHeight(IDeckLinkMutableVideoFrame* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE LONG IDeckLinkMutableVideoFrame_GetRowBytes(IDeckLinkMutableVideoFrame* This) {
return This->lpVtbl->GetRowBytes(This);
}
static FORCEINLINE BMDPixelFormat IDeckLinkMutableVideoFrame_GetPixelFormat(IDeckLinkMutableVideoFrame* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE BMDFrameFlags IDeckLinkMutableVideoFrame_GetFlags(IDeckLinkMutableVideoFrame* This) {
return This->lpVtbl->GetFlags(This);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_GetBytes(IDeckLinkMutableVideoFrame* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_GetTimecode(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) {
return This->lpVtbl->GetTimecode(This,format,timecode);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_GetAncillaryData(IDeckLinkMutableVideoFrame* This,IDeckLinkVideoFrameAncillary **ancillary) {
return This->lpVtbl->GetAncillaryData(This,ancillary);
}
/*** IDeckLinkMutableVideoFrame methods ***/
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_SetFlags(IDeckLinkMutableVideoFrame* This,BMDFrameFlags newFlags) {
return This->lpVtbl->SetFlags(This,newFlags);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_SetTimecode(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode *timecode) {
return This->lpVtbl->SetTimecode(This,format,timecode);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,unsigned char hours,unsigned char minutes,unsigned char seconds,unsigned char frames,BMDTimecodeFlags flags) {
return This->lpVtbl->SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_SetAncillaryData(IDeckLinkMutableVideoFrame* This,IDeckLinkVideoFrameAncillary *ancillary) {
return This->lpVtbl->SetAncillaryData(This,ancillary);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_SetTimecodeUserBits(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,BMDTimecodeUserBits userBits) {
return This->lpVtbl->SetTimecodeUserBits(This,format,userBits);
}
#endif
#endif
#endif
#endif /* __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoFrame3DExtensions interface
*/
#ifndef __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__
#define __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoFrame3DExtensions, 0xda0f7e4a, 0xedc7, 0x48a8, 0x9c,0xdd, 0x2d,0xb5,0x1c,0x72,0x9c,0xd7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("da0f7e4a-edc7-48a8-9cdd-2db51c729cd7")
IDeckLinkVideoFrame3DExtensions : public IUnknown
{
virtual BMDVideo3DPackingFormat STDMETHODCALLTYPE Get3DPackingFormat(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFrameForRightEye(
IDeckLinkVideoFrame **rightEyeFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoFrame3DExtensions, 0xda0f7e4a, 0xedc7, 0x48a8, 0x9c,0xdd, 0x2d,0xb5,0x1c,0x72,0x9c,0xd7)
#endif
#else
typedef struct IDeckLinkVideoFrame3DExtensionsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoFrame3DExtensions *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoFrame3DExtensions *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoFrame3DExtensions *This);
/*** IDeckLinkVideoFrame3DExtensions methods ***/
BMDVideo3DPackingFormat (STDMETHODCALLTYPE *Get3DPackingFormat)(
IDeckLinkVideoFrame3DExtensions *This);
HRESULT (STDMETHODCALLTYPE *GetFrameForRightEye)(
IDeckLinkVideoFrame3DExtensions *This,
IDeckLinkVideoFrame **rightEyeFrame);
END_INTERFACE
} IDeckLinkVideoFrame3DExtensionsVtbl;
interface IDeckLinkVideoFrame3DExtensions {
CONST_VTBL IDeckLinkVideoFrame3DExtensionsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoFrame3DExtensions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoFrame3DExtensions_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoFrame3DExtensions_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrame3DExtensions methods ***/
#define IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(This) (This)->lpVtbl->Get3DPackingFormat(This)
#define IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(This,rightEyeFrame) (This)->lpVtbl->GetFrameForRightEye(This,rightEyeFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoFrame3DExtensions_QueryInterface(IDeckLinkVideoFrame3DExtensions* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoFrame3DExtensions_AddRef(IDeckLinkVideoFrame3DExtensions* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoFrame3DExtensions_Release(IDeckLinkVideoFrame3DExtensions* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrame3DExtensions methods ***/
static FORCEINLINE BMDVideo3DPackingFormat IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(IDeckLinkVideoFrame3DExtensions* This) {
return This->lpVtbl->Get3DPackingFormat(This);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(IDeckLinkVideoFrame3DExtensions* This,IDeckLinkVideoFrame **rightEyeFrame) {
return This->lpVtbl->GetFrameForRightEye(This,rightEyeFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoFrameMetadataExtensions interface
*/
#ifndef __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__
#define __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoFrameMetadataExtensions, 0xd5973dc9, 0x6432, 0x46d0, 0x8f,0x0b, 0x24,0x96,0xf8,0xa1,0x23,0x8f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d5973dc9-6432-46d0-8f0b-2496f8a1238f")
IDeckLinkVideoFrameMetadataExtensions : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkFrameMetadataID metadataID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkFrameMetadataID metadataID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkFrameMetadataID metadataID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkFrameMetadataID metadataID,
BSTR *value) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoFrameMetadataExtensions, 0xd5973dc9, 0x6432, 0x46d0, 0x8f,0x0b, 0x24,0x96,0xf8,0xa1,0x23,0x8f)
#endif
#else
typedef struct IDeckLinkVideoFrameMetadataExtensionsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoFrameMetadataExtensions *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoFrameMetadataExtensions *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoFrameMetadataExtensions *This);
/*** IDeckLinkVideoFrameMetadataExtensions methods ***/
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkVideoFrameMetadataExtensions *This,
BMDDeckLinkFrameMetadataID metadataID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkVideoFrameMetadataExtensions *This,
BMDDeckLinkFrameMetadataID metadataID,
double *value);
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkVideoFrameMetadataExtensions *This,
BMDDeckLinkFrameMetadataID metadataID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkVideoFrameMetadataExtensions *This,
BMDDeckLinkFrameMetadataID metadataID,
BSTR *value);
END_INTERFACE
} IDeckLinkVideoFrameMetadataExtensionsVtbl;
interface IDeckLinkVideoFrameMetadataExtensions {
CONST_VTBL IDeckLinkVideoFrameMetadataExtensionsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoFrameMetadataExtensions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoFrameMetadataExtensions_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoFrameMetadataExtensions_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrameMetadataExtensions methods ***/
#define IDeckLinkVideoFrameMetadataExtensions_GetInt(This,metadataID,value) (This)->lpVtbl->GetInt(This,metadataID,value)
#define IDeckLinkVideoFrameMetadataExtensions_GetFloat(This,metadataID,value) (This)->lpVtbl->GetFloat(This,metadataID,value)
#define IDeckLinkVideoFrameMetadataExtensions_GetFlag(This,metadataID,value) (This)->lpVtbl->GetFlag(This,metadataID,value)
#define IDeckLinkVideoFrameMetadataExtensions_GetString(This,metadataID,value) (This)->lpVtbl->GetString(This,metadataID,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_QueryInterface(IDeckLinkVideoFrameMetadataExtensions* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoFrameMetadataExtensions_AddRef(IDeckLinkVideoFrameMetadataExtensions* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoFrameMetadataExtensions_Release(IDeckLinkVideoFrameMetadataExtensions* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrameMetadataExtensions methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_GetInt(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,metadataID,value);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_GetFloat(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,double *value) {
return This->lpVtbl->GetFloat(This,metadataID,value);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_GetFlag(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,BOOL *value) {
return This->lpVtbl->GetFlag(This,metadataID,value);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_GetString(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,BSTR *value) {
return This->lpVtbl->GetString(This,metadataID,value);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoInputFrame interface
*/
#ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
#define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoInputFrame, 0x05cfe374, 0x537c, 0x4094, 0x9a,0x57, 0x68,0x05,0x25,0x11,0x8f,0x44);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("05cfe374-537c-4094-9a57-680525118f44")
IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame
{
virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
BMDTimeScale timeScale,
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoInputFrame, 0x05cfe374, 0x537c, 0x4094, 0x9a,0x57, 0x68,0x05,0x25,0x11,0x8f,0x44)
#endif
#else
typedef struct IDeckLinkVideoInputFrameVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoInputFrame *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoInputFrame *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoInputFrame *This);
/*** IDeckLinkVideoFrame methods ***/
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkVideoInputFrame *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkVideoInputFrame *This);
LONG (STDMETHODCALLTYPE *GetRowBytes)(
IDeckLinkVideoInputFrame *This);
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkVideoInputFrame *This);
BMDFrameFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkVideoInputFrame *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkVideoInputFrame *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkVideoInputFrame *This,
BMDTimecodeFormat format,
IDeckLinkTimecode **timecode);
HRESULT (STDMETHODCALLTYPE *GetAncillaryData)(
IDeckLinkVideoInputFrame *This,
IDeckLinkVideoFrameAncillary **ancillary);
/*** IDeckLinkVideoInputFrame methods ***/
HRESULT (STDMETHODCALLTYPE *GetStreamTime)(
IDeckLinkVideoInputFrame *This,
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceTimestamp)(
IDeckLinkVideoInputFrame *This,
BMDTimeScale timeScale,
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration);
END_INTERFACE
} IDeckLinkVideoInputFrameVtbl;
interface IDeckLinkVideoInputFrame {
CONST_VTBL IDeckLinkVideoInputFrameVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoInputFrame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoInputFrame_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoInputFrame_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrame methods ***/
#define IDeckLinkVideoInputFrame_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkVideoInputFrame_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkVideoInputFrame_GetRowBytes(This) (This)->lpVtbl->GetRowBytes(This)
#define IDeckLinkVideoInputFrame_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkVideoInputFrame_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#define IDeckLinkVideoInputFrame_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkVideoInputFrame_GetTimecode(This,format,timecode) (This)->lpVtbl->GetTimecode(This,format,timecode)
#define IDeckLinkVideoInputFrame_GetAncillaryData(This,ancillary) (This)->lpVtbl->GetAncillaryData(This,ancillary)
/*** IDeckLinkVideoInputFrame methods ***/
#define IDeckLinkVideoInputFrame_GetStreamTime(This,frameTime,frameDuration,timeScale) (This)->lpVtbl->GetStreamTime(This,frameTime,frameDuration,timeScale)
#define IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) (This)->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_QueryInterface(IDeckLinkVideoInputFrame* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoInputFrame_AddRef(IDeckLinkVideoInputFrame* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoInputFrame_Release(IDeckLinkVideoInputFrame* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrame methods ***/
static FORCEINLINE LONG IDeckLinkVideoInputFrame_GetWidth(IDeckLinkVideoInputFrame* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkVideoInputFrame_GetHeight(IDeckLinkVideoInputFrame* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE LONG IDeckLinkVideoInputFrame_GetRowBytes(IDeckLinkVideoInputFrame* This) {
return This->lpVtbl->GetRowBytes(This);
}
static FORCEINLINE BMDPixelFormat IDeckLinkVideoInputFrame_GetPixelFormat(IDeckLinkVideoInputFrame* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE BMDFrameFlags IDeckLinkVideoInputFrame_GetFlags(IDeckLinkVideoInputFrame* This) {
return This->lpVtbl->GetFlags(This);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_GetBytes(IDeckLinkVideoInputFrame* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_GetTimecode(IDeckLinkVideoInputFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) {
return This->lpVtbl->GetTimecode(This,format,timecode);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_GetAncillaryData(IDeckLinkVideoInputFrame* This,IDeckLinkVideoFrameAncillary **ancillary) {
return This->lpVtbl->GetAncillaryData(This,ancillary);
}
/*** IDeckLinkVideoInputFrame methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_GetStreamTime(IDeckLinkVideoInputFrame* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) {
return This->lpVtbl->GetStreamTime(This,frameTime,frameDuration,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(IDeckLinkVideoInputFrame* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) {
return This->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkAncillaryPacket interface
*/
#ifndef __IDeckLinkAncillaryPacket_INTERFACE_DEFINED__
#define __IDeckLinkAncillaryPacket_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkAncillaryPacket, 0xcc5bbf7e, 0x029c, 0x4d3b, 0x91,0x58, 0x60,0x00,0xef,0x5e,0x36,0x70);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cc5bbf7e-029c-4d3b-9158-6000ef5e3670")
IDeckLinkAncillaryPacket : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetBytes(
BMDAncillaryPacketFormat format,
const void **data,
unsigned int *size) = 0;
virtual unsigned char STDMETHODCALLTYPE GetDID(
) = 0;
virtual unsigned char STDMETHODCALLTYPE GetSDID(
) = 0;
virtual unsigned int STDMETHODCALLTYPE GetLineNumber(
) = 0;
virtual unsigned char STDMETHODCALLTYPE GetDataStreamIndex(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkAncillaryPacket, 0xcc5bbf7e, 0x029c, 0x4d3b, 0x91,0x58, 0x60,0x00,0xef,0x5e,0x36,0x70)
#endif
#else
typedef struct IDeckLinkAncillaryPacketVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkAncillaryPacket *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkAncillaryPacket *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkAncillaryPacket *This);
/*** IDeckLinkAncillaryPacket methods ***/
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkAncillaryPacket *This,
BMDAncillaryPacketFormat format,
const void **data,
unsigned int *size);
unsigned char (STDMETHODCALLTYPE *GetDID)(
IDeckLinkAncillaryPacket *This);
unsigned char (STDMETHODCALLTYPE *GetSDID)(
IDeckLinkAncillaryPacket *This);
unsigned int (STDMETHODCALLTYPE *GetLineNumber)(
IDeckLinkAncillaryPacket *This);
unsigned char (STDMETHODCALLTYPE *GetDataStreamIndex)(
IDeckLinkAncillaryPacket *This);
END_INTERFACE
} IDeckLinkAncillaryPacketVtbl;
interface IDeckLinkAncillaryPacket {
CONST_VTBL IDeckLinkAncillaryPacketVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkAncillaryPacket_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkAncillaryPacket_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkAncillaryPacket_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkAncillaryPacket methods ***/
#define IDeckLinkAncillaryPacket_GetBytes(This,format,data,size) (This)->lpVtbl->GetBytes(This,format,data,size)
#define IDeckLinkAncillaryPacket_GetDID(This) (This)->lpVtbl->GetDID(This)
#define IDeckLinkAncillaryPacket_GetSDID(This) (This)->lpVtbl->GetSDID(This)
#define IDeckLinkAncillaryPacket_GetLineNumber(This) (This)->lpVtbl->GetLineNumber(This)
#define IDeckLinkAncillaryPacket_GetDataStreamIndex(This) (This)->lpVtbl->GetDataStreamIndex(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkAncillaryPacket_QueryInterface(IDeckLinkAncillaryPacket* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkAncillaryPacket_AddRef(IDeckLinkAncillaryPacket* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkAncillaryPacket_Release(IDeckLinkAncillaryPacket* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkAncillaryPacket methods ***/
static FORCEINLINE HRESULT IDeckLinkAncillaryPacket_GetBytes(IDeckLinkAncillaryPacket* This,BMDAncillaryPacketFormat format,const void **data,unsigned int *size) {
return This->lpVtbl->GetBytes(This,format,data,size);
}
static FORCEINLINE unsigned char IDeckLinkAncillaryPacket_GetDID(IDeckLinkAncillaryPacket* This) {
return This->lpVtbl->GetDID(This);
}
static FORCEINLINE unsigned char IDeckLinkAncillaryPacket_GetSDID(IDeckLinkAncillaryPacket* This) {
return This->lpVtbl->GetSDID(This);
}
static FORCEINLINE unsigned int IDeckLinkAncillaryPacket_GetLineNumber(IDeckLinkAncillaryPacket* This) {
return This->lpVtbl->GetLineNumber(This);
}
static FORCEINLINE unsigned char IDeckLinkAncillaryPacket_GetDataStreamIndex(IDeckLinkAncillaryPacket* This) {
return This->lpVtbl->GetDataStreamIndex(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkAncillaryPacket_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkAncillaryPacketIterator interface
*/
#ifndef __IDeckLinkAncillaryPacketIterator_INTERFACE_DEFINED__
#define __IDeckLinkAncillaryPacketIterator_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkAncillaryPacketIterator, 0x3fc8994b, 0x88fb, 0x4c17, 0x96,0x8f, 0x9a,0xab,0x69,0xd9,0x64,0xa7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3fc8994b-88fb-4c17-968f-9aab69d964a7")
IDeckLinkAncillaryPacketIterator : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
IDeckLinkAncillaryPacket **packet) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkAncillaryPacketIterator, 0x3fc8994b, 0x88fb, 0x4c17, 0x96,0x8f, 0x9a,0xab,0x69,0xd9,0x64,0xa7)
#endif
#else
typedef struct IDeckLinkAncillaryPacketIteratorVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkAncillaryPacketIterator *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkAncillaryPacketIterator *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkAncillaryPacketIterator *This);
/*** IDeckLinkAncillaryPacketIterator methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IDeckLinkAncillaryPacketIterator *This,
IDeckLinkAncillaryPacket **packet);
END_INTERFACE
} IDeckLinkAncillaryPacketIteratorVtbl;
interface IDeckLinkAncillaryPacketIterator {
CONST_VTBL IDeckLinkAncillaryPacketIteratorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkAncillaryPacketIterator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkAncillaryPacketIterator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkAncillaryPacketIterator_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkAncillaryPacketIterator methods ***/
#define IDeckLinkAncillaryPacketIterator_Next(This,packet) (This)->lpVtbl->Next(This,packet)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkAncillaryPacketIterator_QueryInterface(IDeckLinkAncillaryPacketIterator* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkAncillaryPacketIterator_AddRef(IDeckLinkAncillaryPacketIterator* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkAncillaryPacketIterator_Release(IDeckLinkAncillaryPacketIterator* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkAncillaryPacketIterator methods ***/
static FORCEINLINE HRESULT IDeckLinkAncillaryPacketIterator_Next(IDeckLinkAncillaryPacketIterator* This,IDeckLinkAncillaryPacket **packet) {
return This->lpVtbl->Next(This,packet);
}
#endif
#endif
#endif
#endif /* __IDeckLinkAncillaryPacketIterator_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoFrameAncillaryPackets interface
*/
#ifndef __IDeckLinkVideoFrameAncillaryPackets_INTERFACE_DEFINED__
#define __IDeckLinkVideoFrameAncillaryPackets_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoFrameAncillaryPackets, 0x6c186c0f, 0x459e, 0x41d8, 0xae,0xe2, 0x48,0x12,0xd8,0x1a,0xee,0x68);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6c186c0f-459e-41d8-aee2-4812d81aee68")
IDeckLinkVideoFrameAncillaryPackets : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetPacketIterator(
IDeckLinkAncillaryPacketIterator **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFirstPacketByID(
unsigned char DID,
unsigned char SDID,
IDeckLinkAncillaryPacket **packet) = 0;
virtual HRESULT STDMETHODCALLTYPE AttachPacket(
IDeckLinkAncillaryPacket *packet) = 0;
virtual HRESULT STDMETHODCALLTYPE DetachPacket(
IDeckLinkAncillaryPacket *packet) = 0;
virtual HRESULT STDMETHODCALLTYPE DetachAllPackets(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoFrameAncillaryPackets, 0x6c186c0f, 0x459e, 0x41d8, 0xae,0xe2, 0x48,0x12,0xd8,0x1a,0xee,0x68)
#endif
#else
typedef struct IDeckLinkVideoFrameAncillaryPacketsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoFrameAncillaryPackets *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoFrameAncillaryPackets *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoFrameAncillaryPackets *This);
/*** IDeckLinkVideoFrameAncillaryPackets methods ***/
HRESULT (STDMETHODCALLTYPE *GetPacketIterator)(
IDeckLinkVideoFrameAncillaryPackets *This,
IDeckLinkAncillaryPacketIterator **iterator);
HRESULT (STDMETHODCALLTYPE *GetFirstPacketByID)(
IDeckLinkVideoFrameAncillaryPackets *This,
unsigned char DID,
unsigned char SDID,
IDeckLinkAncillaryPacket **packet);
HRESULT (STDMETHODCALLTYPE *AttachPacket)(
IDeckLinkVideoFrameAncillaryPackets *This,
IDeckLinkAncillaryPacket *packet);
HRESULT (STDMETHODCALLTYPE *DetachPacket)(
IDeckLinkVideoFrameAncillaryPackets *This,
IDeckLinkAncillaryPacket *packet);
HRESULT (STDMETHODCALLTYPE *DetachAllPackets)(
IDeckLinkVideoFrameAncillaryPackets *This);
END_INTERFACE
} IDeckLinkVideoFrameAncillaryPacketsVtbl;
interface IDeckLinkVideoFrameAncillaryPackets {
CONST_VTBL IDeckLinkVideoFrameAncillaryPacketsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoFrameAncillaryPackets_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoFrameAncillaryPackets_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoFrameAncillaryPackets_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrameAncillaryPackets methods ***/
#define IDeckLinkVideoFrameAncillaryPackets_GetPacketIterator(This,iterator) (This)->lpVtbl->GetPacketIterator(This,iterator)
#define IDeckLinkVideoFrameAncillaryPackets_GetFirstPacketByID(This,DID,SDID,packet) (This)->lpVtbl->GetFirstPacketByID(This,DID,SDID,packet)
#define IDeckLinkVideoFrameAncillaryPackets_AttachPacket(This,packet) (This)->lpVtbl->AttachPacket(This,packet)
#define IDeckLinkVideoFrameAncillaryPackets_DetachPacket(This,packet) (This)->lpVtbl->DetachPacket(This,packet)
#define IDeckLinkVideoFrameAncillaryPackets_DetachAllPackets(This) (This)->lpVtbl->DetachAllPackets(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_QueryInterface(IDeckLinkVideoFrameAncillaryPackets* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoFrameAncillaryPackets_AddRef(IDeckLinkVideoFrameAncillaryPackets* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoFrameAncillaryPackets_Release(IDeckLinkVideoFrameAncillaryPackets* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrameAncillaryPackets methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_GetPacketIterator(IDeckLinkVideoFrameAncillaryPackets* This,IDeckLinkAncillaryPacketIterator **iterator) {
return This->lpVtbl->GetPacketIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_GetFirstPacketByID(IDeckLinkVideoFrameAncillaryPackets* This,unsigned char DID,unsigned char SDID,IDeckLinkAncillaryPacket **packet) {
return This->lpVtbl->GetFirstPacketByID(This,DID,SDID,packet);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_AttachPacket(IDeckLinkVideoFrameAncillaryPackets* This,IDeckLinkAncillaryPacket *packet) {
return This->lpVtbl->AttachPacket(This,packet);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_DetachPacket(IDeckLinkVideoFrameAncillaryPackets* This,IDeckLinkAncillaryPacket *packet) {
return This->lpVtbl->DetachPacket(This,packet);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_DetachAllPackets(IDeckLinkVideoFrameAncillaryPackets* This) {
return This->lpVtbl->DetachAllPackets(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoFrameAncillaryPackets_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoFrameAncillary interface
*/
#ifndef __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__
#define __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoFrameAncillary, 0x732e723c, 0xd1a4, 0x4e29, 0x9e,0x8e, 0x4a,0x88,0x79,0x7a,0x00,0x04);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("732e723c-d1a4-4e29-9e8e-4a88797a0004")
IDeckLinkVideoFrameAncillary : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetBufferForVerticalBlankingLine(
unsigned int lineNumber,
void **buffer) = 0;
virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat(
) = 0;
virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoFrameAncillary, 0x732e723c, 0xd1a4, 0x4e29, 0x9e,0x8e, 0x4a,0x88,0x79,0x7a,0x00,0x04)
#endif
#else
typedef struct IDeckLinkVideoFrameAncillaryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoFrameAncillary *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoFrameAncillary *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoFrameAncillary *This);
/*** IDeckLinkVideoFrameAncillary methods ***/
HRESULT (STDMETHODCALLTYPE *GetBufferForVerticalBlankingLine)(
IDeckLinkVideoFrameAncillary *This,
unsigned int lineNumber,
void **buffer);
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkVideoFrameAncillary *This);
BMDDisplayMode (STDMETHODCALLTYPE *GetDisplayMode)(
IDeckLinkVideoFrameAncillary *This);
END_INTERFACE
} IDeckLinkVideoFrameAncillaryVtbl;
interface IDeckLinkVideoFrameAncillary {
CONST_VTBL IDeckLinkVideoFrameAncillaryVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoFrameAncillary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoFrameAncillary_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoFrameAncillary_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrameAncillary methods ***/
#define IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(This,lineNumber,buffer) (This)->lpVtbl->GetBufferForVerticalBlankingLine(This,lineNumber,buffer)
#define IDeckLinkVideoFrameAncillary_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkVideoFrameAncillary_GetDisplayMode(This) (This)->lpVtbl->GetDisplayMode(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillary_QueryInterface(IDeckLinkVideoFrameAncillary* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoFrameAncillary_AddRef(IDeckLinkVideoFrameAncillary* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoFrameAncillary_Release(IDeckLinkVideoFrameAncillary* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrameAncillary methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(IDeckLinkVideoFrameAncillary* This,unsigned int lineNumber,void **buffer) {
return This->lpVtbl->GetBufferForVerticalBlankingLine(This,lineNumber,buffer);
}
static FORCEINLINE BMDPixelFormat IDeckLinkVideoFrameAncillary_GetPixelFormat(IDeckLinkVideoFrameAncillary* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE BMDDisplayMode IDeckLinkVideoFrameAncillary_GetDisplayMode(IDeckLinkVideoFrameAncillary* This) {
return This->lpVtbl->GetDisplayMode(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkEncoderPacket interface
*/
#ifndef __IDeckLinkEncoderPacket_INTERFACE_DEFINED__
#define __IDeckLinkEncoderPacket_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkEncoderPacket, 0xb693f36c, 0x316e, 0x4af1, 0xb6,0xc2, 0xf3,0x89,0xa4,0xbc,0xa6,0x20);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b693f36c-316e-4af1-b6c2-f389a4bca620")
IDeckLinkEncoderPacket : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetBytes(
void **buffer) = 0;
virtual LONG STDMETHODCALLTYPE GetSize(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
BMDTimeValue *frameTime,
BMDTimeScale timeScale) = 0;
virtual BMDPacketType STDMETHODCALLTYPE GetPacketType(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkEncoderPacket, 0xb693f36c, 0x316e, 0x4af1, 0xb6,0xc2, 0xf3,0x89,0xa4,0xbc,0xa6,0x20)
#endif
#else
typedef struct IDeckLinkEncoderPacketVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkEncoderPacket *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkEncoderPacket *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkEncoderPacket *This);
/*** IDeckLinkEncoderPacket methods ***/
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkEncoderPacket *This,
void **buffer);
LONG (STDMETHODCALLTYPE *GetSize)(
IDeckLinkEncoderPacket *This);
HRESULT (STDMETHODCALLTYPE *GetStreamTime)(
IDeckLinkEncoderPacket *This,
BMDTimeValue *frameTime,
BMDTimeScale timeScale);
BMDPacketType (STDMETHODCALLTYPE *GetPacketType)(
IDeckLinkEncoderPacket *This);
END_INTERFACE
} IDeckLinkEncoderPacketVtbl;
interface IDeckLinkEncoderPacket {
CONST_VTBL IDeckLinkEncoderPacketVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkEncoderPacket_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkEncoderPacket_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkEncoderPacket_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkEncoderPacket methods ***/
#define IDeckLinkEncoderPacket_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkEncoderPacket_GetSize(This) (This)->lpVtbl->GetSize(This)
#define IDeckLinkEncoderPacket_GetStreamTime(This,frameTime,timeScale) (This)->lpVtbl->GetStreamTime(This,frameTime,timeScale)
#define IDeckLinkEncoderPacket_GetPacketType(This) (This)->lpVtbl->GetPacketType(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderPacket_QueryInterface(IDeckLinkEncoderPacket* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkEncoderPacket_AddRef(IDeckLinkEncoderPacket* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkEncoderPacket_Release(IDeckLinkEncoderPacket* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkEncoderPacket methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderPacket_GetBytes(IDeckLinkEncoderPacket* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE LONG IDeckLinkEncoderPacket_GetSize(IDeckLinkEncoderPacket* This) {
return This->lpVtbl->GetSize(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderPacket_GetStreamTime(IDeckLinkEncoderPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) {
return This->lpVtbl->GetStreamTime(This,frameTime,timeScale);
}
static FORCEINLINE BMDPacketType IDeckLinkEncoderPacket_GetPacketType(IDeckLinkEncoderPacket* This) {
return This->lpVtbl->GetPacketType(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkEncoderPacket_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkEncoderVideoPacket interface
*/
#ifndef __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__
#define __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkEncoderVideoPacket, 0x4e7fd944, 0xe8c7, 0x4eac, 0xb8,0xc0, 0x7b,0x77,0xf8,0x0f,0x5a,0xe0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4e7fd944-e8c7-4eac-b8c0-7b77f80f5ae0")
IDeckLinkEncoderVideoPacket : public IDeckLinkEncoderPacket
{
virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
BMDTimeScale timeScale,
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecode(
BMDTimecodeFormat format,
IDeckLinkTimecode **timecode) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkEncoderVideoPacket, 0x4e7fd944, 0xe8c7, 0x4eac, 0xb8,0xc0, 0x7b,0x77,0xf8,0x0f,0x5a,0xe0)
#endif
#else
typedef struct IDeckLinkEncoderVideoPacketVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkEncoderVideoPacket *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkEncoderVideoPacket *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkEncoderVideoPacket *This);
/*** IDeckLinkEncoderPacket methods ***/
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkEncoderVideoPacket *This,
void **buffer);
LONG (STDMETHODCALLTYPE *GetSize)(
IDeckLinkEncoderVideoPacket *This);
HRESULT (STDMETHODCALLTYPE *GetStreamTime)(
IDeckLinkEncoderVideoPacket *This,
BMDTimeValue *frameTime,
BMDTimeScale timeScale);
BMDPacketType (STDMETHODCALLTYPE *GetPacketType)(
IDeckLinkEncoderVideoPacket *This);
/*** IDeckLinkEncoderVideoPacket methods ***/
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkEncoderVideoPacket *This);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceTimestamp)(
IDeckLinkEncoderVideoPacket *This,
BMDTimeScale timeScale,
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkEncoderVideoPacket *This,
BMDTimecodeFormat format,
IDeckLinkTimecode **timecode);
END_INTERFACE
} IDeckLinkEncoderVideoPacketVtbl;
interface IDeckLinkEncoderVideoPacket {
CONST_VTBL IDeckLinkEncoderVideoPacketVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkEncoderVideoPacket_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkEncoderVideoPacket_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkEncoderVideoPacket_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkEncoderPacket methods ***/
#define IDeckLinkEncoderVideoPacket_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkEncoderVideoPacket_GetSize(This) (This)->lpVtbl->GetSize(This)
#define IDeckLinkEncoderVideoPacket_GetStreamTime(This,frameTime,timeScale) (This)->lpVtbl->GetStreamTime(This,frameTime,timeScale)
#define IDeckLinkEncoderVideoPacket_GetPacketType(This) (This)->lpVtbl->GetPacketType(This)
/*** IDeckLinkEncoderVideoPacket methods ***/
#define IDeckLinkEncoderVideoPacket_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkEncoderVideoPacket_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) (This)->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration)
#define IDeckLinkEncoderVideoPacket_GetTimecode(This,format,timecode) (This)->lpVtbl->GetTimecode(This,format,timecode)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderVideoPacket_QueryInterface(IDeckLinkEncoderVideoPacket* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkEncoderVideoPacket_AddRef(IDeckLinkEncoderVideoPacket* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkEncoderVideoPacket_Release(IDeckLinkEncoderVideoPacket* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkEncoderPacket methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderVideoPacket_GetBytes(IDeckLinkEncoderVideoPacket* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE LONG IDeckLinkEncoderVideoPacket_GetSize(IDeckLinkEncoderVideoPacket* This) {
return This->lpVtbl->GetSize(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderVideoPacket_GetStreamTime(IDeckLinkEncoderVideoPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) {
return This->lpVtbl->GetStreamTime(This,frameTime,timeScale);
}
static FORCEINLINE BMDPacketType IDeckLinkEncoderVideoPacket_GetPacketType(IDeckLinkEncoderVideoPacket* This) {
return This->lpVtbl->GetPacketType(This);
}
/*** IDeckLinkEncoderVideoPacket methods ***/
static FORCEINLINE BMDPixelFormat IDeckLinkEncoderVideoPacket_GetPixelFormat(IDeckLinkEncoderVideoPacket* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderVideoPacket_GetHardwareReferenceTimestamp(IDeckLinkEncoderVideoPacket* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) {
return This->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration);
}
static FORCEINLINE HRESULT IDeckLinkEncoderVideoPacket_GetTimecode(IDeckLinkEncoderVideoPacket* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) {
return This->lpVtbl->GetTimecode(This,format,timecode);
}
#endif
#endif
#endif
#endif /* __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkEncoderAudioPacket interface
*/
#ifndef __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__
#define __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkEncoderAudioPacket, 0x49e8edc8, 0x693b, 0x4e14, 0x8e,0xf6, 0x12,0xc6,0x58,0xf5,0xa0,0x7a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("49e8edc8-693b-4e14-8ef6-12c658f5a07a")
IDeckLinkEncoderAudioPacket : public IDeckLinkEncoderPacket
{
virtual BMDAudioFormat STDMETHODCALLTYPE GetAudioFormat(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkEncoderAudioPacket, 0x49e8edc8, 0x693b, 0x4e14, 0x8e,0xf6, 0x12,0xc6,0x58,0xf5,0xa0,0x7a)
#endif
#else
typedef struct IDeckLinkEncoderAudioPacketVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkEncoderAudioPacket *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkEncoderAudioPacket *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkEncoderAudioPacket *This);
/*** IDeckLinkEncoderPacket methods ***/
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkEncoderAudioPacket *This,
void **buffer);
LONG (STDMETHODCALLTYPE *GetSize)(
IDeckLinkEncoderAudioPacket *This);
HRESULT (STDMETHODCALLTYPE *GetStreamTime)(
IDeckLinkEncoderAudioPacket *This,
BMDTimeValue *frameTime,
BMDTimeScale timeScale);
BMDPacketType (STDMETHODCALLTYPE *GetPacketType)(
IDeckLinkEncoderAudioPacket *This);
/*** IDeckLinkEncoderAudioPacket methods ***/
BMDAudioFormat (STDMETHODCALLTYPE *GetAudioFormat)(
IDeckLinkEncoderAudioPacket *This);
END_INTERFACE
} IDeckLinkEncoderAudioPacketVtbl;
interface IDeckLinkEncoderAudioPacket {
CONST_VTBL IDeckLinkEncoderAudioPacketVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkEncoderAudioPacket_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkEncoderAudioPacket_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkEncoderAudioPacket_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkEncoderPacket methods ***/
#define IDeckLinkEncoderAudioPacket_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkEncoderAudioPacket_GetSize(This) (This)->lpVtbl->GetSize(This)
#define IDeckLinkEncoderAudioPacket_GetStreamTime(This,frameTime,timeScale) (This)->lpVtbl->GetStreamTime(This,frameTime,timeScale)
#define IDeckLinkEncoderAudioPacket_GetPacketType(This) (This)->lpVtbl->GetPacketType(This)
/*** IDeckLinkEncoderAudioPacket methods ***/
#define IDeckLinkEncoderAudioPacket_GetAudioFormat(This) (This)->lpVtbl->GetAudioFormat(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderAudioPacket_QueryInterface(IDeckLinkEncoderAudioPacket* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkEncoderAudioPacket_AddRef(IDeckLinkEncoderAudioPacket* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkEncoderAudioPacket_Release(IDeckLinkEncoderAudioPacket* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkEncoderPacket methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderAudioPacket_GetBytes(IDeckLinkEncoderAudioPacket* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE LONG IDeckLinkEncoderAudioPacket_GetSize(IDeckLinkEncoderAudioPacket* This) {
return This->lpVtbl->GetSize(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderAudioPacket_GetStreamTime(IDeckLinkEncoderAudioPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) {
return This->lpVtbl->GetStreamTime(This,frameTime,timeScale);
}
static FORCEINLINE BMDPacketType IDeckLinkEncoderAudioPacket_GetPacketType(IDeckLinkEncoderAudioPacket* This) {
return This->lpVtbl->GetPacketType(This);
}
/*** IDeckLinkEncoderAudioPacket methods ***/
static FORCEINLINE BMDAudioFormat IDeckLinkEncoderAudioPacket_GetAudioFormat(IDeckLinkEncoderAudioPacket* This) {
return This->lpVtbl->GetAudioFormat(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkH265NALPacket interface
*/
#ifndef __IDeckLinkH265NALPacket_INTERFACE_DEFINED__
#define __IDeckLinkH265NALPacket_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkH265NALPacket, 0x639c8e0b, 0x68d5, 0x4bde, 0xa6,0xd4, 0x95,0xf3,0xae,0xaf,0xf2,0xe7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("639c8e0b-68d5-4bde-a6d4-95f3aeaff2e7")
IDeckLinkH265NALPacket : public IDeckLinkEncoderVideoPacket
{
virtual HRESULT STDMETHODCALLTYPE GetUnitType(
unsigned char *unitType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytesNoPrefix(
void **buffer) = 0;
virtual LONG STDMETHODCALLTYPE GetSizeNoPrefix(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkH265NALPacket, 0x639c8e0b, 0x68d5, 0x4bde, 0xa6,0xd4, 0x95,0xf3,0xae,0xaf,0xf2,0xe7)
#endif
#else
typedef struct IDeckLinkH265NALPacketVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkH265NALPacket *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkH265NALPacket *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkH265NALPacket *This);
/*** IDeckLinkEncoderPacket methods ***/
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkH265NALPacket *This,
void **buffer);
LONG (STDMETHODCALLTYPE *GetSize)(
IDeckLinkH265NALPacket *This);
HRESULT (STDMETHODCALLTYPE *GetStreamTime)(
IDeckLinkH265NALPacket *This,
BMDTimeValue *frameTime,
BMDTimeScale timeScale);
BMDPacketType (STDMETHODCALLTYPE *GetPacketType)(
IDeckLinkH265NALPacket *This);
/*** IDeckLinkEncoderVideoPacket methods ***/
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkH265NALPacket *This);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceTimestamp)(
IDeckLinkH265NALPacket *This,
BMDTimeScale timeScale,
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkH265NALPacket *This,
BMDTimecodeFormat format,
IDeckLinkTimecode **timecode);
/*** IDeckLinkH265NALPacket methods ***/
HRESULT (STDMETHODCALLTYPE *GetUnitType)(
IDeckLinkH265NALPacket *This,
unsigned char *unitType);
HRESULT (STDMETHODCALLTYPE *GetBytesNoPrefix)(
IDeckLinkH265NALPacket *This,
void **buffer);
LONG (STDMETHODCALLTYPE *GetSizeNoPrefix)(
IDeckLinkH265NALPacket *This);
END_INTERFACE
} IDeckLinkH265NALPacketVtbl;
interface IDeckLinkH265NALPacket {
CONST_VTBL IDeckLinkH265NALPacketVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkH265NALPacket_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkH265NALPacket_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkH265NALPacket_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkEncoderPacket methods ***/
#define IDeckLinkH265NALPacket_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkH265NALPacket_GetSize(This) (This)->lpVtbl->GetSize(This)
#define IDeckLinkH265NALPacket_GetStreamTime(This,frameTime,timeScale) (This)->lpVtbl->GetStreamTime(This,frameTime,timeScale)
#define IDeckLinkH265NALPacket_GetPacketType(This) (This)->lpVtbl->GetPacketType(This)
/*** IDeckLinkEncoderVideoPacket methods ***/
#define IDeckLinkH265NALPacket_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkH265NALPacket_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) (This)->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration)
#define IDeckLinkH265NALPacket_GetTimecode(This,format,timecode) (This)->lpVtbl->GetTimecode(This,format,timecode)
/*** IDeckLinkH265NALPacket methods ***/
#define IDeckLinkH265NALPacket_GetUnitType(This,unitType) (This)->lpVtbl->GetUnitType(This,unitType)
#define IDeckLinkH265NALPacket_GetBytesNoPrefix(This,buffer) (This)->lpVtbl->GetBytesNoPrefix(This,buffer)
#define IDeckLinkH265NALPacket_GetSizeNoPrefix(This) (This)->lpVtbl->GetSizeNoPrefix(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkH265NALPacket_QueryInterface(IDeckLinkH265NALPacket* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkH265NALPacket_AddRef(IDeckLinkH265NALPacket* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkH265NALPacket_Release(IDeckLinkH265NALPacket* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkEncoderPacket methods ***/
static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetBytes(IDeckLinkH265NALPacket* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE LONG IDeckLinkH265NALPacket_GetSize(IDeckLinkH265NALPacket* This) {
return This->lpVtbl->GetSize(This);
}
static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetStreamTime(IDeckLinkH265NALPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) {
return This->lpVtbl->GetStreamTime(This,frameTime,timeScale);
}
static FORCEINLINE BMDPacketType IDeckLinkH265NALPacket_GetPacketType(IDeckLinkH265NALPacket* This) {
return This->lpVtbl->GetPacketType(This);
}
/*** IDeckLinkEncoderVideoPacket methods ***/
static FORCEINLINE BMDPixelFormat IDeckLinkH265NALPacket_GetPixelFormat(IDeckLinkH265NALPacket* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetHardwareReferenceTimestamp(IDeckLinkH265NALPacket* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) {
return This->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration);
}
static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetTimecode(IDeckLinkH265NALPacket* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) {
return This->lpVtbl->GetTimecode(This,format,timecode);
}
/*** IDeckLinkH265NALPacket methods ***/
static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetUnitType(IDeckLinkH265NALPacket* This,unsigned char *unitType) {
return This->lpVtbl->GetUnitType(This,unitType);
}
static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetBytesNoPrefix(IDeckLinkH265NALPacket* This,void **buffer) {
return This->lpVtbl->GetBytesNoPrefix(This,buffer);
}
static FORCEINLINE LONG IDeckLinkH265NALPacket_GetSizeNoPrefix(IDeckLinkH265NALPacket* This) {
return This->lpVtbl->GetSizeNoPrefix(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkH265NALPacket_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkAudioInputPacket interface
*/
#ifndef __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__
#define __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkAudioInputPacket, 0xe43d5870, 0x2894, 0x11de, 0x8c,0x30, 0x08,0x00,0x20,0x0c,0x9a,0x66);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e43d5870-2894-11de-8c30-0800200c9a66")
IDeckLinkAudioInputPacket : public IUnknown
{
virtual LONG STDMETHODCALLTYPE GetSampleFrameCount(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytes(
void **buffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPacketTime(
BMDTimeValue *packetTime,
BMDTimeScale timeScale) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkAudioInputPacket, 0xe43d5870, 0x2894, 0x11de, 0x8c,0x30, 0x08,0x00,0x20,0x0c,0x9a,0x66)
#endif
#else
typedef struct IDeckLinkAudioInputPacketVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkAudioInputPacket *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkAudioInputPacket *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkAudioInputPacket *This);
/*** IDeckLinkAudioInputPacket methods ***/
LONG (STDMETHODCALLTYPE *GetSampleFrameCount)(
IDeckLinkAudioInputPacket *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkAudioInputPacket *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetPacketTime)(
IDeckLinkAudioInputPacket *This,
BMDTimeValue *packetTime,
BMDTimeScale timeScale);
END_INTERFACE
} IDeckLinkAudioInputPacketVtbl;
interface IDeckLinkAudioInputPacket {
CONST_VTBL IDeckLinkAudioInputPacketVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkAudioInputPacket_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkAudioInputPacket_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkAudioInputPacket_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkAudioInputPacket methods ***/
#define IDeckLinkAudioInputPacket_GetSampleFrameCount(This) (This)->lpVtbl->GetSampleFrameCount(This)
#define IDeckLinkAudioInputPacket_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkAudioInputPacket_GetPacketTime(This,packetTime,timeScale) (This)->lpVtbl->GetPacketTime(This,packetTime,timeScale)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_QueryInterface(IDeckLinkAudioInputPacket* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkAudioInputPacket_AddRef(IDeckLinkAudioInputPacket* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkAudioInputPacket_Release(IDeckLinkAudioInputPacket* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkAudioInputPacket methods ***/
static FORCEINLINE LONG IDeckLinkAudioInputPacket_GetSampleFrameCount(IDeckLinkAudioInputPacket* This) {
return This->lpVtbl->GetSampleFrameCount(This);
}
static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_GetBytes(IDeckLinkAudioInputPacket* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_GetPacketTime(IDeckLinkAudioInputPacket* This,BMDTimeValue *packetTime,BMDTimeScale timeScale) {
return This->lpVtbl->GetPacketTime(This,packetTime,timeScale);
}
#endif
#endif
#endif
#endif /* __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkScreenPreviewCallback interface
*/
#ifndef __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__
#define __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkScreenPreviewCallback, 0xb1d3f49a, 0x85fe, 0x4c5d, 0x95,0xc8, 0x0b,0x5d,0x5d,0xcc,0xd4,0x38);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b1d3f49a-85fe-4c5d-95c8-0b5d5dccd438")
IDeckLinkScreenPreviewCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DrawFrame(
IDeckLinkVideoFrame *theFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkScreenPreviewCallback, 0xb1d3f49a, 0x85fe, 0x4c5d, 0x95,0xc8, 0x0b,0x5d,0x5d,0xcc,0xd4,0x38)
#endif
#else
typedef struct IDeckLinkScreenPreviewCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkScreenPreviewCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkScreenPreviewCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkScreenPreviewCallback *This);
/*** IDeckLinkScreenPreviewCallback methods ***/
HRESULT (STDMETHODCALLTYPE *DrawFrame)(
IDeckLinkScreenPreviewCallback *This,
IDeckLinkVideoFrame *theFrame);
END_INTERFACE
} IDeckLinkScreenPreviewCallbackVtbl;
interface IDeckLinkScreenPreviewCallback {
CONST_VTBL IDeckLinkScreenPreviewCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkScreenPreviewCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkScreenPreviewCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkScreenPreviewCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkScreenPreviewCallback methods ***/
#define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) (This)->lpVtbl->DrawFrame(This,theFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkScreenPreviewCallback_QueryInterface(IDeckLinkScreenPreviewCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkScreenPreviewCallback_AddRef(IDeckLinkScreenPreviewCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkScreenPreviewCallback_Release(IDeckLinkScreenPreviewCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkScreenPreviewCallback methods ***/
static FORCEINLINE HRESULT IDeckLinkScreenPreviewCallback_DrawFrame(IDeckLinkScreenPreviewCallback* This,IDeckLinkVideoFrame *theFrame) {
return This->lpVtbl->DrawFrame(This,theFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkGLScreenPreviewHelper interface
*/
#ifndef __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__
#define __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkGLScreenPreviewHelper, 0x504e2209, 0xcac7, 0x4c1a, 0x9f,0xb4, 0xc5,0xbb,0x62,0x74,0xd2,0x2f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("504e2209-cac7-4c1a-9fb4-c5bb6274d22f")
IDeckLinkGLScreenPreviewHelper : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE InitializeGL(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PaintGL(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFrame(
IDeckLinkVideoFrame *theFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat(
BMD3DPreviewFormat previewFormat) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkGLScreenPreviewHelper, 0x504e2209, 0xcac7, 0x4c1a, 0x9f,0xb4, 0xc5,0xbb,0x62,0x74,0xd2,0x2f)
#endif
#else
typedef struct IDeckLinkGLScreenPreviewHelperVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkGLScreenPreviewHelper *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkGLScreenPreviewHelper *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkGLScreenPreviewHelper *This);
/*** IDeckLinkGLScreenPreviewHelper methods ***/
HRESULT (STDMETHODCALLTYPE *InitializeGL)(
IDeckLinkGLScreenPreviewHelper *This);
HRESULT (STDMETHODCALLTYPE *PaintGL)(
IDeckLinkGLScreenPreviewHelper *This);
HRESULT (STDMETHODCALLTYPE *SetFrame)(
IDeckLinkGLScreenPreviewHelper *This,
IDeckLinkVideoFrame *theFrame);
HRESULT (STDMETHODCALLTYPE *Set3DPreviewFormat)(
IDeckLinkGLScreenPreviewHelper *This,
BMD3DPreviewFormat previewFormat);
END_INTERFACE
} IDeckLinkGLScreenPreviewHelperVtbl;
interface IDeckLinkGLScreenPreviewHelper {
CONST_VTBL IDeckLinkGLScreenPreviewHelperVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkGLScreenPreviewHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkGLScreenPreviewHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkGLScreenPreviewHelper_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkGLScreenPreviewHelper methods ***/
#define IDeckLinkGLScreenPreviewHelper_InitializeGL(This) (This)->lpVtbl->InitializeGL(This)
#define IDeckLinkGLScreenPreviewHelper_PaintGL(This) (This)->lpVtbl->PaintGL(This)
#define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) (This)->lpVtbl->SetFrame(This,theFrame)
#define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) (This)->lpVtbl->Set3DPreviewFormat(This,previewFormat)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_QueryInterface(IDeckLinkGLScreenPreviewHelper* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkGLScreenPreviewHelper_AddRef(IDeckLinkGLScreenPreviewHelper* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkGLScreenPreviewHelper_Release(IDeckLinkGLScreenPreviewHelper* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkGLScreenPreviewHelper methods ***/
static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_InitializeGL(IDeckLinkGLScreenPreviewHelper* This) {
return This->lpVtbl->InitializeGL(This);
}
static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_PaintGL(IDeckLinkGLScreenPreviewHelper* This) {
return This->lpVtbl->PaintGL(This);
}
static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_SetFrame(IDeckLinkGLScreenPreviewHelper* This,IDeckLinkVideoFrame *theFrame) {
return This->lpVtbl->SetFrame(This,theFrame);
}
static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(IDeckLinkGLScreenPreviewHelper* This,BMD3DPreviewFormat previewFormat) {
return This->lpVtbl->Set3DPreviewFormat(This,previewFormat);
}
#endif
#endif
#endif
#endif /* __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkDX9ScreenPreviewHelper interface
*/
#ifndef __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__
#define __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDX9ScreenPreviewHelper, 0x2094b522, 0xd1a1, 0x40c0, 0x9a,0xc7, 0x1c,0x01,0x22,0x18,0xef,0x02);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2094b522-d1a1-40c0-9ac7-1c012218ef02")
IDeckLinkDX9ScreenPreviewHelper : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
void *device) = 0;
virtual HRESULT STDMETHODCALLTYPE Render(
RECT *rc) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFrame(
IDeckLinkVideoFrame *theFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat(
BMD3DPreviewFormat previewFormat) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDX9ScreenPreviewHelper, 0x2094b522, 0xd1a1, 0x40c0, 0x9a,0xc7, 0x1c,0x01,0x22,0x18,0xef,0x02)
#endif
#else
typedef struct IDeckLinkDX9ScreenPreviewHelperVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDX9ScreenPreviewHelper *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDX9ScreenPreviewHelper *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDX9ScreenPreviewHelper *This);
/*** IDeckLinkDX9ScreenPreviewHelper methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IDeckLinkDX9ScreenPreviewHelper *This,
void *device);
HRESULT (STDMETHODCALLTYPE *Render)(
IDeckLinkDX9ScreenPreviewHelper *This,
RECT *rc);
HRESULT (STDMETHODCALLTYPE *SetFrame)(
IDeckLinkDX9ScreenPreviewHelper *This,
IDeckLinkVideoFrame *theFrame);
HRESULT (STDMETHODCALLTYPE *Set3DPreviewFormat)(
IDeckLinkDX9ScreenPreviewHelper *This,
BMD3DPreviewFormat previewFormat);
END_INTERFACE
} IDeckLinkDX9ScreenPreviewHelperVtbl;
interface IDeckLinkDX9ScreenPreviewHelper {
CONST_VTBL IDeckLinkDX9ScreenPreviewHelperVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDX9ScreenPreviewHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDX9ScreenPreviewHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDX9ScreenPreviewHelper_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDX9ScreenPreviewHelper methods ***/
#define IDeckLinkDX9ScreenPreviewHelper_Initialize(This,device) (This)->lpVtbl->Initialize(This,device)
#define IDeckLinkDX9ScreenPreviewHelper_Render(This,rc) (This)->lpVtbl->Render(This,rc)
#define IDeckLinkDX9ScreenPreviewHelper_SetFrame(This,theFrame) (This)->lpVtbl->SetFrame(This,theFrame)
#define IDeckLinkDX9ScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) (This)->lpVtbl->Set3DPreviewFormat(This,previewFormat)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDX9ScreenPreviewHelper_QueryInterface(IDeckLinkDX9ScreenPreviewHelper* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDX9ScreenPreviewHelper_AddRef(IDeckLinkDX9ScreenPreviewHelper* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDX9ScreenPreviewHelper_Release(IDeckLinkDX9ScreenPreviewHelper* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDX9ScreenPreviewHelper methods ***/
static FORCEINLINE HRESULT IDeckLinkDX9ScreenPreviewHelper_Initialize(IDeckLinkDX9ScreenPreviewHelper* This,void *device) {
return This->lpVtbl->Initialize(This,device);
}
static FORCEINLINE HRESULT IDeckLinkDX9ScreenPreviewHelper_Render(IDeckLinkDX9ScreenPreviewHelper* This,RECT *rc) {
return This->lpVtbl->Render(This,rc);
}
static FORCEINLINE HRESULT IDeckLinkDX9ScreenPreviewHelper_SetFrame(IDeckLinkDX9ScreenPreviewHelper* This,IDeckLinkVideoFrame *theFrame) {
return This->lpVtbl->SetFrame(This,theFrame);
}
static FORCEINLINE HRESULT IDeckLinkDX9ScreenPreviewHelper_Set3DPreviewFormat(IDeckLinkDX9ScreenPreviewHelper* This,BMD3DPreviewFormat previewFormat) {
return This->lpVtbl->Set3DPreviewFormat(This,previewFormat);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkNotificationCallback interface
*/
#ifndef __IDeckLinkNotificationCallback_INTERFACE_DEFINED__
#define __IDeckLinkNotificationCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkNotificationCallback, 0xb002a1ec, 0x070d, 0x4288, 0x82,0x89, 0xbd,0x5d,0x36,0xe5,0xff,0x0d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b002a1ec-070d-4288-8289-bd5d36e5ff0d")
IDeckLinkNotificationCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Notify(
BMDNotifications topic,
ULONGLONG param1,
ULONGLONG param2) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkNotificationCallback, 0xb002a1ec, 0x070d, 0x4288, 0x82,0x89, 0xbd,0x5d,0x36,0xe5,0xff,0x0d)
#endif
#else
typedef struct IDeckLinkNotificationCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkNotificationCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkNotificationCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkNotificationCallback *This);
/*** IDeckLinkNotificationCallback methods ***/
HRESULT (STDMETHODCALLTYPE *Notify)(
IDeckLinkNotificationCallback *This,
BMDNotifications topic,
ULONGLONG param1,
ULONGLONG param2);
END_INTERFACE
} IDeckLinkNotificationCallbackVtbl;
interface IDeckLinkNotificationCallback {
CONST_VTBL IDeckLinkNotificationCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkNotificationCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkNotificationCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkNotificationCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkNotificationCallback methods ***/
#define IDeckLinkNotificationCallback_Notify(This,topic,param1,param2) (This)->lpVtbl->Notify(This,topic,param1,param2)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkNotificationCallback_QueryInterface(IDeckLinkNotificationCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkNotificationCallback_AddRef(IDeckLinkNotificationCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkNotificationCallback_Release(IDeckLinkNotificationCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkNotificationCallback methods ***/
static FORCEINLINE HRESULT IDeckLinkNotificationCallback_Notify(IDeckLinkNotificationCallback* This,BMDNotifications topic,ULONGLONG param1,ULONGLONG param2) {
return This->lpVtbl->Notify(This,topic,param1,param2);
}
#endif
#endif
#endif
#endif /* __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkNotification interface
*/
#ifndef __IDeckLinkNotification_INTERFACE_DEFINED__
#define __IDeckLinkNotification_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkNotification, 0xb85df4c8, 0xbdf5, 0x47c1, 0x80,0x64, 0x28,0x16,0x2e,0xbd,0xd4,0xeb);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b85df4c8-bdf5-47c1-8064-28162ebdd4eb")
IDeckLinkNotification : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Subscribe(
BMDNotifications topic,
IDeckLinkNotificationCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE Unsubscribe(
BMDNotifications topic,
IDeckLinkNotificationCallback *theCallback) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkNotification, 0xb85df4c8, 0xbdf5, 0x47c1, 0x80,0x64, 0x28,0x16,0x2e,0xbd,0xd4,0xeb)
#endif
#else
typedef struct IDeckLinkNotificationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkNotification *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkNotification *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkNotification *This);
/*** IDeckLinkNotification methods ***/
HRESULT (STDMETHODCALLTYPE *Subscribe)(
IDeckLinkNotification *This,
BMDNotifications topic,
IDeckLinkNotificationCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *Unsubscribe)(
IDeckLinkNotification *This,
BMDNotifications topic,
IDeckLinkNotificationCallback *theCallback);
END_INTERFACE
} IDeckLinkNotificationVtbl;
interface IDeckLinkNotification {
CONST_VTBL IDeckLinkNotificationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkNotification_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkNotification methods ***/
#define IDeckLinkNotification_Subscribe(This,topic,theCallback) (This)->lpVtbl->Subscribe(This,topic,theCallback)
#define IDeckLinkNotification_Unsubscribe(This,topic,theCallback) (This)->lpVtbl->Unsubscribe(This,topic,theCallback)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkNotification_QueryInterface(IDeckLinkNotification* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkNotification_AddRef(IDeckLinkNotification* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkNotification_Release(IDeckLinkNotification* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkNotification methods ***/
static FORCEINLINE HRESULT IDeckLinkNotification_Subscribe(IDeckLinkNotification* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) {
return This->lpVtbl->Subscribe(This,topic,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkNotification_Unsubscribe(IDeckLinkNotification* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) {
return This->lpVtbl->Unsubscribe(This,topic,theCallback);
}
#endif
#endif
#endif
#endif /* __IDeckLinkNotification_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkProfileAttributes interface
*/
#ifndef __IDeckLinkProfileAttributes_INTERFACE_DEFINED__
#define __IDeckLinkProfileAttributes_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkProfileAttributes, 0x17d4bf8e, 0x4911, 0x473a, 0x80,0xa0, 0x73,0x1c,0xf6,0xff,0x34,0x5b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("17d4bf8e-4911-473a-80a0-731cf6ff345b")
IDeckLinkProfileAttributes : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkAttributeID cfgID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkAttributeID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkAttributeID cfgID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkAttributeID cfgID,
BSTR *value) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkProfileAttributes, 0x17d4bf8e, 0x4911, 0x473a, 0x80,0xa0, 0x73,0x1c,0xf6,0xff,0x34,0x5b)
#endif
#else
typedef struct IDeckLinkProfileAttributesVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkProfileAttributes *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkProfileAttributes *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkProfileAttributes *This);
/*** IDeckLinkProfileAttributes methods ***/
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkProfileAttributes *This,
BMDDeckLinkAttributeID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkProfileAttributes *This,
BMDDeckLinkAttributeID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkProfileAttributes *This,
BMDDeckLinkAttributeID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkProfileAttributes *This,
BMDDeckLinkAttributeID cfgID,
BSTR *value);
END_INTERFACE
} IDeckLinkProfileAttributesVtbl;
interface IDeckLinkProfileAttributes {
CONST_VTBL IDeckLinkProfileAttributesVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkProfileAttributes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkProfileAttributes_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkProfileAttributes_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkProfileAttributes methods ***/
#define IDeckLinkProfileAttributes_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IDeckLinkProfileAttributes_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IDeckLinkProfileAttributes_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IDeckLinkProfileAttributes_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkProfileAttributes_QueryInterface(IDeckLinkProfileAttributes* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkProfileAttributes_AddRef(IDeckLinkProfileAttributes* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkProfileAttributes_Release(IDeckLinkProfileAttributes* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkProfileAttributes methods ***/
static FORCEINLINE HRESULT IDeckLinkProfileAttributes_GetFlag(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkProfileAttributes_GetInt(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkProfileAttributes_GetFloat(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkProfileAttributes_GetString(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
#endif
#endif
#endif
#endif /* __IDeckLinkProfileAttributes_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkProfileIterator interface
*/
#ifndef __IDeckLinkProfileIterator_INTERFACE_DEFINED__
#define __IDeckLinkProfileIterator_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkProfileIterator, 0x29e5a8c0, 0x8be4, 0x46eb, 0x93,0xac, 0x31,0xda,0xab,0x5b,0x7b,0xf2);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("29e5a8c0-8be4-46eb-93ac-31daab5b7bf2")
IDeckLinkProfileIterator : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
IDeckLinkProfile **profile) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkProfileIterator, 0x29e5a8c0, 0x8be4, 0x46eb, 0x93,0xac, 0x31,0xda,0xab,0x5b,0x7b,0xf2)
#endif
#else
typedef struct IDeckLinkProfileIteratorVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkProfileIterator *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkProfileIterator *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkProfileIterator *This);
/*** IDeckLinkProfileIterator methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IDeckLinkProfileIterator *This,
IDeckLinkProfile **profile);
END_INTERFACE
} IDeckLinkProfileIteratorVtbl;
interface IDeckLinkProfileIterator {
CONST_VTBL IDeckLinkProfileIteratorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkProfileIterator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkProfileIterator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkProfileIterator_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkProfileIterator methods ***/
#define IDeckLinkProfileIterator_Next(This,profile) (This)->lpVtbl->Next(This,profile)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkProfileIterator_QueryInterface(IDeckLinkProfileIterator* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkProfileIterator_AddRef(IDeckLinkProfileIterator* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkProfileIterator_Release(IDeckLinkProfileIterator* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkProfileIterator methods ***/
static FORCEINLINE HRESULT IDeckLinkProfileIterator_Next(IDeckLinkProfileIterator* This,IDeckLinkProfile **profile) {
return This->lpVtbl->Next(This,profile);
}
#endif
#endif
#endif
#endif /* __IDeckLinkProfileIterator_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkProfile interface
*/
#ifndef __IDeckLinkProfile_INTERFACE_DEFINED__
#define __IDeckLinkProfile_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkProfile, 0x16093466, 0x674a, 0x432b, 0x9d,0xa0, 0x1a,0xc2,0xc5,0xa8,0x24,0x1c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("16093466-674a-432b-9da0-1ac2c5a8241c")
IDeckLinkProfile : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetDevice(
IDeckLink **device) = 0;
virtual HRESULT STDMETHODCALLTYPE IsActive(
BOOL *isActive) = 0;
virtual HRESULT STDMETHODCALLTYPE SetActive(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPeers(
IDeckLinkProfileIterator **profileIterator) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkProfile, 0x16093466, 0x674a, 0x432b, 0x9d,0xa0, 0x1a,0xc2,0xc5,0xa8,0x24,0x1c)
#endif
#else
typedef struct IDeckLinkProfileVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkProfile *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkProfile *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkProfile *This);
/*** IDeckLinkProfile methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
IDeckLinkProfile *This,
IDeckLink **device);
HRESULT (STDMETHODCALLTYPE *IsActive)(
IDeckLinkProfile *This,
BOOL *isActive);
HRESULT (STDMETHODCALLTYPE *SetActive)(
IDeckLinkProfile *This);
HRESULT (STDMETHODCALLTYPE *GetPeers)(
IDeckLinkProfile *This,
IDeckLinkProfileIterator **profileIterator);
END_INTERFACE
} IDeckLinkProfileVtbl;
interface IDeckLinkProfile {
CONST_VTBL IDeckLinkProfileVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkProfile_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkProfile_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkProfile methods ***/
#define IDeckLinkProfile_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device)
#define IDeckLinkProfile_IsActive(This,isActive) (This)->lpVtbl->IsActive(This,isActive)
#define IDeckLinkProfile_SetActive(This) (This)->lpVtbl->SetActive(This)
#define IDeckLinkProfile_GetPeers(This,profileIterator) (This)->lpVtbl->GetPeers(This,profileIterator)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkProfile_QueryInterface(IDeckLinkProfile* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkProfile_AddRef(IDeckLinkProfile* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkProfile_Release(IDeckLinkProfile* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkProfile methods ***/
static FORCEINLINE HRESULT IDeckLinkProfile_GetDevice(IDeckLinkProfile* This,IDeckLink **device) {
return This->lpVtbl->GetDevice(This,device);
}
static FORCEINLINE HRESULT IDeckLinkProfile_IsActive(IDeckLinkProfile* This,BOOL *isActive) {
return This->lpVtbl->IsActive(This,isActive);
}
static FORCEINLINE HRESULT IDeckLinkProfile_SetActive(IDeckLinkProfile* This) {
return This->lpVtbl->SetActive(This);
}
static FORCEINLINE HRESULT IDeckLinkProfile_GetPeers(IDeckLinkProfile* This,IDeckLinkProfileIterator **profileIterator) {
return This->lpVtbl->GetPeers(This,profileIterator);
}
#endif
#endif
#endif
#endif /* __IDeckLinkProfile_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkProfileCallback interface
*/
#ifndef __IDeckLinkProfileCallback_INTERFACE_DEFINED__
#define __IDeckLinkProfileCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkProfileCallback, 0xa4f9341e, 0x97aa, 0x4e04, 0x89,0x35, 0x15,0xf8,0x09,0x89,0x8c,0xea);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a4f9341e-97aa-4e04-8935-15f809898cea")
IDeckLinkProfileCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ProfileChanging(
IDeckLinkProfile *profileToBeActivated,
BOOL streamsWillBeForcedToStop) = 0;
virtual HRESULT STDMETHODCALLTYPE ProfileActivated(
IDeckLinkProfile *activatedProfile) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkProfileCallback, 0xa4f9341e, 0x97aa, 0x4e04, 0x89,0x35, 0x15,0xf8,0x09,0x89,0x8c,0xea)
#endif
#else
typedef struct IDeckLinkProfileCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkProfileCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkProfileCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkProfileCallback *This);
/*** IDeckLinkProfileCallback methods ***/
HRESULT (STDMETHODCALLTYPE *ProfileChanging)(
IDeckLinkProfileCallback *This,
IDeckLinkProfile *profileToBeActivated,
BOOL streamsWillBeForcedToStop);
HRESULT (STDMETHODCALLTYPE *ProfileActivated)(
IDeckLinkProfileCallback *This,
IDeckLinkProfile *activatedProfile);
END_INTERFACE
} IDeckLinkProfileCallbackVtbl;
interface IDeckLinkProfileCallback {
CONST_VTBL IDeckLinkProfileCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkProfileCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkProfileCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkProfileCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkProfileCallback methods ***/
#define IDeckLinkProfileCallback_ProfileChanging(This,profileToBeActivated,streamsWillBeForcedToStop) (This)->lpVtbl->ProfileChanging(This,profileToBeActivated,streamsWillBeForcedToStop)
#define IDeckLinkProfileCallback_ProfileActivated(This,activatedProfile) (This)->lpVtbl->ProfileActivated(This,activatedProfile)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkProfileCallback_QueryInterface(IDeckLinkProfileCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkProfileCallback_AddRef(IDeckLinkProfileCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkProfileCallback_Release(IDeckLinkProfileCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkProfileCallback methods ***/
static FORCEINLINE HRESULT IDeckLinkProfileCallback_ProfileChanging(IDeckLinkProfileCallback* This,IDeckLinkProfile *profileToBeActivated,BOOL streamsWillBeForcedToStop) {
return This->lpVtbl->ProfileChanging(This,profileToBeActivated,streamsWillBeForcedToStop);
}
static FORCEINLINE HRESULT IDeckLinkProfileCallback_ProfileActivated(IDeckLinkProfileCallback* This,IDeckLinkProfile *activatedProfile) {
return This->lpVtbl->ProfileActivated(This,activatedProfile);
}
#endif
#endif
#endif
#endif /* __IDeckLinkProfileCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkProfileManager interface
*/
#ifndef __IDeckLinkProfileManager_INTERFACE_DEFINED__
#define __IDeckLinkProfileManager_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkProfileManager, 0x30d41429, 0x3998, 0x4b6d, 0x84,0xf8, 0x78,0xc9,0x4a,0x79,0x7c,0x6e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30d41429-3998-4b6d-84f8-78c94a797c6e")
IDeckLinkProfileManager : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetProfiles(
IDeckLinkProfileIterator **profileIterator) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProfile(
BMDProfileID profileID,
IDeckLinkProfile **profile) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkProfileCallback *callback) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkProfileManager, 0x30d41429, 0x3998, 0x4b6d, 0x84,0xf8, 0x78,0xc9,0x4a,0x79,0x7c,0x6e)
#endif
#else
typedef struct IDeckLinkProfileManagerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkProfileManager *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkProfileManager *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkProfileManager *This);
/*** IDeckLinkProfileManager methods ***/
HRESULT (STDMETHODCALLTYPE *GetProfiles)(
IDeckLinkProfileManager *This,
IDeckLinkProfileIterator **profileIterator);
HRESULT (STDMETHODCALLTYPE *GetProfile)(
IDeckLinkProfileManager *This,
BMDProfileID profileID,
IDeckLinkProfile **profile);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkProfileManager *This,
IDeckLinkProfileCallback *callback);
END_INTERFACE
} IDeckLinkProfileManagerVtbl;
interface IDeckLinkProfileManager {
CONST_VTBL IDeckLinkProfileManagerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkProfileManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkProfileManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkProfileManager_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkProfileManager methods ***/
#define IDeckLinkProfileManager_GetProfiles(This,profileIterator) (This)->lpVtbl->GetProfiles(This,profileIterator)
#define IDeckLinkProfileManager_GetProfile(This,profileID,profile) (This)->lpVtbl->GetProfile(This,profileID,profile)
#define IDeckLinkProfileManager_SetCallback(This,callback) (This)->lpVtbl->SetCallback(This,callback)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkProfileManager_QueryInterface(IDeckLinkProfileManager* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkProfileManager_AddRef(IDeckLinkProfileManager* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkProfileManager_Release(IDeckLinkProfileManager* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkProfileManager methods ***/
static FORCEINLINE HRESULT IDeckLinkProfileManager_GetProfiles(IDeckLinkProfileManager* This,IDeckLinkProfileIterator **profileIterator) {
return This->lpVtbl->GetProfiles(This,profileIterator);
}
static FORCEINLINE HRESULT IDeckLinkProfileManager_GetProfile(IDeckLinkProfileManager* This,BMDProfileID profileID,IDeckLinkProfile **profile) {
return This->lpVtbl->GetProfile(This,profileID,profile);
}
static FORCEINLINE HRESULT IDeckLinkProfileManager_SetCallback(IDeckLinkProfileManager* This,IDeckLinkProfileCallback *callback) {
return This->lpVtbl->SetCallback(This,callback);
}
#endif
#endif
#endif
#endif /* __IDeckLinkProfileManager_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkStatus interface
*/
#ifndef __IDeckLinkStatus_INTERFACE_DEFINED__
#define __IDeckLinkStatus_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkStatus, 0x5f558200, 0x4028, 0x49bc, 0xbe,0xac, 0xdb,0x3f,0xa4,0xa9,0x6e,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5f558200-4028-49bc-beac-db3fa4a96e46")
IDeckLinkStatus : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkStatusID statusID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkStatusID statusID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkStatusID statusID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkStatusID statusID,
BSTR *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytes(
BMDDeckLinkStatusID statusID,
void *buffer,
unsigned int *bufferSize) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkStatus, 0x5f558200, 0x4028, 0x49bc, 0xbe,0xac, 0xdb,0x3f,0xa4,0xa9,0x6e,0x46)
#endif
#else
typedef struct IDeckLinkStatusVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkStatus *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkStatus *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkStatus *This);
/*** IDeckLinkStatus methods ***/
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkStatus *This,
BMDDeckLinkStatusID statusID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkStatus *This,
BMDDeckLinkStatusID statusID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkStatus *This,
BMDDeckLinkStatusID statusID,
double *value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkStatus *This,
BMDDeckLinkStatusID statusID,
BSTR *value);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkStatus *This,
BMDDeckLinkStatusID statusID,
void *buffer,
unsigned int *bufferSize);
END_INTERFACE
} IDeckLinkStatusVtbl;
interface IDeckLinkStatus {
CONST_VTBL IDeckLinkStatusVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkStatus_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkStatus methods ***/
#define IDeckLinkStatus_GetFlag(This,statusID,value) (This)->lpVtbl->GetFlag(This,statusID,value)
#define IDeckLinkStatus_GetInt(This,statusID,value) (This)->lpVtbl->GetInt(This,statusID,value)
#define IDeckLinkStatus_GetFloat(This,statusID,value) (This)->lpVtbl->GetFloat(This,statusID,value)
#define IDeckLinkStatus_GetString(This,statusID,value) (This)->lpVtbl->GetString(This,statusID,value)
#define IDeckLinkStatus_GetBytes(This,statusID,buffer,bufferSize) (This)->lpVtbl->GetBytes(This,statusID,buffer,bufferSize)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkStatus_QueryInterface(IDeckLinkStatus* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkStatus_AddRef(IDeckLinkStatus* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkStatus_Release(IDeckLinkStatus* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkStatus methods ***/
static FORCEINLINE HRESULT IDeckLinkStatus_GetFlag(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,BOOL *value) {
return This->lpVtbl->GetFlag(This,statusID,value);
}
static FORCEINLINE HRESULT IDeckLinkStatus_GetInt(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,statusID,value);
}
static FORCEINLINE HRESULT IDeckLinkStatus_GetFloat(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,double *value) {
return This->lpVtbl->GetFloat(This,statusID,value);
}
static FORCEINLINE HRESULT IDeckLinkStatus_GetString(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,BSTR *value) {
return This->lpVtbl->GetString(This,statusID,value);
}
static FORCEINLINE HRESULT IDeckLinkStatus_GetBytes(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,void *buffer,unsigned int *bufferSize) {
return This->lpVtbl->GetBytes(This,statusID,buffer,bufferSize);
}
#endif
#endif
#endif
#endif /* __IDeckLinkStatus_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkKeyer interface
*/
#ifndef __IDeckLinkKeyer_INTERFACE_DEFINED__
#define __IDeckLinkKeyer_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkKeyer, 0x89afcaf5, 0x65f8, 0x421e, 0x98,0xf7, 0x96,0xfe,0x5f,0x5b,0xfb,0xa3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("89afcaf5-65f8-421e-98f7-96fe5f5bfba3")
IDeckLinkKeyer : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Enable(
BOOL isExternal) = 0;
virtual HRESULT STDMETHODCALLTYPE SetLevel(
unsigned char level) = 0;
virtual HRESULT STDMETHODCALLTYPE RampUp(
unsigned int numberOfFrames) = 0;
virtual HRESULT STDMETHODCALLTYPE RampDown(
unsigned int numberOfFrames) = 0;
virtual HRESULT STDMETHODCALLTYPE Disable(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkKeyer, 0x89afcaf5, 0x65f8, 0x421e, 0x98,0xf7, 0x96,0xfe,0x5f,0x5b,0xfb,0xa3)
#endif
#else
typedef struct IDeckLinkKeyerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkKeyer *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkKeyer *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkKeyer *This);
/*** IDeckLinkKeyer methods ***/
HRESULT (STDMETHODCALLTYPE *Enable)(
IDeckLinkKeyer *This,
BOOL isExternal);
HRESULT (STDMETHODCALLTYPE *SetLevel)(
IDeckLinkKeyer *This,
unsigned char level);
HRESULT (STDMETHODCALLTYPE *RampUp)(
IDeckLinkKeyer *This,
unsigned int numberOfFrames);
HRESULT (STDMETHODCALLTYPE *RampDown)(
IDeckLinkKeyer *This,
unsigned int numberOfFrames);
HRESULT (STDMETHODCALLTYPE *Disable)(
IDeckLinkKeyer *This);
END_INTERFACE
} IDeckLinkKeyerVtbl;
interface IDeckLinkKeyer {
CONST_VTBL IDeckLinkKeyerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkKeyer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkKeyer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkKeyer_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkKeyer methods ***/
#define IDeckLinkKeyer_Enable(This,isExternal) (This)->lpVtbl->Enable(This,isExternal)
#define IDeckLinkKeyer_SetLevel(This,level) (This)->lpVtbl->SetLevel(This,level)
#define IDeckLinkKeyer_RampUp(This,numberOfFrames) (This)->lpVtbl->RampUp(This,numberOfFrames)
#define IDeckLinkKeyer_RampDown(This,numberOfFrames) (This)->lpVtbl->RampDown(This,numberOfFrames)
#define IDeckLinkKeyer_Disable(This) (This)->lpVtbl->Disable(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkKeyer_QueryInterface(IDeckLinkKeyer* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkKeyer_AddRef(IDeckLinkKeyer* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkKeyer_Release(IDeckLinkKeyer* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkKeyer methods ***/
static FORCEINLINE HRESULT IDeckLinkKeyer_Enable(IDeckLinkKeyer* This,BOOL isExternal) {
return This->lpVtbl->Enable(This,isExternal);
}
static FORCEINLINE HRESULT IDeckLinkKeyer_SetLevel(IDeckLinkKeyer* This,unsigned char level) {
return This->lpVtbl->SetLevel(This,level);
}
static FORCEINLINE HRESULT IDeckLinkKeyer_RampUp(IDeckLinkKeyer* This,unsigned int numberOfFrames) {
return This->lpVtbl->RampUp(This,numberOfFrames);
}
static FORCEINLINE HRESULT IDeckLinkKeyer_RampDown(IDeckLinkKeyer* This,unsigned int numberOfFrames) {
return This->lpVtbl->RampDown(This,numberOfFrames);
}
static FORCEINLINE HRESULT IDeckLinkKeyer_Disable(IDeckLinkKeyer* This) {
return This->lpVtbl->Disable(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkKeyer_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoConversion interface
*/
#ifndef __IDeckLinkVideoConversion_INTERFACE_DEFINED__
#define __IDeckLinkVideoConversion_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoConversion, 0x3bbcb8a2, 0xda2c, 0x42d9, 0xb5,0xd8, 0x88,0x08,0x36,0x44,0xe9,0x9a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3bbcb8a2-da2c-42d9-b5d8-88083644e99a")
IDeckLinkVideoConversion : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ConvertFrame(
IDeckLinkVideoFrame *srcFrame,
IDeckLinkVideoFrame *dstFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoConversion, 0x3bbcb8a2, 0xda2c, 0x42d9, 0xb5,0xd8, 0x88,0x08,0x36,0x44,0xe9,0x9a)
#endif
#else
typedef struct IDeckLinkVideoConversionVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoConversion *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoConversion *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoConversion *This);
/*** IDeckLinkVideoConversion methods ***/
HRESULT (STDMETHODCALLTYPE *ConvertFrame)(
IDeckLinkVideoConversion *This,
IDeckLinkVideoFrame *srcFrame,
IDeckLinkVideoFrame *dstFrame);
END_INTERFACE
} IDeckLinkVideoConversionVtbl;
interface IDeckLinkVideoConversion {
CONST_VTBL IDeckLinkVideoConversionVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoConversion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoConversion_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoConversion_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoConversion methods ***/
#define IDeckLinkVideoConversion_ConvertFrame(This,srcFrame,dstFrame) (This)->lpVtbl->ConvertFrame(This,srcFrame,dstFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoConversion_QueryInterface(IDeckLinkVideoConversion* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoConversion_AddRef(IDeckLinkVideoConversion* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoConversion_Release(IDeckLinkVideoConversion* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoConversion methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoConversion_ConvertFrame(IDeckLinkVideoConversion* This,IDeckLinkVideoFrame *srcFrame,IDeckLinkVideoFrame *dstFrame) {
return This->lpVtbl->ConvertFrame(This,srcFrame,dstFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoConversion_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkDeviceNotificationCallback interface
*/
#ifndef __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__
#define __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDeviceNotificationCallback, 0x4997053b, 0x0adf, 0x4cc8, 0xac,0x70, 0x7a,0x50,0xc4,0xbe,0x72,0x8f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4997053b-0adf-4cc8-ac70-7a50c4be728f")
IDeckLinkDeviceNotificationCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceArrived(
IDeckLink *deckLinkDevice) = 0;
virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceRemoved(
IDeckLink *deckLinkDevice) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDeviceNotificationCallback, 0x4997053b, 0x0adf, 0x4cc8, 0xac,0x70, 0x7a,0x50,0xc4,0xbe,0x72,0x8f)
#endif
#else
typedef struct IDeckLinkDeviceNotificationCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDeviceNotificationCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDeviceNotificationCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDeviceNotificationCallback *This);
/*** IDeckLinkDeviceNotificationCallback methods ***/
HRESULT (STDMETHODCALLTYPE *DeckLinkDeviceArrived)(
IDeckLinkDeviceNotificationCallback *This,
IDeckLink *deckLinkDevice);
HRESULT (STDMETHODCALLTYPE *DeckLinkDeviceRemoved)(
IDeckLinkDeviceNotificationCallback *This,
IDeckLink *deckLinkDevice);
END_INTERFACE
} IDeckLinkDeviceNotificationCallbackVtbl;
interface IDeckLinkDeviceNotificationCallback {
CONST_VTBL IDeckLinkDeviceNotificationCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDeviceNotificationCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDeviceNotificationCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDeviceNotificationCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDeviceNotificationCallback methods ***/
#define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceArrived(This,deckLinkDevice) (This)->lpVtbl->DeckLinkDeviceArrived(This,deckLinkDevice)
#define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceRemoved(This,deckLinkDevice) (This)->lpVtbl->DeckLinkDeviceRemoved(This,deckLinkDevice)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDeviceNotificationCallback_QueryInterface(IDeckLinkDeviceNotificationCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDeviceNotificationCallback_AddRef(IDeckLinkDeviceNotificationCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDeviceNotificationCallback_Release(IDeckLinkDeviceNotificationCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDeviceNotificationCallback methods ***/
static FORCEINLINE HRESULT IDeckLinkDeviceNotificationCallback_DeckLinkDeviceArrived(IDeckLinkDeviceNotificationCallback* This,IDeckLink *deckLinkDevice) {
return This->lpVtbl->DeckLinkDeviceArrived(This,deckLinkDevice);
}
static FORCEINLINE HRESULT IDeckLinkDeviceNotificationCallback_DeckLinkDeviceRemoved(IDeckLinkDeviceNotificationCallback* This,IDeckLink *deckLinkDevice) {
return This->lpVtbl->DeckLinkDeviceRemoved(This,deckLinkDevice);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkDiscovery interface
*/
#ifndef __IDeckLinkDiscovery_INTERFACE_DEFINED__
#define __IDeckLinkDiscovery_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDiscovery, 0xcdbf631c, 0xbc76, 0x45fa, 0xb4,0x4d, 0xc5,0x50,0x59,0xbc,0x61,0x01);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cdbf631c-bc76-45fa-b44d-c55059bc6101")
IDeckLinkDiscovery : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE InstallDeviceNotifications(
IDeckLinkDeviceNotificationCallback *deviceNotificationCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE UninstallDeviceNotifications(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDiscovery, 0xcdbf631c, 0xbc76, 0x45fa, 0xb4,0x4d, 0xc5,0x50,0x59,0xbc,0x61,0x01)
#endif
#else
typedef struct IDeckLinkDiscoveryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDiscovery *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDiscovery *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDiscovery *This);
/*** IDeckLinkDiscovery methods ***/
HRESULT (STDMETHODCALLTYPE *InstallDeviceNotifications)(
IDeckLinkDiscovery *This,
IDeckLinkDeviceNotificationCallback *deviceNotificationCallback);
HRESULT (STDMETHODCALLTYPE *UninstallDeviceNotifications)(
IDeckLinkDiscovery *This);
END_INTERFACE
} IDeckLinkDiscoveryVtbl;
interface IDeckLinkDiscovery {
CONST_VTBL IDeckLinkDiscoveryVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDiscovery_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDiscovery_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDiscovery_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDiscovery methods ***/
#define IDeckLinkDiscovery_InstallDeviceNotifications(This,deviceNotificationCallback) (This)->lpVtbl->InstallDeviceNotifications(This,deviceNotificationCallback)
#define IDeckLinkDiscovery_UninstallDeviceNotifications(This) (This)->lpVtbl->UninstallDeviceNotifications(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDiscovery_QueryInterface(IDeckLinkDiscovery* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDiscovery_AddRef(IDeckLinkDiscovery* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDiscovery_Release(IDeckLinkDiscovery* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDiscovery methods ***/
static FORCEINLINE HRESULT IDeckLinkDiscovery_InstallDeviceNotifications(IDeckLinkDiscovery* This,IDeckLinkDeviceNotificationCallback *deviceNotificationCallback) {
return This->lpVtbl->InstallDeviceNotifications(This,deviceNotificationCallback);
}
static FORCEINLINE HRESULT IDeckLinkDiscovery_UninstallDeviceNotifications(IDeckLinkDiscovery* This) {
return This->lpVtbl->UninstallDeviceNotifications(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDiscovery_INTERFACE_DEFINED__ */
/*****************************************************************************
* CDeckLinkIterator coclass
*/
DEFINE_GUID(CLSID_CDeckLinkIterator, 0xba6c6f44, 0x6da5, 0x4dce, 0x94,0xaa, 0xee,0x2d,0x13,0x72,0xa6,0x76);
#ifdef __cplusplus
class DECLSPEC_UUID("ba6c6f44-6da5-4dce-94aa-ee2d1372a676") CDeckLinkIterator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkIterator, 0xba6c6f44, 0x6da5, 0x4dce, 0x94,0xaa, 0xee,0x2d,0x13,0x72,0xa6,0x76)
#endif
#endif
/*****************************************************************************
* CDeckLinkAPIInformation coclass
*/
DEFINE_GUID(CLSID_CDeckLinkAPIInformation, 0x263ca19f, 0xed09, 0x482e, 0x9f,0x9d, 0x84,0x00,0x57,0x83,0xa2,0x37);
#ifdef __cplusplus
class DECLSPEC_UUID("263ca19f-ed09-482e-9f9d-84005783a237") CDeckLinkAPIInformation;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkAPIInformation, 0x263ca19f, 0xed09, 0x482e, 0x9f,0x9d, 0x84,0x00,0x57,0x83,0xa2,0x37)
#endif
#endif
/*****************************************************************************
* CDeckLinkGLScreenPreviewHelper coclass
*/
DEFINE_GUID(CLSID_CDeckLinkGLScreenPreviewHelper, 0xf63e77c7, 0xb655, 0x4a4a, 0x9a,0xd0, 0x3c,0xa8,0x5d,0x39,0x43,0x43);
#ifdef __cplusplus
class DECLSPEC_UUID("f63e77c7-b655-4a4a-9ad0-3ca85d394343") CDeckLinkGLScreenPreviewHelper;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkGLScreenPreviewHelper, 0xf63e77c7, 0xb655, 0x4a4a, 0x9a,0xd0, 0x3c,0xa8,0x5d,0x39,0x43,0x43)
#endif
#endif
/*****************************************************************************
* CDeckLinkDX9ScreenPreviewHelper coclass
*/
DEFINE_GUID(CLSID_CDeckLinkDX9ScreenPreviewHelper, 0xcc010023, 0xe01d, 0x4525, 0x9d,0x59, 0x80,0xc8,0xab,0x3d,0xc7,0xa0);
#ifdef __cplusplus
class DECLSPEC_UUID("cc010023-e01d-4525-9d59-80c8ab3dc7a0") CDeckLinkDX9ScreenPreviewHelper;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkDX9ScreenPreviewHelper, 0xcc010023, 0xe01d, 0x4525, 0x9d,0x59, 0x80,0xc8,0xab,0x3d,0xc7,0xa0)
#endif
#endif
/*****************************************************************************
* CDeckLinkVideoConversion coclass
*/
DEFINE_GUID(CLSID_CDeckLinkVideoConversion, 0x7dbbbb11, 0x5b7b, 0x467d, 0xae,0xa4, 0xce,0xa4,0x68,0xfd,0x36,0x8c);
#ifdef __cplusplus
class DECLSPEC_UUID("7dbbbb11-5b7b-467d-aea4-cea468fd368c") CDeckLinkVideoConversion;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkVideoConversion, 0x7dbbbb11, 0x5b7b, 0x467d, 0xae,0xa4, 0xce,0xa4,0x68,0xfd,0x36,0x8c)
#endif
#endif
/*****************************************************************************
* CDeckLinkDiscovery coclass
*/
DEFINE_GUID(CLSID_CDeckLinkDiscovery, 0x22fbfc33, 0x8d07, 0x495c, 0xa5,0xbf, 0xda,0xb5,0xea,0x9b,0x82,0xdb);
#ifdef __cplusplus
class DECLSPEC_UUID("22fbfc33-8d07-495c-a5bf-dab5ea9b82db") CDeckLinkDiscovery;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkDiscovery, 0x22fbfc33, 0x8d07, 0x495c, 0xa5,0xbf, 0xda,0xb5,0xea,0x9b,0x82,0xdb)
#endif
#endif
/*****************************************************************************
* CDeckLinkVideoFrameAncillaryPackets coclass
*/
DEFINE_GUID(CLSID_CDeckLinkVideoFrameAncillaryPackets, 0xf891ad29, 0xd0c2, 0x46e9, 0xa9,0x26, 0x4e,0x2d,0x0d,0xd8,0xcf,0xad);
#ifdef __cplusplus
class DECLSPEC_UUID("f891ad29-d0c2-46e9-a926-4e2d0dd8cfad") CDeckLinkVideoFrameAncillaryPackets;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkVideoFrameAncillaryPackets, 0xf891ad29, 0xd0c2, 0x46e9, 0xa9,0x26, 0x4e,0x2d,0x0d,0xd8,0xcf,0xad)
#endif
#endif
typedef enum _BMDDisplayModeSupport_v10_11 {
bmdDisplayModeNotSupported_v10_11 = 0,
bmdDisplayModeSupported_v10_11 = 1,
bmdDisplayModeSupportedWithConversion_v10_11 = 2
} BMDDisplayModeSupport_v10_11;
typedef enum _BMDDuplexMode_v10_11 {
bmdDuplexModeFull_v10_11 = 0x66647570,
bmdDuplexModeHalf_v10_11 = 0x68647570
} BMDDuplexMode_v10_11;
typedef enum _BMDDeckLinkConfigurationID_v10_11 {
bmdDeckLinkConfigDuplexMode_v10_11 = 0x64757078
} BMDDeckLinkConfigurationID_v10_11;
typedef enum _BMDDeckLinkAttributeID_v10_11 {
BMDDeckLinkSupportsDuplexModeConfiguration_v10_11 = 0x64757078,
BMDDeckLinkSupportsHDKeying_v10_11 = 0x6b657968,
BMDDeckLinkPairedDevicePersistentID_v10_11 = 0x70706964,
BMDDeckLinkSupportsFullDuplex_v10_11 = 0x66647570
} BMDDeckLinkAttributeID_v10_11;
typedef enum _BMDDeckLinkStatusID_v10_11 {
bmdDeckLinkStatusDuplexMode_v10_11 = 0x64757078
} BMDDeckLinkStatusID_v10_11;
typedef enum _BMDDuplexStatus_v10_11 {
bmdDuplexFullDuplex_v10_11 = 0x66647570,
bmdDuplexHalfDuplex_v10_11 = 0x68647570,
bmdDuplexSimplex_v10_11 = 0x73706c78,
bmdDuplexInactive_v10_11 = 0x696e6163
} BMDDuplexStatus_v10_11;
#ifndef __IDeckLinkConfiguration_v10_11_FWD_DEFINED__
#define __IDeckLinkConfiguration_v10_11_FWD_DEFINED__
typedef interface IDeckLinkConfiguration_v10_11 IDeckLinkConfiguration_v10_11;
#ifdef __cplusplus
interface IDeckLinkConfiguration_v10_11;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAttributes_v10_11_FWD_DEFINED__
#define __IDeckLinkAttributes_v10_11_FWD_DEFINED__
typedef interface IDeckLinkAttributes_v10_11 IDeckLinkAttributes_v10_11;
#ifdef __cplusplus
interface IDeckLinkAttributes_v10_11;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkNotification_v10_11_FWD_DEFINED__
#define __IDeckLinkNotification_v10_11_FWD_DEFINED__
typedef interface IDeckLinkNotification_v10_11 IDeckLinkNotification_v10_11;
#ifdef __cplusplus
interface IDeckLinkNotification_v10_11;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkConfiguration_v10_11 interface
*/
#ifndef __IDeckLinkConfiguration_v10_11_INTERFACE_DEFINED__
#define __IDeckLinkConfiguration_v10_11_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkConfiguration_v10_11, 0xef90380b, 0x4ae5, 0x4346, 0x90,0x77, 0xe2,0x88,0xe1,0x49,0xf1,0x29);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ef90380b-4ae5-4346-9077-e288e149f129")
IDeckLinkConfiguration_v10_11 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFlag(
BMDDeckLinkConfigurationID cfgID,
BOOL value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkConfigurationID cfgID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInt(
BMDDeckLinkConfigurationID cfgID,
LONGLONG value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkConfigurationID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFloat(
BMDDeckLinkConfigurationID cfgID,
double value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkConfigurationID cfgID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetString(
BMDDeckLinkConfigurationID cfgID,
BSTR value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkConfigurationID cfgID,
BSTR *value) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkConfiguration_v10_11, 0xef90380b, 0x4ae5, 0x4346, 0x90,0x77, 0xe2,0x88,0xe1,0x49,0xf1,0x29)
#endif
#else
typedef struct IDeckLinkConfiguration_v10_11Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkConfiguration_v10_11 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkConfiguration_v10_11 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkConfiguration_v10_11 *This);
/*** IDeckLinkConfiguration_v10_11 methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlag)(
IDeckLinkConfiguration_v10_11 *This,
BMDDeckLinkConfigurationID cfgID,
BOOL value);
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkConfiguration_v10_11 *This,
BMDDeckLinkConfigurationID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *SetInt)(
IDeckLinkConfiguration_v10_11 *This,
BMDDeckLinkConfigurationID cfgID,
LONGLONG value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkConfiguration_v10_11 *This,
BMDDeckLinkConfigurationID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *SetFloat)(
IDeckLinkConfiguration_v10_11 *This,
BMDDeckLinkConfigurationID cfgID,
double value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkConfiguration_v10_11 *This,
BMDDeckLinkConfigurationID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *SetString)(
IDeckLinkConfiguration_v10_11 *This,
BMDDeckLinkConfigurationID cfgID,
BSTR value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkConfiguration_v10_11 *This,
BMDDeckLinkConfigurationID cfgID,
BSTR *value);
HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)(
IDeckLinkConfiguration_v10_11 *This);
END_INTERFACE
} IDeckLinkConfiguration_v10_11Vtbl;
interface IDeckLinkConfiguration_v10_11 {
CONST_VTBL IDeckLinkConfiguration_v10_11Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkConfiguration_v10_11_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkConfiguration_v10_11_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkConfiguration_v10_11_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkConfiguration_v10_11 methods ***/
#define IDeckLinkConfiguration_v10_11_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value)
#define IDeckLinkConfiguration_v10_11_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IDeckLinkConfiguration_v10_11_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value)
#define IDeckLinkConfiguration_v10_11_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IDeckLinkConfiguration_v10_11_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value)
#define IDeckLinkConfiguration_v10_11_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IDeckLinkConfiguration_v10_11_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value)
#define IDeckLinkConfiguration_v10_11_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#define IDeckLinkConfiguration_v10_11_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_QueryInterface(IDeckLinkConfiguration_v10_11* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_v10_11_AddRef(IDeckLinkConfiguration_v10_11* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_v10_11_Release(IDeckLinkConfiguration_v10_11* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkConfiguration_v10_11 methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_SetFlag(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BOOL value) {
return This->lpVtbl->SetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_GetFlag(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_SetInt(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) {
return This->lpVtbl->SetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_GetInt(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_SetFloat(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,double value) {
return This->lpVtbl->SetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_GetFloat(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_SetString(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BSTR value) {
return This->lpVtbl->SetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_GetString(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_11* This) {
return This->lpVtbl->WriteConfigurationToPreferences(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkConfiguration_v10_11_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkAttributes_v10_11 interface
*/
#ifndef __IDeckLinkAttributes_v10_11_INTERFACE_DEFINED__
#define __IDeckLinkAttributes_v10_11_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkAttributes_v10_11, 0xabc11843, 0xd966, 0x44cb, 0x96,0xe2, 0xa1,0xcb,0x5d,0x31,0x35,0xc4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("abc11843-d966-44cb-96e2-a1cb5d3135c4")
IDeckLinkAttributes_v10_11 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkAttributeID cfgID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkAttributeID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkAttributeID cfgID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkAttributeID cfgID,
BSTR *value) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkAttributes_v10_11, 0xabc11843, 0xd966, 0x44cb, 0x96,0xe2, 0xa1,0xcb,0x5d,0x31,0x35,0xc4)
#endif
#else
typedef struct IDeckLinkAttributes_v10_11Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkAttributes_v10_11 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkAttributes_v10_11 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkAttributes_v10_11 *This);
/*** IDeckLinkAttributes_v10_11 methods ***/
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkAttributes_v10_11 *This,
BMDDeckLinkAttributeID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkAttributes_v10_11 *This,
BMDDeckLinkAttributeID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkAttributes_v10_11 *This,
BMDDeckLinkAttributeID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkAttributes_v10_11 *This,
BMDDeckLinkAttributeID cfgID,
BSTR *value);
END_INTERFACE
} IDeckLinkAttributes_v10_11Vtbl;
interface IDeckLinkAttributes_v10_11 {
CONST_VTBL IDeckLinkAttributes_v10_11Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkAttributes_v10_11_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkAttributes_v10_11_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkAttributes_v10_11_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkAttributes_v10_11 methods ***/
#define IDeckLinkAttributes_v10_11_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IDeckLinkAttributes_v10_11_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IDeckLinkAttributes_v10_11_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IDeckLinkAttributes_v10_11_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkAttributes_v10_11_QueryInterface(IDeckLinkAttributes_v10_11* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkAttributes_v10_11_AddRef(IDeckLinkAttributes_v10_11* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkAttributes_v10_11_Release(IDeckLinkAttributes_v10_11* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkAttributes_v10_11 methods ***/
static FORCEINLINE HRESULT IDeckLinkAttributes_v10_11_GetFlag(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkAttributes_v10_11_GetInt(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkAttributes_v10_11_GetFloat(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkAttributes_v10_11_GetString(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
#endif
#endif
#endif
#endif /* __IDeckLinkAttributes_v10_11_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkOutput_v10_11 interface
*/
#ifndef __IDeckLinkOutput_v10_11_INTERFACE_DEFINED__
#define __IDeckLinkOutput_v10_11_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkOutput_v10_11, 0xcc5c8a6e, 0x3f2f, 0x4b3a, 0x87,0xea, 0xfd,0x78,0xaf,0x30,0x05,0x64);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cc5c8a6e-3f2f-4b3a-87ea-fd78af300564")
IDeckLinkOutput_v10_11 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoOutputFlags flags,
BMDDisplayModeSupport_v10_11 *result,
IDeckLinkDisplayMode **resultDisplayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
IDeckLinkScreenPreviewCallback *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
BMDDisplayMode displayMode,
BMDVideoOutputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
IDeckLinkMemoryAllocator *theAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkMutableVideoFrame **outFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
BMDPixelFormat pixelFormat,
IDeckLinkVideoFrameAncillary **outBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
IDeckLinkVideoFrame *theFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
IDeckLinkVideoFrame *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
IDeckLinkVideoOutputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
unsigned int *bufferedFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount,
BMDAudioOutputStreamType streamType) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
unsigned int *bufferedSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
IDeckLinkAudioOutputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed) = 0;
virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
BOOL *active) = 0;
virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
BMDTimeScale desiredTimeScale,
BMDTimeValue *streamTime,
double *playbackSpeed) = 0;
virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus(
BMDReferenceStatus *referenceStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFrameCompletionReferenceTimestamp(
IDeckLinkVideoFrame *theFrame,
BMDTimeScale desiredTimeScale,
BMDTimeValue *frameCompletionTimestamp) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkOutput_v10_11, 0xcc5c8a6e, 0x3f2f, 0x4b3a, 0x87,0xea, 0xfd,0x78,0xaf,0x30,0x05,0x64)
#endif
#else
typedef struct IDeckLinkOutput_v10_11Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkOutput_v10_11 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkOutput_v10_11 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkOutput_v10_11 *This);
/*** IDeckLinkOutput_v10_11 methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkOutput_v10_11 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoOutputFlags flags,
BMDDisplayModeSupport_v10_11 *result,
IDeckLinkDisplayMode **resultDisplayMode);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkOutput_v10_11 *This,
IDeckLinkDisplayModeIterator **iterator);
HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)(
IDeckLinkOutput_v10_11 *This,
IDeckLinkScreenPreviewCallback *previewCallback);
HRESULT (STDMETHODCALLTYPE *EnableVideoOutput)(
IDeckLinkOutput_v10_11 *This,
BMDDisplayMode displayMode,
BMDVideoOutputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoOutput)(
IDeckLinkOutput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator)(
IDeckLinkOutput_v10_11 *This,
IDeckLinkMemoryAllocator *theAllocator);
HRESULT (STDMETHODCALLTYPE *CreateVideoFrame)(
IDeckLinkOutput_v10_11 *This,
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkMutableVideoFrame **outFrame);
HRESULT (STDMETHODCALLTYPE *CreateAncillaryData)(
IDeckLinkOutput_v10_11 *This,
BMDPixelFormat pixelFormat,
IDeckLinkVideoFrameAncillary **outBuffer);
HRESULT (STDMETHODCALLTYPE *DisplayVideoFrameSync)(
IDeckLinkOutput_v10_11 *This,
IDeckLinkVideoFrame *theFrame);
HRESULT (STDMETHODCALLTYPE *ScheduleVideoFrame)(
IDeckLinkOutput_v10_11 *This,
IDeckLinkVideoFrame *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback)(
IDeckLinkOutput_v10_11 *This,
IDeckLinkVideoOutputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *GetBufferedVideoFrameCount)(
IDeckLinkOutput_v10_11 *This,
unsigned int *bufferedFrameCount);
HRESULT (STDMETHODCALLTYPE *EnableAudioOutput)(
IDeckLinkOutput_v10_11 *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount,
BMDAudioOutputStreamType streamType);
HRESULT (STDMETHODCALLTYPE *DisableAudioOutput)(
IDeckLinkOutput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *WriteAudioSamplesSync)(
IDeckLinkOutput_v10_11 *This,
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *BeginAudioPreroll)(
IDeckLinkOutput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *EndAudioPreroll)(
IDeckLinkOutput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *ScheduleAudioSamples)(
IDeckLinkOutput_v10_11 *This,
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount)(
IDeckLinkOutput_v10_11 *This,
unsigned int *bufferedSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *FlushBufferedAudioSamples)(
IDeckLinkOutput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *SetAudioCallback)(
IDeckLinkOutput_v10_11 *This,
IDeckLinkAudioOutputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *StartScheduledPlayback)(
IDeckLinkOutput_v10_11 *This,
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed);
HRESULT (STDMETHODCALLTYPE *StopScheduledPlayback)(
IDeckLinkOutput_v10_11 *This,
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *IsScheduledPlaybackRunning)(
IDeckLinkOutput_v10_11 *This,
BOOL *active);
HRESULT (STDMETHODCALLTYPE *GetScheduledStreamTime)(
IDeckLinkOutput_v10_11 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *streamTime,
double *playbackSpeed);
HRESULT (STDMETHODCALLTYPE *GetReferenceStatus)(
IDeckLinkOutput_v10_11 *This,
BMDReferenceStatus *referenceStatus);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkOutput_v10_11 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame);
HRESULT (STDMETHODCALLTYPE *GetFrameCompletionReferenceTimestamp)(
IDeckLinkOutput_v10_11 *This,
IDeckLinkVideoFrame *theFrame,
BMDTimeScale desiredTimeScale,
BMDTimeValue *frameCompletionTimestamp);
END_INTERFACE
} IDeckLinkOutput_v10_11Vtbl;
interface IDeckLinkOutput_v10_11 {
CONST_VTBL IDeckLinkOutput_v10_11Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkOutput_v10_11_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkOutput_v10_11_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkOutput_v10_11_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkOutput_v10_11 methods ***/
#define IDeckLinkOutput_v10_11_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) (This)->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode)
#define IDeckLinkOutput_v10_11_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkOutput_v10_11_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback)
#define IDeckLinkOutput_v10_11_EnableVideoOutput(This,displayMode,flags) (This)->lpVtbl->EnableVideoOutput(This,displayMode,flags)
#define IDeckLinkOutput_v10_11_DisableVideoOutput(This) (This)->lpVtbl->DisableVideoOutput(This)
#define IDeckLinkOutput_v10_11_SetVideoOutputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator)
#define IDeckLinkOutput_v10_11_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) (This)->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame)
#define IDeckLinkOutput_v10_11_CreateAncillaryData(This,pixelFormat,outBuffer) (This)->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer)
#define IDeckLinkOutput_v10_11_DisplayVideoFrameSync(This,theFrame) (This)->lpVtbl->DisplayVideoFrameSync(This,theFrame)
#define IDeckLinkOutput_v10_11_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) (This)->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale)
#define IDeckLinkOutput_v10_11_SetScheduledFrameCompletionCallback(This,theCallback) (This)->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback)
#define IDeckLinkOutput_v10_11_GetBufferedVideoFrameCount(This,bufferedFrameCount) (This)->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount)
#define IDeckLinkOutput_v10_11_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) (This)->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType)
#define IDeckLinkOutput_v10_11_DisableAudioOutput(This) (This)->lpVtbl->DisableAudioOutput(This)
#define IDeckLinkOutput_v10_11_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) (This)->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten)
#define IDeckLinkOutput_v10_11_BeginAudioPreroll(This) (This)->lpVtbl->BeginAudioPreroll(This)
#define IDeckLinkOutput_v10_11_EndAudioPreroll(This) (This)->lpVtbl->EndAudioPreroll(This)
#define IDeckLinkOutput_v10_11_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) (This)->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten)
#define IDeckLinkOutput_v10_11_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) (This)->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount)
#define IDeckLinkOutput_v10_11_FlushBufferedAudioSamples(This) (This)->lpVtbl->FlushBufferedAudioSamples(This)
#define IDeckLinkOutput_v10_11_SetAudioCallback(This,theCallback) (This)->lpVtbl->SetAudioCallback(This,theCallback)
#define IDeckLinkOutput_v10_11_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) (This)->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed)
#define IDeckLinkOutput_v10_11_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) (This)->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale)
#define IDeckLinkOutput_v10_11_IsScheduledPlaybackRunning(This,active) (This)->lpVtbl->IsScheduledPlaybackRunning(This,active)
#define IDeckLinkOutput_v10_11_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) (This)->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed)
#define IDeckLinkOutput_v10_11_GetReferenceStatus(This,referenceStatus) (This)->lpVtbl->GetReferenceStatus(This,referenceStatus)
#define IDeckLinkOutput_v10_11_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame)
#define IDeckLinkOutput_v10_11_GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) (This)->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_QueryInterface(IDeckLinkOutput_v10_11* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkOutput_v10_11_AddRef(IDeckLinkOutput_v10_11* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkOutput_v10_11_Release(IDeckLinkOutput_v10_11* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkOutput_v10_11 methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_DoesSupportVideoMode(IDeckLinkOutput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoOutputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) {
return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetDisplayModeIterator(IDeckLinkOutput_v10_11* This,IDeckLinkDisplayModeIterator **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_SetScreenPreviewCallback(IDeckLinkOutput_v10_11* This,IDeckLinkScreenPreviewCallback *previewCallback) {
return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_EnableVideoOutput(IDeckLinkOutput_v10_11* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) {
return This->lpVtbl->EnableVideoOutput(This,displayMode,flags);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_DisableVideoOutput(IDeckLinkOutput_v10_11* This) {
return This->lpVtbl->DisableVideoOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v10_11* This,IDeckLinkMemoryAllocator *theAllocator) {
return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_CreateVideoFrame(IDeckLinkOutput_v10_11* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame **outFrame) {
return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_CreateAncillaryData(IDeckLinkOutput_v10_11* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) {
return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_DisplayVideoFrameSync(IDeckLinkOutput_v10_11* This,IDeckLinkVideoFrame *theFrame) {
return This->lpVtbl->DisplayVideoFrameSync(This,theFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_ScheduleVideoFrame(IDeckLinkOutput_v10_11* This,IDeckLinkVideoFrame *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) {
return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v10_11* This,IDeckLinkVideoOutputCallback *theCallback) {
return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetBufferedVideoFrameCount(IDeckLinkOutput_v10_11* This,unsigned int *bufferedFrameCount) {
return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_EnableAudioOutput(IDeckLinkOutput_v10_11* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) {
return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_DisableAudioOutput(IDeckLinkOutput_v10_11* This) {
return This->lpVtbl->DisableAudioOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_WriteAudioSamplesSync(IDeckLinkOutput_v10_11* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) {
return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_BeginAudioPreroll(IDeckLinkOutput_v10_11* This) {
return This->lpVtbl->BeginAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_EndAudioPreroll(IDeckLinkOutput_v10_11* This) {
return This->lpVtbl->EndAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_ScheduleAudioSamples(IDeckLinkOutput_v10_11* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) {
return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v10_11* This,unsigned int *bufferedSampleFrameCount) {
return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_FlushBufferedAudioSamples(IDeckLinkOutput_v10_11* This) {
return This->lpVtbl->FlushBufferedAudioSamples(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_SetAudioCallback(IDeckLinkOutput_v10_11* This,IDeckLinkAudioOutputCallback *theCallback) {
return This->lpVtbl->SetAudioCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_StartScheduledPlayback(IDeckLinkOutput_v10_11* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) {
return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_StopScheduledPlayback(IDeckLinkOutput_v10_11* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) {
return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_IsScheduledPlaybackRunning(IDeckLinkOutput_v10_11* This,BOOL *active) {
return This->lpVtbl->IsScheduledPlaybackRunning(This,active);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetScheduledStreamTime(IDeckLinkOutput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) {
return This->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetReferenceStatus(IDeckLinkOutput_v10_11* This,BMDReferenceStatus *referenceStatus) {
return This->lpVtbl->GetReferenceStatus(This,referenceStatus);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetHardwareReferenceClock(IDeckLinkOutput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetFrameCompletionReferenceTimestamp(IDeckLinkOutput_v10_11* This,IDeckLinkVideoFrame *theFrame,BMDTimeScale desiredTimeScale,BMDTimeValue *frameCompletionTimestamp) {
return This->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp);
}
#endif
#endif
#endif
#endif /* __IDeckLinkOutput_v10_11_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkInput_v10_11 interface
*/
#ifndef __IDeckLinkInput_v10_11_INTERFACE_DEFINED__
#define __IDeckLinkInput_v10_11_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkInput_v10_11, 0xaf22762b, 0xdfac, 0x4846, 0xaa,0x79, 0xfa,0x88,0x83,0x56,0x09,0x95);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("af22762b-dfac-4846-aa79-fa8883560995")
IDeckLinkInput_v10_11 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags,
BMDDisplayModeSupport_v10_11 *result,
IDeckLinkDisplayMode **resultDisplayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
IDeckLinkScreenPreviewCallback *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
unsigned int *availableFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoInputFrameMemoryAllocator(
IDeckLinkMemoryAllocator *theAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
unsigned int *availableSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE StartStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE StopStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PauseStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkInputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkInput_v10_11, 0xaf22762b, 0xdfac, 0x4846, 0xaa,0x79, 0xfa,0x88,0x83,0x56,0x09,0x95)
#endif
#else
typedef struct IDeckLinkInput_v10_11Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkInput_v10_11 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkInput_v10_11 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkInput_v10_11 *This);
/*** IDeckLinkInput_v10_11 methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkInput_v10_11 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags,
BMDDisplayModeSupport_v10_11 *result,
IDeckLinkDisplayMode **resultDisplayMode);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkInput_v10_11 *This,
IDeckLinkDisplayModeIterator **iterator);
HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)(
IDeckLinkInput_v10_11 *This,
IDeckLinkScreenPreviewCallback *previewCallback);
HRESULT (STDMETHODCALLTYPE *EnableVideoInput)(
IDeckLinkInput_v10_11 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoInput)(
IDeckLinkInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableVideoFrameCount)(
IDeckLinkInput_v10_11 *This,
unsigned int *availableFrameCount);
HRESULT (STDMETHODCALLTYPE *SetVideoInputFrameMemoryAllocator)(
IDeckLinkInput_v10_11 *This,
IDeckLinkMemoryAllocator *theAllocator);
HRESULT (STDMETHODCALLTYPE *EnableAudioInput)(
IDeckLinkInput_v10_11 *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount);
HRESULT (STDMETHODCALLTYPE *DisableAudioInput)(
IDeckLinkInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount)(
IDeckLinkInput_v10_11 *This,
unsigned int *availableSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *StartStreams)(
IDeckLinkInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *StopStreams)(
IDeckLinkInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *PauseStreams)(
IDeckLinkInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *FlushStreams)(
IDeckLinkInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkInput_v10_11 *This,
IDeckLinkInputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkInput_v10_11 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame);
END_INTERFACE
} IDeckLinkInput_v10_11Vtbl;
interface IDeckLinkInput_v10_11 {
CONST_VTBL IDeckLinkInput_v10_11Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkInput_v10_11_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkInput_v10_11_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkInput_v10_11_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkInput_v10_11 methods ***/
#define IDeckLinkInput_v10_11_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) (This)->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode)
#define IDeckLinkInput_v10_11_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkInput_v10_11_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback)
#define IDeckLinkInput_v10_11_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags)
#define IDeckLinkInput_v10_11_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This)
#define IDeckLinkInput_v10_11_GetAvailableVideoFrameCount(This,availableFrameCount) (This)->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount)
#define IDeckLinkInput_v10_11_SetVideoInputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator)
#define IDeckLinkInput_v10_11_EnableAudioInput(This,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount)
#define IDeckLinkInput_v10_11_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This)
#define IDeckLinkInput_v10_11_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) (This)->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount)
#define IDeckLinkInput_v10_11_StartStreams(This) (This)->lpVtbl->StartStreams(This)
#define IDeckLinkInput_v10_11_StopStreams(This) (This)->lpVtbl->StopStreams(This)
#define IDeckLinkInput_v10_11_PauseStreams(This) (This)->lpVtbl->PauseStreams(This)
#define IDeckLinkInput_v10_11_FlushStreams(This) (This)->lpVtbl->FlushStreams(This)
#define IDeckLinkInput_v10_11_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback)
#define IDeckLinkInput_v10_11_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_QueryInterface(IDeckLinkInput_v10_11* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkInput_v10_11_AddRef(IDeckLinkInput_v10_11* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkInput_v10_11_Release(IDeckLinkInput_v10_11* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkInput_v10_11 methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_DoesSupportVideoMode(IDeckLinkInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) {
return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_GetDisplayModeIterator(IDeckLinkInput_v10_11* This,IDeckLinkDisplayModeIterator **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_SetScreenPreviewCallback(IDeckLinkInput_v10_11* This,IDeckLinkScreenPreviewCallback *previewCallback) {
return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_EnableVideoInput(IDeckLinkInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) {
return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_DisableVideoInput(IDeckLinkInput_v10_11* This) {
return This->lpVtbl->DisableVideoInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_GetAvailableVideoFrameCount(IDeckLinkInput_v10_11* This,unsigned int *availableFrameCount) {
return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_SetVideoInputFrameMemoryAllocator(IDeckLinkInput_v10_11* This,IDeckLinkMemoryAllocator *theAllocator) {
return This->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_EnableAudioInput(IDeckLinkInput_v10_11* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) {
return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_DisableAudioInput(IDeckLinkInput_v10_11* This) {
return This->lpVtbl->DisableAudioInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v10_11* This,unsigned int *availableSampleFrameCount) {
return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_StartStreams(IDeckLinkInput_v10_11* This) {
return This->lpVtbl->StartStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_StopStreams(IDeckLinkInput_v10_11* This) {
return This->lpVtbl->StopStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_PauseStreams(IDeckLinkInput_v10_11* This) {
return This->lpVtbl->PauseStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_FlushStreams(IDeckLinkInput_v10_11* This) {
return This->lpVtbl->FlushStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_SetCallback(IDeckLinkInput_v10_11* This,IDeckLinkInputCallback *theCallback) {
return This->lpVtbl->SetCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkInput_v10_11_GetHardwareReferenceClock(IDeckLinkInput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkInput_v10_11_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkEncoderInput_v10_11 interface
*/
#ifndef __IDeckLinkEncoderInput_v10_11_INTERFACE_DEFINED__
#define __IDeckLinkEncoderInput_v10_11_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkEncoderInput_v10_11, 0x270587da, 0x6b7d, 0x42e7, 0xa1,0xf0, 0x6d,0x85,0x3f,0x58,0x11,0x85);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("270587da-6b7d-42e7-a1f0-6d853f581185")
IDeckLinkEncoderInput_v10_11 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags,
BMDDisplayModeSupport_v10_11 *result,
IDeckLinkDisplayMode **resultDisplayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailablePacketsCount(
unsigned int *availablePacketsCount) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMemoryAllocator(
IDeckLinkMemoryAllocator *theAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
BMDAudioFormat audioFormat,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
unsigned int *availableSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE StartStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE StopStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PauseStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkEncoderInputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkEncoderInput_v10_11, 0x270587da, 0x6b7d, 0x42e7, 0xa1,0xf0, 0x6d,0x85,0x3f,0x58,0x11,0x85)
#endif
#else
typedef struct IDeckLinkEncoderInput_v10_11Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkEncoderInput_v10_11 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkEncoderInput_v10_11 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkEncoderInput_v10_11 *This);
/*** IDeckLinkEncoderInput_v10_11 methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkEncoderInput_v10_11 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags,
BMDDisplayModeSupport_v10_11 *result,
IDeckLinkDisplayMode **resultDisplayMode);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkEncoderInput_v10_11 *This,
IDeckLinkDisplayModeIterator **iterator);
HRESULT (STDMETHODCALLTYPE *EnableVideoInput)(
IDeckLinkEncoderInput_v10_11 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoInput)(
IDeckLinkEncoderInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *GetAvailablePacketsCount)(
IDeckLinkEncoderInput_v10_11 *This,
unsigned int *availablePacketsCount);
HRESULT (STDMETHODCALLTYPE *SetMemoryAllocator)(
IDeckLinkEncoderInput_v10_11 *This,
IDeckLinkMemoryAllocator *theAllocator);
HRESULT (STDMETHODCALLTYPE *EnableAudioInput)(
IDeckLinkEncoderInput_v10_11 *This,
BMDAudioFormat audioFormat,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount);
HRESULT (STDMETHODCALLTYPE *DisableAudioInput)(
IDeckLinkEncoderInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount)(
IDeckLinkEncoderInput_v10_11 *This,
unsigned int *availableSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *StartStreams)(
IDeckLinkEncoderInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *StopStreams)(
IDeckLinkEncoderInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *PauseStreams)(
IDeckLinkEncoderInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *FlushStreams)(
IDeckLinkEncoderInput_v10_11 *This);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkEncoderInput_v10_11 *This,
IDeckLinkEncoderInputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkEncoderInput_v10_11 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame);
END_INTERFACE
} IDeckLinkEncoderInput_v10_11Vtbl;
interface IDeckLinkEncoderInput_v10_11 {
CONST_VTBL IDeckLinkEncoderInput_v10_11Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkEncoderInput_v10_11_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkEncoderInput_v10_11_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkEncoderInput_v10_11_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkEncoderInput_v10_11 methods ***/
#define IDeckLinkEncoderInput_v10_11_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) (This)->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode)
#define IDeckLinkEncoderInput_v10_11_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkEncoderInput_v10_11_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags)
#define IDeckLinkEncoderInput_v10_11_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This)
#define IDeckLinkEncoderInput_v10_11_GetAvailablePacketsCount(This,availablePacketsCount) (This)->lpVtbl->GetAvailablePacketsCount(This,availablePacketsCount)
#define IDeckLinkEncoderInput_v10_11_SetMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetMemoryAllocator(This,theAllocator)
#define IDeckLinkEncoderInput_v10_11_EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount)
#define IDeckLinkEncoderInput_v10_11_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This)
#define IDeckLinkEncoderInput_v10_11_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) (This)->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount)
#define IDeckLinkEncoderInput_v10_11_StartStreams(This) (This)->lpVtbl->StartStreams(This)
#define IDeckLinkEncoderInput_v10_11_StopStreams(This) (This)->lpVtbl->StopStreams(This)
#define IDeckLinkEncoderInput_v10_11_PauseStreams(This) (This)->lpVtbl->PauseStreams(This)
#define IDeckLinkEncoderInput_v10_11_FlushStreams(This) (This)->lpVtbl->FlushStreams(This)
#define IDeckLinkEncoderInput_v10_11_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback)
#define IDeckLinkEncoderInput_v10_11_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_QueryInterface(IDeckLinkEncoderInput_v10_11* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkEncoderInput_v10_11_AddRef(IDeckLinkEncoderInput_v10_11* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkEncoderInput_v10_11_Release(IDeckLinkEncoderInput_v10_11* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkEncoderInput_v10_11 methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_DoesSupportVideoMode(IDeckLinkEncoderInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) {
return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_GetDisplayModeIterator(IDeckLinkEncoderInput_v10_11* This,IDeckLinkDisplayModeIterator **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_EnableVideoInput(IDeckLinkEncoderInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) {
return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_DisableVideoInput(IDeckLinkEncoderInput_v10_11* This) {
return This->lpVtbl->DisableVideoInput(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_GetAvailablePacketsCount(IDeckLinkEncoderInput_v10_11* This,unsigned int *availablePacketsCount) {
return This->lpVtbl->GetAvailablePacketsCount(This,availablePacketsCount);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_SetMemoryAllocator(IDeckLinkEncoderInput_v10_11* This,IDeckLinkMemoryAllocator *theAllocator) {
return This->lpVtbl->SetMemoryAllocator(This,theAllocator);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_EnableAudioInput(IDeckLinkEncoderInput_v10_11* This,BMDAudioFormat audioFormat,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) {
return This->lpVtbl->EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_DisableAudioInput(IDeckLinkEncoderInput_v10_11* This) {
return This->lpVtbl->DisableAudioInput(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_GetAvailableAudioSampleFrameCount(IDeckLinkEncoderInput_v10_11* This,unsigned int *availableSampleFrameCount) {
return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_StartStreams(IDeckLinkEncoderInput_v10_11* This) {
return This->lpVtbl->StartStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_StopStreams(IDeckLinkEncoderInput_v10_11* This) {
return This->lpVtbl->StopStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_PauseStreams(IDeckLinkEncoderInput_v10_11* This) {
return This->lpVtbl->PauseStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_FlushStreams(IDeckLinkEncoderInput_v10_11* This) {
return This->lpVtbl->FlushStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_SetCallback(IDeckLinkEncoderInput_v10_11* This,IDeckLinkEncoderInputCallback *theCallback) {
return This->lpVtbl->SetCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_GetHardwareReferenceClock(IDeckLinkEncoderInput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkEncoderInput_v10_11_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkNotification_v10_11 interface
*/
#ifndef __IDeckLinkNotification_v10_11_INTERFACE_DEFINED__
#define __IDeckLinkNotification_v10_11_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkNotification_v10_11, 0x0a1fb207, 0xe215, 0x441b, 0x9b,0x19, 0x6f,0xa1,0x57,0x59,0x46,0xc5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0a1fb207-e215-441b-9b19-6fa1575946c5")
IDeckLinkNotification_v10_11 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Subscribe(
BMDNotifications topic,
IDeckLinkNotificationCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE Unsubscribe(
BMDNotifications topic,
IDeckLinkNotificationCallback *theCallback) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkNotification_v10_11, 0x0a1fb207, 0xe215, 0x441b, 0x9b,0x19, 0x6f,0xa1,0x57,0x59,0x46,0xc5)
#endif
#else
typedef struct IDeckLinkNotification_v10_11Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkNotification_v10_11 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkNotification_v10_11 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkNotification_v10_11 *This);
/*** IDeckLinkNotification_v10_11 methods ***/
HRESULT (STDMETHODCALLTYPE *Subscribe)(
IDeckLinkNotification_v10_11 *This,
BMDNotifications topic,
IDeckLinkNotificationCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *Unsubscribe)(
IDeckLinkNotification_v10_11 *This,
BMDNotifications topic,
IDeckLinkNotificationCallback *theCallback);
END_INTERFACE
} IDeckLinkNotification_v10_11Vtbl;
interface IDeckLinkNotification_v10_11 {
CONST_VTBL IDeckLinkNotification_v10_11Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkNotification_v10_11_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkNotification_v10_11_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkNotification_v10_11_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkNotification_v10_11 methods ***/
#define IDeckLinkNotification_v10_11_Subscribe(This,topic,theCallback) (This)->lpVtbl->Subscribe(This,topic,theCallback)
#define IDeckLinkNotification_v10_11_Unsubscribe(This,topic,theCallback) (This)->lpVtbl->Unsubscribe(This,topic,theCallback)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkNotification_v10_11_QueryInterface(IDeckLinkNotification_v10_11* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkNotification_v10_11_AddRef(IDeckLinkNotification_v10_11* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkNotification_v10_11_Release(IDeckLinkNotification_v10_11* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkNotification_v10_11 methods ***/
static FORCEINLINE HRESULT IDeckLinkNotification_v10_11_Subscribe(IDeckLinkNotification_v10_11* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) {
return This->lpVtbl->Subscribe(This,topic,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkNotification_v10_11_Unsubscribe(IDeckLinkNotification_v10_11* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) {
return This->lpVtbl->Unsubscribe(This,topic,theCallback);
}
#endif
#endif
#endif
#endif /* __IDeckLinkNotification_v10_11_INTERFACE_DEFINED__ */
/*****************************************************************************
* CDeckLinkIterator_v10_11 coclass
*/
DEFINE_GUID(CLSID_CDeckLinkIterator_v10_11, 0x87d2693f, 0x8d4a, 0x45c7, 0xb4,0x3f, 0x10,0xac,0xba,0x25,0xe6,0x8f);
#ifdef __cplusplus
class DECLSPEC_UUID("87d2693f-8d4a-45c7-b43f-10acba25e68f") CDeckLinkIterator_v10_11;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkIterator_v10_11, 0x87d2693f, 0x8d4a, 0x45c7, 0xb4,0x3f, 0x10,0xac,0xba,0x25,0xe6,0x8f)
#endif
#endif
/*****************************************************************************
* CDeckLinkDiscovery_v10_11 coclass
*/
DEFINE_GUID(CLSID_CDeckLinkDiscovery_v10_11, 0x652615d4, 0x26cd, 0x4514, 0xb1,0x61, 0x2f,0xd5,0x07,0x2e,0xd0,0x08);
#ifdef __cplusplus
class DECLSPEC_UUID("652615d4-26cd-4514-b161-2fd5072ed008") CDeckLinkDiscovery_v10_11;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkDiscovery_v10_11, 0x652615d4, 0x26cd, 0x4514, 0xb1,0x61, 0x2f,0xd5,0x07,0x2e,0xd0,0x08)
#endif
#endif
typedef enum _BMDDeckLinkConfigurationID_v10_9 {
bmdDeckLinkConfig1080pNotPsF_v10_9 = 0x6670726f
} BMDDeckLinkConfigurationID_v10_9;
#ifndef __IDeckLinkConfiguration_v10_9_FWD_DEFINED__
#define __IDeckLinkConfiguration_v10_9_FWD_DEFINED__
typedef interface IDeckLinkConfiguration_v10_9 IDeckLinkConfiguration_v10_9;
#ifdef __cplusplus
interface IDeckLinkConfiguration_v10_9;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkConfiguration_v10_9 interface
*/
#ifndef __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__
#define __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkConfiguration_v10_9, 0xcb71734a, 0xfe37, 0x4e8d, 0x8e,0x13, 0x80,0x21,0x33,0xa1,0xc3,0xf2);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cb71734a-fe37-4e8d-8e13-802133a1c3f2")
IDeckLinkConfiguration_v10_9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFlag(
BMDDeckLinkConfigurationID cfgID,
BOOL value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkConfigurationID cfgID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInt(
BMDDeckLinkConfigurationID cfgID,
LONGLONG value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkConfigurationID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFloat(
BMDDeckLinkConfigurationID cfgID,
double value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkConfigurationID cfgID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetString(
BMDDeckLinkConfigurationID cfgID,
BSTR value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkConfigurationID cfgID,
BSTR *value) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkConfiguration_v10_9, 0xcb71734a, 0xfe37, 0x4e8d, 0x8e,0x13, 0x80,0x21,0x33,0xa1,0xc3,0xf2)
#endif
#else
typedef struct IDeckLinkConfiguration_v10_9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkConfiguration_v10_9 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkConfiguration_v10_9 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkConfiguration_v10_9 *This);
/*** IDeckLinkConfiguration_v10_9 methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlag)(
IDeckLinkConfiguration_v10_9 *This,
BMDDeckLinkConfigurationID cfgID,
BOOL value);
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkConfiguration_v10_9 *This,
BMDDeckLinkConfigurationID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *SetInt)(
IDeckLinkConfiguration_v10_9 *This,
BMDDeckLinkConfigurationID cfgID,
LONGLONG value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkConfiguration_v10_9 *This,
BMDDeckLinkConfigurationID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *SetFloat)(
IDeckLinkConfiguration_v10_9 *This,
BMDDeckLinkConfigurationID cfgID,
double value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkConfiguration_v10_9 *This,
BMDDeckLinkConfigurationID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *SetString)(
IDeckLinkConfiguration_v10_9 *This,
BMDDeckLinkConfigurationID cfgID,
BSTR value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkConfiguration_v10_9 *This,
BMDDeckLinkConfigurationID cfgID,
BSTR *value);
HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)(
IDeckLinkConfiguration_v10_9 *This);
END_INTERFACE
} IDeckLinkConfiguration_v10_9Vtbl;
interface IDeckLinkConfiguration_v10_9 {
CONST_VTBL IDeckLinkConfiguration_v10_9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkConfiguration_v10_9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkConfiguration_v10_9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkConfiguration_v10_9_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkConfiguration_v10_9 methods ***/
#define IDeckLinkConfiguration_v10_9_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value)
#define IDeckLinkConfiguration_v10_9_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IDeckLinkConfiguration_v10_9_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value)
#define IDeckLinkConfiguration_v10_9_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IDeckLinkConfiguration_v10_9_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value)
#define IDeckLinkConfiguration_v10_9_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IDeckLinkConfiguration_v10_9_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value)
#define IDeckLinkConfiguration_v10_9_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#define IDeckLinkConfiguration_v10_9_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_QueryInterface(IDeckLinkConfiguration_v10_9* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_v10_9_AddRef(IDeckLinkConfiguration_v10_9* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_v10_9_Release(IDeckLinkConfiguration_v10_9* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkConfiguration_v10_9 methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_SetFlag(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BOOL value) {
return This->lpVtbl->SetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_GetFlag(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_SetInt(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) {
return This->lpVtbl->SetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_GetInt(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_SetFloat(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,double value) {
return This->lpVtbl->SetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_GetFloat(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_SetString(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BSTR value) {
return This->lpVtbl->SetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_GetString(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_9* This) {
return This->lpVtbl->WriteConfigurationToPreferences(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__ */
/*****************************************************************************
* CBMDStreamingDiscovery_v10_8 coclass
*/
DEFINE_GUID(CLSID_CBMDStreamingDiscovery_v10_8, 0x0caa31f6, 0x8a26, 0x40b0, 0x86,0xa4, 0xbf,0x58,0xdc,0xca,0x71,0x0c);
#ifdef __cplusplus
class DECLSPEC_UUID("0caa31f6-8a26-40b0-86a4-bf58dcca710c") CBMDStreamingDiscovery_v10_8;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CBMDStreamingDiscovery_v10_8, 0x0caa31f6, 0x8a26, 0x40b0, 0x86,0xa4, 0xbf,0x58,0xdc,0xca,0x71,0x0c)
#endif
#endif
/*****************************************************************************
* CDeckLinkIterator_v10_8 coclass
*/
DEFINE_GUID(CLSID_CDeckLinkIterator_v10_8, 0x1f2e109a, 0x8f4f, 0x49e4, 0x92,0x03, 0x13,0x55,0x95,0xcb,0x6f,0xa5);
#ifdef __cplusplus
class DECLSPEC_UUID("1f2e109a-8f4f-49e4-9203-135595cb6fa5") CDeckLinkIterator_v10_8;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkIterator_v10_8, 0x1f2e109a, 0x8f4f, 0x49e4, 0x92,0x03, 0x13,0x55,0x95,0xcb,0x6f,0xa5)
#endif
#endif
/*****************************************************************************
* CDeckLinkDiscovery_v10_8 coclass
*/
DEFINE_GUID(CLSID_CDeckLinkDiscovery_v10_8, 0x1073a05c, 0xd885, 0x47e9, 0xb3,0xc6, 0x12,0x9b,0x3f,0x9f,0x64,0x8b);
#ifdef __cplusplus
class DECLSPEC_UUID("1073a05c-d885-47e9-b3c6-129b3f9f648b") CDeckLinkDiscovery_v10_8;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkDiscovery_v10_8, 0x1073a05c, 0xd885, 0x47e9, 0xb3,0xc6, 0x12,0x9b,0x3f,0x9f,0x64,0x8b)
#endif
#endif
typedef enum _BMDDeckLinkAttributeID_v10_6 {
BMDDeckLinkSupportsDesktopDisplay_v10_6 = 0x65787464
} BMDDeckLinkAttributeID_v10_6;
typedef enum _BMDIdleVideoOutputOperation_v10_6 {
bmdIdleVideoOutputDesktop_v10_6 = 0x6465736b
} BMDIdleVideoOutputOperation_v10_6;
typedef enum _BMDDeckLinkAttributeID_v10_5 {
BMDDeckLinkDeviceBusyState_v10_5 = 0x64627374
} BMDDeckLinkAttributeID_v10_5;
#ifndef __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__
#define __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__
typedef interface IDeckLinkEncoderConfiguration_v10_5 IDeckLinkEncoderConfiguration_v10_5;
#ifdef __cplusplus
interface IDeckLinkEncoderConfiguration_v10_5;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkEncoderConfiguration_v10_5 interface
*/
#ifndef __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__
#define __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkEncoderConfiguration_v10_5, 0x67455668, 0x0848, 0x45df, 0x8d,0x8e, 0x35,0x0a,0x77,0xc9,0xa0,0x28);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("67455668-0848-45df-8d8e-350a77c9a028")
IDeckLinkEncoderConfiguration_v10_5 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFlag(
BMDDeckLinkEncoderConfigurationID cfgID,
BOOL value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkEncoderConfigurationID cfgID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInt(
BMDDeckLinkEncoderConfigurationID cfgID,
LONGLONG value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkEncoderConfigurationID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFloat(
BMDDeckLinkEncoderConfigurationID cfgID,
double value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkEncoderConfigurationID cfgID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetString(
BMDDeckLinkEncoderConfigurationID cfgID,
BSTR value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkEncoderConfigurationID cfgID,
BSTR *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDecoderConfigurationInfo(
void *buffer,
LONG bufferSize,
LONG *returnedSize) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkEncoderConfiguration_v10_5, 0x67455668, 0x0848, 0x45df, 0x8d,0x8e, 0x35,0x0a,0x77,0xc9,0xa0,0x28)
#endif
#else
typedef struct IDeckLinkEncoderConfiguration_v10_5Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkEncoderConfiguration_v10_5 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkEncoderConfiguration_v10_5 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkEncoderConfiguration_v10_5 *This);
/*** IDeckLinkEncoderConfiguration_v10_5 methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlag)(
IDeckLinkEncoderConfiguration_v10_5 *This,
BMDDeckLinkEncoderConfigurationID cfgID,
BOOL value);
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkEncoderConfiguration_v10_5 *This,
BMDDeckLinkEncoderConfigurationID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *SetInt)(
IDeckLinkEncoderConfiguration_v10_5 *This,
BMDDeckLinkEncoderConfigurationID cfgID,
LONGLONG value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkEncoderConfiguration_v10_5 *This,
BMDDeckLinkEncoderConfigurationID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *SetFloat)(
IDeckLinkEncoderConfiguration_v10_5 *This,
BMDDeckLinkEncoderConfigurationID cfgID,
double value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkEncoderConfiguration_v10_5 *This,
BMDDeckLinkEncoderConfigurationID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *SetString)(
IDeckLinkEncoderConfiguration_v10_5 *This,
BMDDeckLinkEncoderConfigurationID cfgID,
BSTR value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkEncoderConfiguration_v10_5 *This,
BMDDeckLinkEncoderConfigurationID cfgID,
BSTR *value);
HRESULT (STDMETHODCALLTYPE *GetDecoderConfigurationInfo)(
IDeckLinkEncoderConfiguration_v10_5 *This,
void *buffer,
LONG bufferSize,
LONG *returnedSize);
END_INTERFACE
} IDeckLinkEncoderConfiguration_v10_5Vtbl;
interface IDeckLinkEncoderConfiguration_v10_5 {
CONST_VTBL IDeckLinkEncoderConfiguration_v10_5Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkEncoderConfiguration_v10_5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkEncoderConfiguration_v10_5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkEncoderConfiguration_v10_5_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkEncoderConfiguration_v10_5 methods ***/
#define IDeckLinkEncoderConfiguration_v10_5_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_v10_5_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_v10_5_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_v10_5_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_v10_5_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_v10_5_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_v10_5_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_v10_5_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#define IDeckLinkEncoderConfiguration_v10_5_GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize) (This)->lpVtbl->GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_QueryInterface(IDeckLinkEncoderConfiguration_v10_5* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkEncoderConfiguration_v10_5_AddRef(IDeckLinkEncoderConfiguration_v10_5* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkEncoderConfiguration_v10_5_Release(IDeckLinkEncoderConfiguration_v10_5* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkEncoderConfiguration_v10_5 methods ***/
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_SetFlag(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL value) {
return This->lpVtbl->SetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_GetFlag(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_SetInt(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG value) {
return This->lpVtbl->SetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_GetInt(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_SetFloat(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,double value) {
return This->lpVtbl->SetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_GetFloat(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_SetString(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR value) {
return This->lpVtbl->SetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_GetString(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_GetDecoderConfigurationInfo(IDeckLinkEncoderConfiguration_v10_5* This,void *buffer,LONG bufferSize,LONG *returnedSize) {
return This->lpVtbl->GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize);
}
#endif
#endif
#endif
#endif /* __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ */
typedef enum _BMDDeckLinkConfigurationID_v10_4 {
bmdDeckLinkConfigSingleLinkVideoOutput_v10_4 = 0x73676c6f
} BMDDeckLinkConfigurationID_v10_4;
#ifndef __IDeckLinkConfiguration_v10_4_FWD_DEFINED__
#define __IDeckLinkConfiguration_v10_4_FWD_DEFINED__
typedef interface IDeckLinkConfiguration_v10_4 IDeckLinkConfiguration_v10_4;
#ifdef __cplusplus
interface IDeckLinkConfiguration_v10_4;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkConfiguration_v10_4 interface
*/
#ifndef __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__
#define __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkConfiguration_v10_4, 0x1e69fcf6, 0x4203, 0x4936, 0x80,0x76, 0x2a,0x9f,0x4c,0xfd,0x50,0xcb);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1e69fcf6-4203-4936-8076-2a9f4cfd50cb")
IDeckLinkConfiguration_v10_4 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFlag(
BMDDeckLinkConfigurationID cfgID,
BOOL value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkConfigurationID cfgID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInt(
BMDDeckLinkConfigurationID cfgID,
LONGLONG value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkConfigurationID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFloat(
BMDDeckLinkConfigurationID cfgID,
double value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkConfigurationID cfgID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetString(
BMDDeckLinkConfigurationID cfgID,
BSTR value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkConfigurationID cfgID,
BSTR *value) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkConfiguration_v10_4, 0x1e69fcf6, 0x4203, 0x4936, 0x80,0x76, 0x2a,0x9f,0x4c,0xfd,0x50,0xcb)
#endif
#else
typedef struct IDeckLinkConfiguration_v10_4Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkConfiguration_v10_4 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkConfiguration_v10_4 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkConfiguration_v10_4 *This);
/*** IDeckLinkConfiguration_v10_4 methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlag)(
IDeckLinkConfiguration_v10_4 *This,
BMDDeckLinkConfigurationID cfgID,
BOOL value);
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkConfiguration_v10_4 *This,
BMDDeckLinkConfigurationID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *SetInt)(
IDeckLinkConfiguration_v10_4 *This,
BMDDeckLinkConfigurationID cfgID,
LONGLONG value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkConfiguration_v10_4 *This,
BMDDeckLinkConfigurationID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *SetFloat)(
IDeckLinkConfiguration_v10_4 *This,
BMDDeckLinkConfigurationID cfgID,
double value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkConfiguration_v10_4 *This,
BMDDeckLinkConfigurationID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *SetString)(
IDeckLinkConfiguration_v10_4 *This,
BMDDeckLinkConfigurationID cfgID,
BSTR value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkConfiguration_v10_4 *This,
BMDDeckLinkConfigurationID cfgID,
BSTR *value);
HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)(
IDeckLinkConfiguration_v10_4 *This);
END_INTERFACE
} IDeckLinkConfiguration_v10_4Vtbl;
interface IDeckLinkConfiguration_v10_4 {
CONST_VTBL IDeckLinkConfiguration_v10_4Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkConfiguration_v10_4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkConfiguration_v10_4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkConfiguration_v10_4_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkConfiguration_v10_4 methods ***/
#define IDeckLinkConfiguration_v10_4_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value)
#define IDeckLinkConfiguration_v10_4_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IDeckLinkConfiguration_v10_4_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value)
#define IDeckLinkConfiguration_v10_4_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IDeckLinkConfiguration_v10_4_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value)
#define IDeckLinkConfiguration_v10_4_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IDeckLinkConfiguration_v10_4_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value)
#define IDeckLinkConfiguration_v10_4_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#define IDeckLinkConfiguration_v10_4_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_QueryInterface(IDeckLinkConfiguration_v10_4* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_v10_4_AddRef(IDeckLinkConfiguration_v10_4* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_v10_4_Release(IDeckLinkConfiguration_v10_4* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkConfiguration_v10_4 methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_SetFlag(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BOOL value) {
return This->lpVtbl->SetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_GetFlag(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_SetInt(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) {
return This->lpVtbl->SetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_GetInt(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_SetFloat(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,double value) {
return This->lpVtbl->SetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_GetFloat(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_SetString(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BSTR value) {
return This->lpVtbl->SetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_GetString(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_4* This) {
return This->lpVtbl->WriteConfigurationToPreferences(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ */
typedef enum _BMDDeckLinkConfigurationID_v10_2 {
bmdDeckLinkConfig3GBpsVideoOutput_v10_2 = 0x33676273
} BMDDeckLinkConfigurationID_v10_2;
typedef enum _BMDAudioConnection_v10_2 {
bmdAudioConnectionEmbedded_v10_2 = 0x656d6264,
bmdAudioConnectionAESEBU_v10_2 = 0x61657320,
bmdAudioConnectionAnalog_v10_2 = 0x616e6c67,
bmdAudioConnectionAnalogXLR_v10_2 = 0x61786c72,
bmdAudioConnectionAnalogRCA_v10_2 = 0x61726361
} BMDAudioConnection_v10_2;
#ifndef __IDeckLinkConfiguration_v10_2_FWD_DEFINED__
#define __IDeckLinkConfiguration_v10_2_FWD_DEFINED__
typedef interface IDeckLinkConfiguration_v10_2 IDeckLinkConfiguration_v10_2;
#ifdef __cplusplus
interface IDeckLinkConfiguration_v10_2;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkConfiguration_v10_2 interface
*/
#ifndef __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__
#define __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkConfiguration_v10_2, 0xc679a35b, 0x610c, 0x4d09, 0xb7,0x48, 0x1d,0x04,0x78,0x10,0x0f,0xc0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c679a35b-610c-4d09-b748-1d0478100fc0")
IDeckLinkConfiguration_v10_2 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFlag(
BMDDeckLinkConfigurationID cfgID,
BOOL value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlag(
BMDDeckLinkConfigurationID cfgID,
BOOL *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInt(
BMDDeckLinkConfigurationID cfgID,
LONGLONG value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt(
BMDDeckLinkConfigurationID cfgID,
LONGLONG *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFloat(
BMDDeckLinkConfigurationID cfgID,
double value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFloat(
BMDDeckLinkConfigurationID cfgID,
double *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetString(
BMDDeckLinkConfigurationID cfgID,
BSTR value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BMDDeckLinkConfigurationID cfgID,
BSTR *value) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkConfiguration_v10_2, 0xc679a35b, 0x610c, 0x4d09, 0xb7,0x48, 0x1d,0x04,0x78,0x10,0x0f,0xc0)
#endif
#else
typedef struct IDeckLinkConfiguration_v10_2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkConfiguration_v10_2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkConfiguration_v10_2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkConfiguration_v10_2 *This);
/*** IDeckLinkConfiguration_v10_2 methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlag)(
IDeckLinkConfiguration_v10_2 *This,
BMDDeckLinkConfigurationID cfgID,
BOOL value);
HRESULT (STDMETHODCALLTYPE *GetFlag)(
IDeckLinkConfiguration_v10_2 *This,
BMDDeckLinkConfigurationID cfgID,
BOOL *value);
HRESULT (STDMETHODCALLTYPE *SetInt)(
IDeckLinkConfiguration_v10_2 *This,
BMDDeckLinkConfigurationID cfgID,
LONGLONG value);
HRESULT (STDMETHODCALLTYPE *GetInt)(
IDeckLinkConfiguration_v10_2 *This,
BMDDeckLinkConfigurationID cfgID,
LONGLONG *value);
HRESULT (STDMETHODCALLTYPE *SetFloat)(
IDeckLinkConfiguration_v10_2 *This,
BMDDeckLinkConfigurationID cfgID,
double value);
HRESULT (STDMETHODCALLTYPE *GetFloat)(
IDeckLinkConfiguration_v10_2 *This,
BMDDeckLinkConfigurationID cfgID,
double *value);
HRESULT (STDMETHODCALLTYPE *SetString)(
IDeckLinkConfiguration_v10_2 *This,
BMDDeckLinkConfigurationID cfgID,
BSTR value);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkConfiguration_v10_2 *This,
BMDDeckLinkConfigurationID cfgID,
BSTR *value);
HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)(
IDeckLinkConfiguration_v10_2 *This);
END_INTERFACE
} IDeckLinkConfiguration_v10_2Vtbl;
interface IDeckLinkConfiguration_v10_2 {
CONST_VTBL IDeckLinkConfiguration_v10_2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkConfiguration_v10_2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkConfiguration_v10_2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkConfiguration_v10_2_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkConfiguration_v10_2 methods ***/
#define IDeckLinkConfiguration_v10_2_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value)
#define IDeckLinkConfiguration_v10_2_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value)
#define IDeckLinkConfiguration_v10_2_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value)
#define IDeckLinkConfiguration_v10_2_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value)
#define IDeckLinkConfiguration_v10_2_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value)
#define IDeckLinkConfiguration_v10_2_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value)
#define IDeckLinkConfiguration_v10_2_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value)
#define IDeckLinkConfiguration_v10_2_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value)
#define IDeckLinkConfiguration_v10_2_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_QueryInterface(IDeckLinkConfiguration_v10_2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_v10_2_AddRef(IDeckLinkConfiguration_v10_2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_v10_2_Release(IDeckLinkConfiguration_v10_2* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkConfiguration_v10_2 methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_SetFlag(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BOOL value) {
return This->lpVtbl->SetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_GetFlag(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) {
return This->lpVtbl->GetFlag(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_SetInt(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) {
return This->lpVtbl->SetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_GetInt(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) {
return This->lpVtbl->GetInt(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_SetFloat(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,double value) {
return This->lpVtbl->SetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_GetFloat(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,double *value) {
return This->lpVtbl->GetFloat(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_SetString(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BSTR value) {
return This->lpVtbl->SetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_GetString(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) {
return This->lpVtbl->GetString(This,cfgID,value);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_2* This) {
return This->lpVtbl->WriteConfigurationToPreferences(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkOutput_v9_9 interface
*/
#ifndef __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__
#define __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkOutput_v9_9, 0xa3ef0963, 0x0862, 0x44ed, 0x92,0xa9, 0xee,0x89,0xab,0xf4,0x31,0xc7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a3ef0963-0862-44ed-92a9-ee89abf431c7")
IDeckLinkOutput_v9_9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoOutputFlags flags,
BMDDisplayModeSupport_v10_11 *result,
IDeckLinkDisplayMode **resultDisplayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
IDeckLinkScreenPreviewCallback *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
BMDDisplayMode displayMode,
BMDVideoOutputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
IDeckLinkMemoryAllocator *theAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkMutableVideoFrame **outFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
BMDPixelFormat pixelFormat,
IDeckLinkVideoFrameAncillary **outBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
IDeckLinkVideoFrame *theFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
IDeckLinkVideoFrame *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
IDeckLinkVideoOutputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
unsigned int *bufferedFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount,
BMDAudioOutputStreamType streamType) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
unsigned int *bufferedSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
IDeckLinkAudioOutputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed) = 0;
virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
BOOL *active) = 0;
virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
BMDTimeScale desiredTimeScale,
BMDTimeValue *streamTime,
double *playbackSpeed) = 0;
virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus(
BMDReferenceStatus *referenceStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkOutput_v9_9, 0xa3ef0963, 0x0862, 0x44ed, 0x92,0xa9, 0xee,0x89,0xab,0xf4,0x31,0xc7)
#endif
#else
typedef struct IDeckLinkOutput_v9_9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkOutput_v9_9 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkOutput_v9_9 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkOutput_v9_9 *This);
/*** IDeckLinkOutput_v9_9 methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkOutput_v9_9 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoOutputFlags flags,
BMDDisplayModeSupport_v10_11 *result,
IDeckLinkDisplayMode **resultDisplayMode);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkOutput_v9_9 *This,
IDeckLinkDisplayModeIterator **iterator);
HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)(
IDeckLinkOutput_v9_9 *This,
IDeckLinkScreenPreviewCallback *previewCallback);
HRESULT (STDMETHODCALLTYPE *EnableVideoOutput)(
IDeckLinkOutput_v9_9 *This,
BMDDisplayMode displayMode,
BMDVideoOutputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoOutput)(
IDeckLinkOutput_v9_9 *This);
HRESULT (STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator)(
IDeckLinkOutput_v9_9 *This,
IDeckLinkMemoryAllocator *theAllocator);
HRESULT (STDMETHODCALLTYPE *CreateVideoFrame)(
IDeckLinkOutput_v9_9 *This,
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkMutableVideoFrame **outFrame);
HRESULT (STDMETHODCALLTYPE *CreateAncillaryData)(
IDeckLinkOutput_v9_9 *This,
BMDPixelFormat pixelFormat,
IDeckLinkVideoFrameAncillary **outBuffer);
HRESULT (STDMETHODCALLTYPE *DisplayVideoFrameSync)(
IDeckLinkOutput_v9_9 *This,
IDeckLinkVideoFrame *theFrame);
HRESULT (STDMETHODCALLTYPE *ScheduleVideoFrame)(
IDeckLinkOutput_v9_9 *This,
IDeckLinkVideoFrame *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback)(
IDeckLinkOutput_v9_9 *This,
IDeckLinkVideoOutputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *GetBufferedVideoFrameCount)(
IDeckLinkOutput_v9_9 *This,
unsigned int *bufferedFrameCount);
HRESULT (STDMETHODCALLTYPE *EnableAudioOutput)(
IDeckLinkOutput_v9_9 *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount,
BMDAudioOutputStreamType streamType);
HRESULT (STDMETHODCALLTYPE *DisableAudioOutput)(
IDeckLinkOutput_v9_9 *This);
HRESULT (STDMETHODCALLTYPE *WriteAudioSamplesSync)(
IDeckLinkOutput_v9_9 *This,
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *BeginAudioPreroll)(
IDeckLinkOutput_v9_9 *This);
HRESULT (STDMETHODCALLTYPE *EndAudioPreroll)(
IDeckLinkOutput_v9_9 *This);
HRESULT (STDMETHODCALLTYPE *ScheduleAudioSamples)(
IDeckLinkOutput_v9_9 *This,
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount)(
IDeckLinkOutput_v9_9 *This,
unsigned int *bufferedSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *FlushBufferedAudioSamples)(
IDeckLinkOutput_v9_9 *This);
HRESULT (STDMETHODCALLTYPE *SetAudioCallback)(
IDeckLinkOutput_v9_9 *This,
IDeckLinkAudioOutputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *StartScheduledPlayback)(
IDeckLinkOutput_v9_9 *This,
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed);
HRESULT (STDMETHODCALLTYPE *StopScheduledPlayback)(
IDeckLinkOutput_v9_9 *This,
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *IsScheduledPlaybackRunning)(
IDeckLinkOutput_v9_9 *This,
BOOL *active);
HRESULT (STDMETHODCALLTYPE *GetScheduledStreamTime)(
IDeckLinkOutput_v9_9 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *streamTime,
double *playbackSpeed);
HRESULT (STDMETHODCALLTYPE *GetReferenceStatus)(
IDeckLinkOutput_v9_9 *This,
BMDReferenceStatus *referenceStatus);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkOutput_v9_9 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame);
END_INTERFACE
} IDeckLinkOutput_v9_9Vtbl;
interface IDeckLinkOutput_v9_9 {
CONST_VTBL IDeckLinkOutput_v9_9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkOutput_v9_9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkOutput_v9_9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkOutput_v9_9_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkOutput_v9_9 methods ***/
#define IDeckLinkOutput_v9_9_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) (This)->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode)
#define IDeckLinkOutput_v9_9_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkOutput_v9_9_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback)
#define IDeckLinkOutput_v9_9_EnableVideoOutput(This,displayMode,flags) (This)->lpVtbl->EnableVideoOutput(This,displayMode,flags)
#define IDeckLinkOutput_v9_9_DisableVideoOutput(This) (This)->lpVtbl->DisableVideoOutput(This)
#define IDeckLinkOutput_v9_9_SetVideoOutputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator)
#define IDeckLinkOutput_v9_9_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) (This)->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame)
#define IDeckLinkOutput_v9_9_CreateAncillaryData(This,pixelFormat,outBuffer) (This)->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer)
#define IDeckLinkOutput_v9_9_DisplayVideoFrameSync(This,theFrame) (This)->lpVtbl->DisplayVideoFrameSync(This,theFrame)
#define IDeckLinkOutput_v9_9_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) (This)->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale)
#define IDeckLinkOutput_v9_9_SetScheduledFrameCompletionCallback(This,theCallback) (This)->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback)
#define IDeckLinkOutput_v9_9_GetBufferedVideoFrameCount(This,bufferedFrameCount) (This)->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount)
#define IDeckLinkOutput_v9_9_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) (This)->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType)
#define IDeckLinkOutput_v9_9_DisableAudioOutput(This) (This)->lpVtbl->DisableAudioOutput(This)
#define IDeckLinkOutput_v9_9_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) (This)->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten)
#define IDeckLinkOutput_v9_9_BeginAudioPreroll(This) (This)->lpVtbl->BeginAudioPreroll(This)
#define IDeckLinkOutput_v9_9_EndAudioPreroll(This) (This)->lpVtbl->EndAudioPreroll(This)
#define IDeckLinkOutput_v9_9_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) (This)->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten)
#define IDeckLinkOutput_v9_9_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) (This)->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount)
#define IDeckLinkOutput_v9_9_FlushBufferedAudioSamples(This) (This)->lpVtbl->FlushBufferedAudioSamples(This)
#define IDeckLinkOutput_v9_9_SetAudioCallback(This,theCallback) (This)->lpVtbl->SetAudioCallback(This,theCallback)
#define IDeckLinkOutput_v9_9_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) (This)->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed)
#define IDeckLinkOutput_v9_9_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) (This)->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale)
#define IDeckLinkOutput_v9_9_IsScheduledPlaybackRunning(This,active) (This)->lpVtbl->IsScheduledPlaybackRunning(This,active)
#define IDeckLinkOutput_v9_9_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) (This)->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed)
#define IDeckLinkOutput_v9_9_GetReferenceStatus(This,referenceStatus) (This)->lpVtbl->GetReferenceStatus(This,referenceStatus)
#define IDeckLinkOutput_v9_9_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_QueryInterface(IDeckLinkOutput_v9_9* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkOutput_v9_9_AddRef(IDeckLinkOutput_v9_9* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkOutput_v9_9_Release(IDeckLinkOutput_v9_9* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkOutput_v9_9 methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_DoesSupportVideoMode(IDeckLinkOutput_v9_9* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoOutputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) {
return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetDisplayModeIterator(IDeckLinkOutput_v9_9* This,IDeckLinkDisplayModeIterator **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_SetScreenPreviewCallback(IDeckLinkOutput_v9_9* This,IDeckLinkScreenPreviewCallback *previewCallback) {
return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_EnableVideoOutput(IDeckLinkOutput_v9_9* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) {
return This->lpVtbl->EnableVideoOutput(This,displayMode,flags);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_DisableVideoOutput(IDeckLinkOutput_v9_9* This) {
return This->lpVtbl->DisableVideoOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v9_9* This,IDeckLinkMemoryAllocator *theAllocator) {
return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_CreateVideoFrame(IDeckLinkOutput_v9_9* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame **outFrame) {
return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_CreateAncillaryData(IDeckLinkOutput_v9_9* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) {
return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_DisplayVideoFrameSync(IDeckLinkOutput_v9_9* This,IDeckLinkVideoFrame *theFrame) {
return This->lpVtbl->DisplayVideoFrameSync(This,theFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_ScheduleVideoFrame(IDeckLinkOutput_v9_9* This,IDeckLinkVideoFrame *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) {
return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v9_9* This,IDeckLinkVideoOutputCallback *theCallback) {
return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetBufferedVideoFrameCount(IDeckLinkOutput_v9_9* This,unsigned int *bufferedFrameCount) {
return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_EnableAudioOutput(IDeckLinkOutput_v9_9* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) {
return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_DisableAudioOutput(IDeckLinkOutput_v9_9* This) {
return This->lpVtbl->DisableAudioOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_WriteAudioSamplesSync(IDeckLinkOutput_v9_9* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) {
return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_BeginAudioPreroll(IDeckLinkOutput_v9_9* This) {
return This->lpVtbl->BeginAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_EndAudioPreroll(IDeckLinkOutput_v9_9* This) {
return This->lpVtbl->EndAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_ScheduleAudioSamples(IDeckLinkOutput_v9_9* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) {
return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v9_9* This,unsigned int *bufferedSampleFrameCount) {
return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_FlushBufferedAudioSamples(IDeckLinkOutput_v9_9* This) {
return This->lpVtbl->FlushBufferedAudioSamples(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_SetAudioCallback(IDeckLinkOutput_v9_9* This,IDeckLinkAudioOutputCallback *theCallback) {
return This->lpVtbl->SetAudioCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_StartScheduledPlayback(IDeckLinkOutput_v9_9* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) {
return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_StopScheduledPlayback(IDeckLinkOutput_v9_9* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) {
return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_IsScheduledPlaybackRunning(IDeckLinkOutput_v9_9* This,BOOL *active) {
return This->lpVtbl->IsScheduledPlaybackRunning(This,active);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetScheduledStreamTime(IDeckLinkOutput_v9_9* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) {
return This->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetReferenceStatus(IDeckLinkOutput_v9_9* This,BMDReferenceStatus *referenceStatus) {
return This->lpVtbl->GetReferenceStatus(This,referenceStatus);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetHardwareReferenceClock(IDeckLinkOutput_v9_9* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkInput_v9_2 interface
*/
#ifndef __IDeckLinkInput_v9_2_INTERFACE_DEFINED__
#define __IDeckLinkInput_v9_2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkInput_v9_2, 0x6d40ef78, 0x28b9, 0x4e21, 0x99,0x0d, 0x95,0xbb,0x77,0x50,0xa0,0x4f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6d40ef78-28b9-4e21-990d-95bb7750a04f")
IDeckLinkInput_v9_2 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags,
BMDDisplayModeSupport_v10_11 *result,
IDeckLinkDisplayMode **resultDisplayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
IDeckLinkScreenPreviewCallback *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
unsigned int *availableFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
unsigned int *availableSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE StartStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE StopStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PauseStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkInputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkInput_v9_2, 0x6d40ef78, 0x28b9, 0x4e21, 0x99,0x0d, 0x95,0xbb,0x77,0x50,0xa0,0x4f)
#endif
#else
typedef struct IDeckLinkInput_v9_2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkInput_v9_2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkInput_v9_2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkInput_v9_2 *This);
/*** IDeckLinkInput_v9_2 methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkInput_v9_2 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags,
BMDDisplayModeSupport_v10_11 *result,
IDeckLinkDisplayMode **resultDisplayMode);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkInput_v9_2 *This,
IDeckLinkDisplayModeIterator **iterator);
HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)(
IDeckLinkInput_v9_2 *This,
IDeckLinkScreenPreviewCallback *previewCallback);
HRESULT (STDMETHODCALLTYPE *EnableVideoInput)(
IDeckLinkInput_v9_2 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoInput)(
IDeckLinkInput_v9_2 *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableVideoFrameCount)(
IDeckLinkInput_v9_2 *This,
unsigned int *availableFrameCount);
HRESULT (STDMETHODCALLTYPE *EnableAudioInput)(
IDeckLinkInput_v9_2 *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount);
HRESULT (STDMETHODCALLTYPE *DisableAudioInput)(
IDeckLinkInput_v9_2 *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount)(
IDeckLinkInput_v9_2 *This,
unsigned int *availableSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *StartStreams)(
IDeckLinkInput_v9_2 *This);
HRESULT (STDMETHODCALLTYPE *StopStreams)(
IDeckLinkInput_v9_2 *This);
HRESULT (STDMETHODCALLTYPE *PauseStreams)(
IDeckLinkInput_v9_2 *This);
HRESULT (STDMETHODCALLTYPE *FlushStreams)(
IDeckLinkInput_v9_2 *This);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkInput_v9_2 *This,
IDeckLinkInputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkInput_v9_2 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame);
END_INTERFACE
} IDeckLinkInput_v9_2Vtbl;
interface IDeckLinkInput_v9_2 {
CONST_VTBL IDeckLinkInput_v9_2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkInput_v9_2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkInput_v9_2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkInput_v9_2_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkInput_v9_2 methods ***/
#define IDeckLinkInput_v9_2_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) (This)->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode)
#define IDeckLinkInput_v9_2_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkInput_v9_2_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback)
#define IDeckLinkInput_v9_2_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags)
#define IDeckLinkInput_v9_2_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This)
#define IDeckLinkInput_v9_2_GetAvailableVideoFrameCount(This,availableFrameCount) (This)->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount)
#define IDeckLinkInput_v9_2_EnableAudioInput(This,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount)
#define IDeckLinkInput_v9_2_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This)
#define IDeckLinkInput_v9_2_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) (This)->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount)
#define IDeckLinkInput_v9_2_StartStreams(This) (This)->lpVtbl->StartStreams(This)
#define IDeckLinkInput_v9_2_StopStreams(This) (This)->lpVtbl->StopStreams(This)
#define IDeckLinkInput_v9_2_PauseStreams(This) (This)->lpVtbl->PauseStreams(This)
#define IDeckLinkInput_v9_2_FlushStreams(This) (This)->lpVtbl->FlushStreams(This)
#define IDeckLinkInput_v9_2_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback)
#define IDeckLinkInput_v9_2_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_QueryInterface(IDeckLinkInput_v9_2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkInput_v9_2_AddRef(IDeckLinkInput_v9_2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkInput_v9_2_Release(IDeckLinkInput_v9_2* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkInput_v9_2 methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_DoesSupportVideoMode(IDeckLinkInput_v9_2* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) {
return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_GetDisplayModeIterator(IDeckLinkInput_v9_2* This,IDeckLinkDisplayModeIterator **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_SetScreenPreviewCallback(IDeckLinkInput_v9_2* This,IDeckLinkScreenPreviewCallback *previewCallback) {
return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_EnableVideoInput(IDeckLinkInput_v9_2* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) {
return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_DisableVideoInput(IDeckLinkInput_v9_2* This) {
return This->lpVtbl->DisableVideoInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_GetAvailableVideoFrameCount(IDeckLinkInput_v9_2* This,unsigned int *availableFrameCount) {
return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_EnableAudioInput(IDeckLinkInput_v9_2* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) {
return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_DisableAudioInput(IDeckLinkInput_v9_2* This) {
return This->lpVtbl->DisableAudioInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v9_2* This,unsigned int *availableSampleFrameCount) {
return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_StartStreams(IDeckLinkInput_v9_2* This) {
return This->lpVtbl->StartStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_StopStreams(IDeckLinkInput_v9_2* This) {
return This->lpVtbl->StopStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_PauseStreams(IDeckLinkInput_v9_2* This) {
return This->lpVtbl->PauseStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_FlushStreams(IDeckLinkInput_v9_2* This) {
return This->lpVtbl->FlushStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_SetCallback(IDeckLinkInput_v9_2* This,IDeckLinkInputCallback *theCallback) {
return This->lpVtbl->SetCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkInput_v9_2_GetHardwareReferenceClock(IDeckLinkInput_v9_2* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkInput_v9_2_INTERFACE_DEFINED__ */
typedef enum _BMDDeckControlVTRControlState_v8_1 {
bmdDeckControlNotInVTRControlMode_v8_1 = 0x6e76636d,
bmdDeckControlVTRControlPlaying_v8_1 = 0x76747270,
bmdDeckControlVTRControlRecording_v8_1 = 0x76747272,
bmdDeckControlVTRControlStill_v8_1 = 0x76747261,
bmdDeckControlVTRControlSeeking_v8_1 = 0x76747273,
bmdDeckControlVTRControlStopped_v8_1 = 0x7674726f
} BMDDeckControlVTRControlState_v8_1;
#ifndef __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__
#define __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__
typedef interface IDeckLinkDeckControlStatusCallback IDeckLinkDeckControlStatusCallback;
#ifdef __cplusplus
interface IDeckLinkDeckControlStatusCallback;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDeckControl_FWD_DEFINED__
#define __IDeckLinkDeckControl_FWD_DEFINED__
typedef interface IDeckLinkDeckControl IDeckLinkDeckControl;
#ifdef __cplusplus
interface IDeckLinkDeckControl;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkDeckControlStatusCallback_v8_1 interface
*/
#ifndef __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__
#define __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDeckControlStatusCallback_v8_1, 0xe5f693c1, 0x4283, 0x4716, 0xb1,0x8f, 0xc1,0x43,0x15,0x21,0x95,0x5b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e5f693c1-4283-4716-b18f-c1431521955b")
IDeckLinkDeckControlStatusCallback_v8_1 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate(
BMDTimecodeBCD currentTimecode) = 0;
virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged(
BMDDeckControlVTRControlState_v8_1 newState,
BMDDeckControlError error) = 0;
virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived(
BMDDeckControlEvent event,
BMDDeckControlError error) = 0;
virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged(
BMDDeckControlStatusFlags flags,
unsigned int mask) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDeckControlStatusCallback_v8_1, 0xe5f693c1, 0x4283, 0x4716, 0xb1,0x8f, 0xc1,0x43,0x15,0x21,0x95,0x5b)
#endif
#else
typedef struct IDeckLinkDeckControlStatusCallback_v8_1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDeckControlStatusCallback_v8_1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDeckControlStatusCallback_v8_1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDeckControlStatusCallback_v8_1 *This);
/*** IDeckLinkDeckControlStatusCallback_v8_1 methods ***/
HRESULT (STDMETHODCALLTYPE *TimecodeUpdate)(
IDeckLinkDeckControlStatusCallback_v8_1 *This,
BMDTimecodeBCD currentTimecode);
HRESULT (STDMETHODCALLTYPE *VTRControlStateChanged)(
IDeckLinkDeckControlStatusCallback_v8_1 *This,
BMDDeckControlVTRControlState_v8_1 newState,
BMDDeckControlError error);
HRESULT (STDMETHODCALLTYPE *DeckControlEventReceived)(
IDeckLinkDeckControlStatusCallback_v8_1 *This,
BMDDeckControlEvent event,
BMDDeckControlError error);
HRESULT (STDMETHODCALLTYPE *DeckControlStatusChanged)(
IDeckLinkDeckControlStatusCallback_v8_1 *This,
BMDDeckControlStatusFlags flags,
unsigned int mask);
END_INTERFACE
} IDeckLinkDeckControlStatusCallback_v8_1Vtbl;
interface IDeckLinkDeckControlStatusCallback_v8_1 {
CONST_VTBL IDeckLinkDeckControlStatusCallback_v8_1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDeckControlStatusCallback_v8_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDeckControlStatusCallback_v8_1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDeckControlStatusCallback_v8_1_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDeckControlStatusCallback_v8_1 methods ***/
#define IDeckLinkDeckControlStatusCallback_v8_1_TimecodeUpdate(This,currentTimecode) (This)->lpVtbl->TimecodeUpdate(This,currentTimecode)
#define IDeckLinkDeckControlStatusCallback_v8_1_VTRControlStateChanged(This,newState,error) (This)->lpVtbl->VTRControlStateChanged(This,newState,error)
#define IDeckLinkDeckControlStatusCallback_v8_1_DeckControlEventReceived(This,event,error) (This)->lpVtbl->DeckControlEventReceived(This,event,error)
#define IDeckLinkDeckControlStatusCallback_v8_1_DeckControlStatusChanged(This,flags,mask) (This)->lpVtbl->DeckControlStatusChanged(This,flags,mask)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_v8_1_QueryInterface(IDeckLinkDeckControlStatusCallback_v8_1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDeckControlStatusCallback_v8_1_AddRef(IDeckLinkDeckControlStatusCallback_v8_1* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDeckControlStatusCallback_v8_1_Release(IDeckLinkDeckControlStatusCallback_v8_1* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDeckControlStatusCallback_v8_1 methods ***/
static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_v8_1_TimecodeUpdate(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDTimecodeBCD currentTimecode) {
return This->lpVtbl->TimecodeUpdate(This,currentTimecode);
}
static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_v8_1_VTRControlStateChanged(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDDeckControlVTRControlState_v8_1 newState,BMDDeckControlError error) {
return This->lpVtbl->VTRControlStateChanged(This,newState,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_v8_1_DeckControlEventReceived(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDDeckControlEvent event,BMDDeckControlError error) {
return This->lpVtbl->DeckControlEventReceived(This,event,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_v8_1_DeckControlStatusChanged(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDDeckControlStatusFlags flags,unsigned int mask) {
return This->lpVtbl->DeckControlStatusChanged(This,flags,mask);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkDeckControl_v8_1 interface
*/
#ifndef __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__
#define __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDeckControl_v8_1, 0x522a9e39, 0x0f3c, 0x4742, 0x94,0xee, 0xd8,0x0d,0xe3,0x35,0xda,0x1d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("522a9e39-0f3c-4742-94ee-d80de335da1d")
IDeckLinkDeckControl_v8_1 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Open(
BMDTimeScale timeScale,
BMDTimeValue timeValue,
BOOL timecodeIsDropFrame,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Close(
BOOL standbyOn) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentState(
BMDDeckControlMode *mode,
BMDDeckControlVTRControlState_v8_1 *vtrControlState,
BMDDeckControlStatusFlags *flags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStandby(
BOOL standbyOn) = 0;
virtual HRESULT STDMETHODCALLTYPE SendCommand(
unsigned char *inBuffer,
unsigned int inBufferSize,
unsigned char *outBuffer,
unsigned int *outDataSize,
unsigned int outBufferSize,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Play(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE TogglePlayStop(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Eject(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GoToTimecode(
BMDTimecodeBCD timecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE FastForward(
BOOL viewTape,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Rewind(
BOOL viewTape,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE StepForward(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE StepBack(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Jog(
double rate,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Shuttle(
double rate,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecodeString(
BSTR *currentTimeCode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecode(
IDeckLinkTimecode **currentTimecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD(
BMDTimecodeBCD *currentTimecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPreroll(
unsigned int prerollSeconds) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPreroll(
unsigned int *prerollSeconds) = 0;
virtual HRESULT STDMETHODCALLTYPE SetExportOffset(
int exportOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE GetExportOffset(
int *exportOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset(
int *deckManualExportOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset(
int captureOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset(
int *captureOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE StartExport(
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlExportModeOpsFlags exportModeOps,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE StartCapture(
BOOL useVITC,
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDeviceID(
unsigned short *deviceId,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Abort(
) = 0;
virtual HRESULT STDMETHODCALLTYPE CrashRecordStart(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE CrashRecordStop(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkDeckControlStatusCallback_v8_1 *callback) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDeckControl_v8_1, 0x522a9e39, 0x0f3c, 0x4742, 0x94,0xee, 0xd8,0x0d,0xe3,0x35,0xda,0x1d)
#endif
#else
typedef struct IDeckLinkDeckControl_v8_1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDeckControl_v8_1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDeckControl_v8_1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDeckControl_v8_1 *This);
/*** IDeckLinkDeckControl_v8_1 methods ***/
HRESULT (STDMETHODCALLTYPE *Open)(
IDeckLinkDeckControl_v8_1 *This,
BMDTimeScale timeScale,
BMDTimeValue timeValue,
BOOL timecodeIsDropFrame,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Close)(
IDeckLinkDeckControl_v8_1 *This,
BOOL standbyOn);
HRESULT (STDMETHODCALLTYPE *GetCurrentState)(
IDeckLinkDeckControl_v8_1 *This,
BMDDeckControlMode *mode,
BMDDeckControlVTRControlState_v8_1 *vtrControlState,
BMDDeckControlStatusFlags *flags);
HRESULT (STDMETHODCALLTYPE *SetStandby)(
IDeckLinkDeckControl_v8_1 *This,
BOOL standbyOn);
HRESULT (STDMETHODCALLTYPE *SendCommand)(
IDeckLinkDeckControl_v8_1 *This,
unsigned char *inBuffer,
unsigned int inBufferSize,
unsigned char *outBuffer,
unsigned int *outDataSize,
unsigned int outBufferSize,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Play)(
IDeckLinkDeckControl_v8_1 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Stop)(
IDeckLinkDeckControl_v8_1 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *TogglePlayStop)(
IDeckLinkDeckControl_v8_1 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Eject)(
IDeckLinkDeckControl_v8_1 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GoToTimecode)(
IDeckLinkDeckControl_v8_1 *This,
BMDTimecodeBCD timecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *FastForward)(
IDeckLinkDeckControl_v8_1 *This,
BOOL viewTape,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Rewind)(
IDeckLinkDeckControl_v8_1 *This,
BOOL viewTape,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *StepForward)(
IDeckLinkDeckControl_v8_1 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *StepBack)(
IDeckLinkDeckControl_v8_1 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Jog)(
IDeckLinkDeckControl_v8_1 *This,
double rate,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Shuttle)(
IDeckLinkDeckControl_v8_1 *This,
double rate,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetTimecodeString)(
IDeckLinkDeckControl_v8_1 *This,
BSTR *currentTimeCode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkDeckControl_v8_1 *This,
IDeckLinkTimecode **currentTimecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetTimecodeBCD)(
IDeckLinkDeckControl_v8_1 *This,
BMDTimecodeBCD *currentTimecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *SetPreroll)(
IDeckLinkDeckControl_v8_1 *This,
unsigned int prerollSeconds);
HRESULT (STDMETHODCALLTYPE *GetPreroll)(
IDeckLinkDeckControl_v8_1 *This,
unsigned int *prerollSeconds);
HRESULT (STDMETHODCALLTYPE *SetExportOffset)(
IDeckLinkDeckControl_v8_1 *This,
int exportOffsetFields);
HRESULT (STDMETHODCALLTYPE *GetExportOffset)(
IDeckLinkDeckControl_v8_1 *This,
int *exportOffsetFields);
HRESULT (STDMETHODCALLTYPE *GetManualExportOffset)(
IDeckLinkDeckControl_v8_1 *This,
int *deckManualExportOffsetFields);
HRESULT (STDMETHODCALLTYPE *SetCaptureOffset)(
IDeckLinkDeckControl_v8_1 *This,
int captureOffsetFields);
HRESULT (STDMETHODCALLTYPE *GetCaptureOffset)(
IDeckLinkDeckControl_v8_1 *This,
int *captureOffsetFields);
HRESULT (STDMETHODCALLTYPE *StartExport)(
IDeckLinkDeckControl_v8_1 *This,
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlExportModeOpsFlags exportModeOps,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *StartCapture)(
IDeckLinkDeckControl_v8_1 *This,
BOOL useVITC,
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetDeviceID)(
IDeckLinkDeckControl_v8_1 *This,
unsigned short *deviceId,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Abort)(
IDeckLinkDeckControl_v8_1 *This);
HRESULT (STDMETHODCALLTYPE *CrashRecordStart)(
IDeckLinkDeckControl_v8_1 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *CrashRecordStop)(
IDeckLinkDeckControl_v8_1 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkDeckControl_v8_1 *This,
IDeckLinkDeckControlStatusCallback_v8_1 *callback);
END_INTERFACE
} IDeckLinkDeckControl_v8_1Vtbl;
interface IDeckLinkDeckControl_v8_1 {
CONST_VTBL IDeckLinkDeckControl_v8_1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDeckControl_v8_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDeckControl_v8_1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDeckControl_v8_1_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDeckControl_v8_1 methods ***/
#define IDeckLinkDeckControl_v8_1_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) (This)->lpVtbl->Open(This,timeScale,timeValue,timecodeIsDropFrame,error)
#define IDeckLinkDeckControl_v8_1_Close(This,standbyOn) (This)->lpVtbl->Close(This,standbyOn)
#define IDeckLinkDeckControl_v8_1_GetCurrentState(This,mode,vtrControlState,flags) (This)->lpVtbl->GetCurrentState(This,mode,vtrControlState,flags)
#define IDeckLinkDeckControl_v8_1_SetStandby(This,standbyOn) (This)->lpVtbl->SetStandby(This,standbyOn)
#define IDeckLinkDeckControl_v8_1_SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) (This)->lpVtbl->SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error)
#define IDeckLinkDeckControl_v8_1_Play(This,error) (This)->lpVtbl->Play(This,error)
#define IDeckLinkDeckControl_v8_1_Stop(This,error) (This)->lpVtbl->Stop(This,error)
#define IDeckLinkDeckControl_v8_1_TogglePlayStop(This,error) (This)->lpVtbl->TogglePlayStop(This,error)
#define IDeckLinkDeckControl_v8_1_Eject(This,error) (This)->lpVtbl->Eject(This,error)
#define IDeckLinkDeckControl_v8_1_GoToTimecode(This,timecode,error) (This)->lpVtbl->GoToTimecode(This,timecode,error)
#define IDeckLinkDeckControl_v8_1_FastForward(This,viewTape,error) (This)->lpVtbl->FastForward(This,viewTape,error)
#define IDeckLinkDeckControl_v8_1_Rewind(This,viewTape,error) (This)->lpVtbl->Rewind(This,viewTape,error)
#define IDeckLinkDeckControl_v8_1_StepForward(This,error) (This)->lpVtbl->StepForward(This,error)
#define IDeckLinkDeckControl_v8_1_StepBack(This,error) (This)->lpVtbl->StepBack(This,error)
#define IDeckLinkDeckControl_v8_1_Jog(This,rate,error) (This)->lpVtbl->Jog(This,rate,error)
#define IDeckLinkDeckControl_v8_1_Shuttle(This,rate,error) (This)->lpVtbl->Shuttle(This,rate,error)
#define IDeckLinkDeckControl_v8_1_GetTimecodeString(This,currentTimeCode,error) (This)->lpVtbl->GetTimecodeString(This,currentTimeCode,error)
#define IDeckLinkDeckControl_v8_1_GetTimecode(This,currentTimecode,error) (This)->lpVtbl->GetTimecode(This,currentTimecode,error)
#define IDeckLinkDeckControl_v8_1_GetTimecodeBCD(This,currentTimecode,error) (This)->lpVtbl->GetTimecodeBCD(This,currentTimecode,error)
#define IDeckLinkDeckControl_v8_1_SetPreroll(This,prerollSeconds) (This)->lpVtbl->SetPreroll(This,prerollSeconds)
#define IDeckLinkDeckControl_v8_1_GetPreroll(This,prerollSeconds) (This)->lpVtbl->GetPreroll(This,prerollSeconds)
#define IDeckLinkDeckControl_v8_1_SetExportOffset(This,exportOffsetFields) (This)->lpVtbl->SetExportOffset(This,exportOffsetFields)
#define IDeckLinkDeckControl_v8_1_GetExportOffset(This,exportOffsetFields) (This)->lpVtbl->GetExportOffset(This,exportOffsetFields)
#define IDeckLinkDeckControl_v8_1_GetManualExportOffset(This,deckManualExportOffsetFields) (This)->lpVtbl->GetManualExportOffset(This,deckManualExportOffsetFields)
#define IDeckLinkDeckControl_v8_1_SetCaptureOffset(This,captureOffsetFields) (This)->lpVtbl->SetCaptureOffset(This,captureOffsetFields)
#define IDeckLinkDeckControl_v8_1_GetCaptureOffset(This,captureOffsetFields) (This)->lpVtbl->GetCaptureOffset(This,captureOffsetFields)
#define IDeckLinkDeckControl_v8_1_StartExport(This,inTimecode,outTimecode,exportModeOps,error) (This)->lpVtbl->StartExport(This,inTimecode,outTimecode,exportModeOps,error)
#define IDeckLinkDeckControl_v8_1_StartCapture(This,useVITC,inTimecode,outTimecode,error) (This)->lpVtbl->StartCapture(This,useVITC,inTimecode,outTimecode,error)
#define IDeckLinkDeckControl_v8_1_GetDeviceID(This,deviceId,error) (This)->lpVtbl->GetDeviceID(This,deviceId,error)
#define IDeckLinkDeckControl_v8_1_Abort(This) (This)->lpVtbl->Abort(This)
#define IDeckLinkDeckControl_v8_1_CrashRecordStart(This,error) (This)->lpVtbl->CrashRecordStart(This,error)
#define IDeckLinkDeckControl_v8_1_CrashRecordStop(This,error) (This)->lpVtbl->CrashRecordStop(This,error)
#define IDeckLinkDeckControl_v8_1_SetCallback(This,callback) (This)->lpVtbl->SetCallback(This,callback)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_QueryInterface(IDeckLinkDeckControl_v8_1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDeckControl_v8_1_AddRef(IDeckLinkDeckControl_v8_1* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDeckControl_v8_1_Release(IDeckLinkDeckControl_v8_1* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDeckControl_v8_1 methods ***/
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Open(IDeckLinkDeckControl_v8_1* This,BMDTimeScale timeScale,BMDTimeValue timeValue,BOOL timecodeIsDropFrame,BMDDeckControlError *error) {
return This->lpVtbl->Open(This,timeScale,timeValue,timecodeIsDropFrame,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Close(IDeckLinkDeckControl_v8_1* This,BOOL standbyOn) {
return This->lpVtbl->Close(This,standbyOn);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetCurrentState(IDeckLinkDeckControl_v8_1* This,BMDDeckControlMode *mode,BMDDeckControlVTRControlState_v8_1 *vtrControlState,BMDDeckControlStatusFlags *flags) {
return This->lpVtbl->GetCurrentState(This,mode,vtrControlState,flags);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SetStandby(IDeckLinkDeckControl_v8_1* This,BOOL standbyOn) {
return This->lpVtbl->SetStandby(This,standbyOn);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SendCommand(IDeckLinkDeckControl_v8_1* This,unsigned char *inBuffer,unsigned int inBufferSize,unsigned char *outBuffer,unsigned int *outDataSize,unsigned int outBufferSize,BMDDeckControlError *error) {
return This->lpVtbl->SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Play(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) {
return This->lpVtbl->Play(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Stop(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) {
return This->lpVtbl->Stop(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_TogglePlayStop(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) {
return This->lpVtbl->TogglePlayStop(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Eject(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) {
return This->lpVtbl->Eject(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GoToTimecode(IDeckLinkDeckControl_v8_1* This,BMDTimecodeBCD timecode,BMDDeckControlError *error) {
return This->lpVtbl->GoToTimecode(This,timecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_FastForward(IDeckLinkDeckControl_v8_1* This,BOOL viewTape,BMDDeckControlError *error) {
return This->lpVtbl->FastForward(This,viewTape,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Rewind(IDeckLinkDeckControl_v8_1* This,BOOL viewTape,BMDDeckControlError *error) {
return This->lpVtbl->Rewind(This,viewTape,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_StepForward(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) {
return This->lpVtbl->StepForward(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_StepBack(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) {
return This->lpVtbl->StepBack(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Jog(IDeckLinkDeckControl_v8_1* This,double rate,BMDDeckControlError *error) {
return This->lpVtbl->Jog(This,rate,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Shuttle(IDeckLinkDeckControl_v8_1* This,double rate,BMDDeckControlError *error) {
return This->lpVtbl->Shuttle(This,rate,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetTimecodeString(IDeckLinkDeckControl_v8_1* This,BSTR *currentTimeCode,BMDDeckControlError *error) {
return This->lpVtbl->GetTimecodeString(This,currentTimeCode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetTimecode(IDeckLinkDeckControl_v8_1* This,IDeckLinkTimecode **currentTimecode,BMDDeckControlError *error) {
return This->lpVtbl->GetTimecode(This,currentTimecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetTimecodeBCD(IDeckLinkDeckControl_v8_1* This,BMDTimecodeBCD *currentTimecode,BMDDeckControlError *error) {
return This->lpVtbl->GetTimecodeBCD(This,currentTimecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SetPreroll(IDeckLinkDeckControl_v8_1* This,unsigned int prerollSeconds) {
return This->lpVtbl->SetPreroll(This,prerollSeconds);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetPreroll(IDeckLinkDeckControl_v8_1* This,unsigned int *prerollSeconds) {
return This->lpVtbl->GetPreroll(This,prerollSeconds);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SetExportOffset(IDeckLinkDeckControl_v8_1* This,int exportOffsetFields) {
return This->lpVtbl->SetExportOffset(This,exportOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetExportOffset(IDeckLinkDeckControl_v8_1* This,int *exportOffsetFields) {
return This->lpVtbl->GetExportOffset(This,exportOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetManualExportOffset(IDeckLinkDeckControl_v8_1* This,int *deckManualExportOffsetFields) {
return This->lpVtbl->GetManualExportOffset(This,deckManualExportOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SetCaptureOffset(IDeckLinkDeckControl_v8_1* This,int captureOffsetFields) {
return This->lpVtbl->SetCaptureOffset(This,captureOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetCaptureOffset(IDeckLinkDeckControl_v8_1* This,int *captureOffsetFields) {
return This->lpVtbl->GetCaptureOffset(This,captureOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_StartExport(IDeckLinkDeckControl_v8_1* This,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlExportModeOpsFlags exportModeOps,BMDDeckControlError *error) {
return This->lpVtbl->StartExport(This,inTimecode,outTimecode,exportModeOps,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_StartCapture(IDeckLinkDeckControl_v8_1* This,BOOL useVITC,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlError *error) {
return This->lpVtbl->StartCapture(This,useVITC,inTimecode,outTimecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetDeviceID(IDeckLinkDeckControl_v8_1* This,unsigned short *deviceId,BMDDeckControlError *error) {
return This->lpVtbl->GetDeviceID(This,deviceId,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Abort(IDeckLinkDeckControl_v8_1* This) {
return This->lpVtbl->Abort(This);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_CrashRecordStart(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) {
return This->lpVtbl->CrashRecordStart(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_CrashRecordStop(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) {
return This->lpVtbl->CrashRecordStop(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SetCallback(IDeckLinkDeckControl_v8_1* This,IDeckLinkDeckControlStatusCallback_v8_1 *callback) {
return This->lpVtbl->SetCallback(This,callback);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLink_v8_0 interface
*/
#ifndef __IDeckLink_v8_0_INTERFACE_DEFINED__
#define __IDeckLink_v8_0_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLink_v8_0, 0x62bff75d, 0x6569, 0x4e55, 0x8d,0x4d, 0x66,0xaa,0x03,0x82,0x9a,0xbc);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("62bff75d-6569-4e55-8d4d-66aa03829abc")
IDeckLink_v8_0 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetModelName(
BSTR *modelName) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLink_v8_0, 0x62bff75d, 0x6569, 0x4e55, 0x8d,0x4d, 0x66,0xaa,0x03,0x82,0x9a,0xbc)
#endif
#else
typedef struct IDeckLink_v8_0Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLink_v8_0 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLink_v8_0 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLink_v8_0 *This);
/*** IDeckLink_v8_0 methods ***/
HRESULT (STDMETHODCALLTYPE *GetModelName)(
IDeckLink_v8_0 *This,
BSTR *modelName);
END_INTERFACE
} IDeckLink_v8_0Vtbl;
interface IDeckLink_v8_0 {
CONST_VTBL IDeckLink_v8_0Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLink_v8_0_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLink_v8_0_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLink_v8_0_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLink_v8_0 methods ***/
#define IDeckLink_v8_0_GetModelName(This,modelName) (This)->lpVtbl->GetModelName(This,modelName)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLink_v8_0_QueryInterface(IDeckLink_v8_0* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLink_v8_0_AddRef(IDeckLink_v8_0* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLink_v8_0_Release(IDeckLink_v8_0* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLink_v8_0 methods ***/
static FORCEINLINE HRESULT IDeckLink_v8_0_GetModelName(IDeckLink_v8_0* This,BSTR *modelName) {
return This->lpVtbl->GetModelName(This,modelName);
}
#endif
#endif
#endif
#endif /* __IDeckLink_v8_0_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkIterator_v8_0 interface
*/
#ifndef __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__
#define __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkIterator_v8_0, 0x74e936fc, 0xcc28, 0x4a67, 0x81,0xa0, 0x1e,0x94,0xe5,0x2d,0x4e,0x69);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("74e936fc-cc28-4a67-81a0-1e94e52d4e69")
IDeckLinkIterator_v8_0 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
IDeckLink_v8_0 **deckLinkInstance) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkIterator_v8_0, 0x74e936fc, 0xcc28, 0x4a67, 0x81,0xa0, 0x1e,0x94,0xe5,0x2d,0x4e,0x69)
#endif
#else
typedef struct IDeckLinkIterator_v8_0Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkIterator_v8_0 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkIterator_v8_0 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkIterator_v8_0 *This);
/*** IDeckLinkIterator_v8_0 methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IDeckLinkIterator_v8_0 *This,
IDeckLink_v8_0 **deckLinkInstance);
END_INTERFACE
} IDeckLinkIterator_v8_0Vtbl;
interface IDeckLinkIterator_v8_0 {
CONST_VTBL IDeckLinkIterator_v8_0Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkIterator_v8_0_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkIterator_v8_0_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkIterator_v8_0_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkIterator_v8_0 methods ***/
#define IDeckLinkIterator_v8_0_Next(This,deckLinkInstance) (This)->lpVtbl->Next(This,deckLinkInstance)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkIterator_v8_0_QueryInterface(IDeckLinkIterator_v8_0* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkIterator_v8_0_AddRef(IDeckLinkIterator_v8_0* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkIterator_v8_0_Release(IDeckLinkIterator_v8_0* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkIterator_v8_0 methods ***/
static FORCEINLINE HRESULT IDeckLinkIterator_v8_0_Next(IDeckLinkIterator_v8_0* This,IDeckLink_v8_0 **deckLinkInstance) {
return This->lpVtbl->Next(This,deckLinkInstance);
}
#endif
#endif
#endif
#endif /* __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__ */
/*****************************************************************************
* CDeckLinkIterator_v8_0 coclass
*/
DEFINE_GUID(CLSID_CDeckLinkIterator_v8_0, 0xd9eda3b3, 0x2887, 0x41fa, 0xb7,0x24, 0x01,0x7c,0xf1,0xeb,0x1d,0x37);
#ifdef __cplusplus
class DECLSPEC_UUID("d9eda3b3-2887-41fa-b724-017cf1eb1d37") CDeckLinkIterator_v8_0;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkIterator_v8_0, 0xd9eda3b3, 0x2887, 0x41fa, 0xb7,0x24, 0x01,0x7c,0xf1,0xeb,0x1d,0x37)
#endif
#endif
/*****************************************************************************
* IDeckLinkDeckControl_v7_9 interface
*/
#ifndef __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__
#define __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDeckControl_v7_9, 0xa4d81043, 0x0619, 0x42b7, 0x8e,0xd6, 0x60,0x2d,0x29,0x04,0x1d,0xf7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a4d81043-0619-42b7-8ed6-602d29041df7")
IDeckLinkDeckControl_v7_9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Open(
BMDTimeScale timeScale,
BMDTimeValue timeValue,
BOOL timecodeIsDropFrame,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Close(
BOOL standbyOn) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentState(
BMDDeckControlMode *mode,
BMDDeckControlVTRControlState *vtrControlState,
BMDDeckControlStatusFlags *flags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStandby(
BOOL standbyOn) = 0;
virtual HRESULT STDMETHODCALLTYPE Play(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE TogglePlayStop(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Eject(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GoToTimecode(
BMDTimecodeBCD timecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE FastForward(
BOOL viewTape,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Rewind(
BOOL viewTape,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE StepForward(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE StepBack(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Jog(
double rate,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Shuttle(
double rate,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecodeString(
BSTR *currentTimeCode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecode(
IDeckLinkTimecode **currentTimecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD(
BMDTimecodeBCD *currentTimecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPreroll(
unsigned int prerollSeconds) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPreroll(
unsigned int *prerollSeconds) = 0;
virtual HRESULT STDMETHODCALLTYPE SetExportOffset(
int exportOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE GetExportOffset(
int *exportOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset(
int *deckManualExportOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset(
int captureOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset(
int *captureOffsetFields) = 0;
virtual HRESULT STDMETHODCALLTYPE StartExport(
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlExportModeOpsFlags exportModeOps,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE StartCapture(
BOOL useVITC,
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDeviceID(
unsigned short *deviceId,
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE Abort(
) = 0;
virtual HRESULT STDMETHODCALLTYPE CrashRecordStart(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE CrashRecordStop(
BMDDeckControlError *error) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkDeckControlStatusCallback *callback) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDeckControl_v7_9, 0xa4d81043, 0x0619, 0x42b7, 0x8e,0xd6, 0x60,0x2d,0x29,0x04,0x1d,0xf7)
#endif
#else
typedef struct IDeckLinkDeckControl_v7_9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDeckControl_v7_9 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDeckControl_v7_9 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDeckControl_v7_9 *This);
/*** IDeckLinkDeckControl_v7_9 methods ***/
HRESULT (STDMETHODCALLTYPE *Open)(
IDeckLinkDeckControl_v7_9 *This,
BMDTimeScale timeScale,
BMDTimeValue timeValue,
BOOL timecodeIsDropFrame,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Close)(
IDeckLinkDeckControl_v7_9 *This,
BOOL standbyOn);
HRESULT (STDMETHODCALLTYPE *GetCurrentState)(
IDeckLinkDeckControl_v7_9 *This,
BMDDeckControlMode *mode,
BMDDeckControlVTRControlState *vtrControlState,
BMDDeckControlStatusFlags *flags);
HRESULT (STDMETHODCALLTYPE *SetStandby)(
IDeckLinkDeckControl_v7_9 *This,
BOOL standbyOn);
HRESULT (STDMETHODCALLTYPE *Play)(
IDeckLinkDeckControl_v7_9 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Stop)(
IDeckLinkDeckControl_v7_9 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *TogglePlayStop)(
IDeckLinkDeckControl_v7_9 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Eject)(
IDeckLinkDeckControl_v7_9 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GoToTimecode)(
IDeckLinkDeckControl_v7_9 *This,
BMDTimecodeBCD timecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *FastForward)(
IDeckLinkDeckControl_v7_9 *This,
BOOL viewTape,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Rewind)(
IDeckLinkDeckControl_v7_9 *This,
BOOL viewTape,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *StepForward)(
IDeckLinkDeckControl_v7_9 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *StepBack)(
IDeckLinkDeckControl_v7_9 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Jog)(
IDeckLinkDeckControl_v7_9 *This,
double rate,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Shuttle)(
IDeckLinkDeckControl_v7_9 *This,
double rate,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetTimecodeString)(
IDeckLinkDeckControl_v7_9 *This,
BSTR *currentTimeCode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkDeckControl_v7_9 *This,
IDeckLinkTimecode **currentTimecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetTimecodeBCD)(
IDeckLinkDeckControl_v7_9 *This,
BMDTimecodeBCD *currentTimecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *SetPreroll)(
IDeckLinkDeckControl_v7_9 *This,
unsigned int prerollSeconds);
HRESULT (STDMETHODCALLTYPE *GetPreroll)(
IDeckLinkDeckControl_v7_9 *This,
unsigned int *prerollSeconds);
HRESULT (STDMETHODCALLTYPE *SetExportOffset)(
IDeckLinkDeckControl_v7_9 *This,
int exportOffsetFields);
HRESULT (STDMETHODCALLTYPE *GetExportOffset)(
IDeckLinkDeckControl_v7_9 *This,
int *exportOffsetFields);
HRESULT (STDMETHODCALLTYPE *GetManualExportOffset)(
IDeckLinkDeckControl_v7_9 *This,
int *deckManualExportOffsetFields);
HRESULT (STDMETHODCALLTYPE *SetCaptureOffset)(
IDeckLinkDeckControl_v7_9 *This,
int captureOffsetFields);
HRESULT (STDMETHODCALLTYPE *GetCaptureOffset)(
IDeckLinkDeckControl_v7_9 *This,
int *captureOffsetFields);
HRESULT (STDMETHODCALLTYPE *StartExport)(
IDeckLinkDeckControl_v7_9 *This,
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlExportModeOpsFlags exportModeOps,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *StartCapture)(
IDeckLinkDeckControl_v7_9 *This,
BOOL useVITC,
BMDTimecodeBCD inTimecode,
BMDTimecodeBCD outTimecode,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *GetDeviceID)(
IDeckLinkDeckControl_v7_9 *This,
unsigned short *deviceId,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *Abort)(
IDeckLinkDeckControl_v7_9 *This);
HRESULT (STDMETHODCALLTYPE *CrashRecordStart)(
IDeckLinkDeckControl_v7_9 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *CrashRecordStop)(
IDeckLinkDeckControl_v7_9 *This,
BMDDeckControlError *error);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkDeckControl_v7_9 *This,
IDeckLinkDeckControlStatusCallback *callback);
END_INTERFACE
} IDeckLinkDeckControl_v7_9Vtbl;
interface IDeckLinkDeckControl_v7_9 {
CONST_VTBL IDeckLinkDeckControl_v7_9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDeckControl_v7_9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDeckControl_v7_9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDeckControl_v7_9_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDeckControl_v7_9 methods ***/
#define IDeckLinkDeckControl_v7_9_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) (This)->lpVtbl->Open(This,timeScale,timeValue,timecodeIsDropFrame,error)
#define IDeckLinkDeckControl_v7_9_Close(This,standbyOn) (This)->lpVtbl->Close(This,standbyOn)
#define IDeckLinkDeckControl_v7_9_GetCurrentState(This,mode,vtrControlState,flags) (This)->lpVtbl->GetCurrentState(This,mode,vtrControlState,flags)
#define IDeckLinkDeckControl_v7_9_SetStandby(This,standbyOn) (This)->lpVtbl->SetStandby(This,standbyOn)
#define IDeckLinkDeckControl_v7_9_Play(This,error) (This)->lpVtbl->Play(This,error)
#define IDeckLinkDeckControl_v7_9_Stop(This,error) (This)->lpVtbl->Stop(This,error)
#define IDeckLinkDeckControl_v7_9_TogglePlayStop(This,error) (This)->lpVtbl->TogglePlayStop(This,error)
#define IDeckLinkDeckControl_v7_9_Eject(This,error) (This)->lpVtbl->Eject(This,error)
#define IDeckLinkDeckControl_v7_9_GoToTimecode(This,timecode,error) (This)->lpVtbl->GoToTimecode(This,timecode,error)
#define IDeckLinkDeckControl_v7_9_FastForward(This,viewTape,error) (This)->lpVtbl->FastForward(This,viewTape,error)
#define IDeckLinkDeckControl_v7_9_Rewind(This,viewTape,error) (This)->lpVtbl->Rewind(This,viewTape,error)
#define IDeckLinkDeckControl_v7_9_StepForward(This,error) (This)->lpVtbl->StepForward(This,error)
#define IDeckLinkDeckControl_v7_9_StepBack(This,error) (This)->lpVtbl->StepBack(This,error)
#define IDeckLinkDeckControl_v7_9_Jog(This,rate,error) (This)->lpVtbl->Jog(This,rate,error)
#define IDeckLinkDeckControl_v7_9_Shuttle(This,rate,error) (This)->lpVtbl->Shuttle(This,rate,error)
#define IDeckLinkDeckControl_v7_9_GetTimecodeString(This,currentTimeCode,error) (This)->lpVtbl->GetTimecodeString(This,currentTimeCode,error)
#define IDeckLinkDeckControl_v7_9_GetTimecode(This,currentTimecode,error) (This)->lpVtbl->GetTimecode(This,currentTimecode,error)
#define IDeckLinkDeckControl_v7_9_GetTimecodeBCD(This,currentTimecode,error) (This)->lpVtbl->GetTimecodeBCD(This,currentTimecode,error)
#define IDeckLinkDeckControl_v7_9_SetPreroll(This,prerollSeconds) (This)->lpVtbl->SetPreroll(This,prerollSeconds)
#define IDeckLinkDeckControl_v7_9_GetPreroll(This,prerollSeconds) (This)->lpVtbl->GetPreroll(This,prerollSeconds)
#define IDeckLinkDeckControl_v7_9_SetExportOffset(This,exportOffsetFields) (This)->lpVtbl->SetExportOffset(This,exportOffsetFields)
#define IDeckLinkDeckControl_v7_9_GetExportOffset(This,exportOffsetFields) (This)->lpVtbl->GetExportOffset(This,exportOffsetFields)
#define IDeckLinkDeckControl_v7_9_GetManualExportOffset(This,deckManualExportOffsetFields) (This)->lpVtbl->GetManualExportOffset(This,deckManualExportOffsetFields)
#define IDeckLinkDeckControl_v7_9_SetCaptureOffset(This,captureOffsetFields) (This)->lpVtbl->SetCaptureOffset(This,captureOffsetFields)
#define IDeckLinkDeckControl_v7_9_GetCaptureOffset(This,captureOffsetFields) (This)->lpVtbl->GetCaptureOffset(This,captureOffsetFields)
#define IDeckLinkDeckControl_v7_9_StartExport(This,inTimecode,outTimecode,exportModeOps,error) (This)->lpVtbl->StartExport(This,inTimecode,outTimecode,exportModeOps,error)
#define IDeckLinkDeckControl_v7_9_StartCapture(This,useVITC,inTimecode,outTimecode,error) (This)->lpVtbl->StartCapture(This,useVITC,inTimecode,outTimecode,error)
#define IDeckLinkDeckControl_v7_9_GetDeviceID(This,deviceId,error) (This)->lpVtbl->GetDeviceID(This,deviceId,error)
#define IDeckLinkDeckControl_v7_9_Abort(This) (This)->lpVtbl->Abort(This)
#define IDeckLinkDeckControl_v7_9_CrashRecordStart(This,error) (This)->lpVtbl->CrashRecordStart(This,error)
#define IDeckLinkDeckControl_v7_9_CrashRecordStop(This,error) (This)->lpVtbl->CrashRecordStop(This,error)
#define IDeckLinkDeckControl_v7_9_SetCallback(This,callback) (This)->lpVtbl->SetCallback(This,callback)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_QueryInterface(IDeckLinkDeckControl_v7_9* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDeckControl_v7_9_AddRef(IDeckLinkDeckControl_v7_9* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDeckControl_v7_9_Release(IDeckLinkDeckControl_v7_9* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDeckControl_v7_9 methods ***/
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Open(IDeckLinkDeckControl_v7_9* This,BMDTimeScale timeScale,BMDTimeValue timeValue,BOOL timecodeIsDropFrame,BMDDeckControlError *error) {
return This->lpVtbl->Open(This,timeScale,timeValue,timecodeIsDropFrame,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Close(IDeckLinkDeckControl_v7_9* This,BOOL standbyOn) {
return This->lpVtbl->Close(This,standbyOn);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetCurrentState(IDeckLinkDeckControl_v7_9* This,BMDDeckControlMode *mode,BMDDeckControlVTRControlState *vtrControlState,BMDDeckControlStatusFlags *flags) {
return This->lpVtbl->GetCurrentState(This,mode,vtrControlState,flags);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_SetStandby(IDeckLinkDeckControl_v7_9* This,BOOL standbyOn) {
return This->lpVtbl->SetStandby(This,standbyOn);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Play(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) {
return This->lpVtbl->Play(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Stop(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) {
return This->lpVtbl->Stop(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_TogglePlayStop(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) {
return This->lpVtbl->TogglePlayStop(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Eject(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) {
return This->lpVtbl->Eject(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GoToTimecode(IDeckLinkDeckControl_v7_9* This,BMDTimecodeBCD timecode,BMDDeckControlError *error) {
return This->lpVtbl->GoToTimecode(This,timecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_FastForward(IDeckLinkDeckControl_v7_9* This,BOOL viewTape,BMDDeckControlError *error) {
return This->lpVtbl->FastForward(This,viewTape,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Rewind(IDeckLinkDeckControl_v7_9* This,BOOL viewTape,BMDDeckControlError *error) {
return This->lpVtbl->Rewind(This,viewTape,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_StepForward(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) {
return This->lpVtbl->StepForward(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_StepBack(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) {
return This->lpVtbl->StepBack(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Jog(IDeckLinkDeckControl_v7_9* This,double rate,BMDDeckControlError *error) {
return This->lpVtbl->Jog(This,rate,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Shuttle(IDeckLinkDeckControl_v7_9* This,double rate,BMDDeckControlError *error) {
return This->lpVtbl->Shuttle(This,rate,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetTimecodeString(IDeckLinkDeckControl_v7_9* This,BSTR *currentTimeCode,BMDDeckControlError *error) {
return This->lpVtbl->GetTimecodeString(This,currentTimeCode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetTimecode(IDeckLinkDeckControl_v7_9* This,IDeckLinkTimecode **currentTimecode,BMDDeckControlError *error) {
return This->lpVtbl->GetTimecode(This,currentTimecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetTimecodeBCD(IDeckLinkDeckControl_v7_9* This,BMDTimecodeBCD *currentTimecode,BMDDeckControlError *error) {
return This->lpVtbl->GetTimecodeBCD(This,currentTimecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_SetPreroll(IDeckLinkDeckControl_v7_9* This,unsigned int prerollSeconds) {
return This->lpVtbl->SetPreroll(This,prerollSeconds);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetPreroll(IDeckLinkDeckControl_v7_9* This,unsigned int *prerollSeconds) {
return This->lpVtbl->GetPreroll(This,prerollSeconds);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_SetExportOffset(IDeckLinkDeckControl_v7_9* This,int exportOffsetFields) {
return This->lpVtbl->SetExportOffset(This,exportOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetExportOffset(IDeckLinkDeckControl_v7_9* This,int *exportOffsetFields) {
return This->lpVtbl->GetExportOffset(This,exportOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetManualExportOffset(IDeckLinkDeckControl_v7_9* This,int *deckManualExportOffsetFields) {
return This->lpVtbl->GetManualExportOffset(This,deckManualExportOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_SetCaptureOffset(IDeckLinkDeckControl_v7_9* This,int captureOffsetFields) {
return This->lpVtbl->SetCaptureOffset(This,captureOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetCaptureOffset(IDeckLinkDeckControl_v7_9* This,int *captureOffsetFields) {
return This->lpVtbl->GetCaptureOffset(This,captureOffsetFields);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_StartExport(IDeckLinkDeckControl_v7_9* This,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlExportModeOpsFlags exportModeOps,BMDDeckControlError *error) {
return This->lpVtbl->StartExport(This,inTimecode,outTimecode,exportModeOps,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_StartCapture(IDeckLinkDeckControl_v7_9* This,BOOL useVITC,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlError *error) {
return This->lpVtbl->StartCapture(This,useVITC,inTimecode,outTimecode,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetDeviceID(IDeckLinkDeckControl_v7_9* This,unsigned short *deviceId,BMDDeckControlError *error) {
return This->lpVtbl->GetDeviceID(This,deviceId,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Abort(IDeckLinkDeckControl_v7_9* This) {
return This->lpVtbl->Abort(This);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_CrashRecordStart(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) {
return This->lpVtbl->CrashRecordStart(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_CrashRecordStop(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) {
return This->lpVtbl->CrashRecordStop(This,error);
}
static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_SetCallback(IDeckLinkDeckControl_v7_9* This,IDeckLinkDeckControlStatusCallback *callback) {
return This->lpVtbl->SetCallback(This,callback);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ */
typedef enum _BMDVideoConnection_v7_6 {
bmdVideoConnectionSDI_v7_6 = 0x73646920,
bmdVideoConnectionHDMI_v7_6 = 0x68646d69,
bmdVideoConnectionOpticalSDI_v7_6 = 0x6f707469,
bmdVideoConnectionComponent_v7_6 = 0x63706e74,
bmdVideoConnectionComposite_v7_6 = 0x636d7374,
bmdVideoConnectionSVideo_v7_6 = 0x73766964
} BMDVideoConnection_v7_6;
#ifndef __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__
#define __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__
typedef interface IDeckLinkDisplayModeIterator_v7_6 IDeckLinkDisplayModeIterator_v7_6;
#ifdef __cplusplus
interface IDeckLinkDisplayModeIterator_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__
#define __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__
typedef interface IDeckLinkDisplayMode_v7_6 IDeckLinkDisplayMode_v7_6;
#ifdef __cplusplus
interface IDeckLinkDisplayMode_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkOutput_v7_6_FWD_DEFINED__
#define __IDeckLinkOutput_v7_6_FWD_DEFINED__
typedef interface IDeckLinkOutput_v7_6 IDeckLinkOutput_v7_6;
#ifdef __cplusplus
interface IDeckLinkOutput_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInput_v7_6_FWD_DEFINED__
#define __IDeckLinkInput_v7_6_FWD_DEFINED__
typedef interface IDeckLinkInput_v7_6 IDeckLinkInput_v7_6;
#ifdef __cplusplus
interface IDeckLinkInput_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkTimecode_v7_6_FWD_DEFINED__
#define __IDeckLinkTimecode_v7_6_FWD_DEFINED__
typedef interface IDeckLinkTimecode_v7_6 IDeckLinkTimecode_v7_6;
#ifdef __cplusplus
interface IDeckLinkTimecode_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__
#define __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__
typedef interface IDeckLinkVideoFrame_v7_6 IDeckLinkVideoFrame_v7_6;
#ifdef __cplusplus
interface IDeckLinkVideoFrame_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__
#define __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__
typedef interface IDeckLinkMutableVideoFrame_v7_6 IDeckLinkMutableVideoFrame_v7_6;
#ifdef __cplusplus
interface IDeckLinkMutableVideoFrame_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__
#define __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__
typedef interface IDeckLinkVideoInputFrame_v7_6 IDeckLinkVideoInputFrame_v7_6;
#ifdef __cplusplus
interface IDeckLinkVideoInputFrame_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__
#define __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__
typedef interface IDeckLinkScreenPreviewCallback_v7_6 IDeckLinkScreenPreviewCallback_v7_6;
#ifdef __cplusplus
interface IDeckLinkScreenPreviewCallback_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
#define __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
typedef interface IDeckLinkGLScreenPreviewHelper_v7_6 IDeckLinkGLScreenPreviewHelper_v7_6;
#ifdef __cplusplus
interface IDeckLinkGLScreenPreviewHelper_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__
#define __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__
typedef interface IDeckLinkVideoConversion_v7_6 IDeckLinkVideoConversion_v7_6;
#ifdef __cplusplus
interface IDeckLinkVideoConversion_v7_6;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkConfiguration_v7_6_FWD_DEFINED__
#define __IDeckLinkConfiguration_v7_6_FWD_DEFINED__
typedef interface IDeckLinkConfiguration_v7_6 IDeckLinkConfiguration_v7_6;
#ifdef __cplusplus
interface IDeckLinkConfiguration_v7_6;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkVideoOutputCallback_v7_6 interface
*/
#ifndef __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoOutputCallback_v7_6, 0xe763a626, 0x4a3c, 0x49d1, 0xbf,0x13, 0xe7,0xad,0x36,0x92,0xae,0x52);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e763a626-4a3c-49d1-bf13-e7ad3692ae52")
IDeckLinkVideoOutputCallback_v7_6 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
IDeckLinkVideoFrame_v7_6 *completedFrame,
BMDOutputFrameCompletionResult result) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoOutputCallback_v7_6, 0xe763a626, 0x4a3c, 0x49d1, 0xbf,0x13, 0xe7,0xad,0x36,0x92,0xae,0x52)
#endif
#else
typedef struct IDeckLinkVideoOutputCallback_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoOutputCallback_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoOutputCallback_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoOutputCallback_v7_6 *This);
/*** IDeckLinkVideoOutputCallback_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *ScheduledFrameCompleted)(
IDeckLinkVideoOutputCallback_v7_6 *This,
IDeckLinkVideoFrame_v7_6 *completedFrame,
BMDOutputFrameCompletionResult result);
HRESULT (STDMETHODCALLTYPE *ScheduledPlaybackHasStopped)(
IDeckLinkVideoOutputCallback_v7_6 *This);
END_INTERFACE
} IDeckLinkVideoOutputCallback_v7_6Vtbl;
interface IDeckLinkVideoOutputCallback_v7_6 {
CONST_VTBL IDeckLinkVideoOutputCallback_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoOutputCallback_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoOutputCallback_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoOutputCallback_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoOutputCallback_v7_6 methods ***/
#define IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(This,completedFrame,result) (This)->lpVtbl->ScheduledFrameCompleted(This,completedFrame,result)
#define IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(This) (This)->lpVtbl->ScheduledPlaybackHasStopped(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_v7_6_QueryInterface(IDeckLinkVideoOutputCallback_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_v7_6_AddRef(IDeckLinkVideoOutputCallback_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_v7_6_Release(IDeckLinkVideoOutputCallback_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoOutputCallback_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(IDeckLinkVideoOutputCallback_v7_6* This,IDeckLinkVideoFrame_v7_6 *completedFrame,BMDOutputFrameCompletionResult result) {
return This->lpVtbl->ScheduledFrameCompleted(This,completedFrame,result);
}
static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(IDeckLinkVideoOutputCallback_v7_6* This) {
return This->lpVtbl->ScheduledPlaybackHasStopped(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkInputCallback_v7_6 interface
*/
#ifndef __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkInputCallback_v7_6, 0x31d28ee7, 0x88b6, 0x4cb1, 0x89,0x7a, 0xcd,0xbf,0x79,0xa2,0x64,0x14);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("31d28ee7-88b6-4cb1-897a-cdbf79a26414")
IDeckLinkInputCallback_v7_6 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
BMDVideoInputFormatChangedEvents notificationEvents,
IDeckLinkDisplayMode_v7_6 *newDisplayMode,
BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
IDeckLinkVideoInputFrame_v7_6 *videoFrame,
IDeckLinkAudioInputPacket *audioPacket) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkInputCallback_v7_6, 0x31d28ee7, 0x88b6, 0x4cb1, 0x89,0x7a, 0xcd,0xbf,0x79,0xa2,0x64,0x14)
#endif
#else
typedef struct IDeckLinkInputCallback_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkInputCallback_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkInputCallback_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkInputCallback_v7_6 *This);
/*** IDeckLinkInputCallback_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *VideoInputFormatChanged)(
IDeckLinkInputCallback_v7_6 *This,
BMDVideoInputFormatChangedEvents notificationEvents,
IDeckLinkDisplayMode_v7_6 *newDisplayMode,
BMDDetectedVideoInputFormatFlags detectedSignalFlags);
HRESULT (STDMETHODCALLTYPE *VideoInputFrameArrived)(
IDeckLinkInputCallback_v7_6 *This,
IDeckLinkVideoInputFrame_v7_6 *videoFrame,
IDeckLinkAudioInputPacket *audioPacket);
END_INTERFACE
} IDeckLinkInputCallback_v7_6Vtbl;
interface IDeckLinkInputCallback_v7_6 {
CONST_VTBL IDeckLinkInputCallback_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkInputCallback_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkInputCallback_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkInputCallback_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkInputCallback_v7_6 methods ***/
#define IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) (This)->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags)
#define IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(This,videoFrame,audioPacket) (This)->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_6_QueryInterface(IDeckLinkInputCallback_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkInputCallback_v7_6_AddRef(IDeckLinkInputCallback_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkInputCallback_v7_6_Release(IDeckLinkInputCallback_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkInputCallback_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(IDeckLinkInputCallback_v7_6* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode_v7_6 *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) {
return This->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags);
}
static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(IDeckLinkInputCallback_v7_6* This,IDeckLinkVideoInputFrame_v7_6 *videoFrame,IDeckLinkAudioInputPacket *audioPacket) {
return This->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket);
}
#endif
#endif
#endif
#endif /* __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkDisplayModeIterator_v7_6 interface
*/
#ifndef __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDisplayModeIterator_v7_6, 0x455d741f, 0x1779, 0x4800, 0x86,0xf5, 0x0b,0x5d,0x13,0xd7,0x97,0x51);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("455d741f-1779-4800-86f5-0b5d13d79751")
IDeckLinkDisplayModeIterator_v7_6 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDisplayModeIterator_v7_6, 0x455d741f, 0x1779, 0x4800, 0x86,0xf5, 0x0b,0x5d,0x13,0xd7,0x97,0x51)
#endif
#else
typedef struct IDeckLinkDisplayModeIterator_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDisplayModeIterator_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDisplayModeIterator_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDisplayModeIterator_v7_6 *This);
/*** IDeckLinkDisplayModeIterator_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IDeckLinkDisplayModeIterator_v7_6 *This,
IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode);
END_INTERFACE
} IDeckLinkDisplayModeIterator_v7_6Vtbl;
interface IDeckLinkDisplayModeIterator_v7_6 {
CONST_VTBL IDeckLinkDisplayModeIterator_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDisplayModeIterator_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDisplayModeIterator_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDisplayModeIterator_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDisplayModeIterator_v7_6 methods ***/
#define IDeckLinkDisplayModeIterator_v7_6_Next(This,deckLinkDisplayMode) (This)->lpVtbl->Next(This,deckLinkDisplayMode)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_v7_6_QueryInterface(IDeckLinkDisplayModeIterator_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_v7_6_AddRef(IDeckLinkDisplayModeIterator_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_v7_6_Release(IDeckLinkDisplayModeIterator_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDisplayModeIterator_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_v7_6_Next(IDeckLinkDisplayModeIterator_v7_6* This,IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) {
return This->lpVtbl->Next(This,deckLinkDisplayMode);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkDisplayMode_v7_6 interface
*/
#ifndef __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDisplayMode_v7_6, 0x87451e84, 0x2b7e, 0x439e, 0xa6,0x29, 0x43,0x93,0xea,0x4a,0x85,0x50);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("87451e84-2b7e-439e-a629-4393ea4a8550")
IDeckLinkDisplayMode_v7_6 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetName(
BSTR *name) = 0;
virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode(
) = 0;
virtual LONG STDMETHODCALLTYPE GetWidth(
) = 0;
virtual LONG STDMETHODCALLTYPE GetHeight(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
BMDTimeValue *frameDuration,
BMDTimeScale *timeScale) = 0;
virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDisplayMode_v7_6, 0x87451e84, 0x2b7e, 0x439e, 0xa6,0x29, 0x43,0x93,0xea,0x4a,0x85,0x50)
#endif
#else
typedef struct IDeckLinkDisplayMode_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDisplayMode_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDisplayMode_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDisplayMode_v7_6 *This);
/*** IDeckLinkDisplayMode_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *GetName)(
IDeckLinkDisplayMode_v7_6 *This,
BSTR *name);
BMDDisplayMode (STDMETHODCALLTYPE *GetDisplayMode)(
IDeckLinkDisplayMode_v7_6 *This);
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkDisplayMode_v7_6 *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkDisplayMode_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *GetFrameRate)(
IDeckLinkDisplayMode_v7_6 *This,
BMDTimeValue *frameDuration,
BMDTimeScale *timeScale);
BMDFieldDominance (STDMETHODCALLTYPE *GetFieldDominance)(
IDeckLinkDisplayMode_v7_6 *This);
END_INTERFACE
} IDeckLinkDisplayMode_v7_6Vtbl;
interface IDeckLinkDisplayMode_v7_6 {
CONST_VTBL IDeckLinkDisplayMode_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDisplayMode_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDisplayMode_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDisplayMode_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDisplayMode_v7_6 methods ***/
#define IDeckLinkDisplayMode_v7_6_GetName(This,name) (This)->lpVtbl->GetName(This,name)
#define IDeckLinkDisplayMode_v7_6_GetDisplayMode(This) (This)->lpVtbl->GetDisplayMode(This)
#define IDeckLinkDisplayMode_v7_6_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkDisplayMode_v7_6_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkDisplayMode_v7_6_GetFrameRate(This,frameDuration,timeScale) (This)->lpVtbl->GetFrameRate(This,frameDuration,timeScale)
#define IDeckLinkDisplayMode_v7_6_GetFieldDominance(This) (This)->lpVtbl->GetFieldDominance(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_6_QueryInterface(IDeckLinkDisplayMode_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDisplayMode_v7_6_AddRef(IDeckLinkDisplayMode_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDisplayMode_v7_6_Release(IDeckLinkDisplayMode_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDisplayMode_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_6_GetName(IDeckLinkDisplayMode_v7_6* This,BSTR *name) {
return This->lpVtbl->GetName(This,name);
}
static FORCEINLINE BMDDisplayMode IDeckLinkDisplayMode_v7_6_GetDisplayMode(IDeckLinkDisplayMode_v7_6* This) {
return This->lpVtbl->GetDisplayMode(This);
}
static FORCEINLINE LONG IDeckLinkDisplayMode_v7_6_GetWidth(IDeckLinkDisplayMode_v7_6* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkDisplayMode_v7_6_GetHeight(IDeckLinkDisplayMode_v7_6* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_6_GetFrameRate(IDeckLinkDisplayMode_v7_6* This,BMDTimeValue *frameDuration,BMDTimeScale *timeScale) {
return This->lpVtbl->GetFrameRate(This,frameDuration,timeScale);
}
static FORCEINLINE BMDFieldDominance IDeckLinkDisplayMode_v7_6_GetFieldDominance(IDeckLinkDisplayMode_v7_6* This) {
return This->lpVtbl->GetFieldDominance(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkOutput_v7_6 interface
*/
#ifndef __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkOutput_v7_6, 0x29228142, 0xeb8c, 0x4141, 0xa6,0x21, 0xf7,0x40,0x26,0x45,0x09,0x55);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("29228142-eb8c-4141-a621-f74026450955")
IDeckLinkOutput_v7_6 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
BMDDisplayMode displayMode,
BMDVideoOutputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
IDeckLinkMemoryAllocator *theAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
BMDPixelFormat pixelFormat,
IDeckLinkVideoFrameAncillary **outBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
IDeckLinkVideoFrame_v7_6 *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
unsigned int *bufferedFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount,
BMDAudioOutputStreamType streamType) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
unsigned int *bufferedSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
IDeckLinkAudioOutputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed) = 0;
virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
BOOL *active) = 0;
virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
BMDTimeScale desiredTimeScale,
BMDTimeValue *streamTime,
double *playbackSpeed) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkOutput_v7_6, 0x29228142, 0xeb8c, 0x4141, 0xa6,0x21, 0xf7,0x40,0x26,0x45,0x09,0x55)
#endif
#else
typedef struct IDeckLinkOutput_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkOutput_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkOutput_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkOutput_v7_6 *This);
/*** IDeckLinkOutput_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkOutput_v7_6 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkOutput_v7_6 *This,
IDeckLinkDisplayModeIterator_v7_6 **iterator);
HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)(
IDeckLinkOutput_v7_6 *This,
IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
HRESULT (STDMETHODCALLTYPE *EnableVideoOutput)(
IDeckLinkOutput_v7_6 *This,
BMDDisplayMode displayMode,
BMDVideoOutputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoOutput)(
IDeckLinkOutput_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator)(
IDeckLinkOutput_v7_6 *This,
IDeckLinkMemoryAllocator *theAllocator);
HRESULT (STDMETHODCALLTYPE *CreateVideoFrame)(
IDeckLinkOutput_v7_6 *This,
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkMutableVideoFrame_v7_6 **outFrame);
HRESULT (STDMETHODCALLTYPE *CreateAncillaryData)(
IDeckLinkOutput_v7_6 *This,
BMDPixelFormat pixelFormat,
IDeckLinkVideoFrameAncillary **outBuffer);
HRESULT (STDMETHODCALLTYPE *DisplayVideoFrameSync)(
IDeckLinkOutput_v7_6 *This,
IDeckLinkVideoFrame_v7_6 *theFrame);
HRESULT (STDMETHODCALLTYPE *ScheduleVideoFrame)(
IDeckLinkOutput_v7_6 *This,
IDeckLinkVideoFrame_v7_6 *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback)(
IDeckLinkOutput_v7_6 *This,
IDeckLinkVideoOutputCallback_v7_6 *theCallback);
HRESULT (STDMETHODCALLTYPE *GetBufferedVideoFrameCount)(
IDeckLinkOutput_v7_6 *This,
unsigned int *bufferedFrameCount);
HRESULT (STDMETHODCALLTYPE *EnableAudioOutput)(
IDeckLinkOutput_v7_6 *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount,
BMDAudioOutputStreamType streamType);
HRESULT (STDMETHODCALLTYPE *DisableAudioOutput)(
IDeckLinkOutput_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *WriteAudioSamplesSync)(
IDeckLinkOutput_v7_6 *This,
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *BeginAudioPreroll)(
IDeckLinkOutput_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *EndAudioPreroll)(
IDeckLinkOutput_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *ScheduleAudioSamples)(
IDeckLinkOutput_v7_6 *This,
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount)(
IDeckLinkOutput_v7_6 *This,
unsigned int *bufferedSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *FlushBufferedAudioSamples)(
IDeckLinkOutput_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *SetAudioCallback)(
IDeckLinkOutput_v7_6 *This,
IDeckLinkAudioOutputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *StartScheduledPlayback)(
IDeckLinkOutput_v7_6 *This,
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed);
HRESULT (STDMETHODCALLTYPE *StopScheduledPlayback)(
IDeckLinkOutput_v7_6 *This,
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *IsScheduledPlaybackRunning)(
IDeckLinkOutput_v7_6 *This,
BOOL *active);
HRESULT (STDMETHODCALLTYPE *GetScheduledStreamTime)(
IDeckLinkOutput_v7_6 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *streamTime,
double *playbackSpeed);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkOutput_v7_6 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame);
END_INTERFACE
} IDeckLinkOutput_v7_6Vtbl;
interface IDeckLinkOutput_v7_6 {
CONST_VTBL IDeckLinkOutput_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkOutput_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkOutput_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkOutput_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkOutput_v7_6 methods ***/
#define IDeckLinkOutput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) (This)->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result)
#define IDeckLinkOutput_v7_6_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkOutput_v7_6_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback)
#define IDeckLinkOutput_v7_6_EnableVideoOutput(This,displayMode,flags) (This)->lpVtbl->EnableVideoOutput(This,displayMode,flags)
#define IDeckLinkOutput_v7_6_DisableVideoOutput(This) (This)->lpVtbl->DisableVideoOutput(This)
#define IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator)
#define IDeckLinkOutput_v7_6_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) (This)->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame)
#define IDeckLinkOutput_v7_6_CreateAncillaryData(This,pixelFormat,outBuffer) (This)->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer)
#define IDeckLinkOutput_v7_6_DisplayVideoFrameSync(This,theFrame) (This)->lpVtbl->DisplayVideoFrameSync(This,theFrame)
#define IDeckLinkOutput_v7_6_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) (This)->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale)
#define IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(This,theCallback) (This)->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback)
#define IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(This,bufferedFrameCount) (This)->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount)
#define IDeckLinkOutput_v7_6_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) (This)->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType)
#define IDeckLinkOutput_v7_6_DisableAudioOutput(This) (This)->lpVtbl->DisableAudioOutput(This)
#define IDeckLinkOutput_v7_6_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) (This)->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten)
#define IDeckLinkOutput_v7_6_BeginAudioPreroll(This) (This)->lpVtbl->BeginAudioPreroll(This)
#define IDeckLinkOutput_v7_6_EndAudioPreroll(This) (This)->lpVtbl->EndAudioPreroll(This)
#define IDeckLinkOutput_v7_6_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) (This)->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten)
#define IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) (This)->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount)
#define IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(This) (This)->lpVtbl->FlushBufferedAudioSamples(This)
#define IDeckLinkOutput_v7_6_SetAudioCallback(This,theCallback) (This)->lpVtbl->SetAudioCallback(This,theCallback)
#define IDeckLinkOutput_v7_6_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) (This)->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed)
#define IDeckLinkOutput_v7_6_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) (This)->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale)
#define IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(This,active) (This)->lpVtbl->IsScheduledPlaybackRunning(This,active)
#define IDeckLinkOutput_v7_6_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) (This)->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed)
#define IDeckLinkOutput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_QueryInterface(IDeckLinkOutput_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkOutput_v7_6_AddRef(IDeckLinkOutput_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkOutput_v7_6_Release(IDeckLinkOutput_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkOutput_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_DoesSupportVideoMode(IDeckLinkOutput_v7_6* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) {
return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_GetDisplayModeIterator(IDeckLinkOutput_v7_6* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_SetScreenPreviewCallback(IDeckLinkOutput_v7_6* This,IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) {
return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_EnableVideoOutput(IDeckLinkOutput_v7_6* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) {
return This->lpVtbl->EnableVideoOutput(This,displayMode,flags);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_DisableVideoOutput(IDeckLinkOutput_v7_6* This) {
return This->lpVtbl->DisableVideoOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v7_6* This,IDeckLinkMemoryAllocator *theAllocator) {
return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_CreateVideoFrame(IDeckLinkOutput_v7_6* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame_v7_6 **outFrame) {
return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_CreateAncillaryData(IDeckLinkOutput_v7_6* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) {
return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_DisplayVideoFrameSync(IDeckLinkOutput_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame) {
return This->lpVtbl->DisplayVideoFrameSync(This,theFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_ScheduleVideoFrame(IDeckLinkOutput_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) {
return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v7_6* This,IDeckLinkVideoOutputCallback_v7_6 *theCallback) {
return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(IDeckLinkOutput_v7_6* This,unsigned int *bufferedFrameCount) {
return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_EnableAudioOutput(IDeckLinkOutput_v7_6* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) {
return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_DisableAudioOutput(IDeckLinkOutput_v7_6* This) {
return This->lpVtbl->DisableAudioOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_WriteAudioSamplesSync(IDeckLinkOutput_v7_6* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) {
return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_BeginAudioPreroll(IDeckLinkOutput_v7_6* This) {
return This->lpVtbl->BeginAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_EndAudioPreroll(IDeckLinkOutput_v7_6* This) {
return This->lpVtbl->EndAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_ScheduleAudioSamples(IDeckLinkOutput_v7_6* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) {
return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v7_6* This,unsigned int *bufferedSampleFrameCount) {
return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(IDeckLinkOutput_v7_6* This) {
return This->lpVtbl->FlushBufferedAudioSamples(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_SetAudioCallback(IDeckLinkOutput_v7_6* This,IDeckLinkAudioOutputCallback *theCallback) {
return This->lpVtbl->SetAudioCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_StartScheduledPlayback(IDeckLinkOutput_v7_6* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) {
return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_StopScheduledPlayback(IDeckLinkOutput_v7_6* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) {
return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(IDeckLinkOutput_v7_6* This,BOOL *active) {
return This->lpVtbl->IsScheduledPlaybackRunning(This,active);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_GetScheduledStreamTime(IDeckLinkOutput_v7_6* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) {
return This->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_GetHardwareReferenceClock(IDeckLinkOutput_v7_6* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkInput_v7_6 interface
*/
#ifndef __IDeckLinkInput_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkInput_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkInput_v7_6, 0x300c135a, 0x9f43, 0x48e2, 0x99,0x06, 0x6d,0x79,0x11,0xd9,0x3c,0xf1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("300c135a-9f43-48e2-9906-6d7911d93cf1")
IDeckLinkInput_v7_6 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
unsigned int *availableFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
unsigned int *availableSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE StartStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE StopStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PauseStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkInputCallback_v7_6 *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkInput_v7_6, 0x300c135a, 0x9f43, 0x48e2, 0x99,0x06, 0x6d,0x79,0x11,0xd9,0x3c,0xf1)
#endif
#else
typedef struct IDeckLinkInput_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkInput_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkInput_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkInput_v7_6 *This);
/*** IDeckLinkInput_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkInput_v7_6 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkInput_v7_6 *This,
IDeckLinkDisplayModeIterator_v7_6 **iterator);
HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)(
IDeckLinkInput_v7_6 *This,
IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
HRESULT (STDMETHODCALLTYPE *EnableVideoInput)(
IDeckLinkInput_v7_6 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoInput)(
IDeckLinkInput_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableVideoFrameCount)(
IDeckLinkInput_v7_6 *This,
unsigned int *availableFrameCount);
HRESULT (STDMETHODCALLTYPE *EnableAudioInput)(
IDeckLinkInput_v7_6 *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount);
HRESULT (STDMETHODCALLTYPE *DisableAudioInput)(
IDeckLinkInput_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount)(
IDeckLinkInput_v7_6 *This,
unsigned int *availableSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *StartStreams)(
IDeckLinkInput_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *StopStreams)(
IDeckLinkInput_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *PauseStreams)(
IDeckLinkInput_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *FlushStreams)(
IDeckLinkInput_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkInput_v7_6 *This,
IDeckLinkInputCallback_v7_6 *theCallback);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkInput_v7_6 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *hardwareTime,
BMDTimeValue *timeInFrame,
BMDTimeValue *ticksPerFrame);
END_INTERFACE
} IDeckLinkInput_v7_6Vtbl;
interface IDeckLinkInput_v7_6 {
CONST_VTBL IDeckLinkInput_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkInput_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkInput_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkInput_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkInput_v7_6 methods ***/
#define IDeckLinkInput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) (This)->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result)
#define IDeckLinkInput_v7_6_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkInput_v7_6_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback)
#define IDeckLinkInput_v7_6_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags)
#define IDeckLinkInput_v7_6_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This)
#define IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(This,availableFrameCount) (This)->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount)
#define IDeckLinkInput_v7_6_EnableAudioInput(This,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount)
#define IDeckLinkInput_v7_6_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This)
#define IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) (This)->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount)
#define IDeckLinkInput_v7_6_StartStreams(This) (This)->lpVtbl->StartStreams(This)
#define IDeckLinkInput_v7_6_StopStreams(This) (This)->lpVtbl->StopStreams(This)
#define IDeckLinkInput_v7_6_PauseStreams(This) (This)->lpVtbl->PauseStreams(This)
#define IDeckLinkInput_v7_6_FlushStreams(This) (This)->lpVtbl->FlushStreams(This)
#define IDeckLinkInput_v7_6_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback)
#define IDeckLinkInput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_QueryInterface(IDeckLinkInput_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkInput_v7_6_AddRef(IDeckLinkInput_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkInput_v7_6_Release(IDeckLinkInput_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkInput_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_DoesSupportVideoMode(IDeckLinkInput_v7_6* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) {
return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_GetDisplayModeIterator(IDeckLinkInput_v7_6* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_SetScreenPreviewCallback(IDeckLinkInput_v7_6* This,IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) {
return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_EnableVideoInput(IDeckLinkInput_v7_6* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) {
return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_DisableVideoInput(IDeckLinkInput_v7_6* This) {
return This->lpVtbl->DisableVideoInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(IDeckLinkInput_v7_6* This,unsigned int *availableFrameCount) {
return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_EnableAudioInput(IDeckLinkInput_v7_6* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) {
return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_DisableAudioInput(IDeckLinkInput_v7_6* This) {
return This->lpVtbl->DisableAudioInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v7_6* This,unsigned int *availableSampleFrameCount) {
return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_StartStreams(IDeckLinkInput_v7_6* This) {
return This->lpVtbl->StartStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_StopStreams(IDeckLinkInput_v7_6* This) {
return This->lpVtbl->StopStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_PauseStreams(IDeckLinkInput_v7_6* This) {
return This->lpVtbl->PauseStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_FlushStreams(IDeckLinkInput_v7_6* This) {
return This->lpVtbl->FlushStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_SetCallback(IDeckLinkInput_v7_6* This,IDeckLinkInputCallback_v7_6 *theCallback) {
return This->lpVtbl->SetCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_6_GetHardwareReferenceClock(IDeckLinkInput_v7_6* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkTimecode_v7_6 interface
*/
#ifndef __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkTimecode_v7_6, 0xefb9bca6, 0xa521, 0x44f7, 0xbd,0x69, 0x23,0x32,0xf2,0x4d,0x9e,0xe6);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("efb9bca6-a521-44f7-bd69-2332f24d9ee6")
IDeckLinkTimecode_v7_6 : public IUnknown
{
virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetComponents(
unsigned char *hours,
unsigned char *minutes,
unsigned char *seconds,
unsigned char *frames) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
BSTR *timecode) = 0;
virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkTimecode_v7_6, 0xefb9bca6, 0xa521, 0x44f7, 0xbd,0x69, 0x23,0x32,0xf2,0x4d,0x9e,0xe6)
#endif
#else
typedef struct IDeckLinkTimecode_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkTimecode_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkTimecode_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkTimecode_v7_6 *This);
/*** IDeckLinkTimecode_v7_6 methods ***/
BMDTimecodeBCD (STDMETHODCALLTYPE *GetBCD)(
IDeckLinkTimecode_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *GetComponents)(
IDeckLinkTimecode_v7_6 *This,
unsigned char *hours,
unsigned char *minutes,
unsigned char *seconds,
unsigned char *frames);
HRESULT (STDMETHODCALLTYPE *GetString)(
IDeckLinkTimecode_v7_6 *This,
BSTR *timecode);
BMDTimecodeFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkTimecode_v7_6 *This);
END_INTERFACE
} IDeckLinkTimecode_v7_6Vtbl;
interface IDeckLinkTimecode_v7_6 {
CONST_VTBL IDeckLinkTimecode_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkTimecode_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkTimecode_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkTimecode_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkTimecode_v7_6 methods ***/
#define IDeckLinkTimecode_v7_6_GetBCD(This) (This)->lpVtbl->GetBCD(This)
#define IDeckLinkTimecode_v7_6_GetComponents(This,hours,minutes,seconds,frames) (This)->lpVtbl->GetComponents(This,hours,minutes,seconds,frames)
#define IDeckLinkTimecode_v7_6_GetString(This,timecode) (This)->lpVtbl->GetString(This,timecode)
#define IDeckLinkTimecode_v7_6_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkTimecode_v7_6_QueryInterface(IDeckLinkTimecode_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkTimecode_v7_6_AddRef(IDeckLinkTimecode_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkTimecode_v7_6_Release(IDeckLinkTimecode_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkTimecode_v7_6 methods ***/
static FORCEINLINE BMDTimecodeBCD IDeckLinkTimecode_v7_6_GetBCD(IDeckLinkTimecode_v7_6* This) {
return This->lpVtbl->GetBCD(This);
}
static FORCEINLINE HRESULT IDeckLinkTimecode_v7_6_GetComponents(IDeckLinkTimecode_v7_6* This,unsigned char *hours,unsigned char *minutes,unsigned char *seconds,unsigned char *frames) {
return This->lpVtbl->GetComponents(This,hours,minutes,seconds,frames);
}
static FORCEINLINE HRESULT IDeckLinkTimecode_v7_6_GetString(IDeckLinkTimecode_v7_6* This,BSTR *timecode) {
return This->lpVtbl->GetString(This,timecode);
}
static FORCEINLINE BMDTimecodeFlags IDeckLinkTimecode_v7_6_GetFlags(IDeckLinkTimecode_v7_6* This) {
return This->lpVtbl->GetFlags(This);
}
#endif
#endif
#endif
#endif /* __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoFrame_v7_6 interface
*/
#ifndef __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoFrame_v7_6, 0xa8d8238e, 0x6b18, 0x4196, 0x99,0xe1, 0x5a,0xf7,0x17,0xb8,0x3d,0x32);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a8d8238e-6b18-4196-99e1-5af717b83d32")
IDeckLinkVideoFrame_v7_6 : public IUnknown
{
virtual LONG STDMETHODCALLTYPE GetWidth(
) = 0;
virtual LONG STDMETHODCALLTYPE GetHeight(
) = 0;
virtual LONG STDMETHODCALLTYPE GetRowBytes(
) = 0;
virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat(
) = 0;
virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytes(
void **buffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecode(
BMDTimecodeFormat format,
IDeckLinkTimecode_v7_6 **timecode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(
IDeckLinkVideoFrameAncillary **ancillary) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoFrame_v7_6, 0xa8d8238e, 0x6b18, 0x4196, 0x99,0xe1, 0x5a,0xf7,0x17,0xb8,0x3d,0x32)
#endif
#else
typedef struct IDeckLinkVideoFrame_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoFrame_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoFrame_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoFrame_v7_6 *This);
/*** IDeckLinkVideoFrame_v7_6 methods ***/
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkVideoFrame_v7_6 *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkVideoFrame_v7_6 *This);
LONG (STDMETHODCALLTYPE *GetRowBytes)(
IDeckLinkVideoFrame_v7_6 *This);
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkVideoFrame_v7_6 *This);
BMDFrameFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkVideoFrame_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkVideoFrame_v7_6 *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkVideoFrame_v7_6 *This,
BMDTimecodeFormat format,
IDeckLinkTimecode_v7_6 **timecode);
HRESULT (STDMETHODCALLTYPE *GetAncillaryData)(
IDeckLinkVideoFrame_v7_6 *This,
IDeckLinkVideoFrameAncillary **ancillary);
END_INTERFACE
} IDeckLinkVideoFrame_v7_6Vtbl;
interface IDeckLinkVideoFrame_v7_6 {
CONST_VTBL IDeckLinkVideoFrame_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoFrame_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoFrame_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrame_v7_6 methods ***/
#define IDeckLinkVideoFrame_v7_6_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkVideoFrame_v7_6_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkVideoFrame_v7_6_GetRowBytes(This) (This)->lpVtbl->GetRowBytes(This)
#define IDeckLinkVideoFrame_v7_6_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkVideoFrame_v7_6_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#define IDeckLinkVideoFrame_v7_6_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkVideoFrame_v7_6_GetTimecode(This,format,timecode) (This)->lpVtbl->GetTimecode(This,format,timecode)
#define IDeckLinkVideoFrame_v7_6_GetAncillaryData(This,ancillary) (This)->lpVtbl->GetAncillaryData(This,ancillary)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_6_QueryInterface(IDeckLinkVideoFrame_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoFrame_v7_6_AddRef(IDeckLinkVideoFrame_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoFrame_v7_6_Release(IDeckLinkVideoFrame_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrame_v7_6 methods ***/
static FORCEINLINE LONG IDeckLinkVideoFrame_v7_6_GetWidth(IDeckLinkVideoFrame_v7_6* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkVideoFrame_v7_6_GetHeight(IDeckLinkVideoFrame_v7_6* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE LONG IDeckLinkVideoFrame_v7_6_GetRowBytes(IDeckLinkVideoFrame_v7_6* This) {
return This->lpVtbl->GetRowBytes(This);
}
static FORCEINLINE BMDPixelFormat IDeckLinkVideoFrame_v7_6_GetPixelFormat(IDeckLinkVideoFrame_v7_6* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE BMDFrameFlags IDeckLinkVideoFrame_v7_6_GetFlags(IDeckLinkVideoFrame_v7_6* This) {
return This->lpVtbl->GetFlags(This);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_6_GetBytes(IDeckLinkVideoFrame_v7_6* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_6_GetTimecode(IDeckLinkVideoFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) {
return This->lpVtbl->GetTimecode(This,format,timecode);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_6_GetAncillaryData(IDeckLinkVideoFrame_v7_6* This,IDeckLinkVideoFrameAncillary **ancillary) {
return This->lpVtbl->GetAncillaryData(This,ancillary);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkMutableVideoFrame_v7_6 interface
*/
#ifndef __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkMutableVideoFrame_v7_6, 0x46fcee00, 0xb4e6, 0x43d0, 0x91,0xc0, 0x02,0x3a,0x7f,0xce,0xb3,0x4f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("46fcee00-b4e6-43d0-91c0-023a7fceb34f")
IDeckLinkMutableVideoFrame_v7_6 : public IDeckLinkVideoFrame_v7_6
{
virtual HRESULT STDMETHODCALLTYPE SetFlags(
BMDFrameFlags newFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimecode(
BMDTimecodeFormat format,
IDeckLinkTimecode_v7_6 *timecode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents(
BMDTimecodeFormat format,
unsigned char hours,
unsigned char minutes,
unsigned char seconds,
unsigned char frames,
BMDTimecodeFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAncillaryData(
IDeckLinkVideoFrameAncillary *ancillary) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkMutableVideoFrame_v7_6, 0x46fcee00, 0xb4e6, 0x43d0, 0x91,0xc0, 0x02,0x3a,0x7f,0xce,0xb3,0x4f)
#endif
#else
typedef struct IDeckLinkMutableVideoFrame_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkMutableVideoFrame_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkMutableVideoFrame_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkMutableVideoFrame_v7_6 *This);
/*** IDeckLinkVideoFrame_v7_6 methods ***/
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkMutableVideoFrame_v7_6 *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkMutableVideoFrame_v7_6 *This);
LONG (STDMETHODCALLTYPE *GetRowBytes)(
IDeckLinkMutableVideoFrame_v7_6 *This);
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkMutableVideoFrame_v7_6 *This);
BMDFrameFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkMutableVideoFrame_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkMutableVideoFrame_v7_6 *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkMutableVideoFrame_v7_6 *This,
BMDTimecodeFormat format,
IDeckLinkTimecode_v7_6 **timecode);
HRESULT (STDMETHODCALLTYPE *GetAncillaryData)(
IDeckLinkMutableVideoFrame_v7_6 *This,
IDeckLinkVideoFrameAncillary **ancillary);
/*** IDeckLinkMutableVideoFrame_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlags)(
IDeckLinkMutableVideoFrame_v7_6 *This,
BMDFrameFlags newFlags);
HRESULT (STDMETHODCALLTYPE *SetTimecode)(
IDeckLinkMutableVideoFrame_v7_6 *This,
BMDTimecodeFormat format,
IDeckLinkTimecode_v7_6 *timecode);
HRESULT (STDMETHODCALLTYPE *SetTimecodeFromComponents)(
IDeckLinkMutableVideoFrame_v7_6 *This,
BMDTimecodeFormat format,
unsigned char hours,
unsigned char minutes,
unsigned char seconds,
unsigned char frames,
BMDTimecodeFlags flags);
HRESULT (STDMETHODCALLTYPE *SetAncillaryData)(
IDeckLinkMutableVideoFrame_v7_6 *This,
IDeckLinkVideoFrameAncillary *ancillary);
END_INTERFACE
} IDeckLinkMutableVideoFrame_v7_6Vtbl;
interface IDeckLinkMutableVideoFrame_v7_6 {
CONST_VTBL IDeckLinkMutableVideoFrame_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkMutableVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkMutableVideoFrame_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkMutableVideoFrame_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrame_v7_6 methods ***/
#define IDeckLinkMutableVideoFrame_v7_6_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkMutableVideoFrame_v7_6_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(This) (This)->lpVtbl->GetRowBytes(This)
#define IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkMutableVideoFrame_v7_6_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#define IDeckLinkMutableVideoFrame_v7_6_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkMutableVideoFrame_v7_6_GetTimecode(This,format,timecode) (This)->lpVtbl->GetTimecode(This,format,timecode)
#define IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(This,ancillary) (This)->lpVtbl->GetAncillaryData(This,ancillary)
/*** IDeckLinkMutableVideoFrame_v7_6 methods ***/
#define IDeckLinkMutableVideoFrame_v7_6_SetFlags(This,newFlags) (This)->lpVtbl->SetFlags(This,newFlags)
#define IDeckLinkMutableVideoFrame_v7_6_SetTimecode(This,format,timecode) (This)->lpVtbl->SetTimecode(This,format,timecode)
#define IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) (This)->lpVtbl->SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags)
#define IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(This,ancillary) (This)->lpVtbl->SetAncillaryData(This,ancillary)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_QueryInterface(IDeckLinkMutableVideoFrame_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkMutableVideoFrame_v7_6_AddRef(IDeckLinkMutableVideoFrame_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkMutableVideoFrame_v7_6_Release(IDeckLinkMutableVideoFrame_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrame_v7_6 methods ***/
static FORCEINLINE LONG IDeckLinkMutableVideoFrame_v7_6_GetWidth(IDeckLinkMutableVideoFrame_v7_6* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkMutableVideoFrame_v7_6_GetHeight(IDeckLinkMutableVideoFrame_v7_6* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE LONG IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(IDeckLinkMutableVideoFrame_v7_6* This) {
return This->lpVtbl->GetRowBytes(This);
}
static FORCEINLINE BMDPixelFormat IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(IDeckLinkMutableVideoFrame_v7_6* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE BMDFrameFlags IDeckLinkMutableVideoFrame_v7_6_GetFlags(IDeckLinkMutableVideoFrame_v7_6* This) {
return This->lpVtbl->GetFlags(This);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_GetBytes(IDeckLinkMutableVideoFrame_v7_6* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_GetTimecode(IDeckLinkMutableVideoFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) {
return This->lpVtbl->GetTimecode(This,format,timecode);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(IDeckLinkMutableVideoFrame_v7_6* This,IDeckLinkVideoFrameAncillary **ancillary) {
return This->lpVtbl->GetAncillaryData(This,ancillary);
}
/*** IDeckLinkMutableVideoFrame_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_SetFlags(IDeckLinkMutableVideoFrame_v7_6* This,BMDFrameFlags newFlags) {
return This->lpVtbl->SetFlags(This,newFlags);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_SetTimecode(IDeckLinkMutableVideoFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 *timecode) {
return This->lpVtbl->SetTimecode(This,format,timecode);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(IDeckLinkMutableVideoFrame_v7_6* This,BMDTimecodeFormat format,unsigned char hours,unsigned char minutes,unsigned char seconds,unsigned char frames,BMDTimecodeFlags flags) {
return This->lpVtbl->SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags);
}
static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(IDeckLinkMutableVideoFrame_v7_6* This,IDeckLinkVideoFrameAncillary *ancillary) {
return This->lpVtbl->SetAncillaryData(This,ancillary);
}
#endif
#endif
#endif
#endif /* __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoInputFrame_v7_6 interface
*/
#ifndef __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoInputFrame_v7_6, 0x9a74fa41, 0xae9f, 0x47ac, 0x8c,0xf4, 0x01,0xf4,0x2d,0xd5,0x99,0x65);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9a74fa41-ae9f-47ac-8cf4-01f42dd59965")
IDeckLinkVideoInputFrame_v7_6 : public IDeckLinkVideoFrame_v7_6
{
virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
BMDTimeScale timeScale,
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoInputFrame_v7_6, 0x9a74fa41, 0xae9f, 0x47ac, 0x8c,0xf4, 0x01,0xf4,0x2d,0xd5,0x99,0x65)
#endif
#else
typedef struct IDeckLinkVideoInputFrame_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoInputFrame_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoInputFrame_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoInputFrame_v7_6 *This);
/*** IDeckLinkVideoFrame_v7_6 methods ***/
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkVideoInputFrame_v7_6 *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkVideoInputFrame_v7_6 *This);
LONG (STDMETHODCALLTYPE *GetRowBytes)(
IDeckLinkVideoInputFrame_v7_6 *This);
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkVideoInputFrame_v7_6 *This);
BMDFrameFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkVideoInputFrame_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkVideoInputFrame_v7_6 *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkVideoInputFrame_v7_6 *This,
BMDTimecodeFormat format,
IDeckLinkTimecode_v7_6 **timecode);
HRESULT (STDMETHODCALLTYPE *GetAncillaryData)(
IDeckLinkVideoInputFrame_v7_6 *This,
IDeckLinkVideoFrameAncillary **ancillary);
/*** IDeckLinkVideoInputFrame_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *GetStreamTime)(
IDeckLinkVideoInputFrame_v7_6 *This,
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceTimestamp)(
IDeckLinkVideoInputFrame_v7_6 *This,
BMDTimeScale timeScale,
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration);
END_INTERFACE
} IDeckLinkVideoInputFrame_v7_6Vtbl;
interface IDeckLinkVideoInputFrame_v7_6 {
CONST_VTBL IDeckLinkVideoInputFrame_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoInputFrame_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoInputFrame_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoInputFrame_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrame_v7_6 methods ***/
#define IDeckLinkVideoInputFrame_v7_6_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkVideoInputFrame_v7_6_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkVideoInputFrame_v7_6_GetRowBytes(This) (This)->lpVtbl->GetRowBytes(This)
#define IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkVideoInputFrame_v7_6_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#define IDeckLinkVideoInputFrame_v7_6_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkVideoInputFrame_v7_6_GetTimecode(This,format,timecode) (This)->lpVtbl->GetTimecode(This,format,timecode)
#define IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(This,ancillary) (This)->lpVtbl->GetAncillaryData(This,ancillary)
/*** IDeckLinkVideoInputFrame_v7_6 methods ***/
#define IDeckLinkVideoInputFrame_v7_6_GetStreamTime(This,frameTime,frameDuration,timeScale) (This)->lpVtbl->GetStreamTime(This,frameTime,frameDuration,timeScale)
#define IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) (This)->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_QueryInterface(IDeckLinkVideoInputFrame_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_6_AddRef(IDeckLinkVideoInputFrame_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_6_Release(IDeckLinkVideoInputFrame_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrame_v7_6 methods ***/
static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_6_GetWidth(IDeckLinkVideoInputFrame_v7_6* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_6_GetHeight(IDeckLinkVideoInputFrame_v7_6* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_6_GetRowBytes(IDeckLinkVideoInputFrame_v7_6* This) {
return This->lpVtbl->GetRowBytes(This);
}
static FORCEINLINE BMDPixelFormat IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(IDeckLinkVideoInputFrame_v7_6* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE BMDFrameFlags IDeckLinkVideoInputFrame_v7_6_GetFlags(IDeckLinkVideoInputFrame_v7_6* This) {
return This->lpVtbl->GetFlags(This);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_GetBytes(IDeckLinkVideoInputFrame_v7_6* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_GetTimecode(IDeckLinkVideoInputFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) {
return This->lpVtbl->GetTimecode(This,format,timecode);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(IDeckLinkVideoInputFrame_v7_6* This,IDeckLinkVideoFrameAncillary **ancillary) {
return This->lpVtbl->GetAncillaryData(This,ancillary);
}
/*** IDeckLinkVideoInputFrame_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_GetStreamTime(IDeckLinkVideoInputFrame_v7_6* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) {
return This->lpVtbl->GetStreamTime(This,frameTime,frameDuration,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(IDeckLinkVideoInputFrame_v7_6* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) {
return This->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkScreenPreviewCallback_v7_6 interface
*/
#ifndef __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkScreenPreviewCallback_v7_6, 0x373f499d, 0x4b4d, 0x4518, 0xad,0x22, 0x63,0x54,0xe5,0xa5,0x82,0x5e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("373f499d-4b4d-4518-ad22-6354e5a5825e")
IDeckLinkScreenPreviewCallback_v7_6 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DrawFrame(
IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkScreenPreviewCallback_v7_6, 0x373f499d, 0x4b4d, 0x4518, 0xad,0x22, 0x63,0x54,0xe5,0xa5,0x82,0x5e)
#endif
#else
typedef struct IDeckLinkScreenPreviewCallback_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkScreenPreviewCallback_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkScreenPreviewCallback_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkScreenPreviewCallback_v7_6 *This);
/*** IDeckLinkScreenPreviewCallback_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *DrawFrame)(
IDeckLinkScreenPreviewCallback_v7_6 *This,
IDeckLinkVideoFrame_v7_6 *theFrame);
END_INTERFACE
} IDeckLinkScreenPreviewCallback_v7_6Vtbl;
interface IDeckLinkScreenPreviewCallback_v7_6 {
CONST_VTBL IDeckLinkScreenPreviewCallback_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkScreenPreviewCallback_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkScreenPreviewCallback_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkScreenPreviewCallback_v7_6 methods ***/
#define IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(This,theFrame) (This)->lpVtbl->DrawFrame(This,theFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(IDeckLinkScreenPreviewCallback_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkScreenPreviewCallback_v7_6_AddRef(IDeckLinkScreenPreviewCallback_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkScreenPreviewCallback_v7_6_Release(IDeckLinkScreenPreviewCallback_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkScreenPreviewCallback_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(IDeckLinkScreenPreviewCallback_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame) {
return This->lpVtbl->DrawFrame(This,theFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkGLScreenPreviewHelper_v7_6 interface
*/
#ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkGLScreenPreviewHelper_v7_6, 0xba575cd9, 0xa15e, 0x497b, 0xb2,0xc2, 0xf9,0xaf,0xe7,0xbe,0x4e,0xba);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ba575cd9-a15e-497b-b2c2-f9afe7be4eba")
IDeckLinkGLScreenPreviewHelper_v7_6 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE InitializeGL(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PaintGL(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFrame(
IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkGLScreenPreviewHelper_v7_6, 0xba575cd9, 0xa15e, 0x497b, 0xb2,0xc2, 0xf9,0xaf,0xe7,0xbe,0x4e,0xba)
#endif
#else
typedef struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkGLScreenPreviewHelper_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkGLScreenPreviewHelper_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkGLScreenPreviewHelper_v7_6 *This);
/*** IDeckLinkGLScreenPreviewHelper_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *InitializeGL)(
IDeckLinkGLScreenPreviewHelper_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *PaintGL)(
IDeckLinkGLScreenPreviewHelper_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *SetFrame)(
IDeckLinkGLScreenPreviewHelper_v7_6 *This,
IDeckLinkVideoFrame_v7_6 *theFrame);
END_INTERFACE
} IDeckLinkGLScreenPreviewHelper_v7_6Vtbl;
interface IDeckLinkGLScreenPreviewHelper_v7_6 {
CONST_VTBL IDeckLinkGLScreenPreviewHelper_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkGLScreenPreviewHelper_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkGLScreenPreviewHelper_v7_6 methods ***/
#define IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(This) (This)->lpVtbl->InitializeGL(This)
#define IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(This) (This)->lpVtbl->PaintGL(This)
#define IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(This,theFrame) (This)->lpVtbl->SetFrame(This,theFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(IDeckLinkGLScreenPreviewHelper_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(IDeckLinkGLScreenPreviewHelper_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkGLScreenPreviewHelper_v7_6_Release(IDeckLinkGLScreenPreviewHelper_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkGLScreenPreviewHelper_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(IDeckLinkGLScreenPreviewHelper_v7_6* This) {
return This->lpVtbl->InitializeGL(This);
}
static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(IDeckLinkGLScreenPreviewHelper_v7_6* This) {
return This->lpVtbl->PaintGL(This);
}
static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(IDeckLinkGLScreenPreviewHelper_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame) {
return This->lpVtbl->SetFrame(This,theFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoConversion_v7_6 interface
*/
#ifndef __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoConversion_v7_6, 0x3eb504c9, 0xf97d, 0x40fe, 0xa1,0x58, 0xd4,0x07,0xd4,0x8c,0xb5,0x3b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3eb504c9-f97d-40fe-a158-d407d48cb53b")
IDeckLinkVideoConversion_v7_6 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ConvertFrame(
IDeckLinkVideoFrame_v7_6 *srcFrame,
IDeckLinkVideoFrame_v7_6 *dstFrame) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoConversion_v7_6, 0x3eb504c9, 0xf97d, 0x40fe, 0xa1,0x58, 0xd4,0x07,0xd4,0x8c,0xb5,0x3b)
#endif
#else
typedef struct IDeckLinkVideoConversion_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoConversion_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoConversion_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoConversion_v7_6 *This);
/*** IDeckLinkVideoConversion_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *ConvertFrame)(
IDeckLinkVideoConversion_v7_6 *This,
IDeckLinkVideoFrame_v7_6 *srcFrame,
IDeckLinkVideoFrame_v7_6 *dstFrame);
END_INTERFACE
} IDeckLinkVideoConversion_v7_6Vtbl;
interface IDeckLinkVideoConversion_v7_6 {
CONST_VTBL IDeckLinkVideoConversion_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoConversion_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoConversion_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoConversion_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoConversion_v7_6 methods ***/
#define IDeckLinkVideoConversion_v7_6_ConvertFrame(This,srcFrame,dstFrame) (This)->lpVtbl->ConvertFrame(This,srcFrame,dstFrame)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoConversion_v7_6_QueryInterface(IDeckLinkVideoConversion_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoConversion_v7_6_AddRef(IDeckLinkVideoConversion_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoConversion_v7_6_Release(IDeckLinkVideoConversion_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoConversion_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoConversion_v7_6_ConvertFrame(IDeckLinkVideoConversion_v7_6* This,IDeckLinkVideoFrame_v7_6 *srcFrame,IDeckLinkVideoFrame_v7_6 *dstFrame) {
return This->lpVtbl->ConvertFrame(This,srcFrame,dstFrame);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkConfiguration_v7_6 interface
*/
#ifndef __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__
#define __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkConfiguration_v7_6, 0xb8ead569, 0xb764, 0x47f0, 0xa7,0x3f, 0xae,0x40,0xdf,0x6c,0xbf,0x10);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b8ead569-b764-47f0-a73f-ae40df6cbf10")
IDeckLinkConfiguration_v7_6 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetConfigurationValidator(
IDeckLinkConfiguration_v7_6 **configObject) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFormat(
BMDVideoConnection_v7_6 videoOutputConnection) = 0;
virtual HRESULT STDMETHODCALLTYPE IsVideoOutputActive(
BMDVideoConnection_v7_6 videoOutputConnection,
BOOL *active) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoOutputFlags(
BMDAnalogVideoFlags analogVideoFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoOutputFlags(
BMDAnalogVideoFlags *analogVideoFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableFieldFlickerRemovalWhenPaused(
BOOL enable) = 0;
virtual HRESULT STDMETHODCALLTYPE IsEnabledFieldFlickerRemovalWhenPaused(
BOOL *enabled) = 0;
virtual HRESULT STDMETHODCALLTYPE Set444And3GBpsVideoOutput(
BOOL enable444VideoOutput,
BOOL enable3GbsOutput) = 0;
virtual HRESULT STDMETHODCALLTYPE Get444And3GBpsVideoOutput(
BOOL *is444VideoOutputEnabled,
BOOL *threeGbsOutputEnabled) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoOutputConversionMode(
BMDVideoOutputConversionMode conversionMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoOutputConversionMode(
BMDVideoOutputConversionMode *conversionMode) = 0;
virtual HRESULT STDMETHODCALLTYPE Set_HD1080p24_to_HD1080i5994_Conversion(
BOOL enable) = 0;
virtual HRESULT STDMETHODCALLTYPE Get_HD1080p24_to_HD1080i5994_Conversion(
BOOL *enabled) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoInputFormat(
BMDVideoConnection_v7_6 videoInputFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoInputFormat(
BMDVideoConnection_v7_6 *videoInputFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoInputFlags(
BMDAnalogVideoFlags analogVideoFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoInputFlags(
BMDAnalogVideoFlags *analogVideoFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoInputConversionMode(
BMDVideoInputConversionMode conversionMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoInputConversionMode(
BMDVideoInputConversionMode *conversionMode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBlackVideoOutputDuringCapture(
BOOL blackOutInCapture) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBlackVideoOutputDuringCapture(
BOOL *blackOutInCapture) = 0;
virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame(
unsigned int aFrameTimecode) = 0;
virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame(
unsigned int *aFrameTimecode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping(
unsigned int activeLine1VANCsource,
unsigned int activeLine2VANCsource,
unsigned int activeLine3VANCsource) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping(
unsigned int *activeLine1VANCsource,
unsigned int *activeLine2VANCsource,
unsigned int *activeLine3VANCsource) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat(
BMDAudioConnection_v10_2 audioInputFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAudioInputFormat(
BMDAudioConnection_v10_2 *audioInputFormat) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkConfiguration_v7_6, 0xb8ead569, 0xb764, 0x47f0, 0xa7,0x3f, 0xae,0x40,0xdf,0x6c,0xbf,0x10)
#endif
#else
typedef struct IDeckLinkConfiguration_v7_6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkConfiguration_v7_6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkConfiguration_v7_6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkConfiguration_v7_6 *This);
/*** IDeckLinkConfiguration_v7_6 methods ***/
HRESULT (STDMETHODCALLTYPE *GetConfigurationValidator)(
IDeckLinkConfiguration_v7_6 *This,
IDeckLinkConfiguration_v7_6 **configObject);
HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)(
IDeckLinkConfiguration_v7_6 *This);
HRESULT (STDMETHODCALLTYPE *SetVideoOutputFormat)(
IDeckLinkConfiguration_v7_6 *This,
BMDVideoConnection_v7_6 videoOutputConnection);
HRESULT (STDMETHODCALLTYPE *IsVideoOutputActive)(
IDeckLinkConfiguration_v7_6 *This,
BMDVideoConnection_v7_6 videoOutputConnection,
BOOL *active);
HRESULT (STDMETHODCALLTYPE *SetAnalogVideoOutputFlags)(
IDeckLinkConfiguration_v7_6 *This,
BMDAnalogVideoFlags analogVideoFlags);
HRESULT (STDMETHODCALLTYPE *GetAnalogVideoOutputFlags)(
IDeckLinkConfiguration_v7_6 *This,
BMDAnalogVideoFlags *analogVideoFlags);
HRESULT (STDMETHODCALLTYPE *EnableFieldFlickerRemovalWhenPaused)(
IDeckLinkConfiguration_v7_6 *This,
BOOL enable);
HRESULT (STDMETHODCALLTYPE *IsEnabledFieldFlickerRemovalWhenPaused)(
IDeckLinkConfiguration_v7_6 *This,
BOOL *enabled);
HRESULT (STDMETHODCALLTYPE *Set444And3GBpsVideoOutput)(
IDeckLinkConfiguration_v7_6 *This,
BOOL enable444VideoOutput,
BOOL enable3GbsOutput);
HRESULT (STDMETHODCALLTYPE *Get444And3GBpsVideoOutput)(
IDeckLinkConfiguration_v7_6 *This,
BOOL *is444VideoOutputEnabled,
BOOL *threeGbsOutputEnabled);
HRESULT (STDMETHODCALLTYPE *SetVideoOutputConversionMode)(
IDeckLinkConfiguration_v7_6 *This,
BMDVideoOutputConversionMode conversionMode);
HRESULT (STDMETHODCALLTYPE *GetVideoOutputConversionMode)(
IDeckLinkConfiguration_v7_6 *This,
BMDVideoOutputConversionMode *conversionMode);
HRESULT (STDMETHODCALLTYPE *Set_HD1080p24_to_HD1080i5994_Conversion)(
IDeckLinkConfiguration_v7_6 *This,
BOOL enable);
HRESULT (STDMETHODCALLTYPE *Get_HD1080p24_to_HD1080i5994_Conversion)(
IDeckLinkConfiguration_v7_6 *This,
BOOL *enabled);
HRESULT (STDMETHODCALLTYPE *SetVideoInputFormat)(
IDeckLinkConfiguration_v7_6 *This,
BMDVideoConnection_v7_6 videoInputFormat);
HRESULT (STDMETHODCALLTYPE *GetVideoInputFormat)(
IDeckLinkConfiguration_v7_6 *This,
BMDVideoConnection_v7_6 *videoInputFormat);
HRESULT (STDMETHODCALLTYPE *SetAnalogVideoInputFlags)(
IDeckLinkConfiguration_v7_6 *This,
BMDAnalogVideoFlags analogVideoFlags);
HRESULT (STDMETHODCALLTYPE *GetAnalogVideoInputFlags)(
IDeckLinkConfiguration_v7_6 *This,
BMDAnalogVideoFlags *analogVideoFlags);
HRESULT (STDMETHODCALLTYPE *SetVideoInputConversionMode)(
IDeckLinkConfiguration_v7_6 *This,
BMDVideoInputConversionMode conversionMode);
HRESULT (STDMETHODCALLTYPE *GetVideoInputConversionMode)(
IDeckLinkConfiguration_v7_6 *This,
BMDVideoInputConversionMode *conversionMode);
HRESULT (STDMETHODCALLTYPE *SetBlackVideoOutputDuringCapture)(
IDeckLinkConfiguration_v7_6 *This,
BOOL blackOutInCapture);
HRESULT (STDMETHODCALLTYPE *GetBlackVideoOutputDuringCapture)(
IDeckLinkConfiguration_v7_6 *This,
BOOL *blackOutInCapture);
HRESULT (STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame)(
IDeckLinkConfiguration_v7_6 *This,
unsigned int aFrameTimecode);
HRESULT (STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame)(
IDeckLinkConfiguration_v7_6 *This,
unsigned int *aFrameTimecode);
HRESULT (STDMETHODCALLTYPE *SetVancSourceLineMapping)(
IDeckLinkConfiguration_v7_6 *This,
unsigned int activeLine1VANCsource,
unsigned int activeLine2VANCsource,
unsigned int activeLine3VANCsource);
HRESULT (STDMETHODCALLTYPE *GetVancSourceLineMapping)(
IDeckLinkConfiguration_v7_6 *This,
unsigned int *activeLine1VANCsource,
unsigned int *activeLine2VANCsource,
unsigned int *activeLine3VANCsource);
HRESULT (STDMETHODCALLTYPE *SetAudioInputFormat)(
IDeckLinkConfiguration_v7_6 *This,
BMDAudioConnection_v10_2 audioInputFormat);
HRESULT (STDMETHODCALLTYPE *GetAudioInputFormat)(
IDeckLinkConfiguration_v7_6 *This,
BMDAudioConnection_v10_2 *audioInputFormat);
END_INTERFACE
} IDeckLinkConfiguration_v7_6Vtbl;
interface IDeckLinkConfiguration_v7_6 {
CONST_VTBL IDeckLinkConfiguration_v7_6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkConfiguration_v7_6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkConfiguration_v7_6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkConfiguration_v7_6_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkConfiguration_v7_6 methods ***/
#define IDeckLinkConfiguration_v7_6_GetConfigurationValidator(This,configObject) (This)->lpVtbl->GetConfigurationValidator(This,configObject)
#define IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This)
#define IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(This,videoOutputConnection) (This)->lpVtbl->SetVideoOutputFormat(This,videoOutputConnection)
#define IDeckLinkConfiguration_v7_6_IsVideoOutputActive(This,videoOutputConnection,active) (This)->lpVtbl->IsVideoOutputActive(This,videoOutputConnection,active)
#define IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(This,analogVideoFlags) (This)->lpVtbl->SetAnalogVideoOutputFlags(This,analogVideoFlags)
#define IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(This,analogVideoFlags) (This)->lpVtbl->GetAnalogVideoOutputFlags(This,analogVideoFlags)
#define IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(This,enable) (This)->lpVtbl->EnableFieldFlickerRemovalWhenPaused(This,enable)
#define IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) (This)->lpVtbl->IsEnabledFieldFlickerRemovalWhenPaused(This,enabled)
#define IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) (This)->lpVtbl->Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput)
#define IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) (This)->lpVtbl->Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled)
#define IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(This,conversionMode) (This)->lpVtbl->SetVideoOutputConversionMode(This,conversionMode)
#define IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(This,conversionMode) (This)->lpVtbl->GetVideoOutputConversionMode(This,conversionMode)
#define IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) (This)->lpVtbl->Set_HD1080p24_to_HD1080i5994_Conversion(This,enable)
#define IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) (This)->lpVtbl->Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled)
#define IDeckLinkConfiguration_v7_6_SetVideoInputFormat(This,videoInputFormat) (This)->lpVtbl->SetVideoInputFormat(This,videoInputFormat)
#define IDeckLinkConfiguration_v7_6_GetVideoInputFormat(This,videoInputFormat) (This)->lpVtbl->GetVideoInputFormat(This,videoInputFormat)
#define IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(This,analogVideoFlags) (This)->lpVtbl->SetAnalogVideoInputFlags(This,analogVideoFlags)
#define IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(This,analogVideoFlags) (This)->lpVtbl->GetAnalogVideoInputFlags(This,analogVideoFlags)
#define IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(This,conversionMode) (This)->lpVtbl->SetVideoInputConversionMode(This,conversionMode)
#define IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(This,conversionMode) (This)->lpVtbl->GetVideoInputConversionMode(This,conversionMode)
#define IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(This,blackOutInCapture) (This)->lpVtbl->SetBlackVideoOutputDuringCapture(This,blackOutInCapture)
#define IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(This,blackOutInCapture) (This)->lpVtbl->GetBlackVideoOutputDuringCapture(This,blackOutInCapture)
#define IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) (This)->lpVtbl->Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode)
#define IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) (This)->lpVtbl->Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode)
#define IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) (This)->lpVtbl->SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource)
#define IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) (This)->lpVtbl->GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource)
#define IDeckLinkConfiguration_v7_6_SetAudioInputFormat(This,audioInputFormat) (This)->lpVtbl->SetAudioInputFormat(This,audioInputFormat)
#define IDeckLinkConfiguration_v7_6_GetAudioInputFormat(This,audioInputFormat) (This)->lpVtbl->GetAudioInputFormat(This,audioInputFormat)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_QueryInterface(IDeckLinkConfiguration_v7_6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_v7_6_AddRef(IDeckLinkConfiguration_v7_6* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkConfiguration_v7_6_Release(IDeckLinkConfiguration_v7_6* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkConfiguration_v7_6 methods ***/
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetConfigurationValidator(IDeckLinkConfiguration_v7_6* This,IDeckLinkConfiguration_v7_6 **configObject) {
return This->lpVtbl->GetConfigurationValidator(This,configObject);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(IDeckLinkConfiguration_v7_6* This) {
return This->lpVtbl->WriteConfigurationToPreferences(This);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 videoOutputConnection) {
return This->lpVtbl->SetVideoOutputFormat(This,videoOutputConnection);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_IsVideoOutputActive(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 videoOutputConnection,BOOL *active) {
return This->lpVtbl->IsVideoOutputActive(This,videoOutputConnection,active);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags analogVideoFlags) {
return This->lpVtbl->SetAnalogVideoOutputFlags(This,analogVideoFlags);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags *analogVideoFlags) {
return This->lpVtbl->GetAnalogVideoOutputFlags(This,analogVideoFlags);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(IDeckLinkConfiguration_v7_6* This,BOOL enable) {
return This->lpVtbl->EnableFieldFlickerRemovalWhenPaused(This,enable);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(IDeckLinkConfiguration_v7_6* This,BOOL *enabled) {
return This->lpVtbl->IsEnabledFieldFlickerRemovalWhenPaused(This,enabled);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(IDeckLinkConfiguration_v7_6* This,BOOL enable444VideoOutput,BOOL enable3GbsOutput) {
return This->lpVtbl->Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(IDeckLinkConfiguration_v7_6* This,BOOL *is444VideoOutputEnabled,BOOL *threeGbsOutputEnabled) {
return This->lpVtbl->Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoOutputConversionMode conversionMode) {
return This->lpVtbl->SetVideoOutputConversionMode(This,conversionMode);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoOutputConversionMode *conversionMode) {
return This->lpVtbl->GetVideoOutputConversionMode(This,conversionMode);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(IDeckLinkConfiguration_v7_6* This,BOOL enable) {
return This->lpVtbl->Set_HD1080p24_to_HD1080i5994_Conversion(This,enable);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(IDeckLinkConfiguration_v7_6* This,BOOL *enabled) {
return This->lpVtbl->Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetVideoInputFormat(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 videoInputFormat) {
return This->lpVtbl->SetVideoInputFormat(This,videoInputFormat);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetVideoInputFormat(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 *videoInputFormat) {
return This->lpVtbl->GetVideoInputFormat(This,videoInputFormat);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags analogVideoFlags) {
return This->lpVtbl->SetAnalogVideoInputFlags(This,analogVideoFlags);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags *analogVideoFlags) {
return This->lpVtbl->GetAnalogVideoInputFlags(This,analogVideoFlags);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoInputConversionMode conversionMode) {
return This->lpVtbl->SetVideoInputConversionMode(This,conversionMode);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoInputConversionMode *conversionMode) {
return This->lpVtbl->GetVideoInputConversionMode(This,conversionMode);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(IDeckLinkConfiguration_v7_6* This,BOOL blackOutInCapture) {
return This->lpVtbl->SetBlackVideoOutputDuringCapture(This,blackOutInCapture);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(IDeckLinkConfiguration_v7_6* This,BOOL *blackOutInCapture) {
return This->lpVtbl->GetBlackVideoOutputDuringCapture(This,blackOutInCapture);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(IDeckLinkConfiguration_v7_6* This,unsigned int aFrameTimecode) {
return This->lpVtbl->Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(IDeckLinkConfiguration_v7_6* This,unsigned int *aFrameTimecode) {
return This->lpVtbl->Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(IDeckLinkConfiguration_v7_6* This,unsigned int activeLine1VANCsource,unsigned int activeLine2VANCsource,unsigned int activeLine3VANCsource) {
return This->lpVtbl->SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(IDeckLinkConfiguration_v7_6* This,unsigned int *activeLine1VANCsource,unsigned int *activeLine2VANCsource,unsigned int *activeLine3VANCsource) {
return This->lpVtbl->GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetAudioInputFormat(IDeckLinkConfiguration_v7_6* This,BMDAudioConnection_v10_2 audioInputFormat) {
return This->lpVtbl->SetAudioInputFormat(This,audioInputFormat);
}
static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetAudioInputFormat(IDeckLinkConfiguration_v7_6* This,BMDAudioConnection_v10_2 *audioInputFormat) {
return This->lpVtbl->GetAudioInputFormat(This,audioInputFormat);
}
#endif
#endif
#endif
#endif /* __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ */
/*****************************************************************************
* CDeckLinkGLScreenPreviewHelper_v7_6 coclass
*/
DEFINE_GUID(CLSID_CDeckLinkGLScreenPreviewHelper_v7_6, 0xd398cee7, 0x4434, 0x4ca3, 0x9b,0xa6, 0x5a,0xe3,0x45,0x56,0xb9,0x05);
#ifdef __cplusplus
class DECLSPEC_UUID("d398cee7-4434-4ca3-9ba6-5ae34556b905") CDeckLinkGLScreenPreviewHelper_v7_6;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkGLScreenPreviewHelper_v7_6, 0xd398cee7, 0x4434, 0x4ca3, 0x9b,0xa6, 0x5a,0xe3,0x45,0x56,0xb9,0x05)
#endif
#endif
/*****************************************************************************
* CDeckLinkVideoConversion_v7_6 coclass
*/
DEFINE_GUID(CLSID_CDeckLinkVideoConversion_v7_6, 0xffa84f77, 0x73be, 0x4fb7, 0xb0,0x3e, 0xb5,0xe4,0x4b,0x9f,0x75,0x9b);
#ifdef __cplusplus
class DECLSPEC_UUID("ffa84f77-73be-4fb7-b03e-b5e44b9f759b") CDeckLinkVideoConversion_v7_6;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDeckLinkVideoConversion_v7_6, 0xffa84f77, 0x73be, 0x4fb7, 0xb0,0x3e, 0xb5,0xe4,0x4b,0x9f,0x75,0x9b)
#endif
#endif
#ifndef __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
#define __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
typedef interface IDeckLinkInputCallback_v7_3 IDeckLinkInputCallback_v7_3;
#ifdef __cplusplus
interface IDeckLinkInputCallback_v7_3;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkOutput_v7_3_FWD_DEFINED__
#define __IDeckLinkOutput_v7_3_FWD_DEFINED__
typedef interface IDeckLinkOutput_v7_3 IDeckLinkOutput_v7_3;
#ifdef __cplusplus
interface IDeckLinkOutput_v7_3;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkInput_v7_3_FWD_DEFINED__
#define __IDeckLinkInput_v7_3_FWD_DEFINED__
typedef interface IDeckLinkInput_v7_3 IDeckLinkInput_v7_3;
#ifdef __cplusplus
interface IDeckLinkInput_v7_3;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
#define __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
typedef interface IDeckLinkVideoInputFrame_v7_3 IDeckLinkVideoInputFrame_v7_3;
#ifdef __cplusplus
interface IDeckLinkVideoInputFrame_v7_3;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkInputCallback_v7_3 interface
*/
#ifndef __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
#define __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkInputCallback_v7_3, 0xfd6f311d, 0x4d00, 0x444b, 0x9e,0xd4, 0x1f,0x25,0xb5,0x73,0x0a,0xd0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fd6f311d-4d00-444b-9ed4-1f25b5730ad0")
IDeckLinkInputCallback_v7_3 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
BMDVideoInputFormatChangedEvents notificationEvents,
IDeckLinkDisplayMode_v7_6 *newDisplayMode,
BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
IDeckLinkVideoInputFrame_v7_3 *videoFrame,
IDeckLinkAudioInputPacket *audioPacket) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkInputCallback_v7_3, 0xfd6f311d, 0x4d00, 0x444b, 0x9e,0xd4, 0x1f,0x25,0xb5,0x73,0x0a,0xd0)
#endif
#else
typedef struct IDeckLinkInputCallback_v7_3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkInputCallback_v7_3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkInputCallback_v7_3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkInputCallback_v7_3 *This);
/*** IDeckLinkInputCallback_v7_3 methods ***/
HRESULT (STDMETHODCALLTYPE *VideoInputFormatChanged)(
IDeckLinkInputCallback_v7_3 *This,
BMDVideoInputFormatChangedEvents notificationEvents,
IDeckLinkDisplayMode_v7_6 *newDisplayMode,
BMDDetectedVideoInputFormatFlags detectedSignalFlags);
HRESULT (STDMETHODCALLTYPE *VideoInputFrameArrived)(
IDeckLinkInputCallback_v7_3 *This,
IDeckLinkVideoInputFrame_v7_3 *videoFrame,
IDeckLinkAudioInputPacket *audioPacket);
END_INTERFACE
} IDeckLinkInputCallback_v7_3Vtbl;
interface IDeckLinkInputCallback_v7_3 {
CONST_VTBL IDeckLinkInputCallback_v7_3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkInputCallback_v7_3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkInputCallback_v7_3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkInputCallback_v7_3_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkInputCallback_v7_3 methods ***/
#define IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) (This)->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags)
#define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) (This)->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_3_QueryInterface(IDeckLinkInputCallback_v7_3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkInputCallback_v7_3_AddRef(IDeckLinkInputCallback_v7_3* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkInputCallback_v7_3_Release(IDeckLinkInputCallback_v7_3* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkInputCallback_v7_3 methods ***/
static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(IDeckLinkInputCallback_v7_3* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode_v7_6 *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) {
return This->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags);
}
static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(IDeckLinkInputCallback_v7_3* This,IDeckLinkVideoInputFrame_v7_3 *videoFrame,IDeckLinkAudioInputPacket *audioPacket) {
return This->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket);
}
#endif
#endif
#endif
#endif /* __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkOutput_v7_3 interface
*/
#ifndef __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
#define __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkOutput_v7_3, 0x271c65e3, 0xc323, 0x4344, 0xa3,0x0f, 0xd9,0x08,0xbc,0xb2,0x0a,0xa3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("271c65e3-c323-4344-a30f-d908bcb20aa3")
IDeckLinkOutput_v7_3 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
IDeckLinkScreenPreviewCallback *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
BMDDisplayMode displayMode,
BMDVideoOutputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
IDeckLinkMemoryAllocator *theAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
BMDPixelFormat pixelFormat,
IDeckLinkVideoFrameAncillary **outBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
IDeckLinkVideoFrame_v7_6 *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
IDeckLinkVideoOutputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
unsigned int *bufferedFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount,
BMDAudioOutputStreamType streamType) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
unsigned int *bufferedSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
IDeckLinkAudioOutputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed) = 0;
virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
BOOL *active) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkOutput_v7_3, 0x271c65e3, 0xc323, 0x4344, 0xa3,0x0f, 0xd9,0x08,0xbc,0xb2,0x0a,0xa3)
#endif
#else
typedef struct IDeckLinkOutput_v7_3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkOutput_v7_3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkOutput_v7_3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkOutput_v7_3 *This);
/*** IDeckLinkOutput_v7_3 methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkOutput_v7_3 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkOutput_v7_3 *This,
IDeckLinkDisplayModeIterator_v7_6 **iterator);
HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)(
IDeckLinkOutput_v7_3 *This,
IDeckLinkScreenPreviewCallback *previewCallback);
HRESULT (STDMETHODCALLTYPE *EnableVideoOutput)(
IDeckLinkOutput_v7_3 *This,
BMDDisplayMode displayMode,
BMDVideoOutputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoOutput)(
IDeckLinkOutput_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator)(
IDeckLinkOutput_v7_3 *This,
IDeckLinkMemoryAllocator *theAllocator);
HRESULT (STDMETHODCALLTYPE *CreateVideoFrame)(
IDeckLinkOutput_v7_3 *This,
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkMutableVideoFrame_v7_6 **outFrame);
HRESULT (STDMETHODCALLTYPE *CreateAncillaryData)(
IDeckLinkOutput_v7_3 *This,
BMDPixelFormat pixelFormat,
IDeckLinkVideoFrameAncillary **outBuffer);
HRESULT (STDMETHODCALLTYPE *DisplayVideoFrameSync)(
IDeckLinkOutput_v7_3 *This,
IDeckLinkVideoFrame_v7_6 *theFrame);
HRESULT (STDMETHODCALLTYPE *ScheduleVideoFrame)(
IDeckLinkOutput_v7_3 *This,
IDeckLinkVideoFrame_v7_6 *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback)(
IDeckLinkOutput_v7_3 *This,
IDeckLinkVideoOutputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *GetBufferedVideoFrameCount)(
IDeckLinkOutput_v7_3 *This,
unsigned int *bufferedFrameCount);
HRESULT (STDMETHODCALLTYPE *EnableAudioOutput)(
IDeckLinkOutput_v7_3 *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount,
BMDAudioOutputStreamType streamType);
HRESULT (STDMETHODCALLTYPE *DisableAudioOutput)(
IDeckLinkOutput_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *WriteAudioSamplesSync)(
IDeckLinkOutput_v7_3 *This,
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *BeginAudioPreroll)(
IDeckLinkOutput_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *EndAudioPreroll)(
IDeckLinkOutput_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *ScheduleAudioSamples)(
IDeckLinkOutput_v7_3 *This,
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount)(
IDeckLinkOutput_v7_3 *This,
unsigned int *bufferedSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *FlushBufferedAudioSamples)(
IDeckLinkOutput_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *SetAudioCallback)(
IDeckLinkOutput_v7_3 *This,
IDeckLinkAudioOutputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *StartScheduledPlayback)(
IDeckLinkOutput_v7_3 *This,
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed);
HRESULT (STDMETHODCALLTYPE *StopScheduledPlayback)(
IDeckLinkOutput_v7_3 *This,
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *IsScheduledPlaybackRunning)(
IDeckLinkOutput_v7_3 *This,
BOOL *active);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkOutput_v7_3 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *elapsedTimeSinceSchedulerBegan);
END_INTERFACE
} IDeckLinkOutput_v7_3Vtbl;
interface IDeckLinkOutput_v7_3 {
CONST_VTBL IDeckLinkOutput_v7_3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkOutput_v7_3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkOutput_v7_3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkOutput_v7_3_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkOutput_v7_3 methods ***/
#define IDeckLinkOutput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) (This)->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result)
#define IDeckLinkOutput_v7_3_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkOutput_v7_3_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback)
#define IDeckLinkOutput_v7_3_EnableVideoOutput(This,displayMode,flags) (This)->lpVtbl->EnableVideoOutput(This,displayMode,flags)
#define IDeckLinkOutput_v7_3_DisableVideoOutput(This) (This)->lpVtbl->DisableVideoOutput(This)
#define IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator)
#define IDeckLinkOutput_v7_3_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) (This)->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame)
#define IDeckLinkOutput_v7_3_CreateAncillaryData(This,pixelFormat,outBuffer) (This)->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer)
#define IDeckLinkOutput_v7_3_DisplayVideoFrameSync(This,theFrame) (This)->lpVtbl->DisplayVideoFrameSync(This,theFrame)
#define IDeckLinkOutput_v7_3_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) (This)->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale)
#define IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(This,theCallback) (This)->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback)
#define IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(This,bufferedFrameCount) (This)->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount)
#define IDeckLinkOutput_v7_3_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) (This)->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType)
#define IDeckLinkOutput_v7_3_DisableAudioOutput(This) (This)->lpVtbl->DisableAudioOutput(This)
#define IDeckLinkOutput_v7_3_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) (This)->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten)
#define IDeckLinkOutput_v7_3_BeginAudioPreroll(This) (This)->lpVtbl->BeginAudioPreroll(This)
#define IDeckLinkOutput_v7_3_EndAudioPreroll(This) (This)->lpVtbl->EndAudioPreroll(This)
#define IDeckLinkOutput_v7_3_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) (This)->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten)
#define IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) (This)->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount)
#define IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(This) (This)->lpVtbl->FlushBufferedAudioSamples(This)
#define IDeckLinkOutput_v7_3_SetAudioCallback(This,theCallback) (This)->lpVtbl->SetAudioCallback(This,theCallback)
#define IDeckLinkOutput_v7_3_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) (This)->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed)
#define IDeckLinkOutput_v7_3_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) (This)->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale)
#define IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(This,active) (This)->lpVtbl->IsScheduledPlaybackRunning(This,active)
#define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_QueryInterface(IDeckLinkOutput_v7_3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkOutput_v7_3_AddRef(IDeckLinkOutput_v7_3* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkOutput_v7_3_Release(IDeckLinkOutput_v7_3* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkOutput_v7_3 methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_DoesSupportVideoMode(IDeckLinkOutput_v7_3* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) {
return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_GetDisplayModeIterator(IDeckLinkOutput_v7_3* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_SetScreenPreviewCallback(IDeckLinkOutput_v7_3* This,IDeckLinkScreenPreviewCallback *previewCallback) {
return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_EnableVideoOutput(IDeckLinkOutput_v7_3* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) {
return This->lpVtbl->EnableVideoOutput(This,displayMode,flags);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_DisableVideoOutput(IDeckLinkOutput_v7_3* This) {
return This->lpVtbl->DisableVideoOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v7_3* This,IDeckLinkMemoryAllocator *theAllocator) {
return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_CreateVideoFrame(IDeckLinkOutput_v7_3* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame_v7_6 **outFrame) {
return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_CreateAncillaryData(IDeckLinkOutput_v7_3* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) {
return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_DisplayVideoFrameSync(IDeckLinkOutput_v7_3* This,IDeckLinkVideoFrame_v7_6 *theFrame) {
return This->lpVtbl->DisplayVideoFrameSync(This,theFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_ScheduleVideoFrame(IDeckLinkOutput_v7_3* This,IDeckLinkVideoFrame_v7_6 *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) {
return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v7_3* This,IDeckLinkVideoOutputCallback *theCallback) {
return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(IDeckLinkOutput_v7_3* This,unsigned int *bufferedFrameCount) {
return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_EnableAudioOutput(IDeckLinkOutput_v7_3* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) {
return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_DisableAudioOutput(IDeckLinkOutput_v7_3* This) {
return This->lpVtbl->DisableAudioOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_WriteAudioSamplesSync(IDeckLinkOutput_v7_3* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) {
return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_BeginAudioPreroll(IDeckLinkOutput_v7_3* This) {
return This->lpVtbl->BeginAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_EndAudioPreroll(IDeckLinkOutput_v7_3* This) {
return This->lpVtbl->EndAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_ScheduleAudioSamples(IDeckLinkOutput_v7_3* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) {
return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v7_3* This,unsigned int *bufferedSampleFrameCount) {
return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(IDeckLinkOutput_v7_3* This) {
return This->lpVtbl->FlushBufferedAudioSamples(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_SetAudioCallback(IDeckLinkOutput_v7_3* This,IDeckLinkAudioOutputCallback *theCallback) {
return This->lpVtbl->SetAudioCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_StartScheduledPlayback(IDeckLinkOutput_v7_3* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) {
return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_StopScheduledPlayback(IDeckLinkOutput_v7_3* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) {
return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(IDeckLinkOutput_v7_3* This,BOOL *active) {
return This->lpVtbl->IsScheduledPlaybackRunning(This,active);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_GetHardwareReferenceClock(IDeckLinkOutput_v7_3* This,BMDTimeScale desiredTimeScale,BMDTimeValue *elapsedTimeSinceSchedulerBegan) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan);
}
#endif
#endif
#endif
#endif /* __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkInput_v7_3 interface
*/
#ifndef __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
#define __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkInput_v7_3, 0x4973f012, 0x9925, 0x458c, 0x87,0x1c, 0x18,0x77,0x4c,0xdb,0xbe,0xcb);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4973f012-9925-458c-871c-18774cdbbecb")
IDeckLinkInput_v7_3 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
IDeckLinkScreenPreviewCallback *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
unsigned int *availableFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
unsigned int *availableSampleFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE StartStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE StopStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PauseStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkInputCallback_v7_3 *theCallback) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkInput_v7_3, 0x4973f012, 0x9925, 0x458c, 0x87,0x1c, 0x18,0x77,0x4c,0xdb,0xbe,0xcb)
#endif
#else
typedef struct IDeckLinkInput_v7_3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkInput_v7_3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkInput_v7_3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkInput_v7_3 *This);
/*** IDeckLinkInput_v7_3 methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkInput_v7_3 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkInput_v7_3 *This,
IDeckLinkDisplayModeIterator_v7_6 **iterator);
HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)(
IDeckLinkInput_v7_3 *This,
IDeckLinkScreenPreviewCallback *previewCallback);
HRESULT (STDMETHODCALLTYPE *EnableVideoInput)(
IDeckLinkInput_v7_3 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoInput)(
IDeckLinkInput_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableVideoFrameCount)(
IDeckLinkInput_v7_3 *This,
unsigned int *availableFrameCount);
HRESULT (STDMETHODCALLTYPE *EnableAudioInput)(
IDeckLinkInput_v7_3 *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount);
HRESULT (STDMETHODCALLTYPE *DisableAudioInput)(
IDeckLinkInput_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount)(
IDeckLinkInput_v7_3 *This,
unsigned int *availableSampleFrameCount);
HRESULT (STDMETHODCALLTYPE *StartStreams)(
IDeckLinkInput_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *StopStreams)(
IDeckLinkInput_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *PauseStreams)(
IDeckLinkInput_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *FlushStreams)(
IDeckLinkInput_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkInput_v7_3 *This,
IDeckLinkInputCallback_v7_3 *theCallback);
END_INTERFACE
} IDeckLinkInput_v7_3Vtbl;
interface IDeckLinkInput_v7_3 {
CONST_VTBL IDeckLinkInput_v7_3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkInput_v7_3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkInput_v7_3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkInput_v7_3_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkInput_v7_3 methods ***/
#define IDeckLinkInput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) (This)->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result)
#define IDeckLinkInput_v7_3_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkInput_v7_3_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback)
#define IDeckLinkInput_v7_3_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags)
#define IDeckLinkInput_v7_3_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This)
#define IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(This,availableFrameCount) (This)->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount)
#define IDeckLinkInput_v7_3_EnableAudioInput(This,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount)
#define IDeckLinkInput_v7_3_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This)
#define IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) (This)->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount)
#define IDeckLinkInput_v7_3_StartStreams(This) (This)->lpVtbl->StartStreams(This)
#define IDeckLinkInput_v7_3_StopStreams(This) (This)->lpVtbl->StopStreams(This)
#define IDeckLinkInput_v7_3_PauseStreams(This) (This)->lpVtbl->PauseStreams(This)
#define IDeckLinkInput_v7_3_FlushStreams(This) (This)->lpVtbl->FlushStreams(This)
#define IDeckLinkInput_v7_3_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_QueryInterface(IDeckLinkInput_v7_3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkInput_v7_3_AddRef(IDeckLinkInput_v7_3* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkInput_v7_3_Release(IDeckLinkInput_v7_3* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkInput_v7_3 methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_DoesSupportVideoMode(IDeckLinkInput_v7_3* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) {
return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_GetDisplayModeIterator(IDeckLinkInput_v7_3* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_SetScreenPreviewCallback(IDeckLinkInput_v7_3* This,IDeckLinkScreenPreviewCallback *previewCallback) {
return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_EnableVideoInput(IDeckLinkInput_v7_3* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) {
return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_DisableVideoInput(IDeckLinkInput_v7_3* This) {
return This->lpVtbl->DisableVideoInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(IDeckLinkInput_v7_3* This,unsigned int *availableFrameCount) {
return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_EnableAudioInput(IDeckLinkInput_v7_3* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) {
return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_DisableAudioInput(IDeckLinkInput_v7_3* This) {
return This->lpVtbl->DisableAudioInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v7_3* This,unsigned int *availableSampleFrameCount) {
return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_StartStreams(IDeckLinkInput_v7_3* This) {
return This->lpVtbl->StartStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_StopStreams(IDeckLinkInput_v7_3* This) {
return This->lpVtbl->StopStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_PauseStreams(IDeckLinkInput_v7_3* This) {
return This->lpVtbl->PauseStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_FlushStreams(IDeckLinkInput_v7_3* This) {
return This->lpVtbl->FlushStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_3_SetCallback(IDeckLinkInput_v7_3* This,IDeckLinkInputCallback_v7_3 *theCallback) {
return This->lpVtbl->SetCallback(This,theCallback);
}
#endif
#endif
#endif
#endif /* __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoInputFrame_v7_3 interface
*/
#ifndef __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
#define __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoInputFrame_v7_3, 0xcf317790, 0x2894, 0x11de, 0x8c,0x30, 0x08,0x00,0x20,0x0c,0x9a,0x66);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cf317790-2894-11de-8c30-0800200c9a66")
IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame_v7_6
{
virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration,
BMDTimeScale timeScale) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoInputFrame_v7_3, 0xcf317790, 0x2894, 0x11de, 0x8c,0x30, 0x08,0x00,0x20,0x0c,0x9a,0x66)
#endif
#else
typedef struct IDeckLinkVideoInputFrame_v7_3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoInputFrame_v7_3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoInputFrame_v7_3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoInputFrame_v7_3 *This);
/*** IDeckLinkVideoFrame_v7_6 methods ***/
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkVideoInputFrame_v7_3 *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkVideoInputFrame_v7_3 *This);
LONG (STDMETHODCALLTYPE *GetRowBytes)(
IDeckLinkVideoInputFrame_v7_3 *This);
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkVideoInputFrame_v7_3 *This);
BMDFrameFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkVideoInputFrame_v7_3 *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkVideoInputFrame_v7_3 *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetTimecode)(
IDeckLinkVideoInputFrame_v7_3 *This,
BMDTimecodeFormat format,
IDeckLinkTimecode_v7_6 **timecode);
HRESULT (STDMETHODCALLTYPE *GetAncillaryData)(
IDeckLinkVideoInputFrame_v7_3 *This,
IDeckLinkVideoFrameAncillary **ancillary);
/*** IDeckLinkVideoInputFrame_v7_3 methods ***/
HRESULT (STDMETHODCALLTYPE *GetStreamTime)(
IDeckLinkVideoInputFrame_v7_3 *This,
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration,
BMDTimeScale timeScale);
END_INTERFACE
} IDeckLinkVideoInputFrame_v7_3Vtbl;
interface IDeckLinkVideoInputFrame_v7_3 {
CONST_VTBL IDeckLinkVideoInputFrame_v7_3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoInputFrame_v7_3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoInputFrame_v7_3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoInputFrame_v7_3_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrame_v7_6 methods ***/
#define IDeckLinkVideoInputFrame_v7_3_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkVideoInputFrame_v7_3_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkVideoInputFrame_v7_3_GetRowBytes(This) (This)->lpVtbl->GetRowBytes(This)
#define IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkVideoInputFrame_v7_3_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#define IDeckLinkVideoInputFrame_v7_3_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkVideoInputFrame_v7_3_GetTimecode(This,format,timecode) (This)->lpVtbl->GetTimecode(This,format,timecode)
#define IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(This,ancillary) (This)->lpVtbl->GetAncillaryData(This,ancillary)
/*** IDeckLinkVideoInputFrame_v7_3 methods ***/
#define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) (This)->lpVtbl->GetStreamTime(This,frameTime,frameDuration,timeScale)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_3_QueryInterface(IDeckLinkVideoInputFrame_v7_3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_3_AddRef(IDeckLinkVideoInputFrame_v7_3* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_3_Release(IDeckLinkVideoInputFrame_v7_3* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrame_v7_6 methods ***/
static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_3_GetWidth(IDeckLinkVideoInputFrame_v7_3* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_3_GetHeight(IDeckLinkVideoInputFrame_v7_3* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_3_GetRowBytes(IDeckLinkVideoInputFrame_v7_3* This) {
return This->lpVtbl->GetRowBytes(This);
}
static FORCEINLINE BMDPixelFormat IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(IDeckLinkVideoInputFrame_v7_3* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE BMDFrameFlags IDeckLinkVideoInputFrame_v7_3_GetFlags(IDeckLinkVideoInputFrame_v7_3* This) {
return This->lpVtbl->GetFlags(This);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_3_GetBytes(IDeckLinkVideoInputFrame_v7_3* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_3_GetTimecode(IDeckLinkVideoInputFrame_v7_3* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) {
return This->lpVtbl->GetTimecode(This,format,timecode);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(IDeckLinkVideoInputFrame_v7_3* This,IDeckLinkVideoFrameAncillary **ancillary) {
return This->lpVtbl->GetAncillaryData(This,ancillary);
}
/*** IDeckLinkVideoInputFrame_v7_3 methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_3_GetStreamTime(IDeckLinkVideoInputFrame_v7_3* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) {
return This->lpVtbl->GetStreamTime(This,frameTime,frameDuration,timeScale);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ */
#ifndef __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
#define __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
typedef interface IDeckLinkDisplayModeIterator_v7_1 IDeckLinkDisplayModeIterator_v7_1;
#ifdef __cplusplus
interface IDeckLinkDisplayModeIterator_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__
#define __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__
typedef interface IDeckLinkDisplayMode_v7_1 IDeckLinkDisplayMode_v7_1;
#ifdef __cplusplus
interface IDeckLinkDisplayMode_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__
#define __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__
typedef interface IDeckLinkVideoFrame_v7_1 IDeckLinkVideoFrame_v7_1;
#ifdef __cplusplus
interface IDeckLinkVideoFrame_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__
#define __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__
typedef interface IDeckLinkVideoInputFrame_v7_1 IDeckLinkVideoInputFrame_v7_1;
#ifdef __cplusplus
interface IDeckLinkVideoInputFrame_v7_1;
#endif /* __cplusplus */
#endif
#ifndef __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__
#define __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__
typedef interface IDeckLinkAudioInputPacket_v7_1 IDeckLinkAudioInputPacket_v7_1;
#ifdef __cplusplus
interface IDeckLinkAudioInputPacket_v7_1;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IDeckLinkDisplayModeIterator_v7_1 interface
*/
#ifndef __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
#define __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDisplayModeIterator_v7_1, 0xb28131b6, 0x59ac, 0x4857, 0xb5,0xac, 0xcd,0x75,0xd5,0x88,0x3e,0x2f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b28131b6-59ac-4857-b5ac-cd75d5883e2f")
IDeckLinkDisplayModeIterator_v7_1 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDisplayModeIterator_v7_1, 0xb28131b6, 0x59ac, 0x4857, 0xb5,0xac, 0xcd,0x75,0xd5,0x88,0x3e,0x2f)
#endif
#else
typedef struct IDeckLinkDisplayModeIterator_v7_1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDisplayModeIterator_v7_1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDisplayModeIterator_v7_1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDisplayModeIterator_v7_1 *This);
/*** IDeckLinkDisplayModeIterator_v7_1 methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IDeckLinkDisplayModeIterator_v7_1 *This,
IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode);
END_INTERFACE
} IDeckLinkDisplayModeIterator_v7_1Vtbl;
interface IDeckLinkDisplayModeIterator_v7_1 {
CONST_VTBL IDeckLinkDisplayModeIterator_v7_1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDisplayModeIterator_v7_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDisplayModeIterator_v7_1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDisplayModeIterator_v7_1_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDisplayModeIterator_v7_1 methods ***/
#define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) (This)->lpVtbl->Next(This,deckLinkDisplayMode)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_v7_1_QueryInterface(IDeckLinkDisplayModeIterator_v7_1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_v7_1_AddRef(IDeckLinkDisplayModeIterator_v7_1* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_v7_1_Release(IDeckLinkDisplayModeIterator_v7_1* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDisplayModeIterator_v7_1 methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_v7_1_Next(IDeckLinkDisplayModeIterator_v7_1* This,IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) {
return This->lpVtbl->Next(This,deckLinkDisplayMode);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkDisplayMode_v7_1 interface
*/
#ifndef __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
#define __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkDisplayMode_v7_1, 0xaf0cd6d5, 0x8376, 0x435e, 0x84,0x33, 0x54,0xf9,0xdd,0x53,0x0a,0xc3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("af0cd6d5-8376-435e-8433-54f9dd530ac3")
IDeckLinkDisplayMode_v7_1 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetName(
BSTR *name) = 0;
virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode(
) = 0;
virtual LONG STDMETHODCALLTYPE GetWidth(
) = 0;
virtual LONG STDMETHODCALLTYPE GetHeight(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
BMDTimeValue *frameDuration,
BMDTimeScale *timeScale) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkDisplayMode_v7_1, 0xaf0cd6d5, 0x8376, 0x435e, 0x84,0x33, 0x54,0xf9,0xdd,0x53,0x0a,0xc3)
#endif
#else
typedef struct IDeckLinkDisplayMode_v7_1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkDisplayMode_v7_1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkDisplayMode_v7_1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkDisplayMode_v7_1 *This);
/*** IDeckLinkDisplayMode_v7_1 methods ***/
HRESULT (STDMETHODCALLTYPE *GetName)(
IDeckLinkDisplayMode_v7_1 *This,
BSTR *name);
BMDDisplayMode (STDMETHODCALLTYPE *GetDisplayMode)(
IDeckLinkDisplayMode_v7_1 *This);
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkDisplayMode_v7_1 *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkDisplayMode_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *GetFrameRate)(
IDeckLinkDisplayMode_v7_1 *This,
BMDTimeValue *frameDuration,
BMDTimeScale *timeScale);
END_INTERFACE
} IDeckLinkDisplayMode_v7_1Vtbl;
interface IDeckLinkDisplayMode_v7_1 {
CONST_VTBL IDeckLinkDisplayMode_v7_1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkDisplayMode_v7_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkDisplayMode_v7_1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkDisplayMode_v7_1_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkDisplayMode_v7_1 methods ***/
#define IDeckLinkDisplayMode_v7_1_GetName(This,name) (This)->lpVtbl->GetName(This,name)
#define IDeckLinkDisplayMode_v7_1_GetDisplayMode(This) (This)->lpVtbl->GetDisplayMode(This)
#define IDeckLinkDisplayMode_v7_1_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkDisplayMode_v7_1_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) (This)->lpVtbl->GetFrameRate(This,frameDuration,timeScale)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_1_QueryInterface(IDeckLinkDisplayMode_v7_1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkDisplayMode_v7_1_AddRef(IDeckLinkDisplayMode_v7_1* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkDisplayMode_v7_1_Release(IDeckLinkDisplayMode_v7_1* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkDisplayMode_v7_1 methods ***/
static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_1_GetName(IDeckLinkDisplayMode_v7_1* This,BSTR *name) {
return This->lpVtbl->GetName(This,name);
}
static FORCEINLINE BMDDisplayMode IDeckLinkDisplayMode_v7_1_GetDisplayMode(IDeckLinkDisplayMode_v7_1* This) {
return This->lpVtbl->GetDisplayMode(This);
}
static FORCEINLINE LONG IDeckLinkDisplayMode_v7_1_GetWidth(IDeckLinkDisplayMode_v7_1* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkDisplayMode_v7_1_GetHeight(IDeckLinkDisplayMode_v7_1* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_1_GetFrameRate(IDeckLinkDisplayMode_v7_1* This,BMDTimeValue *frameDuration,BMDTimeScale *timeScale) {
return This->lpVtbl->GetFrameRate(This,frameDuration,timeScale);
}
#endif
#endif
#endif
#endif /* __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoOutputCallback_v7_1 interface
*/
#ifndef __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
#define __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoOutputCallback_v7_1, 0xebd01afa, 0xe4b0, 0x49c6, 0xa0,0x1d, 0xed,0xb9,0xd1,0xb5,0x5f,0xd9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ebd01afa-e4b0-49c6-a01d-edb9d1b55fd9")
IDeckLinkVideoOutputCallback_v7_1 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
IDeckLinkVideoFrame_v7_1 *completedFrame,
BMDOutputFrameCompletionResult result) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoOutputCallback_v7_1, 0xebd01afa, 0xe4b0, 0x49c6, 0xa0,0x1d, 0xed,0xb9,0xd1,0xb5,0x5f,0xd9)
#endif
#else
typedef struct IDeckLinkVideoOutputCallback_v7_1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoOutputCallback_v7_1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoOutputCallback_v7_1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoOutputCallback_v7_1 *This);
/*** IDeckLinkVideoOutputCallback_v7_1 methods ***/
HRESULT (STDMETHODCALLTYPE *ScheduledFrameCompleted)(
IDeckLinkVideoOutputCallback_v7_1 *This,
IDeckLinkVideoFrame_v7_1 *completedFrame,
BMDOutputFrameCompletionResult result);
END_INTERFACE
} IDeckLinkVideoOutputCallback_v7_1Vtbl;
interface IDeckLinkVideoOutputCallback_v7_1 {
CONST_VTBL IDeckLinkVideoOutputCallback_v7_1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoOutputCallback_v7_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoOutputCallback_v7_1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoOutputCallback_v7_1_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoOutputCallback_v7_1 methods ***/
#define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) (This)->lpVtbl->ScheduledFrameCompleted(This,completedFrame,result)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_v7_1_QueryInterface(IDeckLinkVideoOutputCallback_v7_1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_v7_1_AddRef(IDeckLinkVideoOutputCallback_v7_1* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_v7_1_Release(IDeckLinkVideoOutputCallback_v7_1* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoOutputCallback_v7_1 methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(IDeckLinkVideoOutputCallback_v7_1* This,IDeckLinkVideoFrame_v7_1 *completedFrame,BMDOutputFrameCompletionResult result) {
return This->lpVtbl->ScheduledFrameCompleted(This,completedFrame,result);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkInputCallback_v7_1 interface
*/
#ifndef __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
#define __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkInputCallback_v7_1, 0x7f94f328, 0x5ed4, 0x4e9f, 0x97,0x29, 0x76,0xa8,0x6b,0xdc,0x99,0xcc);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7f94f328-5ed4-4e9f-9729-76a86bdc99cc")
IDeckLinkInputCallback_v7_1 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
IDeckLinkVideoInputFrame_v7_1 *videoFrame,
IDeckLinkAudioInputPacket_v7_1 *audioPacket) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkInputCallback_v7_1, 0x7f94f328, 0x5ed4, 0x4e9f, 0x97,0x29, 0x76,0xa8,0x6b,0xdc,0x99,0xcc)
#endif
#else
typedef struct IDeckLinkInputCallback_v7_1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkInputCallback_v7_1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkInputCallback_v7_1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkInputCallback_v7_1 *This);
/*** IDeckLinkInputCallback_v7_1 methods ***/
HRESULT (STDMETHODCALLTYPE *VideoInputFrameArrived)(
IDeckLinkInputCallback_v7_1 *This,
IDeckLinkVideoInputFrame_v7_1 *videoFrame,
IDeckLinkAudioInputPacket_v7_1 *audioPacket);
END_INTERFACE
} IDeckLinkInputCallback_v7_1Vtbl;
interface IDeckLinkInputCallback_v7_1 {
CONST_VTBL IDeckLinkInputCallback_v7_1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkInputCallback_v7_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkInputCallback_v7_1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkInputCallback_v7_1_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkInputCallback_v7_1 methods ***/
#define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) (This)->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_1_QueryInterface(IDeckLinkInputCallback_v7_1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkInputCallback_v7_1_AddRef(IDeckLinkInputCallback_v7_1* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkInputCallback_v7_1_Release(IDeckLinkInputCallback_v7_1* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkInputCallback_v7_1 methods ***/
static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(IDeckLinkInputCallback_v7_1* This,IDeckLinkVideoInputFrame_v7_1 *videoFrame,IDeckLinkAudioInputPacket_v7_1 *audioPacket) {
return This->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket);
}
#endif
#endif
#endif
#endif /* __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkOutput_v7_1 interface
*/
#ifndef __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
#define __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkOutput_v7_1, 0xae5b3e9b, 0x4e1e, 0x4535, 0xb6,0xe8, 0x48,0x0f,0xf5,0x2f,0x6c,0xe5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ae5b3e9b-4e1e-4535-b6e8-480ff52f6ce5")
IDeckLinkOutput_v7_1 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
BMDDisplayMode displayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
IDeckLinkMemoryAllocator *theAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer(
void *buffer,
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
IDeckLinkVideoFrame_v7_1 *theFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
IDeckLinkVideoFrame_v7_1 *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
IDeckLinkVideoOutputCallback_v7_1 *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
unsigned int *bufferedSampleCount) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
IDeckLinkAudioOutputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed) = 0;
virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkOutput_v7_1, 0xae5b3e9b, 0x4e1e, 0x4535, 0xb6,0xe8, 0x48,0x0f,0xf5,0x2f,0x6c,0xe5)
#endif
#else
typedef struct IDeckLinkOutput_v7_1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkOutput_v7_1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkOutput_v7_1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkOutput_v7_1 *This);
/*** IDeckLinkOutput_v7_1 methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkOutput_v7_1 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkOutput_v7_1 *This,
IDeckLinkDisplayModeIterator_v7_1 **iterator);
HRESULT (STDMETHODCALLTYPE *EnableVideoOutput)(
IDeckLinkOutput_v7_1 *This,
BMDDisplayMode displayMode);
HRESULT (STDMETHODCALLTYPE *DisableVideoOutput)(
IDeckLinkOutput_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator)(
IDeckLinkOutput_v7_1 *This,
IDeckLinkMemoryAllocator *theAllocator);
HRESULT (STDMETHODCALLTYPE *CreateVideoFrame)(
IDeckLinkOutput_v7_1 *This,
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkVideoFrame_v7_1 **outFrame);
HRESULT (STDMETHODCALLTYPE *CreateVideoFrameFromBuffer)(
IDeckLinkOutput_v7_1 *This,
void *buffer,
int width,
int height,
int rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
IDeckLinkVideoFrame_v7_1 **outFrame);
HRESULT (STDMETHODCALLTYPE *DisplayVideoFrameSync)(
IDeckLinkOutput_v7_1 *This,
IDeckLinkVideoFrame_v7_1 *theFrame);
HRESULT (STDMETHODCALLTYPE *ScheduleVideoFrame)(
IDeckLinkOutput_v7_1 *This,
IDeckLinkVideoFrame_v7_1 *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback)(
IDeckLinkOutput_v7_1 *This,
IDeckLinkVideoOutputCallback_v7_1 *theCallback);
HRESULT (STDMETHODCALLTYPE *EnableAudioOutput)(
IDeckLinkOutput_v7_1 *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount);
HRESULT (STDMETHODCALLTYPE *DisableAudioOutput)(
IDeckLinkOutput_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *WriteAudioSamplesSync)(
IDeckLinkOutput_v7_1 *This,
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *BeginAudioPreroll)(
IDeckLinkOutput_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *EndAudioPreroll)(
IDeckLinkOutput_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *ScheduleAudioSamples)(
IDeckLinkOutput_v7_1 *This,
void *buffer,
unsigned int sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
unsigned int *sampleFramesWritten);
HRESULT (STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount)(
IDeckLinkOutput_v7_1 *This,
unsigned int *bufferedSampleCount);
HRESULT (STDMETHODCALLTYPE *FlushBufferedAudioSamples)(
IDeckLinkOutput_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *SetAudioCallback)(
IDeckLinkOutput_v7_1 *This,
IDeckLinkAudioOutputCallback *theCallback);
HRESULT (STDMETHODCALLTYPE *StartScheduledPlayback)(
IDeckLinkOutput_v7_1 *This,
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed);
HRESULT (STDMETHODCALLTYPE *StopScheduledPlayback)(
IDeckLinkOutput_v7_1 *This,
BMDTimeValue stopPlaybackAtTime,
BMDTimeValue *actualStopTime,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)(
IDeckLinkOutput_v7_1 *This,
BMDTimeScale desiredTimeScale,
BMDTimeValue *elapsedTimeSinceSchedulerBegan);
END_INTERFACE
} IDeckLinkOutput_v7_1Vtbl;
interface IDeckLinkOutput_v7_1 {
CONST_VTBL IDeckLinkOutput_v7_1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkOutput_v7_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkOutput_v7_1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkOutput_v7_1_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkOutput_v7_1 methods ***/
#define IDeckLinkOutput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) (This)->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result)
#define IDeckLinkOutput_v7_1_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkOutput_v7_1_EnableVideoOutput(This,displayMode) (This)->lpVtbl->EnableVideoOutput(This,displayMode)
#define IDeckLinkOutput_v7_1_DisableVideoOutput(This) (This)->lpVtbl->DisableVideoOutput(This)
#define IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator)
#define IDeckLinkOutput_v7_1_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) (This)->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame)
#define IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) (This)->lpVtbl->CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame)
#define IDeckLinkOutput_v7_1_DisplayVideoFrameSync(This,theFrame) (This)->lpVtbl->DisplayVideoFrameSync(This,theFrame)
#define IDeckLinkOutput_v7_1_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) (This)->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale)
#define IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(This,theCallback) (This)->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback)
#define IDeckLinkOutput_v7_1_EnableAudioOutput(This,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount)
#define IDeckLinkOutput_v7_1_DisableAudioOutput(This) (This)->lpVtbl->DisableAudioOutput(This)
#define IDeckLinkOutput_v7_1_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) (This)->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten)
#define IDeckLinkOutput_v7_1_BeginAudioPreroll(This) (This)->lpVtbl->BeginAudioPreroll(This)
#define IDeckLinkOutput_v7_1_EndAudioPreroll(This) (This)->lpVtbl->EndAudioPreroll(This)
#define IDeckLinkOutput_v7_1_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) (This)->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten)
#define IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) (This)->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleCount)
#define IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(This) (This)->lpVtbl->FlushBufferedAudioSamples(This)
#define IDeckLinkOutput_v7_1_SetAudioCallback(This,theCallback) (This)->lpVtbl->SetAudioCallback(This,theCallback)
#define IDeckLinkOutput_v7_1_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) (This)->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed)
#define IDeckLinkOutput_v7_1_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) (This)->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale)
#define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_QueryInterface(IDeckLinkOutput_v7_1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkOutput_v7_1_AddRef(IDeckLinkOutput_v7_1* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkOutput_v7_1_Release(IDeckLinkOutput_v7_1* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkOutput_v7_1 methods ***/
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_DoesSupportVideoMode(IDeckLinkOutput_v7_1* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) {
return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_GetDisplayModeIterator(IDeckLinkOutput_v7_1* This,IDeckLinkDisplayModeIterator_v7_1 **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_EnableVideoOutput(IDeckLinkOutput_v7_1* This,BMDDisplayMode displayMode) {
return This->lpVtbl->EnableVideoOutput(This,displayMode);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_DisableVideoOutput(IDeckLinkOutput_v7_1* This) {
return This->lpVtbl->DisableVideoOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v7_1* This,IDeckLinkMemoryAllocator *theAllocator) {
return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_CreateVideoFrame(IDeckLinkOutput_v7_1* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkVideoFrame_v7_1 **outFrame) {
return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(IDeckLinkOutput_v7_1* This,void *buffer,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkVideoFrame_v7_1 **outFrame) {
return This->lpVtbl->CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_DisplayVideoFrameSync(IDeckLinkOutput_v7_1* This,IDeckLinkVideoFrame_v7_1 *theFrame) {
return This->lpVtbl->DisplayVideoFrameSync(This,theFrame);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_ScheduleVideoFrame(IDeckLinkOutput_v7_1* This,IDeckLinkVideoFrame_v7_1 *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) {
return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v7_1* This,IDeckLinkVideoOutputCallback_v7_1 *theCallback) {
return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_EnableAudioOutput(IDeckLinkOutput_v7_1* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) {
return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_DisableAudioOutput(IDeckLinkOutput_v7_1* This) {
return This->lpVtbl->DisableAudioOutput(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_WriteAudioSamplesSync(IDeckLinkOutput_v7_1* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) {
return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_BeginAudioPreroll(IDeckLinkOutput_v7_1* This) {
return This->lpVtbl->BeginAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_EndAudioPreroll(IDeckLinkOutput_v7_1* This) {
return This->lpVtbl->EndAudioPreroll(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_ScheduleAudioSamples(IDeckLinkOutput_v7_1* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) {
return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v7_1* This,unsigned int *bufferedSampleCount) {
return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleCount);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(IDeckLinkOutput_v7_1* This) {
return This->lpVtbl->FlushBufferedAudioSamples(This);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_SetAudioCallback(IDeckLinkOutput_v7_1* This,IDeckLinkAudioOutputCallback *theCallback) {
return This->lpVtbl->SetAudioCallback(This,theCallback);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_StartScheduledPlayback(IDeckLinkOutput_v7_1* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) {
return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_StopScheduledPlayback(IDeckLinkOutput_v7_1* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) {
return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_GetHardwareReferenceClock(IDeckLinkOutput_v7_1* This,BMDTimeScale desiredTimeScale,BMDTimeValue *elapsedTimeSinceSchedulerBegan) {
return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan);
}
#endif
#endif
#endif
#endif /* __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkInput_v7_1 interface
*/
#ifndef __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
#define __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkInput_v7_1, 0x2b54edef, 0x5b32, 0x429f, 0xba,0x11, 0xbb,0x99,0x05,0x96,0xea,0xcd);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2b54edef-5b32-429f-ba11-bb990596eacd")
IDeckLinkInput_v7_1 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioInput(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples(
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesRead,
BMDTimeValue *audioPacketTime,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
unsigned int *bufferedSampleCount) = 0;
virtual HRESULT STDMETHODCALLTYPE StartStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE StopStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PauseStreams(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCallback(
IDeckLinkInputCallback_v7_1 *theCallback) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkInput_v7_1, 0x2b54edef, 0x5b32, 0x429f, 0xba,0x11, 0xbb,0x99,0x05,0x96,0xea,0xcd)
#endif
#else
typedef struct IDeckLinkInput_v7_1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkInput_v7_1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkInput_v7_1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkInput_v7_1 *This);
/*** IDeckLinkInput_v7_1 methods ***/
HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)(
IDeckLinkInput_v7_1 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDDisplayModeSupport_v10_11 *result);
HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)(
IDeckLinkInput_v7_1 *This,
IDeckLinkDisplayModeIterator_v7_1 **iterator);
HRESULT (STDMETHODCALLTYPE *EnableVideoInput)(
IDeckLinkInput_v7_1 *This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags);
HRESULT (STDMETHODCALLTYPE *DisableVideoInput)(
IDeckLinkInput_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *EnableAudioInput)(
IDeckLinkInput_v7_1 *This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned int channelCount);
HRESULT (STDMETHODCALLTYPE *DisableAudioInput)(
IDeckLinkInput_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *ReadAudioSamples)(
IDeckLinkInput_v7_1 *This,
void *buffer,
unsigned int sampleFrameCount,
unsigned int *sampleFramesRead,
BMDTimeValue *audioPacketTime,
BMDTimeScale timeScale);
HRESULT (STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount)(
IDeckLinkInput_v7_1 *This,
unsigned int *bufferedSampleCount);
HRESULT (STDMETHODCALLTYPE *StartStreams)(
IDeckLinkInput_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *StopStreams)(
IDeckLinkInput_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *PauseStreams)(
IDeckLinkInput_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *SetCallback)(
IDeckLinkInput_v7_1 *This,
IDeckLinkInputCallback_v7_1 *theCallback);
END_INTERFACE
} IDeckLinkInput_v7_1Vtbl;
interface IDeckLinkInput_v7_1 {
CONST_VTBL IDeckLinkInput_v7_1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkInput_v7_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkInput_v7_1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkInput_v7_1_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkInput_v7_1 methods ***/
#define IDeckLinkInput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) (This)->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result)
#define IDeckLinkInput_v7_1_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator)
#define IDeckLinkInput_v7_1_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags)
#define IDeckLinkInput_v7_1_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This)
#define IDeckLinkInput_v7_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount)
#define IDeckLinkInput_v7_1_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This)
#define IDeckLinkInput_v7_1_ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) (This)->lpVtbl->ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale)
#define IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) (This)->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleCount)
#define IDeckLinkInput_v7_1_StartStreams(This) (This)->lpVtbl->StartStreams(This)
#define IDeckLinkInput_v7_1_StopStreams(This) (This)->lpVtbl->StopStreams(This)
#define IDeckLinkInput_v7_1_PauseStreams(This) (This)->lpVtbl->PauseStreams(This)
#define IDeckLinkInput_v7_1_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_QueryInterface(IDeckLinkInput_v7_1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkInput_v7_1_AddRef(IDeckLinkInput_v7_1* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkInput_v7_1_Release(IDeckLinkInput_v7_1* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkInput_v7_1 methods ***/
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_DoesSupportVideoMode(IDeckLinkInput_v7_1* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) {
return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_GetDisplayModeIterator(IDeckLinkInput_v7_1* This,IDeckLinkDisplayModeIterator_v7_1 **iterator) {
return This->lpVtbl->GetDisplayModeIterator(This,iterator);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_EnableVideoInput(IDeckLinkInput_v7_1* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) {
return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_DisableVideoInput(IDeckLinkInput_v7_1* This) {
return This->lpVtbl->DisableVideoInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_EnableAudioInput(IDeckLinkInput_v7_1* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) {
return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_DisableAudioInput(IDeckLinkInput_v7_1* This) {
return This->lpVtbl->DisableAudioInput(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_ReadAudioSamples(IDeckLinkInput_v7_1* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesRead,BMDTimeValue *audioPacketTime,BMDTimeScale timeScale) {
return This->lpVtbl->ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(IDeckLinkInput_v7_1* This,unsigned int *bufferedSampleCount) {
return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleCount);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_StartStreams(IDeckLinkInput_v7_1* This) {
return This->lpVtbl->StartStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_StopStreams(IDeckLinkInput_v7_1* This) {
return This->lpVtbl->StopStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_PauseStreams(IDeckLinkInput_v7_1* This) {
return This->lpVtbl->PauseStreams(This);
}
static FORCEINLINE HRESULT IDeckLinkInput_v7_1_SetCallback(IDeckLinkInput_v7_1* This,IDeckLinkInputCallback_v7_1 *theCallback) {
return This->lpVtbl->SetCallback(This,theCallback);
}
#endif
#endif
#endif
#endif /* __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoFrame_v7_1 interface
*/
#ifndef __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
#define __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoFrame_v7_1, 0x333f3a10, 0x8c2d, 0x43cf, 0xb7,0x9d, 0x46,0x56,0x0f,0xee,0xa1,0xce);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("333f3a10-8c2d-43cf-b79d-46560feea1ce")
IDeckLinkVideoFrame_v7_1 : public IUnknown
{
virtual LONG STDMETHODCALLTYPE GetWidth(
) = 0;
virtual LONG STDMETHODCALLTYPE GetHeight(
) = 0;
virtual LONG STDMETHODCALLTYPE GetRowBytes(
) = 0;
virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat(
) = 0;
virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytes(
void **buffer) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoFrame_v7_1, 0x333f3a10, 0x8c2d, 0x43cf, 0xb7,0x9d, 0x46,0x56,0x0f,0xee,0xa1,0xce)
#endif
#else
typedef struct IDeckLinkVideoFrame_v7_1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoFrame_v7_1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoFrame_v7_1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoFrame_v7_1 *This);
/*** IDeckLinkVideoFrame_v7_1 methods ***/
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkVideoFrame_v7_1 *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkVideoFrame_v7_1 *This);
LONG (STDMETHODCALLTYPE *GetRowBytes)(
IDeckLinkVideoFrame_v7_1 *This);
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkVideoFrame_v7_1 *This);
BMDFrameFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkVideoFrame_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkVideoFrame_v7_1 *This,
void **buffer);
END_INTERFACE
} IDeckLinkVideoFrame_v7_1Vtbl;
interface IDeckLinkVideoFrame_v7_1 {
CONST_VTBL IDeckLinkVideoFrame_v7_1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoFrame_v7_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoFrame_v7_1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoFrame_v7_1_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrame_v7_1 methods ***/
#define IDeckLinkVideoFrame_v7_1_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkVideoFrame_v7_1_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkVideoFrame_v7_1_GetRowBytes(This) (This)->lpVtbl->GetRowBytes(This)
#define IDeckLinkVideoFrame_v7_1_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkVideoFrame_v7_1_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_1_QueryInterface(IDeckLinkVideoFrame_v7_1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoFrame_v7_1_AddRef(IDeckLinkVideoFrame_v7_1* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoFrame_v7_1_Release(IDeckLinkVideoFrame_v7_1* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrame_v7_1 methods ***/
static FORCEINLINE LONG IDeckLinkVideoFrame_v7_1_GetWidth(IDeckLinkVideoFrame_v7_1* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkVideoFrame_v7_1_GetHeight(IDeckLinkVideoFrame_v7_1* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE LONG IDeckLinkVideoFrame_v7_1_GetRowBytes(IDeckLinkVideoFrame_v7_1* This) {
return This->lpVtbl->GetRowBytes(This);
}
static FORCEINLINE BMDPixelFormat IDeckLinkVideoFrame_v7_1_GetPixelFormat(IDeckLinkVideoFrame_v7_1* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE BMDFrameFlags IDeckLinkVideoFrame_v7_1_GetFlags(IDeckLinkVideoFrame_v7_1* This) {
return This->lpVtbl->GetFlags(This);
}
static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_1_GetBytes(IDeckLinkVideoFrame_v7_1* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkVideoInputFrame_v7_1 interface
*/
#ifndef __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
#define __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkVideoInputFrame_v7_1, 0xc8b41d95, 0x8848, 0x40ee, 0x9b,0x37, 0x6e,0x34,0x17,0xfb,0x11,0x4b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c8b41d95-8848-40ee-9b37-6e3417fb114b")
IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1
{
virtual HRESULT STDMETHODCALLTYPE GetFrameTime(
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration,
BMDTimeScale timeScale) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkVideoInputFrame_v7_1, 0xc8b41d95, 0x8848, 0x40ee, 0x9b,0x37, 0x6e,0x34,0x17,0xfb,0x11,0x4b)
#endif
#else
typedef struct IDeckLinkVideoInputFrame_v7_1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkVideoInputFrame_v7_1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkVideoInputFrame_v7_1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkVideoInputFrame_v7_1 *This);
/*** IDeckLinkVideoFrame_v7_1 methods ***/
LONG (STDMETHODCALLTYPE *GetWidth)(
IDeckLinkVideoInputFrame_v7_1 *This);
LONG (STDMETHODCALLTYPE *GetHeight)(
IDeckLinkVideoInputFrame_v7_1 *This);
LONG (STDMETHODCALLTYPE *GetRowBytes)(
IDeckLinkVideoInputFrame_v7_1 *This);
BMDPixelFormat (STDMETHODCALLTYPE *GetPixelFormat)(
IDeckLinkVideoInputFrame_v7_1 *This);
BMDFrameFlags (STDMETHODCALLTYPE *GetFlags)(
IDeckLinkVideoInputFrame_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkVideoInputFrame_v7_1 *This,
void **buffer);
/*** IDeckLinkVideoInputFrame_v7_1 methods ***/
HRESULT (STDMETHODCALLTYPE *GetFrameTime)(
IDeckLinkVideoInputFrame_v7_1 *This,
BMDTimeValue *frameTime,
BMDTimeValue *frameDuration,
BMDTimeScale timeScale);
END_INTERFACE
} IDeckLinkVideoInputFrame_v7_1Vtbl;
interface IDeckLinkVideoInputFrame_v7_1 {
CONST_VTBL IDeckLinkVideoInputFrame_v7_1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkVideoInputFrame_v7_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkVideoInputFrame_v7_1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkVideoInputFrame_v7_1_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkVideoFrame_v7_1 methods ***/
#define IDeckLinkVideoInputFrame_v7_1_GetWidth(This) (This)->lpVtbl->GetWidth(This)
#define IDeckLinkVideoInputFrame_v7_1_GetHeight(This) (This)->lpVtbl->GetHeight(This)
#define IDeckLinkVideoInputFrame_v7_1_GetRowBytes(This) (This)->lpVtbl->GetRowBytes(This)
#define IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(This) (This)->lpVtbl->GetPixelFormat(This)
#define IDeckLinkVideoInputFrame_v7_1_GetFlags(This) (This)->lpVtbl->GetFlags(This)
#define IDeckLinkVideoInputFrame_v7_1_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
/*** IDeckLinkVideoInputFrame_v7_1 methods ***/
#define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) (This)->lpVtbl->GetFrameTime(This,frameTime,frameDuration,timeScale)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_1_QueryInterface(IDeckLinkVideoInputFrame_v7_1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_1_AddRef(IDeckLinkVideoInputFrame_v7_1* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_1_Release(IDeckLinkVideoInputFrame_v7_1* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkVideoFrame_v7_1 methods ***/
static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_1_GetWidth(IDeckLinkVideoInputFrame_v7_1* This) {
return This->lpVtbl->GetWidth(This);
}
static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_1_GetHeight(IDeckLinkVideoInputFrame_v7_1* This) {
return This->lpVtbl->GetHeight(This);
}
static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_1_GetRowBytes(IDeckLinkVideoInputFrame_v7_1* This) {
return This->lpVtbl->GetRowBytes(This);
}
static FORCEINLINE BMDPixelFormat IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(IDeckLinkVideoInputFrame_v7_1* This) {
return This->lpVtbl->GetPixelFormat(This);
}
static FORCEINLINE BMDFrameFlags IDeckLinkVideoInputFrame_v7_1_GetFlags(IDeckLinkVideoInputFrame_v7_1* This) {
return This->lpVtbl->GetFlags(This);
}
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_1_GetBytes(IDeckLinkVideoInputFrame_v7_1* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
/*** IDeckLinkVideoInputFrame_v7_1 methods ***/
static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_1_GetFrameTime(IDeckLinkVideoInputFrame_v7_1* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) {
return This->lpVtbl->GetFrameTime(This,frameTime,frameDuration,timeScale);
}
#endif
#endif
#endif
#endif /* __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeckLinkAudioInputPacket_v7_1 interface
*/
#ifndef __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
#define __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeckLinkAudioInputPacket_v7_1, 0xc86de4f6, 0xa29f, 0x42e3, 0xab,0x3a, 0x13,0x63,0xe2,0x9f,0x07,0x88);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c86de4f6-a29f-42e3-ab3a-1363e29f0788")
IDeckLinkAudioInputPacket_v7_1 : public IUnknown
{
virtual LONG STDMETHODCALLTYPE GetSampleCount(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBytes(
void **buffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime(
BMDTimeValue *packetTime,
BMDTimeScale timeScale) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeckLinkAudioInputPacket_v7_1, 0xc86de4f6, 0xa29f, 0x42e3, 0xab,0x3a, 0x13,0x63,0xe2,0x9f,0x07,0x88)
#endif
#else
typedef struct IDeckLinkAudioInputPacket_v7_1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeckLinkAudioInputPacket_v7_1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeckLinkAudioInputPacket_v7_1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeckLinkAudioInputPacket_v7_1 *This);
/*** IDeckLinkAudioInputPacket_v7_1 methods ***/
LONG (STDMETHODCALLTYPE *GetSampleCount)(
IDeckLinkAudioInputPacket_v7_1 *This);
HRESULT (STDMETHODCALLTYPE *GetBytes)(
IDeckLinkAudioInputPacket_v7_1 *This,
void **buffer);
HRESULT (STDMETHODCALLTYPE *GetAudioPacketTime)(
IDeckLinkAudioInputPacket_v7_1 *This,
BMDTimeValue *packetTime,
BMDTimeScale timeScale);
END_INTERFACE
} IDeckLinkAudioInputPacket_v7_1Vtbl;
interface IDeckLinkAudioInputPacket_v7_1 {
CONST_VTBL IDeckLinkAudioInputPacket_v7_1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeckLinkAudioInputPacket_v7_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeckLinkAudioInputPacket_v7_1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeckLinkAudioInputPacket_v7_1_Release(This) (This)->lpVtbl->Release(This)
/*** IDeckLinkAudioInputPacket_v7_1 methods ***/
#define IDeckLinkAudioInputPacket_v7_1_GetSampleCount(This) (This)->lpVtbl->GetSampleCount(This)
#define IDeckLinkAudioInputPacket_v7_1_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer)
#define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) (This)->lpVtbl->GetAudioPacketTime(This,packetTime,timeScale)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_v7_1_QueryInterface(IDeckLinkAudioInputPacket_v7_1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeckLinkAudioInputPacket_v7_1_AddRef(IDeckLinkAudioInputPacket_v7_1* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeckLinkAudioInputPacket_v7_1_Release(IDeckLinkAudioInputPacket_v7_1* This) {
return This->lpVtbl->Release(This);
}
/*** IDeckLinkAudioInputPacket_v7_1 methods ***/
static FORCEINLINE LONG IDeckLinkAudioInputPacket_v7_1_GetSampleCount(IDeckLinkAudioInputPacket_v7_1* This) {
return This->lpVtbl->GetSampleCount(This);
}
static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_v7_1_GetBytes(IDeckLinkAudioInputPacket_v7_1* This,void **buffer) {
return This->lpVtbl->GetBytes(This,buffer);
}
static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(IDeckLinkAudioInputPacket_v7_1* This,BMDTimeValue *packetTime,BMDTimeScale timeScale) {
return This->lpVtbl->GetAudioPacketTime(This,packetTime,timeScale);
}
#endif
#endif
#endif
#endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */
/* Begin additional prototypes for all interfaces */
ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __decklinkapi_h__ */