mirror of
https://github.com/outbackdingo/UltraGrid.git
synced 2026-03-22 01:40:28 +00:00
18990 lines
807 KiB
C++
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__ */
|