From: Axel Menzel Date: Fri, 27 Jan 2017 17:03:33 +0000 (+0200) Subject: decklink: Update Windows SDK to a newer version X-Git-Tag: 1.19.3~507^2~5577 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dcacb99aaffbdad21330bbc479e1eaa2236f0f44;p=platform%2Fupstream%2Fgstreamer.git decklink: Update Windows SDK to a newer version --- diff --git a/sys/decklink/win/DeckLinkAPI.h b/sys/decklink/win/DeckLinkAPI.h index 90d1a28856..f0058202a6 100644 --- a/sys/decklink/win/DeckLinkAPI.h +++ b/sys/decklink/win/DeckLinkAPI.h @@ -3,11 +3,11 @@ /* this ALWAYS GENERATED file contains the definitions for the interfaces */ - /* File created by MIDL compiler version 8.00.0595 */ -/* at Wed Dec 03 06:04:46 2014 + /* File created by MIDL compiler version 8.00.0603 */ +/* at Wed Jan 25 17:42:19 2017 */ -/* Compiler settings for DeckLinkAPI.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.00.0595 +/* Compiler settings for ..\..\..\..\..\..\blackmagic\SDK\Win\include\DeckLinkAPI.idl: + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.00.0603 protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: @@ -32,8 +32,8 @@ #endif // __RPCNDR_H_VERSION__ -#ifndef __DecklinkAPI_h__ -#define __DecklinkAPI_h__ +#ifndef __DeckLinkAPI_h_h__ +#define __DeckLinkAPI_h_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once @@ -76,6 +76,13 @@ typedef interface IDeckLinkConfiguration IDeckLinkConfiguration; #endif /* __IDeckLinkConfiguration_FWD_DEFINED__ */ +#ifndef __IDeckLinkEncoderConfiguration_FWD_DEFINED__ +#define __IDeckLinkEncoderConfiguration_FWD_DEFINED__ +typedef interface IDeckLinkEncoderConfiguration IDeckLinkEncoderConfiguration; + +#endif /* __IDeckLinkEncoderConfiguration_FWD_DEFINED__ */ + + #ifndef __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__ #define __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__ typedef interface IDeckLinkDeckControlStatusCallback IDeckLinkDeckControlStatusCallback; @@ -205,6 +212,13 @@ typedef interface IDeckLinkInputCallback IDeckLinkInputCallback; #endif /* __IDeckLinkInputCallback_FWD_DEFINED__ */ +#ifndef __IDeckLinkEncoderInputCallback_FWD_DEFINED__ +#define __IDeckLinkEncoderInputCallback_FWD_DEFINED__ +typedef interface IDeckLinkEncoderInputCallback IDeckLinkEncoderInputCallback; + +#endif /* __IDeckLinkEncoderInputCallback_FWD_DEFINED__ */ + + #ifndef __IDeckLinkMemoryAllocator_FWD_DEFINED__ #define __IDeckLinkMemoryAllocator_FWD_DEFINED__ typedef interface IDeckLinkMemoryAllocator IDeckLinkMemoryAllocator; @@ -247,6 +261,13 @@ typedef interface IDeckLinkInput IDeckLinkInput; #endif /* __IDeckLinkInput_FWD_DEFINED__ */ +#ifndef __IDeckLinkEncoderInput_FWD_DEFINED__ +#define __IDeckLinkEncoderInput_FWD_DEFINED__ +typedef interface IDeckLinkEncoderInput IDeckLinkEncoderInput; + +#endif /* __IDeckLinkEncoderInput_FWD_DEFINED__ */ + + #ifndef __IDeckLinkVideoFrame_FWD_DEFINED__ #define __IDeckLinkVideoFrame_FWD_DEFINED__ typedef interface IDeckLinkVideoFrame IDeckLinkVideoFrame; @@ -268,6 +289,13 @@ typedef interface IDeckLinkVideoFrame3DExtensions IDeckLinkVideoFrame3DExtension #endif /* __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ */ +#ifndef __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__ +#define __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__ +typedef interface IDeckLinkVideoFrameMetadataExtensions IDeckLinkVideoFrameMetadataExtensions; + +#endif /* __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__ */ + + #ifndef __IDeckLinkVideoInputFrame_FWD_DEFINED__ #define __IDeckLinkVideoInputFrame_FWD_DEFINED__ typedef interface IDeckLinkVideoInputFrame IDeckLinkVideoInputFrame; @@ -282,6 +310,34 @@ typedef interface IDeckLinkVideoFrameAncillary IDeckLinkVideoFrameAncillary; #endif /* __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ */ +#ifndef __IDeckLinkEncoderPacket_FWD_DEFINED__ +#define __IDeckLinkEncoderPacket_FWD_DEFINED__ +typedef interface IDeckLinkEncoderPacket IDeckLinkEncoderPacket; + +#endif /* __IDeckLinkEncoderPacket_FWD_DEFINED__ */ + + +#ifndef __IDeckLinkEncoderVideoPacket_FWD_DEFINED__ +#define __IDeckLinkEncoderVideoPacket_FWD_DEFINED__ +typedef interface IDeckLinkEncoderVideoPacket IDeckLinkEncoderVideoPacket; + +#endif /* __IDeckLinkEncoderVideoPacket_FWD_DEFINED__ */ + + +#ifndef __IDeckLinkEncoderAudioPacket_FWD_DEFINED__ +#define __IDeckLinkEncoderAudioPacket_FWD_DEFINED__ +typedef interface IDeckLinkEncoderAudioPacket IDeckLinkEncoderAudioPacket; + +#endif /* __IDeckLinkEncoderAudioPacket_FWD_DEFINED__ */ + + +#ifndef __IDeckLinkH265NALPacket_FWD_DEFINED__ +#define __IDeckLinkH265NALPacket_FWD_DEFINED__ +typedef interface IDeckLinkH265NALPacket IDeckLinkH265NALPacket; + +#endif /* __IDeckLinkH265NALPacket_FWD_DEFINED__ */ + + #ifndef __IDeckLinkAudioInputPacket_FWD_DEFINED__ #define __IDeckLinkAudioInputPacket_FWD_DEFINED__ typedef interface IDeckLinkAudioInputPacket IDeckLinkAudioInputPacket; @@ -331,6 +387,13 @@ typedef interface IDeckLinkAttributes IDeckLinkAttributes; #endif /* __IDeckLinkAttributes_FWD_DEFINED__ */ +#ifndef __IDeckLinkStatus_FWD_DEFINED__ +#define __IDeckLinkStatus_FWD_DEFINED__ +typedef interface IDeckLinkStatus IDeckLinkStatus; + +#endif /* __IDeckLinkStatus_FWD_DEFINED__ */ + + #ifndef __IDeckLinkKeyer_FWD_DEFINED__ #define __IDeckLinkKeyer_FWD_DEFINED__ typedef interface IDeckLinkKeyer IDeckLinkKeyer; @@ -431,6 +494,20 @@ typedef struct CDeckLinkDiscovery CDeckLinkDiscovery; #endif /* __CDeckLinkDiscovery_FWD_DEFINED__ */ +#ifndef __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ +#define __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ +typedef interface IDeckLinkEncoderConfiguration_v10_5 IDeckLinkEncoderConfiguration_v10_5; + +#endif /* __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ */ + + +#ifndef __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ +#define __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ +typedef interface IDeckLinkConfiguration_v10_4 IDeckLinkConfiguration_v10_4; + +#endif /* __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ */ + + #ifndef __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ #define __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ typedef interface IDeckLinkConfiguration_v10_2 IDeckLinkConfiguration_v10_2; @@ -731,11 +808,11 @@ typedef LONGLONG BMDTimeValue; typedef LONGLONG BMDTimeScale; -typedef unsigned long BMDTimecodeBCD; +typedef unsigned int BMDTimecodeBCD; -typedef unsigned long BMDTimecodeUserBits; +typedef unsigned int BMDTimecodeUserBits; -typedef unsigned long BMDTimecodeFlags; +typedef unsigned int BMDTimecodeFlags; #if 0 typedef enum _BMDTimecodeFlags BMDTimecodeFlags; @@ -745,7 +822,8 @@ enum _BMDTimecodeFlags { bmdTimecodeFlagDefault = 0, bmdTimecodeIsDropFrame = ( 1 << 0 ) , - bmdTimecodeFieldMark = ( 1 << 1 ) + bmdTimecodeFieldMark = ( 1 << 1 ) , + bmdTimecodeColorFrame = ( 1 << 2 ) } ; typedef /* [v1_enum] */ enum _BMDVideoConnection @@ -765,11 +843,20 @@ enum _BMDAudioConnection bmdAudioConnectionAESEBU = ( 1 << 1 ) , bmdAudioConnectionAnalog = ( 1 << 2 ) , bmdAudioConnectionAnalogXLR = ( 1 << 3 ) , - bmdAudioConnectionAnalogRCA = ( 1 << 4 ) + bmdAudioConnectionAnalogRCA = ( 1 << 4 ) , + bmdAudioConnectionMicrophone = ( 1 << 5 ) , + bmdAudioConnectionHeadphones = ( 1 << 6 ) } BMDAudioConnection; +typedef /* [v1_enum] */ +enum _BMDDeckControlConnection + { + bmdDeckControlConnectionRS422Remote1 = ( 1 << 0 ) , + bmdDeckControlConnectionRS422Remote2 = ( 1 << 1 ) + } BMDDeckControlConnection; + -typedef unsigned long BMDDisplayModeFlags; +typedef unsigned int BMDDisplayModeFlags; #if 0 typedef enum _BMDDisplayModeFlags BMDDisplayModeFlags; @@ -837,7 +924,9 @@ enum _BMDPixelFormat bmdFormat12BitRGB = 0x52313242, bmdFormat12BitRGBLE = 0x5231324c, bmdFormat10BitRGBXLE = 0x5231306c, - bmdFormat10BitRGBX = 0x52313062 + bmdFormat10BitRGBX = 0x52313062, + bmdFormatH265 = 0x68657631, + bmdFormatDNxHR = 0x41566468 } BMDPixelFormat; /* [v1_enum] */ @@ -862,13 +951,15 @@ enum _BMDDeckLinkConfigurationID bmdDeckLinkConfigHDMI3DPackingFormat = 0x33647066, bmdDeckLinkConfigBypass = 0x62797073, bmdDeckLinkConfigClockTimingAdjustment = 0x63746164, + bmdDeckLinkConfigDuplexMode = 0x64757078, bmdDeckLinkConfigAnalogAudioConsumerLevels = 0x6161636c, bmdDeckLinkConfigFieldFlickerRemoval = 0x66646672, bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 0x746f3539, bmdDeckLinkConfig444SDIVideoOutput = 0x3434346f, - bmdDeckLinkConfigSingleLinkVideoOutput = 0x73676c6f, bmdDeckLinkConfigBlackVideoOutputDuringCapture = 0x62766f63, bmdDeckLinkConfigLowLatencyVideoOutput = 0x6c6c766f, + bmdDeckLinkConfigDownConversionOnAllAnalogOutput = 0x6361616f, + bmdDeckLinkConfigSMPTELevelAOutput = 0x736d7461, bmdDeckLinkConfigVideoOutputConnection = 0x766f636e, bmdDeckLinkConfigVideoOutputConversionMode = 0x766f636d, bmdDeckLinkConfigAnalogVideoOutputFlags = 0x61766f66, @@ -876,6 +967,7 @@ enum _BMDDeckLinkConfigurationID bmdDeckLinkConfigVideoOutputIdleOperation = 0x766f696f, bmdDeckLinkConfigDefaultVideoOutputMode = 0x64766f6d, bmdDeckLinkConfigDefaultVideoOutputModeFlags = 0x64766f66, + bmdDeckLinkConfigSDIOutputLinkConfiguration = 0x736f6c63, bmdDeckLinkConfigVideoOutputComponentLumaGain = 0x6f636c67, bmdDeckLinkConfigVideoOutputComponentChromaBlueGain = 0x6f636362, bmdDeckLinkConfigVideoOutputComponentChromaRedGain = 0x6f636372, @@ -885,6 +977,7 @@ enum _BMDDeckLinkConfigurationID bmdDeckLinkConfigVideoOutputSVideoChromaGain = 0x6f736367, bmdDeckLinkConfigVideoInputScanning = 0x76697363, bmdDeckLinkConfigUseDedicatedLTCInput = 0x646c7463, + bmdDeckLinkConfigSDIInput3DPayloadOverride = 0x33646473, bmdDeckLinkConfigVideoInputConnection = 0x7669636e, bmdDeckLinkConfigAnalogVideoInputFlags = 0x61766966, bmdDeckLinkConfigVideoInputConversionMode = 0x7669636d, @@ -900,23 +993,46 @@ enum _BMDDeckLinkConfigurationID 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 + bmdDeckLinkConfigDigitalAudioOutputScale = 0x64616f73, + bmdDeckLinkConfigHeadphoneVolume = 0x68766f6c, + bmdDeckLinkConfigDeviceInformationLabel = 0x64696c61, + bmdDeckLinkConfigDeviceInformationSerialNumber = 0x6469736e, + bmdDeckLinkConfigDeviceInformationCompany = 0x6469636f, + bmdDeckLinkConfigDeviceInformationPhone = 0x64697068, + bmdDeckLinkConfigDeviceInformationEmail = 0x6469656d, + bmdDeckLinkConfigDeviceInformationDate = 0x64696461, + bmdDeckLinkConfigDeckControlConnection = 0x6463636f } BMDDeckLinkConfigurationID; +typedef /* [v1_enum] */ +enum _BMDDeckLinkEncoderConfigurationID + { + bmdDeckLinkEncoderConfigPreferredBitDepth = 0x65706272, + bmdDeckLinkEncoderConfigFrameCodingMode = 0x6566636d, + bmdDeckLinkEncoderConfigH265TargetBitrate = 0x68746272, + bmdDeckLinkEncoderConfigDNxHRCompressionID = 0x64636964, + bmdDeckLinkEncoderConfigDNxHRLevel = 0x646c6576, + bmdDeckLinkEncoderConfigMPEG4SampleDescription = 0x73747345, + bmdDeckLinkEncoderConfigMPEG4CodecSpecificDesc = 0x65736473 + } BMDDeckLinkEncoderConfigurationID; + + -typedef unsigned long BMDDeckControlStatusFlags; -typedef unsigned long BMDDeckControlExportModeOpsFlags; +typedef unsigned int BMDDeckControlStatusFlags; +typedef unsigned int BMDDeckControlExportModeOpsFlags; #if 0 typedef enum _BMDDeckControlStatusFlags BMDDeckControlStatusFlags; @@ -1112,13 +1228,13 @@ enum _BMDStreamingEncodingModePropertyID -typedef unsigned long BMDFrameFlags; -typedef unsigned long BMDVideoInputFlags; -typedef unsigned long BMDVideoInputFormatChangedEvents; -typedef unsigned long BMDDetectedVideoInputFormatFlags; -typedef unsigned long BMDDeckLinkCapturePassthroughMode; -typedef unsigned long BMDAnalogVideoFlags; -typedef unsigned long BMDDeviceBusyState; +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; @@ -1145,11 +1261,19 @@ enum _BMDVideoOutputFlags bmdVideoOutputDualStream3D = ( 1 << 4 ) } BMDVideoOutputFlags; +typedef /* [v1_enum] */ +enum _BMDPacketType + { + bmdPacketTypeStreamInterruptedMarker = 0x73696e74, + bmdPacketTypeStreamData = 0x73646174 + } BMDPacketType; + /* [v1_enum] */ enum _BMDFrameFlags { bmdFrameFlagDefault = 0, bmdFrameFlagFlipVertical = ( 1 << 0 ) , + bmdFrameContainsHDRMetadata = ( 1 << 1 ) , bmdFrameHasNoInputSource = ( 1 << 31 ) } ; /* [v1_enum] */ @@ -1176,6 +1300,7 @@ enum _BMDDetectedVideoInputFormatFlags /* [v1_enum] */ enum _BMDDeckLinkCapturePassthroughMode { + bmdDeckLinkCapturePassthroughModeDisabled = 0x70646973, bmdDeckLinkCapturePassthroughModeDirect = 0x70646972, bmdDeckLinkCapturePassthroughModeCleanSwitch = 0x70636c6e } ; @@ -1195,6 +1320,12 @@ enum _BMDReferenceStatus bmdReferenceLocked = ( 1 << 1 ) } BMDReferenceStatus; +typedef /* [v1_enum] */ +enum _BMDAudioFormat + { + bmdAudioFormatPCM = 0x6c70636d + } BMDAudioFormat; + typedef /* [v1_enum] */ enum _BMDAudioSampleRate { @@ -1295,10 +1426,67 @@ typedef /* [v1_enum] */ enum _BMDIdleVideoOutputOperation { bmdIdleVideoOutputBlack = 0x626c6163, - bmdIdleVideoOutputLastFrame = 0x6c616661, - bmdIdleVideoOutputDesktop = 0x6465736b + bmdIdleVideoOutputLastFrame = 0x6c616661 } BMDIdleVideoOutputOperation; +typedef /* [v1_enum] */ +enum _BMDVideoEncoderFrameCodingMode + { + bmdVideoEncoderFrameCodingModeInter = 0x696e7465, + bmdVideoEncoderFrameCodingModeIntra = 0x696e7472 + } BMDVideoEncoderFrameCodingMode; + +typedef /* [v1_enum] */ +enum _BMDDNxHRLevel + { + bmdDNxHRLevelSQ = 0x646e7371, + bmdDNxHRLevelLB = 0x646e6c62, + bmdDNxHRLevelHQ = 0x646e6871, + bmdDNxHRLevelHQX = 0x64687178, + bmdDNxHRLevel444 = 0x64343434 + } BMDDNxHRLevel; + +typedef /* [v1_enum] */ +enum _BMDLinkConfiguration + { + bmdLinkConfigurationSingleLink = 0x6c63736c, + bmdLinkConfigurationDualLink = 0x6c63646c, + bmdLinkConfigurationQuadLink = 0x6c63716c + } BMDLinkConfiguration; + +typedef /* [v1_enum] */ +enum _BMDDeviceInterface + { + bmdDeviceInterfacePCI = 0x70636920, + bmdDeviceInterfaceUSB = 0x75736220, + bmdDeviceInterfaceThunderbolt = 0x7468756e + } BMDDeviceInterface; + +typedef /* [v1_enum] */ +enum _BMDDeckLinkFrameMetadataID + { + bmdDeckLinkFrameMetadataHDRElectroOpticalTransferFunc = 0x656f7466, + bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedX = 0x68647278, + bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedY = 0x68647279, + bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenX = 0x68646778, + bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenY = 0x68646779, + bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueX = 0x68646278, + bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueY = 0x68646279, + bmdDeckLinkFrameMetadataHDRWhitePointX = 0x68647778, + bmdDeckLinkFrameMetadataHDRWhitePointY = 0x68647779, + bmdDeckLinkFrameMetadataHDRMaxDisplayMasteringLuminance = 0x68646d6c, + bmdDeckLinkFrameMetadataHDRMinDisplayMasteringLuminance = 0x686d696c, + bmdDeckLinkFrameMetadataHDRMaximumContentLightLevel = 0x6d636c6c, + bmdDeckLinkFrameMetadataHDRMaximumFrameAverageLightLevel = 0x66616c6c + } BMDDeckLinkFrameMetadataID; + +typedef /* [v1_enum] */ +enum _BMDDuplexMode + { + bmdDuplexModeFull = 0x66647570, + bmdDuplexModeHalf = 0x68647570 + } BMDDuplexMode; + typedef /* [v1_enum] */ enum _BMDDeckLinkAttributeID { @@ -1312,27 +1500,46 @@ enum _BMDDeckLinkAttributeID BMDDeckLinkCanOnlyAdjustOverallVideoOutputGain = 0x6f766f67, BMDDeckLinkHasVideoInputAntiAliasingFilter = 0x6161666c, BMDDeckLinkHasBypass = 0x62797073, - BMDDeckLinkSupportsDesktopDisplay = 0x65787464, BMDDeckLinkSupportsClockTimingAdjustment = 0x63746164, BMDDeckLinkSupportsFullDuplex = 0x66647570, BMDDeckLinkSupportsFullFrameReferenceInputTimingOffset = 0x6672696e, + BMDDeckLinkSupportsSMPTELevelAOutput = 0x6c766c61, + BMDDeckLinkSupportsDualLinkSDI = 0x73646c73, + BMDDeckLinkSupportsQuadLinkSDI = 0x73716c73, + BMDDeckLinkSupportsIdleOutput = 0x69646f75, + BMDDeckLinkHasLTCTimecodeInput = 0x686c7463, + BMDDeckLinkSupportsDuplexModeConfiguration = 0x64757078, + BMDDeckLinkSupportsHDRMetadata = 0x6864726d, BMDDeckLinkMaximumAudioChannels = 0x6d616368, BMDDeckLinkMaximumAnalogAudioChannels = 0x61616368, BMDDeckLinkNumberOfSubDevices = 0x6e736264, BMDDeckLinkSubDeviceIndex = 0x73756269, BMDDeckLinkPersistentID = 0x70656964, + BMDDeckLinkDeviceGroupID = 0x64676964, BMDDeckLinkTopologicalID = 0x746f6964, BMDDeckLinkVideoOutputConnections = 0x766f636e, BMDDeckLinkVideoInputConnections = 0x7669636e, BMDDeckLinkAudioOutputConnections = 0x616f636e, BMDDeckLinkAudioInputConnections = 0x6169636e, - BMDDeckLinkDeviceBusyState = 0x64627374, BMDDeckLinkVideoIOSupport = 0x76696f73, + BMDDeckLinkDeckControlConnections = 0x6463636e, + BMDDeckLinkDeviceInterface = 0x64627573, + BMDDeckLinkAudioInputRCAChannelCount = 0x61697263, + BMDDeckLinkAudioInputXLRChannelCount = 0x61697863, + BMDDeckLinkAudioOutputRCAChannelCount = 0x616f7263, + BMDDeckLinkAudioOutputXLRChannelCount = 0x616f7863, + BMDDeckLinkPairedDevicePersistentID = 0x70706964, BMDDeckLinkVideoInputGainMinimum = 0x7669676d, BMDDeckLinkVideoInputGainMaximum = 0x76696778, BMDDeckLinkVideoOutputGainMinimum = 0x766f676d, BMDDeckLinkVideoOutputGainMaximum = 0x766f6778, - BMDDeckLinkSerialPortDeviceName = 0x736c706e + BMDDeckLinkMicrophoneInputGainMinimum = 0x6d69676d, + BMDDeckLinkMicrophoneInputGainMaximum = 0x6d696778, + BMDDeckLinkSerialPortDeviceName = 0x736c706e, + BMDDeckLinkVendorName = 0x766e6472, + BMDDeckLinkDisplayName = 0x6473706e, + BMDDeckLinkModelName = 0x6d646c6e, + BMDDeckLinkDeviceHandle = 0x64657668 } BMDDeckLinkAttributeID; typedef /* [v1_enum] */ @@ -1341,6 +1548,43 @@ enum _BMDDeckLinkAPIInformationID BMDDeckLinkAPIVersion = 0x76657273 } BMDDeckLinkAPIInformationID; +typedef /* [v1_enum] */ +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, + bmdDeckLinkStatusDuplexMode = 0x64757078, + bmdDeckLinkStatusBusy = 0x62757379, + bmdDeckLinkStatusVideoInputSignalLocked = 0x7669736c, + bmdDeckLinkStatusReferenceSignalLocked = 0x7265666c + } BMDDeckLinkStatusID; + +typedef /* [v1_enum] */ +enum _BMDDeckLinkVideoStatusFlags + { + bmdDeckLinkVideoStatusPsF = ( 1 << 0 ) , + bmdDeckLinkVideoStatusDualStream3D = ( 1 << 1 ) + } BMDDeckLinkVideoStatusFlags; + +typedef /* [v1_enum] */ +enum _BMDDuplexStatus + { + bmdDuplexStatusFullDuplex = 0x66647570, + bmdDuplexStatusHalfDuplex = 0x68647570, + bmdDuplexStatusSimplex = 0x73706c78, + bmdDuplexStatusInactive = 0x696e6163 + } BMDDuplexStatus; + /* [v1_enum] */ enum _BMDDeviceBusyState { @@ -1368,7 +1612,8 @@ enum _BMD3DPreviewFormat typedef /* [v1_enum] */ enum _BMDNotifications { - bmdPreferencesChanged = 0x70726566 + bmdPreferencesChanged = 0x70726566, + bmdStatusChanged = 0x73746174 } BMDNotifications; @@ -1393,6 +1638,40 @@ enum _BMDNotifications + + + + + + + + + + +typedef /* [v1_enum] */ +enum _BMDDeckLinkAttributeID_v10_6 + { + BMDDeckLinkSupportsDesktopDisplay_v10_6 = 0x65787464 + } BMDDeckLinkAttributeID_v10_6; + +typedef /* [v1_enum] */ +enum _BMDIdleVideoOutputOperation_v10_6 + { + bmdIdleVideoOutputDesktop_v10_6 = 0x6465736b + } BMDIdleVideoOutputOperation_v10_6; + +typedef /* [v1_enum] */ +enum _BMDDeckLinkAttributeID_v10_5 + { + BMDDeckLinkDeviceBusyState_v10_5 = 0x64627374 + } BMDDeckLinkAttributeID_v10_5; + + +typedef /* [v1_enum] */ +enum _BMDDeckLinkConfigurationID_v10_4 + { + bmdDeckLinkConfigSingleLinkVideoOutput_v10_4 = 0x73676c6f + } BMDDeckLinkConfigurationID_v10_4; typedef /* [v1_enum] */ @@ -1895,7 +2174,7 @@ EXTERN_C const IID IID_IDeckLinkConfiguration; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("1E69FCF6-4203-4936-8076-2A9F4CFD50CB") + MIDL_INTERFACE("CB71734A-FE37-4E8D-8E13-802133A1C3F2") IDeckLinkConfiguration : public IUnknown { public: @@ -2058,6 +2337,186 @@ EXTERN_C const IID IID_IDeckLinkConfiguration; #endif /* __IDeckLinkConfiguration_INTERFACE_DEFINED__ */ +#ifndef __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__ +#define __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__ + +/* interface IDeckLinkEncoderConfiguration */ +/* [helpstring][local][uuid][object] */ + + +EXTERN_C const IID IID_IDeckLinkEncoderConfiguration; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("138050E5-C60A-4552-BF3F-0F358049327E") + IDeckLinkEncoderConfiguration : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetFlag( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ BOOL value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFlag( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ BOOL *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInt( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ LONGLONG value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInt( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ LONGLONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFloat( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ double value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFloat( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ double *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetString( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetString( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ BSTR *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBytes( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ void *buffer, + /* [out][in] */ unsigned int *bufferSize) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDeckLinkEncoderConfigurationVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeckLinkEncoderConfiguration * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeckLinkEncoderConfiguration * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeckLinkEncoderConfiguration * This); + + HRESULT ( STDMETHODCALLTYPE *SetFlag )( + IDeckLinkEncoderConfiguration * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ BOOL value); + + HRESULT ( STDMETHODCALLTYPE *GetFlag )( + IDeckLinkEncoderConfiguration * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ BOOL *value); + + HRESULT ( STDMETHODCALLTYPE *SetInt )( + IDeckLinkEncoderConfiguration * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ LONGLONG value); + + HRESULT ( STDMETHODCALLTYPE *GetInt )( + IDeckLinkEncoderConfiguration * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ LONGLONG *value); + + HRESULT ( STDMETHODCALLTYPE *SetFloat )( + IDeckLinkEncoderConfiguration * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ double value); + + HRESULT ( STDMETHODCALLTYPE *GetFloat )( + IDeckLinkEncoderConfiguration * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ double *value); + + HRESULT ( STDMETHODCALLTYPE *SetString )( + IDeckLinkEncoderConfiguration * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ BSTR value); + + HRESULT ( STDMETHODCALLTYPE *GetString )( + IDeckLinkEncoderConfiguration * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ BSTR *value); + + HRESULT ( STDMETHODCALLTYPE *GetBytes )( + IDeckLinkEncoderConfiguration * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ void *buffer, + /* [out][in] */ unsigned int *bufferSize); + + END_INTERFACE + } IDeckLinkEncoderConfigurationVtbl; + + interface IDeckLinkEncoderConfiguration + { + CONST_VTBL struct IDeckLinkEncoderConfigurationVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__ */ + + #ifndef __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ #define __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ @@ -2086,7 +2545,7 @@ EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback; virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged( /* [in] */ BMDDeckControlStatusFlags flags, - /* [in] */ unsigned long mask) = 0; + /* [in] */ unsigned int mask) = 0; }; @@ -2126,7 +2585,7 @@ EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback; HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )( IDeckLinkDeckControlStatusCallback * This, /* [in] */ BMDDeckControlStatusFlags flags, - /* [in] */ unsigned long mask); + /* [in] */ unsigned int mask); END_INTERFACE } IDeckLinkDeckControlStatusCallbackVtbl; @@ -2208,10 +2667,10 @@ EXTERN_C const IID IID_IDeckLinkDeckControl; virtual HRESULT STDMETHODCALLTYPE SendCommand( /* [in] */ unsigned char *inBuffer, - /* [in] */ unsigned long inBufferSize, + /* [in] */ unsigned int inBufferSize, /* [out] */ unsigned char *outBuffer, - /* [out] */ unsigned long *outDataSize, - /* [in] */ unsigned long outBufferSize, + /* [out] */ unsigned int *outDataSize, + /* [in] */ unsigned int outBufferSize, /* [out] */ BMDDeckControlError *error) = 0; virtual HRESULT STDMETHODCALLTYPE Play( @@ -2265,25 +2724,25 @@ EXTERN_C const IID IID_IDeckLinkDeckControl; /* [out] */ BMDDeckControlError *error) = 0; virtual HRESULT STDMETHODCALLTYPE SetPreroll( - /* [in] */ unsigned long prerollSeconds) = 0; + /* [in] */ unsigned int prerollSeconds) = 0; virtual HRESULT STDMETHODCALLTYPE GetPreroll( - /* [out] */ unsigned long *prerollSeconds) = 0; + /* [out] */ unsigned int *prerollSeconds) = 0; virtual HRESULT STDMETHODCALLTYPE SetExportOffset( - /* [in] */ long exportOffsetFields) = 0; + /* [in] */ int exportOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE GetExportOffset( - /* [out] */ long *exportOffsetFields) = 0; + /* [out] */ int *exportOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( - /* [out] */ long *deckManualExportOffsetFields) = 0; + /* [out] */ int *deckManualExportOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( - /* [in] */ long captureOffsetFields) = 0; + /* [in] */ int captureOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( - /* [out] */ long *captureOffsetFields) = 0; + /* [out] */ int *captureOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE StartExport( /* [in] */ BMDTimecodeBCD inTimecode, @@ -2357,10 +2816,10 @@ EXTERN_C const IID IID_IDeckLinkDeckControl; HRESULT ( STDMETHODCALLTYPE *SendCommand )( IDeckLinkDeckControl * This, /* [in] */ unsigned char *inBuffer, - /* [in] */ unsigned long inBufferSize, + /* [in] */ unsigned int inBufferSize, /* [out] */ unsigned char *outBuffer, - /* [out] */ unsigned long *outDataSize, - /* [in] */ unsigned long outBufferSize, + /* [out] */ unsigned int *outDataSize, + /* [in] */ unsigned int outBufferSize, /* [out] */ BMDDeckControlError *error); HRESULT ( STDMETHODCALLTYPE *Play )( @@ -2429,31 +2888,31 @@ EXTERN_C const IID IID_IDeckLinkDeckControl; HRESULT ( STDMETHODCALLTYPE *SetPreroll )( IDeckLinkDeckControl * This, - /* [in] */ unsigned long prerollSeconds); + /* [in] */ unsigned int prerollSeconds); HRESULT ( STDMETHODCALLTYPE *GetPreroll )( IDeckLinkDeckControl * This, - /* [out] */ unsigned long *prerollSeconds); + /* [out] */ unsigned int *prerollSeconds); HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( IDeckLinkDeckControl * This, - /* [in] */ long exportOffsetFields); + /* [in] */ int exportOffsetFields); HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( IDeckLinkDeckControl * This, - /* [out] */ long *exportOffsetFields); + /* [out] */ int *exportOffsetFields); HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( IDeckLinkDeckControl * This, - /* [out] */ long *deckManualExportOffsetFields); + /* [out] */ int *deckManualExportOffsetFields); HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( IDeckLinkDeckControl * This, - /* [in] */ long captureOffsetFields); + /* [in] */ int captureOffsetFields); HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( IDeckLinkDeckControl * This, - /* [out] */ long *captureOffsetFields); + /* [out] */ int *captureOffsetFields); HRESULT ( STDMETHODCALLTYPE *StartExport )( IDeckLinkDeckControl * This, @@ -3146,14 +3605,14 @@ EXTERN_C const IID IID_IBMDStreamingMutableVideoEncodingMode; { public: virtual HRESULT STDMETHODCALLTYPE SetSourceRect( - /* [in] */ unsigned long posX, - /* [in] */ unsigned long posY, - /* [in] */ unsigned long width, - /* [in] */ unsigned long height) = 0; + /* [in] */ unsigned int posX, + /* [in] */ unsigned int posY, + /* [in] */ unsigned int width, + /* [in] */ unsigned int height) = 0; virtual HRESULT STDMETHODCALLTYPE SetDestSize( - /* [in] */ unsigned long width, - /* [in] */ unsigned long height) = 0; + /* [in] */ unsigned int width, + /* [in] */ unsigned int height) = 0; virtual HRESULT STDMETHODCALLTYPE SetFlag( /* [in] */ BMDStreamingEncodingModePropertyID cfgID, @@ -3243,15 +3702,15 @@ EXTERN_C const IID IID_IBMDStreamingMutableVideoEncodingMode; HRESULT ( STDMETHODCALLTYPE *SetSourceRect )( IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ unsigned long posX, - /* [in] */ unsigned long posY, - /* [in] */ unsigned long width, - /* [in] */ unsigned long height); + /* [in] */ unsigned int posX, + /* [in] */ unsigned int posY, + /* [in] */ unsigned int width, + /* [in] */ unsigned int height); HRESULT ( STDMETHODCALLTYPE *SetDestSize )( IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ unsigned long width, - /* [in] */ unsigned long height); + /* [in] */ unsigned int width, + /* [in] */ unsigned int height); HRESULT ( STDMETHODCALLTYPE *SetFlag )( IBMDStreamingMutableVideoEncodingMode * This, @@ -3659,7 +4118,7 @@ EXTERN_C const IID IID_IBMDStreamingH264NALPacket; /* [out] */ ULONGLONG *displayTime) = 0; virtual HRESULT STDMETHODCALLTYPE GetPacketIndex( - /* [out] */ unsigned long *packetIndex) = 0; + /* [out] */ unsigned int *packetIndex) = 0; }; @@ -3700,7 +4159,7 @@ EXTERN_C const IID IID_IBMDStreamingH264NALPacket; HRESULT ( STDMETHODCALLTYPE *GetPacketIndex )( IBMDStreamingH264NALPacket * This, - /* [out] */ unsigned long *packetIndex); + /* [out] */ unsigned int *packetIndex); END_INTERFACE } IBMDStreamingH264NALPacketVtbl; @@ -3778,7 +4237,7 @@ EXTERN_C const IID IID_IBMDStreamingAudioPacket; /* [out] */ ULONGLONG *playTime) = 0; virtual HRESULT STDMETHODCALLTYPE GetPacketIndex( - /* [out] */ unsigned long *packetIndex) = 0; + /* [out] */ unsigned int *packetIndex) = 0; }; @@ -3818,7 +4277,7 @@ EXTERN_C const IID IID_IBMDStreamingAudioPacket; HRESULT ( STDMETHODCALLTYPE *GetPacketIndex )( IBMDStreamingAudioPacket * This, - /* [out] */ unsigned long *packetIndex); + /* [out] */ unsigned int *packetIndex); END_INTERFACE } IBMDStreamingAudioPacketVtbl; @@ -3980,9 +4439,9 @@ EXTERN_C const IID IID_IBMDStreamingH264NALParser; virtual HRESULT STDMETHODCALLTYPE GetProfileAndLevelFromSPS( /* [in] */ IBMDStreamingH264NALPacket *nal, - /* [out] */ unsigned long *profileIdc, - /* [out] */ unsigned long *profileCompatability, - /* [out] */ unsigned long *levelIdc) = 0; + /* [out] */ unsigned int *profileIdc, + /* [out] */ unsigned int *profileCompatability, + /* [out] */ unsigned int *levelIdc) = 0; }; @@ -4016,9 +4475,9 @@ EXTERN_C const IID IID_IBMDStreamingH264NALParser; HRESULT ( STDMETHODCALLTYPE *GetProfileAndLevelFromSPS )( IBMDStreamingH264NALParser * This, /* [in] */ IBMDStreamingH264NALPacket *nal, - /* [out] */ unsigned long *profileIdc, - /* [out] */ unsigned long *profileCompatability, - /* [out] */ unsigned long *levelIdc); + /* [out] */ unsigned int *profileIdc, + /* [out] */ unsigned int *profileCompatability, + /* [out] */ unsigned int *levelIdc); END_INTERFACE } IBMDStreamingH264NALParserVtbl; @@ -4265,74 +4724,73 @@ EXTERN_C const IID IID_IDeckLinkInputCallback; #endif /* __IDeckLinkInputCallback_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ -#define __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ +#ifndef __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__ +#define __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__ -/* interface IDeckLinkMemoryAllocator */ -/* [helpstring][local][uuid][object] */ +/* interface IDeckLinkEncoderInputCallback */ +/* [helpstring][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkMemoryAllocator; +EXTERN_C const IID IID_IDeckLinkEncoderInputCallback; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("B36EB6E7-9D29-4AA8-92EF-843B87A289E8") - IDeckLinkMemoryAllocator : public IUnknown + MIDL_INTERFACE("ACF13E61-F4A0-4974-A6A7-59AFF6268B31") + IDeckLinkEncoderInputCallback : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE AllocateBuffer( - /* [in] */ unsigned long bufferSize, - /* [out] */ void **allocatedBuffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( - /* [in] */ void *buffer) = 0; + virtual HRESULT STDMETHODCALLTYPE VideoInputSignalChanged( + /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, + /* [in] */ IDeckLinkDisplayMode *newDisplayMode, + /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0; + virtual HRESULT STDMETHODCALLTYPE VideoPacketArrived( + /* [in] */ IDeckLinkEncoderVideoPacket *videoPacket) = 0; - virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0; + virtual HRESULT STDMETHODCALLTYPE AudioPacketArrived( + /* [in] */ IDeckLinkEncoderAudioPacket *audioPacket) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkMemoryAllocatorVtbl + typedef struct IDeckLinkEncoderInputCallbackVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkMemoryAllocator * This, + IDeckLinkEncoderInputCallback * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkMemoryAllocator * This); + IDeckLinkEncoderInputCallback * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkMemoryAllocator * This); - - HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )( - IDeckLinkMemoryAllocator * This, - /* [in] */ unsigned long bufferSize, - /* [out] */ void **allocatedBuffer); + IDeckLinkEncoderInputCallback * This); - HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( - IDeckLinkMemoryAllocator * This, - /* [in] */ void *buffer); + HRESULT ( STDMETHODCALLTYPE *VideoInputSignalChanged )( + IDeckLinkEncoderInputCallback * This, + /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, + /* [in] */ IDeckLinkDisplayMode *newDisplayMode, + /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); - HRESULT ( STDMETHODCALLTYPE *Commit )( - IDeckLinkMemoryAllocator * This); + HRESULT ( STDMETHODCALLTYPE *VideoPacketArrived )( + IDeckLinkEncoderInputCallback * This, + /* [in] */ IDeckLinkEncoderVideoPacket *videoPacket); - HRESULT ( STDMETHODCALLTYPE *Decommit )( - IDeckLinkMemoryAllocator * This); + HRESULT ( STDMETHODCALLTYPE *AudioPacketArrived )( + IDeckLinkEncoderInputCallback * This, + /* [in] */ IDeckLinkEncoderAudioPacket *audioPacket); END_INTERFACE - } IDeckLinkMemoryAllocatorVtbl; + } IDeckLinkEncoderInputCallbackVtbl; - interface IDeckLinkMemoryAllocator + interface IDeckLinkEncoderInputCallback { - CONST_VTBL struct IDeckLinkMemoryAllocatorVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkEncoderInputCallbackVtbl *lpVtbl; }; @@ -4340,7 +4798,112 @@ EXTERN_C const IID IID_IDeckLinkMemoryAllocator; #ifdef COBJMACROS -#define IDeckLinkMemoryAllocator_QueryInterface(This,riid,ppvObject) \ +#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) ) + + +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__ */ + + +#ifndef __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ +#define __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ + +/* interface IDeckLinkMemoryAllocator */ +/* [helpstring][local][uuid][object] */ + + +EXTERN_C const IID IID_IDeckLinkMemoryAllocator; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("B36EB6E7-9D29-4AA8-92EF-843B87A289E8") + IDeckLinkMemoryAllocator : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AllocateBuffer( + /* [in] */ unsigned int bufferSize, + /* [out] */ void **allocatedBuffer) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( + /* [in] */ void *buffer) = 0; + + virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDeckLinkMemoryAllocatorVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeckLinkMemoryAllocator * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeckLinkMemoryAllocator * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeckLinkMemoryAllocator * This); + + HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )( + IDeckLinkMemoryAllocator * This, + /* [in] */ unsigned int bufferSize, + /* [out] */ void **allocatedBuffer); + + HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( + IDeckLinkMemoryAllocator * This, + /* [in] */ void *buffer); + + HRESULT ( STDMETHODCALLTYPE *Commit )( + IDeckLinkMemoryAllocator * This); + + HRESULT ( STDMETHODCALLTYPE *Decommit )( + IDeckLinkMemoryAllocator * This); + + END_INTERFACE + } IDeckLinkMemoryAllocatorVtbl; + + interface IDeckLinkMemoryAllocator + { + CONST_VTBL struct IDeckLinkMemoryAllocatorVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDeckLinkMemoryAllocator_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IDeckLinkMemoryAllocator_AddRef(This) \ @@ -4689,9 +5252,9 @@ EXTERN_C const IID IID_IDeckLinkOutput; /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( - /* [in] */ long width, - /* [in] */ long height, - /* [in] */ long rowBytes, + /* [in] */ int width, + /* [in] */ int height, + /* [in] */ int rowBytes, /* [in] */ BMDPixelFormat pixelFormat, /* [in] */ BMDFrameFlags flags, /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0; @@ -4713,20 +5276,20 @@ EXTERN_C const IID IID_IDeckLinkOutput; /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( - /* [out] */ unsigned long *bufferedFrameCount) = 0; + /* [out] */ unsigned int *bufferedFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( /* [in] */ BMDAudioSampleRate sampleRate, /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned long channelCount, + /* [in] */ unsigned int channelCount, /* [in] */ BMDAudioOutputStreamType streamType) = 0; virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( /* [in] */ void *buffer, - /* [in] */ unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesWritten) = 0; + /* [in] */ unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesWritten) = 0; virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; @@ -4734,13 +5297,13 @@ EXTERN_C const IID IID_IDeckLinkOutput; virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( /* [in] */ void *buffer, - /* [in] */ unsigned long sampleFrameCount, + /* [in] */ unsigned int sampleFrameCount, /* [in] */ BMDTimeValue streamTime, /* [in] */ BMDTimeScale timeScale, - /* [out] */ unsigned long *sampleFramesWritten) = 0; + /* [out] */ unsigned int *sampleFramesWritten) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned long *bufferedSampleFrameCount) = 0; + /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; @@ -4830,9 +5393,9 @@ EXTERN_C const IID IID_IDeckLinkOutput; HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( IDeckLinkOutput * This, - /* [in] */ long width, - /* [in] */ long height, - /* [in] */ long rowBytes, + /* [in] */ int width, + /* [in] */ int height, + /* [in] */ int rowBytes, /* [in] */ BMDPixelFormat pixelFormat, /* [in] */ BMDFrameFlags flags, /* [out] */ IDeckLinkMutableVideoFrame **outFrame); @@ -4859,13 +5422,13 @@ EXTERN_C const IID IID_IDeckLinkOutput; HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( IDeckLinkOutput * This, - /* [out] */ unsigned long *bufferedFrameCount); + /* [out] */ unsigned int *bufferedFrameCount); HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( IDeckLinkOutput * This, /* [in] */ BMDAudioSampleRate sampleRate, /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned long channelCount, + /* [in] */ unsigned int channelCount, /* [in] */ BMDAudioOutputStreamType streamType); HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( @@ -4874,8 +5437,8 @@ EXTERN_C const IID IID_IDeckLinkOutput; HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( IDeckLinkOutput * This, /* [in] */ void *buffer, - /* [in] */ unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesWritten); + /* [in] */ unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesWritten); HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( IDeckLinkOutput * This); @@ -4886,14 +5449,14 @@ EXTERN_C const IID IID_IDeckLinkOutput; HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( IDeckLinkOutput * This, /* [in] */ void *buffer, - /* [in] */ unsigned long sampleFrameCount, + /* [in] */ unsigned int sampleFrameCount, /* [in] */ BMDTimeValue streamTime, /* [in] */ BMDTimeScale timeScale, - /* [out] */ unsigned long *sampleFramesWritten); + /* [out] */ unsigned int *sampleFramesWritten); HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( IDeckLinkOutput * This, - /* [out] */ unsigned long *bufferedSampleFrameCount); + /* [out] */ unsigned int *bufferedSampleFrameCount); HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( IDeckLinkOutput * This); @@ -5095,7 +5658,7 @@ EXTERN_C const IID IID_IDeckLinkInput; virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( - /* [out] */ unsigned long *availableFrameCount) = 0; + /* [out] */ unsigned int *availableFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE SetVideoInputFrameMemoryAllocator( /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; @@ -5103,12 +5666,12 @@ EXTERN_C const IID IID_IDeckLinkInput; virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( /* [in] */ BMDAudioSampleRate sampleRate, /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned long channelCount) = 0; + /* [in] */ unsigned int channelCount) = 0; virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( - /* [out] */ unsigned long *availableSampleFrameCount) = 0; + /* [out] */ unsigned int *availableSampleFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; @@ -5175,7 +5738,7 @@ EXTERN_C const IID IID_IDeckLinkInput; HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( IDeckLinkInput * This, - /* [out] */ unsigned long *availableFrameCount); + /* [out] */ unsigned int *availableFrameCount); HRESULT ( STDMETHODCALLTYPE *SetVideoInputFrameMemoryAllocator )( IDeckLinkInput * This, @@ -5185,14 +5748,14 @@ EXTERN_C const IID IID_IDeckLinkInput; IDeckLinkInput * This, /* [in] */ BMDAudioSampleRate sampleRate, /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned long channelCount); + /* [in] */ unsigned int channelCount); HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( IDeckLinkInput * This); HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( IDeckLinkInput * This, - /* [out] */ unsigned long *availableSampleFrameCount); + /* [out] */ unsigned int *availableSampleFrameCount); HRESULT ( STDMETHODCALLTYPE *StartStreams )( IDeckLinkInput * This); @@ -5299,96 +5862,165 @@ EXTERN_C const IID IID_IDeckLinkInput; #endif /* __IDeckLinkInput_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkVideoFrame_INTERFACE_DEFINED__ -#define __IDeckLinkVideoFrame_INTERFACE_DEFINED__ +#ifndef __IDeckLinkEncoderInput_INTERFACE_DEFINED__ +#define __IDeckLinkEncoderInput_INTERFACE_DEFINED__ -/* interface IDeckLinkVideoFrame */ -/* [helpstring][local][uuid][object] */ +/* interface IDeckLinkEncoderInput */ +/* [helpstring][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkVideoFrame; +EXTERN_C const IID IID_IDeckLinkEncoderInput; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("3F716FE0-F023-4111-BE5D-EF4414C05B17") - IDeckLinkVideoFrame : public IUnknown + MIDL_INTERFACE("270587DA-6B7D-42E7-A1F0-6D853F581185") + IDeckLinkEncoderInput : public IUnknown { public: - virtual long STDMETHODCALLTYPE GetWidth( void) = 0; + virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( + /* [in] */ BMDDisplayMode displayMode, + /* [in] */ BMDPixelFormat pixelFormat, + /* [in] */ BMDVideoInputFlags flags, + /* [out] */ BMDDisplayModeSupport *result, + /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual long STDMETHODCALLTYPE GetHeight( void) = 0; + virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( + /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; - virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0; + virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( + /* [in] */ BMDDisplayMode displayMode, + /* [in] */ BMDPixelFormat pixelFormat, + /* [in] */ BMDVideoInputFlags flags) = 0; - virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; + virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; - virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0; + virtual HRESULT STDMETHODCALLTYPE GetAvailablePacketsCount( + /* [out] */ unsigned int *availablePacketsCount) = 0; - virtual HRESULT STDMETHODCALLTYPE GetBytes( - /* [out] */ void **buffer) = 0; + virtual HRESULT STDMETHODCALLTYPE SetMemoryAllocator( + /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT STDMETHODCALLTYPE GetTimecode( - /* [in] */ BMDTimecodeFormat format, - /* [out] */ IDeckLinkTimecode **timecode) = 0; + virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( + /* [in] */ BMDAudioFormat audioFormat, + /* [in] */ BMDAudioSampleRate sampleRate, + /* [in] */ BMDAudioSampleType sampleType, + /* [in] */ unsigned int channelCount) = 0; - virtual HRESULT STDMETHODCALLTYPE GetAncillaryData( - /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0; + virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( + /* [out] */ unsigned int *availableSampleFrameCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCallback( + /* [in] */ IDeckLinkEncoderInputCallback *theCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( + /* [in] */ BMDTimeScale desiredTimeScale, + /* [out] */ BMDTimeValue *hardwareTime, + /* [out] */ BMDTimeValue *timeInFrame, + /* [out] */ BMDTimeValue *ticksPerFrame) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkVideoFrameVtbl + typedef struct IDeckLinkEncoderInputVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoFrame * This, + IDeckLinkEncoderInput * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoFrame * This); + IDeckLinkEncoderInput * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoFrame * This); + IDeckLinkEncoderInput * This); - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkVideoFrame * This); + HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( + IDeckLinkEncoderInput * This, + /* [in] */ BMDDisplayMode displayMode, + /* [in] */ BMDPixelFormat pixelFormat, + /* [in] */ BMDVideoInputFlags flags, + /* [out] */ BMDDisplayModeSupport *result, + /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkVideoFrame * This); + HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( + IDeckLinkEncoderInput * This, + /* [out] */ IDeckLinkDisplayModeIterator **iterator); - long ( STDMETHODCALLTYPE *GetRowBytes )( - IDeckLinkVideoFrame * This); + HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( + IDeckLinkEncoderInput * This, + /* [in] */ BMDDisplayMode displayMode, + /* [in] */ BMDPixelFormat pixelFormat, + /* [in] */ BMDVideoInputFlags flags); - BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( - IDeckLinkVideoFrame * This); + HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( + IDeckLinkEncoderInput * This); - BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkVideoFrame * This); + HRESULT ( STDMETHODCALLTYPE *GetAvailablePacketsCount )( + IDeckLinkEncoderInput * This, + /* [out] */ unsigned int *availablePacketsCount); - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkVideoFrame * This, - /* [out] */ void **buffer); + HRESULT ( STDMETHODCALLTYPE *SetMemoryAllocator )( + IDeckLinkEncoderInput * This, + /* [in] */ IDeckLinkMemoryAllocator *theAllocator); - HRESULT ( STDMETHODCALLTYPE *GetTimecode )( - IDeckLinkVideoFrame * This, - /* [in] */ BMDTimecodeFormat format, - /* [out] */ IDeckLinkTimecode **timecode); + HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( + IDeckLinkEncoderInput * This, + /* [in] */ BMDAudioFormat audioFormat, + /* [in] */ BMDAudioSampleRate sampleRate, + /* [in] */ BMDAudioSampleType sampleType, + /* [in] */ unsigned int channelCount); - HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( - IDeckLinkVideoFrame * This, - /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); + HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( + IDeckLinkEncoderInput * This); + + HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( + IDeckLinkEncoderInput * This, + /* [out] */ 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, + /* [in] */ IDeckLinkEncoderInputCallback *theCallback); + + HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( + IDeckLinkEncoderInput * This, + /* [in] */ BMDTimeScale desiredTimeScale, + /* [out] */ BMDTimeValue *hardwareTime, + /* [out] */ BMDTimeValue *timeInFrame, + /* [out] */ BMDTimeValue *ticksPerFrame); END_INTERFACE - } IDeckLinkVideoFrameVtbl; + } IDeckLinkEncoderInputVtbl; - interface IDeckLinkVideoFrame + interface IDeckLinkEncoderInput { - CONST_VTBL struct IDeckLinkVideoFrameVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkEncoderInputVtbl *lpVtbl; }; @@ -5396,62 +6028,225 @@ EXTERN_C const IID IID_IDeckLinkVideoFrame; #ifdef COBJMACROS -#define IDeckLinkVideoFrame_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkEncoderInput_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkVideoFrame_AddRef(This) \ +#define IDeckLinkEncoderInput_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkVideoFrame_Release(This) \ +#define IDeckLinkEncoderInput_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkVideoFrame_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) +#define IDeckLinkEncoderInput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ + ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) -#define IDeckLinkVideoFrame_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) +#define IDeckLinkEncoderInput_GetDisplayModeIterator(This,iterator) \ + ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) -#define IDeckLinkVideoFrame_GetRowBytes(This) \ - ( (This)->lpVtbl -> GetRowBytes(This) ) +#define IDeckLinkEncoderInput_EnableVideoInput(This,displayMode,pixelFormat,flags) \ + ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) -#define IDeckLinkVideoFrame_GetPixelFormat(This) \ - ( (This)->lpVtbl -> GetPixelFormat(This) ) +#define IDeckLinkEncoderInput_DisableVideoInput(This) \ + ( (This)->lpVtbl -> DisableVideoInput(This) ) -#define IDeckLinkVideoFrame_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) +#define IDeckLinkEncoderInput_GetAvailablePacketsCount(This,availablePacketsCount) \ + ( (This)->lpVtbl -> GetAvailablePacketsCount(This,availablePacketsCount) ) -#define IDeckLinkVideoFrame_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) +#define IDeckLinkEncoderInput_SetMemoryAllocator(This,theAllocator) \ + ( (This)->lpVtbl -> SetMemoryAllocator(This,theAllocator) ) -#define IDeckLinkVideoFrame_GetTimecode(This,format,timecode) \ - ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) +#define IDeckLinkEncoderInput_EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount) \ + ( (This)->lpVtbl -> EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount) ) -#define IDeckLinkVideoFrame_GetAncillaryData(This,ancillary) \ - ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) +#define IDeckLinkEncoderInput_DisableAudioInput(This) \ + ( (This)->lpVtbl -> DisableAudioInput(This) ) -#endif /* COBJMACROS */ +#define IDeckLinkEncoderInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ + ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) +#define IDeckLinkEncoderInput_StartStreams(This) \ + ( (This)->lpVtbl -> StartStreams(This) ) -#endif /* C style interface */ +#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) ) -#endif /* __IDeckLinkVideoFrame_INTERFACE_DEFINED__ */ +#define IDeckLinkEncoderInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ + ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) +#endif /* COBJMACROS */ -#ifndef __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ -#define __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ -/* interface IDeckLinkMutableVideoFrame */ -/* [helpstring][local][uuid][object] */ +#endif /* C style interface */ -EXTERN_C const IID IID_IDeckLinkMutableVideoFrame; -#if defined(__cplusplus) && !defined(CINTERFACE) - + +#endif /* __IDeckLinkEncoderInput_INTERFACE_DEFINED__ */ + + +#ifndef __IDeckLinkVideoFrame_INTERFACE_DEFINED__ +#define __IDeckLinkVideoFrame_INTERFACE_DEFINED__ + +/* interface IDeckLinkVideoFrame */ +/* [helpstring][local][uuid][object] */ + + +EXTERN_C const IID IID_IDeckLinkVideoFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3F716FE0-F023-4111-BE5D-EF4414C05B17") + IDeckLinkVideoFrame : public IUnknown + { + public: + virtual long STDMETHODCALLTYPE GetWidth( void) = 0; + + virtual long STDMETHODCALLTYPE GetHeight( void) = 0; + + virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0; + + virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; + + virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBytes( + /* [out] */ void **buffer) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTimecode( + /* [in] */ BMDTimecodeFormat format, + /* [out] */ IDeckLinkTimecode **timecode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAncillaryData( + /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDeckLinkVideoFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeckLinkVideoFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeckLinkVideoFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeckLinkVideoFrame * This); + + 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, + /* [out] */ void **buffer); + + HRESULT ( STDMETHODCALLTYPE *GetTimecode )( + IDeckLinkVideoFrame * This, + /* [in] */ BMDTimecodeFormat format, + /* [out] */ IDeckLinkTimecode **timecode); + + HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( + IDeckLinkVideoFrame * This, + /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); + + END_INTERFACE + } IDeckLinkVideoFrameVtbl; + + interface IDeckLinkVideoFrame + { + CONST_VTBL struct IDeckLinkVideoFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeckLinkVideoFrame_INTERFACE_DEFINED__ */ + + +#ifndef __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ +#define __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ + +/* interface IDeckLinkMutableVideoFrame */ +/* [helpstring][local][uuid][object] */ + + +EXTERN_C const IID IID_IDeckLinkMutableVideoFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + MIDL_INTERFACE("69E2639F-40DA-4E19-B6F2-20ACE815C390") IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame { @@ -5716,6 +6511,124 @@ EXTERN_C const IID IID_IDeckLinkVideoFrame3DExtensions; #endif /* __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ */ +#ifndef __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__ +#define __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__ + +/* interface IDeckLinkVideoFrameMetadataExtensions */ +/* [helpstring][local][uuid][object] */ + + +EXTERN_C const IID IID_IDeckLinkVideoFrameMetadataExtensions; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D5973DC9-6432-46D0-8F0B-2496F8A1238F") + IDeckLinkVideoFrameMetadataExtensions : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE GetInt( + /* [in] */ BMDDeckLinkFrameMetadataID metadataID, + /* [out] */ LONGLONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFloat( + /* [in] */ BMDDeckLinkFrameMetadataID metadataID, + /* [out] */ double *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFlag( + /* [in] */ BMDDeckLinkFrameMetadataID metadataID, + /* [out] */ BOOL *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetString( + /* [in] */ BMDDeckLinkFrameMetadataID metadataID, + /* [out] */ BSTR *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDeckLinkVideoFrameMetadataExtensionsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeckLinkVideoFrameMetadataExtensions * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeckLinkVideoFrameMetadataExtensions * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeckLinkVideoFrameMetadataExtensions * This); + + HRESULT ( STDMETHODCALLTYPE *GetInt )( + IDeckLinkVideoFrameMetadataExtensions * This, + /* [in] */ BMDDeckLinkFrameMetadataID metadataID, + /* [out] */ LONGLONG *value); + + HRESULT ( STDMETHODCALLTYPE *GetFloat )( + IDeckLinkVideoFrameMetadataExtensions * This, + /* [in] */ BMDDeckLinkFrameMetadataID metadataID, + /* [out] */ double *value); + + HRESULT ( STDMETHODCALLTYPE *GetFlag )( + IDeckLinkVideoFrameMetadataExtensions * This, + /* [in] */ BMDDeckLinkFrameMetadataID metadataID, + /* [out] */ BOOL *value); + + HRESULT ( STDMETHODCALLTYPE *GetString )( + IDeckLinkVideoFrameMetadataExtensions * This, + /* [in] */ BMDDeckLinkFrameMetadataID metadataID, + /* [out] */ BSTR *value); + + END_INTERFACE + } IDeckLinkVideoFrameMetadataExtensionsVtbl; + + interface IDeckLinkVideoFrameMetadataExtensions + { + CONST_VTBL struct IDeckLinkVideoFrameMetadataExtensionsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__ */ + + #ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ #define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ @@ -5883,7 +6796,7 @@ EXTERN_C const IID IID_IDeckLinkVideoFrameAncillary; { public: virtual HRESULT STDMETHODCALLTYPE GetBufferForVerticalBlankingLine( - /* [in] */ unsigned long lineNumber, + /* [in] */ unsigned int lineNumber, /* [out] */ void **buffer) = 0; virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; @@ -5913,7 +6826,7 @@ EXTERN_C const IID IID_IDeckLinkVideoFrameAncillary; HRESULT ( STDMETHODCALLTYPE *GetBufferForVerticalBlankingLine )( IDeckLinkVideoFrameAncillary * This, - /* [in] */ unsigned long lineNumber, + /* [in] */ unsigned int lineNumber, /* [out] */ void **buffer); BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( @@ -5965,69 +6878,74 @@ EXTERN_C const IID IID_IDeckLinkVideoFrameAncillary; #endif /* __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ -#define __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ +#ifndef __IDeckLinkEncoderPacket_INTERFACE_DEFINED__ +#define __IDeckLinkEncoderPacket_INTERFACE_DEFINED__ -/* interface IDeckLinkAudioInputPacket */ +/* interface IDeckLinkEncoderPacket */ /* [helpstring][local][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkAudioInputPacket; +EXTERN_C const IID IID_IDeckLinkEncoderPacket; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("E43D5870-2894-11DE-8C30-0800200C9A66") - IDeckLinkAudioInputPacket : public IUnknown + MIDL_INTERFACE("B693F36C-316E-4AF1-B6C2-F389A4BCA620") + IDeckLinkEncoderPacket : public IUnknown { public: - virtual long STDMETHODCALLTYPE GetSampleFrameCount( void) = 0; - virtual HRESULT STDMETHODCALLTYPE GetBytes( /* [out] */ void **buffer) = 0; - virtual HRESULT STDMETHODCALLTYPE GetPacketTime( - /* [out] */ BMDTimeValue *packetTime, + virtual long STDMETHODCALLTYPE GetSize( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamTime( + /* [out] */ BMDTimeValue *frameTime, /* [in] */ BMDTimeScale timeScale) = 0; + virtual BMDPacketType STDMETHODCALLTYPE GetPacketType( void) = 0; + }; #else /* C style interface */ - typedef struct IDeckLinkAudioInputPacketVtbl + typedef struct IDeckLinkEncoderPacketVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkAudioInputPacket * This, + IDeckLinkEncoderPacket * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkAudioInputPacket * This); + IDeckLinkEncoderPacket * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkAudioInputPacket * This); - - long ( STDMETHODCALLTYPE *GetSampleFrameCount )( - IDeckLinkAudioInputPacket * This); + IDeckLinkEncoderPacket * This); HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkAudioInputPacket * This, + IDeckLinkEncoderPacket * This, /* [out] */ void **buffer); - HRESULT ( STDMETHODCALLTYPE *GetPacketTime )( - IDeckLinkAudioInputPacket * This, - /* [out] */ BMDTimeValue *packetTime, + long ( STDMETHODCALLTYPE *GetSize )( + IDeckLinkEncoderPacket * This); + + HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( + IDeckLinkEncoderPacket * This, + /* [out] */ BMDTimeValue *frameTime, /* [in] */ BMDTimeScale timeScale); + BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( + IDeckLinkEncoderPacket * This); + END_INTERFACE - } IDeckLinkAudioInputPacketVtbl; + } IDeckLinkEncoderPacketVtbl; - interface IDeckLinkAudioInputPacket + interface IDeckLinkEncoderPacket { - CONST_VTBL struct IDeckLinkAudioInputPacketVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkEncoderPacketVtbl *lpVtbl; }; @@ -6035,24 +6953,27 @@ EXTERN_C const IID IID_IDeckLinkAudioInputPacket; #ifdef COBJMACROS -#define IDeckLinkAudioInputPacket_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkEncoderPacket_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkAudioInputPacket_AddRef(This) \ +#define IDeckLinkEncoderPacket_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkAudioInputPacket_Release(This) \ +#define IDeckLinkEncoderPacket_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkAudioInputPacket_GetSampleFrameCount(This) \ - ( (This)->lpVtbl -> GetSampleFrameCount(This) ) - -#define IDeckLinkAudioInputPacket_GetBytes(This,buffer) \ +#define IDeckLinkEncoderPacket_GetBytes(This,buffer) \ ( (This)->lpVtbl -> GetBytes(This,buffer) ) -#define IDeckLinkAudioInputPacket_GetPacketTime(This,packetTime,timeScale) \ - ( (This)->lpVtbl -> GetPacketTime(This,packetTime,timeScale) ) +#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) ) #endif /* COBJMACROS */ @@ -6062,58 +6983,91 @@ EXTERN_C const IID IID_IDeckLinkAudioInputPacket; -#endif /* __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkEncoderPacket_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ -#define __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ +#ifndef __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__ +#define __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__ -/* interface IDeckLinkScreenPreviewCallback */ +/* interface IDeckLinkEncoderVideoPacket */ /* [helpstring][local][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback; +EXTERN_C const IID IID_IDeckLinkEncoderVideoPacket; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438") - IDeckLinkScreenPreviewCallback : public IUnknown + MIDL_INTERFACE("4E7FD944-E8C7-4EAC-B8C0-7B77F80F5AE0") + IDeckLinkEncoderVideoPacket : public IDeckLinkEncoderPacket { public: - virtual HRESULT STDMETHODCALLTYPE DrawFrame( - /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; + virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp( + /* [in] */ BMDTimeScale timeScale, + /* [out] */ BMDTimeValue *frameTime, + /* [out] */ BMDTimeValue *frameDuration) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTimecode( + /* [in] */ BMDTimecodeFormat format, + /* [out] */ IDeckLinkTimecode **timecode) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkScreenPreviewCallbackVtbl + typedef struct IDeckLinkEncoderVideoPacketVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkScreenPreviewCallback * This, + IDeckLinkEncoderVideoPacket * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkScreenPreviewCallback * This); + IDeckLinkEncoderVideoPacket * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkScreenPreviewCallback * This); + IDeckLinkEncoderVideoPacket * This); - HRESULT ( STDMETHODCALLTYPE *DrawFrame )( - IDeckLinkScreenPreviewCallback * This, - /* [in] */ IDeckLinkVideoFrame *theFrame); + HRESULT ( STDMETHODCALLTYPE *GetBytes )( + IDeckLinkEncoderVideoPacket * This, + /* [out] */ void **buffer); + + long ( STDMETHODCALLTYPE *GetSize )( + IDeckLinkEncoderVideoPacket * This); + + HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( + IDeckLinkEncoderVideoPacket * This, + /* [out] */ BMDTimeValue *frameTime, + /* [in] */ BMDTimeScale timeScale); + + BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( + IDeckLinkEncoderVideoPacket * This); + + BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( + IDeckLinkEncoderVideoPacket * This); + + HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( + IDeckLinkEncoderVideoPacket * This, + /* [in] */ BMDTimeScale timeScale, + /* [out] */ BMDTimeValue *frameTime, + /* [out] */ BMDTimeValue *frameDuration); + + HRESULT ( STDMETHODCALLTYPE *GetTimecode )( + IDeckLinkEncoderVideoPacket * This, + /* [in] */ BMDTimecodeFormat format, + /* [out] */ IDeckLinkTimecode **timecode); END_INTERFACE - } IDeckLinkScreenPreviewCallbackVtbl; + } IDeckLinkEncoderVideoPacketVtbl; - interface IDeckLinkScreenPreviewCallback + interface IDeckLinkEncoderVideoPacket { - CONST_VTBL struct IDeckLinkScreenPreviewCallbackVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkEncoderVideoPacketVtbl *lpVtbl; }; @@ -6121,18 +7075,37 @@ EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback; #ifdef COBJMACROS -#define IDeckLinkScreenPreviewCallback_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkEncoderVideoPacket_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkScreenPreviewCallback_AddRef(This) \ +#define IDeckLinkEncoderVideoPacket_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkScreenPreviewCallback_Release(This) \ +#define IDeckLinkEncoderVideoPacket_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) \ - ( (This)->lpVtbl -> DrawFrame(This,theFrame) ) +#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) ) + + +#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) ) #endif /* COBJMACROS */ @@ -6142,75 +7115,71 @@ EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback; -#endif /* __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ -#define __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ +#ifndef __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__ +#define __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__ -/* interface IDeckLinkGLScreenPreviewHelper */ +/* interface IDeckLinkEncoderAudioPacket */ /* [helpstring][local][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper; +EXTERN_C const IID IID_IDeckLinkEncoderAudioPacket; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("504E2209-CAC7-4C1A-9FB4-C5BB6274D22F") - IDeckLinkGLScreenPreviewHelper : public IUnknown + MIDL_INTERFACE("49E8EDC8-693B-4E14-8EF6-12C658F5A07A") + IDeckLinkEncoderAudioPacket : public IDeckLinkEncoderPacket { public: - virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFrame( - /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( - /* [in] */ BMD3DPreviewFormat previewFormat) = 0; + virtual BMDAudioFormat STDMETHODCALLTYPE GetAudioFormat( void) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkGLScreenPreviewHelperVtbl + typedef struct IDeckLinkEncoderAudioPacketVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkGLScreenPreviewHelper * This, + IDeckLinkEncoderAudioPacket * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkGLScreenPreviewHelper * This); + IDeckLinkEncoderAudioPacket * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkGLScreenPreviewHelper * This); + IDeckLinkEncoderAudioPacket * This); - HRESULT ( STDMETHODCALLTYPE *InitializeGL )( - IDeckLinkGLScreenPreviewHelper * This); + HRESULT ( STDMETHODCALLTYPE *GetBytes )( + IDeckLinkEncoderAudioPacket * This, + /* [out] */ void **buffer); - HRESULT ( STDMETHODCALLTYPE *PaintGL )( - IDeckLinkGLScreenPreviewHelper * This); + long ( STDMETHODCALLTYPE *GetSize )( + IDeckLinkEncoderAudioPacket * This); - HRESULT ( STDMETHODCALLTYPE *SetFrame )( - IDeckLinkGLScreenPreviewHelper * This, - /* [in] */ IDeckLinkVideoFrame *theFrame); + HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( + IDeckLinkEncoderAudioPacket * This, + /* [out] */ BMDTimeValue *frameTime, + /* [in] */ BMDTimeScale timeScale); - HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )( - IDeckLinkGLScreenPreviewHelper * This, - /* [in] */ BMD3DPreviewFormat previewFormat); + BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( + IDeckLinkEncoderAudioPacket * This); + + BMDAudioFormat ( STDMETHODCALLTYPE *GetAudioFormat )( + IDeckLinkEncoderAudioPacket * This); END_INTERFACE - } IDeckLinkGLScreenPreviewHelperVtbl; + } IDeckLinkEncoderAudioPacketVtbl; - interface IDeckLinkGLScreenPreviewHelper + interface IDeckLinkEncoderAudioPacket { - CONST_VTBL struct IDeckLinkGLScreenPreviewHelperVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkEncoderAudioPacketVtbl *lpVtbl; }; @@ -6218,27 +7187,31 @@ EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper; #ifdef COBJMACROS -#define IDeckLinkGLScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkEncoderAudioPacket_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkGLScreenPreviewHelper_AddRef(This) \ +#define IDeckLinkEncoderAudioPacket_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkGLScreenPreviewHelper_Release(This) \ +#define IDeckLinkEncoderAudioPacket_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkGLScreenPreviewHelper_InitializeGL(This) \ - ( (This)->lpVtbl -> InitializeGL(This) ) +#define IDeckLinkEncoderAudioPacket_GetBytes(This,buffer) \ + ( (This)->lpVtbl -> GetBytes(This,buffer) ) -#define IDeckLinkGLScreenPreviewHelper_PaintGL(This) \ - ( (This)->lpVtbl -> PaintGL(This) ) +#define IDeckLinkEncoderAudioPacket_GetSize(This) \ + ( (This)->lpVtbl -> GetSize(This) ) -#define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) \ - ( (This)->lpVtbl -> SetFrame(This,theFrame) ) +#define IDeckLinkEncoderAudioPacket_GetStreamTime(This,frameTime,timeScale) \ + ( (This)->lpVtbl -> GetStreamTime(This,frameTime,timeScale) ) + +#define IDeckLinkEncoderAudioPacket_GetPacketType(This) \ + ( (This)->lpVtbl -> GetPacketType(This) ) -#define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \ - ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) ) + +#define IDeckLinkEncoderAudioPacket_GetAudioFormat(This) \ + ( (This)->lpVtbl -> GetAudioFormat(This) ) #endif /* COBJMACROS */ @@ -6248,79 +7221,99 @@ EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper; -#endif /* __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ -#define __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ +#ifndef __IDeckLinkH265NALPacket_INTERFACE_DEFINED__ +#define __IDeckLinkH265NALPacket_INTERFACE_DEFINED__ -/* interface IDeckLinkDX9ScreenPreviewHelper */ +/* interface IDeckLinkH265NALPacket */ /* [helpstring][local][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkDX9ScreenPreviewHelper; +EXTERN_C const IID IID_IDeckLinkH265NALPacket; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("2094B522-D1A1-40C0-9AC7-1C012218EF02") - IDeckLinkDX9ScreenPreviewHelper : public IUnknown + MIDL_INTERFACE("639C8E0B-68D5-4BDE-A6D4-95F3AEAFF2E7") + IDeckLinkH265NALPacket : public IDeckLinkEncoderVideoPacket { public: - virtual HRESULT STDMETHODCALLTYPE Initialize( - /* [in] */ void *device) = 0; - - virtual HRESULT STDMETHODCALLTYPE Render( - /* [in] */ RECT *rc) = 0; + virtual HRESULT STDMETHODCALLTYPE GetUnitType( + /* [out] */ unsigned char *unitType) = 0; - virtual HRESULT STDMETHODCALLTYPE SetFrame( - /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; + virtual HRESULT STDMETHODCALLTYPE GetBytesNoPrefix( + /* [out] */ void **buffer) = 0; - virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( - /* [in] */ BMD3DPreviewFormat previewFormat) = 0; + virtual long STDMETHODCALLTYPE GetSizeNoPrefix( void) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkDX9ScreenPreviewHelperVtbl + typedef struct IDeckLinkH265NALPacketVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDX9ScreenPreviewHelper * This, + IDeckLinkH265NALPacket * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDX9ScreenPreviewHelper * This); + IDeckLinkH265NALPacket * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDX9ScreenPreviewHelper * This); + IDeckLinkH265NALPacket * This); - HRESULT ( STDMETHODCALLTYPE *Initialize )( - IDeckLinkDX9ScreenPreviewHelper * This, - /* [in] */ void *device); + HRESULT ( STDMETHODCALLTYPE *GetBytes )( + IDeckLinkH265NALPacket * This, + /* [out] */ void **buffer); - HRESULT ( STDMETHODCALLTYPE *Render )( - IDeckLinkDX9ScreenPreviewHelper * This, - /* [in] */ RECT *rc); + long ( STDMETHODCALLTYPE *GetSize )( + IDeckLinkH265NALPacket * This); - HRESULT ( STDMETHODCALLTYPE *SetFrame )( - IDeckLinkDX9ScreenPreviewHelper * This, - /* [in] */ IDeckLinkVideoFrame *theFrame); + HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( + IDeckLinkH265NALPacket * This, + /* [out] */ BMDTimeValue *frameTime, + /* [in] */ BMDTimeScale timeScale); - HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )( - IDeckLinkDX9ScreenPreviewHelper * This, - /* [in] */ BMD3DPreviewFormat previewFormat); + BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( + IDeckLinkH265NALPacket * This); + + BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( + IDeckLinkH265NALPacket * This); + + HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( + IDeckLinkH265NALPacket * This, + /* [in] */ BMDTimeScale timeScale, + /* [out] */ BMDTimeValue *frameTime, + /* [out] */ BMDTimeValue *frameDuration); + + HRESULT ( STDMETHODCALLTYPE *GetTimecode )( + IDeckLinkH265NALPacket * This, + /* [in] */ BMDTimecodeFormat format, + /* [out] */ IDeckLinkTimecode **timecode); + + HRESULT ( STDMETHODCALLTYPE *GetUnitType )( + IDeckLinkH265NALPacket * This, + /* [out] */ unsigned char *unitType); + + HRESULT ( STDMETHODCALLTYPE *GetBytesNoPrefix )( + IDeckLinkH265NALPacket * This, + /* [out] */ void **buffer); + + long ( STDMETHODCALLTYPE *GetSizeNoPrefix )( + IDeckLinkH265NALPacket * This); END_INTERFACE - } IDeckLinkDX9ScreenPreviewHelperVtbl; + } IDeckLinkH265NALPacketVtbl; - interface IDeckLinkDX9ScreenPreviewHelper + interface IDeckLinkH265NALPacket { - CONST_VTBL struct IDeckLinkDX9ScreenPreviewHelperVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkH265NALPacketVtbl *lpVtbl; }; @@ -6328,27 +7321,47 @@ EXTERN_C const IID IID_IDeckLinkDX9ScreenPreviewHelper; #ifdef COBJMACROS -#define IDeckLinkDX9ScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkH265NALPacket_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkDX9ScreenPreviewHelper_AddRef(This) \ +#define IDeckLinkH265NALPacket_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkDX9ScreenPreviewHelper_Release(This) \ +#define IDeckLinkH265NALPacket_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkDX9ScreenPreviewHelper_Initialize(This,device) \ - ( (This)->lpVtbl -> Initialize(This,device) ) +#define IDeckLinkH265NALPacket_GetBytes(This,buffer) \ + ( (This)->lpVtbl -> GetBytes(This,buffer) ) -#define IDeckLinkDX9ScreenPreviewHelper_Render(This,rc) \ - ( (This)->lpVtbl -> Render(This,rc) ) +#define IDeckLinkH265NALPacket_GetSize(This) \ + ( (This)->lpVtbl -> GetSize(This) ) -#define IDeckLinkDX9ScreenPreviewHelper_SetFrame(This,theFrame) \ - ( (This)->lpVtbl -> SetFrame(This,theFrame) ) +#define IDeckLinkH265NALPacket_GetStreamTime(This,frameTime,timeScale) \ + ( (This)->lpVtbl -> GetStreamTime(This,frameTime,timeScale) ) -#define IDeckLinkDX9ScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \ - ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) ) +#define IDeckLinkH265NALPacket_GetPacketType(This) \ + ( (This)->lpVtbl -> GetPacketType(This) ) + + +#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) ) + + +#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) ) #endif /* COBJMACROS */ @@ -6358,62 +7371,72 @@ EXTERN_C const IID IID_IDeckLinkDX9ScreenPreviewHelper; -#endif /* __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkH265NALPacket_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ -#define __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ +#ifndef __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ +#define __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ -/* interface IDeckLinkNotificationCallback */ +/* interface IDeckLinkAudioInputPacket */ /* [helpstring][local][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkNotificationCallback; +EXTERN_C const IID IID_IDeckLinkAudioInputPacket; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("b002a1ec-070d-4288-8289-bd5d36e5ff0d") - IDeckLinkNotificationCallback : public IUnknown + MIDL_INTERFACE("E43D5870-2894-11DE-8C30-0800200C9A66") + IDeckLinkAudioInputPacket : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Notify( - /* [in] */ BMDNotifications topic, - /* [in] */ ULONGLONG param1, - /* [in] */ ULONGLONG param2) = 0; + virtual long STDMETHODCALLTYPE GetSampleFrameCount( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBytes( + /* [out] */ void **buffer) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPacketTime( + /* [out] */ BMDTimeValue *packetTime, + /* [in] */ BMDTimeScale timeScale) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkNotificationCallbackVtbl + typedef struct IDeckLinkAudioInputPacketVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkNotificationCallback * This, + IDeckLinkAudioInputPacket * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkNotificationCallback * This); + IDeckLinkAudioInputPacket * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkNotificationCallback * This); + IDeckLinkAudioInputPacket * This); - HRESULT ( STDMETHODCALLTYPE *Notify )( - IDeckLinkNotificationCallback * This, - /* [in] */ BMDNotifications topic, - /* [in] */ ULONGLONG param1, - /* [in] */ ULONGLONG param2); + long ( STDMETHODCALLTYPE *GetSampleFrameCount )( + IDeckLinkAudioInputPacket * This); + + HRESULT ( STDMETHODCALLTYPE *GetBytes )( + IDeckLinkAudioInputPacket * This, + /* [out] */ void **buffer); + + HRESULT ( STDMETHODCALLTYPE *GetPacketTime )( + IDeckLinkAudioInputPacket * This, + /* [out] */ BMDTimeValue *packetTime, + /* [in] */ BMDTimeScale timeScale); END_INTERFACE - } IDeckLinkNotificationCallbackVtbl; + } IDeckLinkAudioInputPacketVtbl; - interface IDeckLinkNotificationCallback + interface IDeckLinkAudioInputPacket { - CONST_VTBL struct IDeckLinkNotificationCallbackVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkAudioInputPacketVtbl *lpVtbl; }; @@ -6421,18 +7444,24 @@ EXTERN_C const IID IID_IDeckLinkNotificationCallback; #ifdef COBJMACROS -#define IDeckLinkNotificationCallback_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkAudioInputPacket_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkNotificationCallback_AddRef(This) \ +#define IDeckLinkAudioInputPacket_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkNotificationCallback_Release(This) \ +#define IDeckLinkAudioInputPacket_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkNotificationCallback_Notify(This,topic,param1,param2) \ - ( (This)->lpVtbl -> Notify(This,topic,param1,param2) ) +#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) ) #endif /* COBJMACROS */ @@ -6442,69 +7471,58 @@ EXTERN_C const IID IID_IDeckLinkNotificationCallback; -#endif /* __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkNotification_INTERFACE_DEFINED__ -#define __IDeckLinkNotification_INTERFACE_DEFINED__ +#ifndef __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ +#define __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ -/* interface IDeckLinkNotification */ +/* interface IDeckLinkScreenPreviewCallback */ /* [helpstring][local][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkNotification; +EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("0a1fb207-e215-441b-9b19-6fa1575946c5") - IDeckLinkNotification : public IUnknown + MIDL_INTERFACE("B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438") + IDeckLinkScreenPreviewCallback : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Subscribe( - /* [in] */ BMDNotifications topic, - /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE Unsubscribe( - /* [in] */ BMDNotifications topic, - /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; + virtual HRESULT STDMETHODCALLTYPE DrawFrame( + /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkNotificationVtbl + typedef struct IDeckLinkScreenPreviewCallbackVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkNotification * This, + IDeckLinkScreenPreviewCallback * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkNotification * This); + IDeckLinkScreenPreviewCallback * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkNotification * This); - - HRESULT ( STDMETHODCALLTYPE *Subscribe )( - IDeckLinkNotification * This, - /* [in] */ BMDNotifications topic, - /* [in] */ IDeckLinkNotificationCallback *theCallback); + IDeckLinkScreenPreviewCallback * This); - HRESULT ( STDMETHODCALLTYPE *Unsubscribe )( - IDeckLinkNotification * This, - /* [in] */ BMDNotifications topic, - /* [in] */ IDeckLinkNotificationCallback *theCallback); + HRESULT ( STDMETHODCALLTYPE *DrawFrame )( + IDeckLinkScreenPreviewCallback * This, + /* [in] */ IDeckLinkVideoFrame *theFrame); END_INTERFACE - } IDeckLinkNotificationVtbl; + } IDeckLinkScreenPreviewCallbackVtbl; - interface IDeckLinkNotification + interface IDeckLinkScreenPreviewCallback { - CONST_VTBL struct IDeckLinkNotificationVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkScreenPreviewCallbackVtbl *lpVtbl; }; @@ -6512,21 +7530,18 @@ EXTERN_C const IID IID_IDeckLinkNotification; #ifdef COBJMACROS -#define IDeckLinkNotification_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkScreenPreviewCallback_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkNotification_AddRef(This) \ +#define IDeckLinkScreenPreviewCallback_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkNotification_Release(This) \ +#define IDeckLinkScreenPreviewCallback_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkNotification_Subscribe(This,topic,theCallback) \ - ( (This)->lpVtbl -> Subscribe(This,topic,theCallback) ) - -#define IDeckLinkNotification_Unsubscribe(This,topic,theCallback) \ - ( (This)->lpVtbl -> Unsubscribe(This,topic,theCallback) ) +#define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) \ + ( (This)->lpVtbl -> DrawFrame(This,theFrame) ) #endif /* COBJMACROS */ @@ -6536,87 +7551,75 @@ EXTERN_C const IID IID_IDeckLinkNotification; -#endif /* __IDeckLinkNotification_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkAttributes_INTERFACE_DEFINED__ -#define __IDeckLinkAttributes_INTERFACE_DEFINED__ +#ifndef __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ +#define __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ -/* interface IDeckLinkAttributes */ +/* interface IDeckLinkGLScreenPreviewHelper */ /* [helpstring][local][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkAttributes; +EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("ABC11843-D966-44CB-96E2-A1CB5D3135C4") - IDeckLinkAttributes : public IUnknown + MIDL_INTERFACE("504E2209-CAC7-4C1A-9FB4-C5BB6274D22F") + IDeckLinkGLScreenPreviewHelper : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetFlag( - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ BOOL *value) = 0; + virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0; - virtual HRESULT STDMETHODCALLTYPE GetInt( - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ LONGLONG *value) = 0; + virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFloat( - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ double *value) = 0; + virtual HRESULT STDMETHODCALLTYPE SetFrame( + /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; - virtual HRESULT STDMETHODCALLTYPE GetString( - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ BSTR *value) = 0; + virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( + /* [in] */ BMD3DPreviewFormat previewFormat) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkAttributesVtbl + typedef struct IDeckLinkGLScreenPreviewHelperVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkAttributes * This, + IDeckLinkGLScreenPreviewHelper * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkAttributes * This); + IDeckLinkGLScreenPreviewHelper * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkAttributes * This); + IDeckLinkGLScreenPreviewHelper * This); - HRESULT ( STDMETHODCALLTYPE *GetFlag )( - IDeckLinkAttributes * This, - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ BOOL *value); + HRESULT ( STDMETHODCALLTYPE *InitializeGL )( + IDeckLinkGLScreenPreviewHelper * This); - HRESULT ( STDMETHODCALLTYPE *GetInt )( - IDeckLinkAttributes * This, - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ LONGLONG *value); + HRESULT ( STDMETHODCALLTYPE *PaintGL )( + IDeckLinkGLScreenPreviewHelper * This); - HRESULT ( STDMETHODCALLTYPE *GetFloat )( - IDeckLinkAttributes * This, - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ double *value); + HRESULT ( STDMETHODCALLTYPE *SetFrame )( + IDeckLinkGLScreenPreviewHelper * This, + /* [in] */ IDeckLinkVideoFrame *theFrame); - HRESULT ( STDMETHODCALLTYPE *GetString )( - IDeckLinkAttributes * This, - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ BSTR *value); + HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )( + IDeckLinkGLScreenPreviewHelper * This, + /* [in] */ BMD3DPreviewFormat previewFormat); END_INTERFACE - } IDeckLinkAttributesVtbl; + } IDeckLinkGLScreenPreviewHelperVtbl; - interface IDeckLinkAttributes + interface IDeckLinkGLScreenPreviewHelper { - CONST_VTBL struct IDeckLinkAttributesVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkGLScreenPreviewHelperVtbl *lpVtbl; }; @@ -6624,27 +7627,27 @@ EXTERN_C const IID IID_IDeckLinkAttributes; #ifdef COBJMACROS -#define IDeckLinkAttributes_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkGLScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkAttributes_AddRef(This) \ +#define IDeckLinkGLScreenPreviewHelper_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkAttributes_Release(This) \ +#define IDeckLinkGLScreenPreviewHelper_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkAttributes_GetFlag(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) +#define IDeckLinkGLScreenPreviewHelper_InitializeGL(This) \ + ( (This)->lpVtbl -> InitializeGL(This) ) -#define IDeckLinkAttributes_GetInt(This,cfgID,value) \ - ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) +#define IDeckLinkGLScreenPreviewHelper_PaintGL(This) \ + ( (This)->lpVtbl -> PaintGL(This) ) -#define IDeckLinkAttributes_GetFloat(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) +#define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) \ + ( (This)->lpVtbl -> SetFrame(This,theFrame) ) -#define IDeckLinkAttributes_GetString(This,cfgID,value) \ - ( (This)->lpVtbl -> GetString(This,cfgID,value) ) +#define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \ + ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) ) #endif /* COBJMACROS */ @@ -6654,84 +7657,79 @@ EXTERN_C const IID IID_IDeckLinkAttributes; -#endif /* __IDeckLinkAttributes_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkKeyer_INTERFACE_DEFINED__ -#define __IDeckLinkKeyer_INTERFACE_DEFINED__ +#ifndef __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ +#define __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ -/* interface IDeckLinkKeyer */ +/* interface IDeckLinkDX9ScreenPreviewHelper */ /* [helpstring][local][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkKeyer; +EXTERN_C const IID IID_IDeckLinkDX9ScreenPreviewHelper; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3") - IDeckLinkKeyer : public IUnknown + MIDL_INTERFACE("2094B522-D1A1-40C0-9AC7-1C012218EF02") + IDeckLinkDX9ScreenPreviewHelper : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Enable( - /* [in] */ BOOL isExternal) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetLevel( - /* [in] */ unsigned char level) = 0; + virtual HRESULT STDMETHODCALLTYPE Initialize( + /* [in] */ void *device) = 0; - virtual HRESULT STDMETHODCALLTYPE RampUp( - /* [in] */ unsigned long numberOfFrames) = 0; + virtual HRESULT STDMETHODCALLTYPE Render( + /* [in] */ RECT *rc) = 0; - virtual HRESULT STDMETHODCALLTYPE RampDown( - /* [in] */ unsigned long numberOfFrames) = 0; + virtual HRESULT STDMETHODCALLTYPE SetFrame( + /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; - virtual HRESULT STDMETHODCALLTYPE Disable( void) = 0; + virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( + /* [in] */ BMD3DPreviewFormat previewFormat) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkKeyerVtbl + typedef struct IDeckLinkDX9ScreenPreviewHelperVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkKeyer * This, + IDeckLinkDX9ScreenPreviewHelper * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkKeyer * This); + IDeckLinkDX9ScreenPreviewHelper * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkKeyer * This); - - HRESULT ( STDMETHODCALLTYPE *Enable )( - IDeckLinkKeyer * This, - /* [in] */ BOOL isExternal); + IDeckLinkDX9ScreenPreviewHelper * This); - HRESULT ( STDMETHODCALLTYPE *SetLevel )( - IDeckLinkKeyer * This, - /* [in] */ unsigned char level); + HRESULT ( STDMETHODCALLTYPE *Initialize )( + IDeckLinkDX9ScreenPreviewHelper * This, + /* [in] */ void *device); - HRESULT ( STDMETHODCALLTYPE *RampUp )( - IDeckLinkKeyer * This, - /* [in] */ unsigned long numberOfFrames); + HRESULT ( STDMETHODCALLTYPE *Render )( + IDeckLinkDX9ScreenPreviewHelper * This, + /* [in] */ RECT *rc); - HRESULT ( STDMETHODCALLTYPE *RampDown )( - IDeckLinkKeyer * This, - /* [in] */ unsigned long numberOfFrames); + HRESULT ( STDMETHODCALLTYPE *SetFrame )( + IDeckLinkDX9ScreenPreviewHelper * This, + /* [in] */ IDeckLinkVideoFrame *theFrame); - HRESULT ( STDMETHODCALLTYPE *Disable )( - IDeckLinkKeyer * This); + HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )( + IDeckLinkDX9ScreenPreviewHelper * This, + /* [in] */ BMD3DPreviewFormat previewFormat); END_INTERFACE - } IDeckLinkKeyerVtbl; + } IDeckLinkDX9ScreenPreviewHelperVtbl; - interface IDeckLinkKeyer + interface IDeckLinkDX9ScreenPreviewHelper { - CONST_VTBL struct IDeckLinkKeyerVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkDX9ScreenPreviewHelperVtbl *lpVtbl; }; @@ -6739,30 +7737,27 @@ EXTERN_C const IID IID_IDeckLinkKeyer; #ifdef COBJMACROS -#define IDeckLinkKeyer_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkDX9ScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkKeyer_AddRef(This) \ +#define IDeckLinkDX9ScreenPreviewHelper_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkKeyer_Release(This) \ +#define IDeckLinkDX9ScreenPreviewHelper_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkKeyer_Enable(This,isExternal) \ - ( (This)->lpVtbl -> Enable(This,isExternal) ) - -#define IDeckLinkKeyer_SetLevel(This,level) \ - ( (This)->lpVtbl -> SetLevel(This,level) ) +#define IDeckLinkDX9ScreenPreviewHelper_Initialize(This,device) \ + ( (This)->lpVtbl -> Initialize(This,device) ) -#define IDeckLinkKeyer_RampUp(This,numberOfFrames) \ - ( (This)->lpVtbl -> RampUp(This,numberOfFrames) ) +#define IDeckLinkDX9ScreenPreviewHelper_Render(This,rc) \ + ( (This)->lpVtbl -> Render(This,rc) ) -#define IDeckLinkKeyer_RampDown(This,numberOfFrames) \ - ( (This)->lpVtbl -> RampDown(This,numberOfFrames) ) +#define IDeckLinkDX9ScreenPreviewHelper_SetFrame(This,theFrame) \ + ( (This)->lpVtbl -> SetFrame(This,theFrame) ) -#define IDeckLinkKeyer_Disable(This) \ - ( (This)->lpVtbl -> Disable(This) ) +#define IDeckLinkDX9ScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \ + ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) ) #endif /* COBJMACROS */ @@ -6772,60 +7767,62 @@ EXTERN_C const IID IID_IDeckLinkKeyer; -#endif /* __IDeckLinkKeyer_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkVideoConversion_INTERFACE_DEFINED__ -#define __IDeckLinkVideoConversion_INTERFACE_DEFINED__ +#ifndef __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ +#define __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ -/* interface IDeckLinkVideoConversion */ +/* interface IDeckLinkNotificationCallback */ /* [helpstring][local][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkVideoConversion; +EXTERN_C const IID IID_IDeckLinkNotificationCallback; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("3BBCB8A2-DA2C-42D9-B5D8-88083644E99A") - IDeckLinkVideoConversion : public IUnknown + MIDL_INTERFACE("b002a1ec-070d-4288-8289-bd5d36e5ff0d") + IDeckLinkNotificationCallback : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE ConvertFrame( - /* [in] */ IDeckLinkVideoFrame *srcFrame, - /* [in] */ IDeckLinkVideoFrame *dstFrame) = 0; + virtual HRESULT STDMETHODCALLTYPE Notify( + /* [in] */ BMDNotifications topic, + /* [in] */ ULONGLONG param1, + /* [in] */ ULONGLONG param2) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkVideoConversionVtbl + typedef struct IDeckLinkNotificationCallbackVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoConversion * This, + IDeckLinkNotificationCallback * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoConversion * This); + IDeckLinkNotificationCallback * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoConversion * This); + IDeckLinkNotificationCallback * This); - HRESULT ( STDMETHODCALLTYPE *ConvertFrame )( - IDeckLinkVideoConversion * This, - /* [in] */ IDeckLinkVideoFrame *srcFrame, - /* [in] */ IDeckLinkVideoFrame *dstFrame); + HRESULT ( STDMETHODCALLTYPE *Notify )( + IDeckLinkNotificationCallback * This, + /* [in] */ BMDNotifications topic, + /* [in] */ ULONGLONG param1, + /* [in] */ ULONGLONG param2); END_INTERFACE - } IDeckLinkVideoConversionVtbl; + } IDeckLinkNotificationCallbackVtbl; - interface IDeckLinkVideoConversion + interface IDeckLinkNotificationCallback { - CONST_VTBL struct IDeckLinkVideoConversionVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkNotificationCallbackVtbl *lpVtbl; }; @@ -6833,18 +7830,18 @@ EXTERN_C const IID IID_IDeckLinkVideoConversion; #ifdef COBJMACROS -#define IDeckLinkVideoConversion_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkNotificationCallback_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkVideoConversion_AddRef(This) \ +#define IDeckLinkNotificationCallback_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkVideoConversion_Release(This) \ +#define IDeckLinkNotificationCallback_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkVideoConversion_ConvertFrame(This,srcFrame,dstFrame) \ - ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) ) +#define IDeckLinkNotificationCallback_Notify(This,topic,param1,param2) \ + ( (This)->lpVtbl -> Notify(This,topic,param1,param2) ) #endif /* COBJMACROS */ @@ -6854,65 +7851,69 @@ EXTERN_C const IID IID_IDeckLinkVideoConversion; -#endif /* __IDeckLinkVideoConversion_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ -#define __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ +#ifndef __IDeckLinkNotification_INTERFACE_DEFINED__ +#define __IDeckLinkNotification_INTERFACE_DEFINED__ -/* interface IDeckLinkDeviceNotificationCallback */ -/* [helpstring][uuid][object] */ +/* interface IDeckLinkNotification */ +/* [helpstring][local][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkDeviceNotificationCallback; +EXTERN_C const IID IID_IDeckLinkNotification; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("4997053B-0ADF-4CC8-AC70-7A50C4BE728F") - IDeckLinkDeviceNotificationCallback : public IUnknown + MIDL_INTERFACE("0a1fb207-e215-441b-9b19-6fa1575946c5") + IDeckLinkNotification : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceArrived( - /* [in] */ IDeckLink *deckLinkDevice) = 0; + virtual HRESULT STDMETHODCALLTYPE Subscribe( + /* [in] */ BMDNotifications topic, + /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; - virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceRemoved( - /* [in] */ IDeckLink *deckLinkDevice) = 0; + virtual HRESULT STDMETHODCALLTYPE Unsubscribe( + /* [in] */ BMDNotifications topic, + /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkDeviceNotificationCallbackVtbl + typedef struct IDeckLinkNotificationVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDeviceNotificationCallback * This, + IDeckLinkNotification * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDeviceNotificationCallback * This); + IDeckLinkNotification * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDeviceNotificationCallback * This); + IDeckLinkNotification * This); - HRESULT ( STDMETHODCALLTYPE *DeckLinkDeviceArrived )( - IDeckLinkDeviceNotificationCallback * This, - /* [in] */ IDeckLink *deckLinkDevice); + HRESULT ( STDMETHODCALLTYPE *Subscribe )( + IDeckLinkNotification * This, + /* [in] */ BMDNotifications topic, + /* [in] */ IDeckLinkNotificationCallback *theCallback); - HRESULT ( STDMETHODCALLTYPE *DeckLinkDeviceRemoved )( - IDeckLinkDeviceNotificationCallback * This, - /* [in] */ IDeckLink *deckLinkDevice); + HRESULT ( STDMETHODCALLTYPE *Unsubscribe )( + IDeckLinkNotification * This, + /* [in] */ BMDNotifications topic, + /* [in] */ IDeckLinkNotificationCallback *theCallback); END_INTERFACE - } IDeckLinkDeviceNotificationCallbackVtbl; + } IDeckLinkNotificationVtbl; - interface IDeckLinkDeviceNotificationCallback + interface IDeckLinkNotification { - CONST_VTBL struct IDeckLinkDeviceNotificationCallbackVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkNotificationVtbl *lpVtbl; }; @@ -6920,21 +7921,21 @@ EXTERN_C const IID IID_IDeckLinkDeviceNotificationCallback; #ifdef COBJMACROS -#define IDeckLinkDeviceNotificationCallback_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkNotification_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkDeviceNotificationCallback_AddRef(This) \ +#define IDeckLinkNotification_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkDeviceNotificationCallback_Release(This) \ +#define IDeckLinkNotification_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceArrived(This,deckLinkDevice) \ - ( (This)->lpVtbl -> DeckLinkDeviceArrived(This,deckLinkDevice) ) +#define IDeckLinkNotification_Subscribe(This,topic,theCallback) \ + ( (This)->lpVtbl -> Subscribe(This,topic,theCallback) ) -#define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceRemoved(This,deckLinkDevice) \ - ( (This)->lpVtbl -> DeckLinkDeviceRemoved(This,deckLinkDevice) ) +#define IDeckLinkNotification_Unsubscribe(This,topic,theCallback) \ + ( (This)->lpVtbl -> Unsubscribe(This,topic,theCallback) ) #endif /* COBJMACROS */ @@ -6944,63 +7945,87 @@ EXTERN_C const IID IID_IDeckLinkDeviceNotificationCallback; -#endif /* __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkNotification_INTERFACE_DEFINED__ */ -#ifndef __IDeckLinkDiscovery_INTERFACE_DEFINED__ -#define __IDeckLinkDiscovery_INTERFACE_DEFINED__ +#ifndef __IDeckLinkAttributes_INTERFACE_DEFINED__ +#define __IDeckLinkAttributes_INTERFACE_DEFINED__ -/* interface IDeckLinkDiscovery */ -/* [helpstring][uuid][object] */ +/* interface IDeckLinkAttributes */ +/* [helpstring][local][uuid][object] */ -EXTERN_C const IID IID_IDeckLinkDiscovery; +EXTERN_C const IID IID_IDeckLinkAttributes; #if defined(__cplusplus) && !defined(CINTERFACE) - MIDL_INTERFACE("CDBF631C-BC76-45FA-B44D-C55059BC6101") - IDeckLinkDiscovery : public IUnknown + MIDL_INTERFACE("ABC11843-D966-44CB-96E2-A1CB5D3135C4") + IDeckLinkAttributes : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE InstallDeviceNotifications( - /* [in] */ IDeckLinkDeviceNotificationCallback *deviceNotificationCallback) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFlag( + /* [in] */ BMDDeckLinkAttributeID cfgID, + /* [out] */ BOOL *value) = 0; - virtual HRESULT STDMETHODCALLTYPE UninstallDeviceNotifications( void) = 0; + virtual HRESULT STDMETHODCALLTYPE GetInt( + /* [in] */ BMDDeckLinkAttributeID cfgID, + /* [out] */ LONGLONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFloat( + /* [in] */ BMDDeckLinkAttributeID cfgID, + /* [out] */ double *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetString( + /* [in] */ BMDDeckLinkAttributeID cfgID, + /* [out] */ BSTR *value) = 0; }; #else /* C style interface */ - typedef struct IDeckLinkDiscoveryVtbl + typedef struct IDeckLinkAttributesVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDiscovery * This, + IDeckLinkAttributes * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDiscovery * This); + IDeckLinkAttributes * This); ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDiscovery * This); + IDeckLinkAttributes * This); - HRESULT ( STDMETHODCALLTYPE *InstallDeviceNotifications )( - IDeckLinkDiscovery * This, - /* [in] */ IDeckLinkDeviceNotificationCallback *deviceNotificationCallback); + HRESULT ( STDMETHODCALLTYPE *GetFlag )( + IDeckLinkAttributes * This, + /* [in] */ BMDDeckLinkAttributeID cfgID, + /* [out] */ BOOL *value); - HRESULT ( STDMETHODCALLTYPE *UninstallDeviceNotifications )( - IDeckLinkDiscovery * This); + HRESULT ( STDMETHODCALLTYPE *GetInt )( + IDeckLinkAttributes * This, + /* [in] */ BMDDeckLinkAttributeID cfgID, + /* [out] */ LONGLONG *value); + + HRESULT ( STDMETHODCALLTYPE *GetFloat )( + IDeckLinkAttributes * This, + /* [in] */ BMDDeckLinkAttributeID cfgID, + /* [out] */ double *value); + + HRESULT ( STDMETHODCALLTYPE *GetString )( + IDeckLinkAttributes * This, + /* [in] */ BMDDeckLinkAttributeID cfgID, + /* [out] */ BSTR *value); END_INTERFACE - } IDeckLinkDiscoveryVtbl; + } IDeckLinkAttributesVtbl; - interface IDeckLinkDiscovery + interface IDeckLinkAttributes { - CONST_VTBL struct IDeckLinkDiscoveryVtbl *lpVtbl; + CONST_VTBL struct IDeckLinkAttributesVtbl *lpVtbl; }; @@ -7008,80 +8033,950 @@ EXTERN_C const IID IID_IDeckLinkDiscovery; #ifdef COBJMACROS -#define IDeckLinkDiscovery_QueryInterface(This,riid,ppvObject) \ +#define IDeckLinkAttributes_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define IDeckLinkDiscovery_AddRef(This) \ +#define IDeckLinkAttributes_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) -#define IDeckLinkDiscovery_Release(This) \ +#define IDeckLinkAttributes_Release(This) \ ( (This)->lpVtbl -> Release(This) ) -#define IDeckLinkDiscovery_InstallDeviceNotifications(This,deviceNotificationCallback) \ - ( (This)->lpVtbl -> InstallDeviceNotifications(This,deviceNotificationCallback) ) +#define IDeckLinkAttributes_GetFlag(This,cfgID,value) \ + ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) -#define IDeckLinkDiscovery_UninstallDeviceNotifications(This) \ - ( (This)->lpVtbl -> UninstallDeviceNotifications(This) ) +#define IDeckLinkAttributes_GetInt(This,cfgID,value) \ + ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) -#endif /* COBJMACROS */ +#define IDeckLinkAttributes_GetFloat(This,cfgID,value) \ + ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) +#define IDeckLinkAttributes_GetString(This,cfgID,value) \ + ( (This)->lpVtbl -> GetString(This,cfgID,value) ) -#endif /* C style interface */ +#endif /* COBJMACROS */ +#endif /* C style interface */ -#endif /* __IDeckLinkDiscovery_INTERFACE_DEFINED__ */ -EXTERN_C const CLSID CLSID_CDeckLinkIterator; +#endif /* __IDeckLinkAttributes_INTERFACE_DEFINED__ */ -#ifdef __cplusplus -class DECLSPEC_UUID("1F2E109A-8F4F-49E4-9203-135595CB6FA5") -CDeckLinkIterator; -#endif +#ifndef __IDeckLinkStatus_INTERFACE_DEFINED__ +#define __IDeckLinkStatus_INTERFACE_DEFINED__ -EXTERN_C const CLSID CLSID_CDeckLinkAPIInformation; +/* interface IDeckLinkStatus */ +/* [helpstring][local][uuid][object] */ -#ifdef __cplusplus -class DECLSPEC_UUID("263CA19F-ED09-482E-9F9D-84005783A237") -CDeckLinkAPIInformation; -#endif +EXTERN_C const IID IID_IDeckLinkStatus; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5F558200-4028-49BC-BEAC-DB3FA4A96E46") + IDeckLinkStatus : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE GetFlag( + /* [in] */ BMDDeckLinkStatusID statusID, + /* [out] */ BOOL *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInt( + /* [in] */ BMDDeckLinkStatusID statusID, + /* [out] */ LONGLONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFloat( + /* [in] */ BMDDeckLinkStatusID statusID, + /* [out] */ double *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetString( + /* [in] */ BMDDeckLinkStatusID statusID, + /* [out] */ BSTR *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBytes( + /* [in] */ BMDDeckLinkStatusID statusID, + /* [out] */ void *buffer, + /* [out][in] */ unsigned int *bufferSize) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDeckLinkStatusVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeckLinkStatus * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeckLinkStatus * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeckLinkStatus * This); + + HRESULT ( STDMETHODCALLTYPE *GetFlag )( + IDeckLinkStatus * This, + /* [in] */ BMDDeckLinkStatusID statusID, + /* [out] */ BOOL *value); + + HRESULT ( STDMETHODCALLTYPE *GetInt )( + IDeckLinkStatus * This, + /* [in] */ BMDDeckLinkStatusID statusID, + /* [out] */ LONGLONG *value); + + HRESULT ( STDMETHODCALLTYPE *GetFloat )( + IDeckLinkStatus * This, + /* [in] */ BMDDeckLinkStatusID statusID, + /* [out] */ double *value); + + HRESULT ( STDMETHODCALLTYPE *GetString )( + IDeckLinkStatus * This, + /* [in] */ BMDDeckLinkStatusID statusID, + /* [out] */ BSTR *value); + + HRESULT ( STDMETHODCALLTYPE *GetBytes )( + IDeckLinkStatus * This, + /* [in] */ BMDDeckLinkStatusID statusID, + /* [out] */ void *buffer, + /* [out][in] */ unsigned int *bufferSize); + + END_INTERFACE + } IDeckLinkStatusVtbl; + + interface IDeckLinkStatus + { + CONST_VTBL struct IDeckLinkStatusVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeckLinkStatus_INTERFACE_DEFINED__ */ + + +#ifndef __IDeckLinkKeyer_INTERFACE_DEFINED__ +#define __IDeckLinkKeyer_INTERFACE_DEFINED__ + +/* interface IDeckLinkKeyer */ +/* [helpstring][local][uuid][object] */ + + +EXTERN_C const IID IID_IDeckLinkKeyer; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3") + IDeckLinkKeyer : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE Enable( + /* [in] */ BOOL isExternal) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLevel( + /* [in] */ unsigned char level) = 0; + + virtual HRESULT STDMETHODCALLTYPE RampUp( + /* [in] */ unsigned int numberOfFrames) = 0; + + virtual HRESULT STDMETHODCALLTYPE RampDown( + /* [in] */ unsigned int numberOfFrames) = 0; + + virtual HRESULT STDMETHODCALLTYPE Disable( void) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDeckLinkKeyerVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeckLinkKeyer * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeckLinkKeyer * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeckLinkKeyer * This); + + HRESULT ( STDMETHODCALLTYPE *Enable )( + IDeckLinkKeyer * This, + /* [in] */ BOOL isExternal); + + HRESULT ( STDMETHODCALLTYPE *SetLevel )( + IDeckLinkKeyer * This, + /* [in] */ unsigned char level); + + HRESULT ( STDMETHODCALLTYPE *RampUp )( + IDeckLinkKeyer * This, + /* [in] */ unsigned int numberOfFrames); + + HRESULT ( STDMETHODCALLTYPE *RampDown )( + IDeckLinkKeyer * This, + /* [in] */ unsigned int numberOfFrames); + + HRESULT ( STDMETHODCALLTYPE *Disable )( + IDeckLinkKeyer * This); + + END_INTERFACE + } IDeckLinkKeyerVtbl; + + interface IDeckLinkKeyer + { + CONST_VTBL struct IDeckLinkKeyerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeckLinkKeyer_INTERFACE_DEFINED__ */ + + +#ifndef __IDeckLinkVideoConversion_INTERFACE_DEFINED__ +#define __IDeckLinkVideoConversion_INTERFACE_DEFINED__ + +/* interface IDeckLinkVideoConversion */ +/* [helpstring][local][uuid][object] */ + + +EXTERN_C const IID IID_IDeckLinkVideoConversion; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3BBCB8A2-DA2C-42D9-B5D8-88083644E99A") + IDeckLinkVideoConversion : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE ConvertFrame( + /* [in] */ IDeckLinkVideoFrame *srcFrame, + /* [in] */ IDeckLinkVideoFrame *dstFrame) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDeckLinkVideoConversionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeckLinkVideoConversion * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeckLinkVideoConversion * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeckLinkVideoConversion * This); + + HRESULT ( STDMETHODCALLTYPE *ConvertFrame )( + IDeckLinkVideoConversion * This, + /* [in] */ IDeckLinkVideoFrame *srcFrame, + /* [in] */ IDeckLinkVideoFrame *dstFrame); + + END_INTERFACE + } IDeckLinkVideoConversionVtbl; + + interface IDeckLinkVideoConversion + { + CONST_VTBL struct IDeckLinkVideoConversionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IDeckLinkVideoConversion_ConvertFrame(This,srcFrame,dstFrame) \ + ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeckLinkVideoConversion_INTERFACE_DEFINED__ */ + + +#ifndef __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ +#define __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ + +/* interface IDeckLinkDeviceNotificationCallback */ +/* [helpstring][uuid][object] */ + + +EXTERN_C const IID IID_IDeckLinkDeviceNotificationCallback; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("4997053B-0ADF-4CC8-AC70-7A50C4BE728F") + IDeckLinkDeviceNotificationCallback : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceArrived( + /* [in] */ IDeckLink *deckLinkDevice) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceRemoved( + /* [in] */ IDeckLink *deckLinkDevice) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDeckLinkDeviceNotificationCallbackVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeckLinkDeviceNotificationCallback * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeckLinkDeviceNotificationCallback * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeckLinkDeviceNotificationCallback * This); + + HRESULT ( STDMETHODCALLTYPE *DeckLinkDeviceArrived )( + IDeckLinkDeviceNotificationCallback * This, + /* [in] */ IDeckLink *deckLinkDevice); + + HRESULT ( STDMETHODCALLTYPE *DeckLinkDeviceRemoved )( + IDeckLinkDeviceNotificationCallback * This, + /* [in] */ IDeckLink *deckLinkDevice); + + END_INTERFACE + } IDeckLinkDeviceNotificationCallbackVtbl; + + interface IDeckLinkDeviceNotificationCallback + { + CONST_VTBL struct IDeckLinkDeviceNotificationCallbackVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceArrived(This,deckLinkDevice) \ + ( (This)->lpVtbl -> DeckLinkDeviceArrived(This,deckLinkDevice) ) + +#define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceRemoved(This,deckLinkDevice) \ + ( (This)->lpVtbl -> DeckLinkDeviceRemoved(This,deckLinkDevice) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ */ + + +#ifndef __IDeckLinkDiscovery_INTERFACE_DEFINED__ +#define __IDeckLinkDiscovery_INTERFACE_DEFINED__ + +/* interface IDeckLinkDiscovery */ +/* [helpstring][uuid][object] */ + + +EXTERN_C const IID IID_IDeckLinkDiscovery; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("CDBF631C-BC76-45FA-B44D-C55059BC6101") + IDeckLinkDiscovery : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE InstallDeviceNotifications( + /* [in] */ IDeckLinkDeviceNotificationCallback *deviceNotificationCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE UninstallDeviceNotifications( void) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDeckLinkDiscoveryVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeckLinkDiscovery * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeckLinkDiscovery * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeckLinkDiscovery * This); + + HRESULT ( STDMETHODCALLTYPE *InstallDeviceNotifications )( + IDeckLinkDiscovery * This, + /* [in] */ IDeckLinkDeviceNotificationCallback *deviceNotificationCallback); + + HRESULT ( STDMETHODCALLTYPE *UninstallDeviceNotifications )( + IDeckLinkDiscovery * This); + + END_INTERFACE + } IDeckLinkDiscoveryVtbl; + + interface IDeckLinkDiscovery + { + CONST_VTBL struct IDeckLinkDiscoveryVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IDeckLinkDiscovery_InstallDeviceNotifications(This,deviceNotificationCallback) \ + ( (This)->lpVtbl -> InstallDeviceNotifications(This,deviceNotificationCallback) ) + +#define IDeckLinkDiscovery_UninstallDeviceNotifications(This) \ + ( (This)->lpVtbl -> UninstallDeviceNotifications(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeckLinkDiscovery_INTERFACE_DEFINED__ */ + + +EXTERN_C const CLSID CLSID_CDeckLinkIterator; + +#ifdef __cplusplus + +class DECLSPEC_UUID("1F2E109A-8F4F-49E4-9203-135595CB6FA5") +CDeckLinkIterator; +#endif + +EXTERN_C const CLSID CLSID_CDeckLinkAPIInformation; + +#ifdef __cplusplus + +class DECLSPEC_UUID("263CA19F-ED09-482E-9F9D-84005783A237") +CDeckLinkAPIInformation; +#endif EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper; -#ifdef __cplusplus +#ifdef __cplusplus + +class DECLSPEC_UUID("F63E77C7-B655-4A4A-9AD0-3CA85D394343") +CDeckLinkGLScreenPreviewHelper; +#endif + +EXTERN_C const CLSID CLSID_CDeckLinkDX9ScreenPreviewHelper; + +#ifdef __cplusplus + +class DECLSPEC_UUID("CC010023-E01D-4525-9D59-80C8AB3DC7A0") +CDeckLinkDX9ScreenPreviewHelper; +#endif + +EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion; + +#ifdef __cplusplus + +class DECLSPEC_UUID("7DBBBB11-5B7B-467D-AEA4-CEA468FD368C") +CDeckLinkVideoConversion; +#endif + +EXTERN_C const CLSID CLSID_CDeckLinkDiscovery; + +#ifdef __cplusplus + +class DECLSPEC_UUID("1073A05C-D885-47E9-B3C6-129B3F9F648B") +CDeckLinkDiscovery; +#endif + +#ifndef __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ +#define __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ + +/* interface IDeckLinkEncoderConfiguration_v10_5 */ +/* [helpstring][local][uuid][object] */ + + +EXTERN_C const IID IID_IDeckLinkEncoderConfiguration_v10_5; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("67455668-0848-45DF-8D8E-350A77C9A028") + IDeckLinkEncoderConfiguration_v10_5 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetFlag( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ BOOL value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFlag( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ BOOL *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInt( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ LONGLONG value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInt( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ LONGLONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFloat( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ double value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFloat( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ double *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetString( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetString( + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ BSTR *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDecoderConfigurationInfo( + /* [out] */ void *buffer, + /* [in] */ long bufferSize, + /* [out] */ long *returnedSize) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDeckLinkEncoderConfiguration_v10_5Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeckLinkEncoderConfiguration_v10_5 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeckLinkEncoderConfiguration_v10_5 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeckLinkEncoderConfiguration_v10_5 * This); + + HRESULT ( STDMETHODCALLTYPE *SetFlag )( + IDeckLinkEncoderConfiguration_v10_5 * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ BOOL value); + + HRESULT ( STDMETHODCALLTYPE *GetFlag )( + IDeckLinkEncoderConfiguration_v10_5 * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ BOOL *value); + + HRESULT ( STDMETHODCALLTYPE *SetInt )( + IDeckLinkEncoderConfiguration_v10_5 * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ LONGLONG value); + + HRESULT ( STDMETHODCALLTYPE *GetInt )( + IDeckLinkEncoderConfiguration_v10_5 * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ LONGLONG *value); + + HRESULT ( STDMETHODCALLTYPE *SetFloat )( + IDeckLinkEncoderConfiguration_v10_5 * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ double value); + + HRESULT ( STDMETHODCALLTYPE *GetFloat )( + IDeckLinkEncoderConfiguration_v10_5 * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ double *value); + + HRESULT ( STDMETHODCALLTYPE *SetString )( + IDeckLinkEncoderConfiguration_v10_5 * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [in] */ BSTR value); + + HRESULT ( STDMETHODCALLTYPE *GetString )( + IDeckLinkEncoderConfiguration_v10_5 * This, + /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, + /* [out] */ BSTR *value); + + HRESULT ( STDMETHODCALLTYPE *GetDecoderConfigurationInfo )( + IDeckLinkEncoderConfiguration_v10_5 * This, + /* [out] */ void *buffer, + /* [in] */ long bufferSize, + /* [out] */ long *returnedSize); + + END_INTERFACE + } IDeckLinkEncoderConfiguration_v10_5Vtbl; -class DECLSPEC_UUID("F63E77C7-B655-4A4A-9AD0-3CA85D394343") -CDeckLinkGLScreenPreviewHelper; -#endif + interface IDeckLinkEncoderConfiguration_v10_5 + { + CONST_VTBL struct IDeckLinkEncoderConfiguration_v10_5Vtbl *lpVtbl; + }; -EXTERN_C const CLSID CLSID_CDeckLinkDX9ScreenPreviewHelper; + -#ifdef __cplusplus +#ifdef COBJMACROS -class DECLSPEC_UUID("CC010023-E01D-4525-9D59-80C8AB3DC7A0") -CDeckLinkDX9ScreenPreviewHelper; -#endif -EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion; +#define IDeckLinkEncoderConfiguration_v10_5_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#ifdef __cplusplus +#define IDeckLinkEncoderConfiguration_v10_5_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -class DECLSPEC_UUID("7DBBBB11-5B7B-467D-AEA4-CEA468FD368C") -CDeckLinkVideoConversion; -#endif +#define IDeckLinkEncoderConfiguration_v10_5_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -EXTERN_C const CLSID CLSID_CDeckLinkDiscovery; -#ifdef __cplusplus +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ */ + + +#ifndef __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ +#define __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ + +/* interface IDeckLinkConfiguration_v10_4 */ +/* [helpstring][local][uuid][object] */ + + +EXTERN_C const IID IID_IDeckLinkConfiguration_v10_4; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("1E69FCF6-4203-4936-8076-2A9F4CFD50CB") + IDeckLinkConfiguration_v10_4 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetFlag( + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [in] */ BOOL value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFlag( + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [out] */ BOOL *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInt( + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [in] */ LONGLONG value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInt( + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [out] */ LONGLONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFloat( + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [in] */ double value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFloat( + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [out] */ double *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetString( + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [in] */ BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetString( + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [out] */ BSTR *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDeckLinkConfiguration_v10_4Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeckLinkConfiguration_v10_4 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeckLinkConfiguration_v10_4 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeckLinkConfiguration_v10_4 * This); + + HRESULT ( STDMETHODCALLTYPE *SetFlag )( + IDeckLinkConfiguration_v10_4 * This, + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [in] */ BOOL value); + + HRESULT ( STDMETHODCALLTYPE *GetFlag )( + IDeckLinkConfiguration_v10_4 * This, + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [out] */ BOOL *value); + + HRESULT ( STDMETHODCALLTYPE *SetInt )( + IDeckLinkConfiguration_v10_4 * This, + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [in] */ LONGLONG value); + + HRESULT ( STDMETHODCALLTYPE *GetInt )( + IDeckLinkConfiguration_v10_4 * This, + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [out] */ LONGLONG *value); + + HRESULT ( STDMETHODCALLTYPE *SetFloat )( + IDeckLinkConfiguration_v10_4 * This, + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [in] */ double value); + + HRESULT ( STDMETHODCALLTYPE *GetFloat )( + IDeckLinkConfiguration_v10_4 * This, + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [out] */ double *value); + + HRESULT ( STDMETHODCALLTYPE *SetString )( + IDeckLinkConfiguration_v10_4 * This, + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [in] */ BSTR value); + + HRESULT ( STDMETHODCALLTYPE *GetString )( + IDeckLinkConfiguration_v10_4 * This, + /* [in] */ BMDDeckLinkConfigurationID cfgID, + /* [out] */ BSTR *value); + + HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( + IDeckLinkConfiguration_v10_4 * This); + + END_INTERFACE + } IDeckLinkConfiguration_v10_4Vtbl; + + interface IDeckLinkConfiguration_v10_4 + { + CONST_VTBL struct IDeckLinkConfiguration_v10_4Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ */ -class DECLSPEC_UUID("1073A05C-D885-47E9-B3C6-129B3F9F648B") -CDeckLinkDiscovery; -#endif #ifndef __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ #define __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ @@ -7295,9 +9190,9 @@ EXTERN_C const IID IID_IDeckLinkOutput_v9_9; /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( - /* [in] */ long width, - /* [in] */ long height, - /* [in] */ long rowBytes, + /* [in] */ int width, + /* [in] */ int height, + /* [in] */ int rowBytes, /* [in] */ BMDPixelFormat pixelFormat, /* [in] */ BMDFrameFlags flags, /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0; @@ -7319,20 +9214,20 @@ EXTERN_C const IID IID_IDeckLinkOutput_v9_9; /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( - /* [out] */ unsigned long *bufferedFrameCount) = 0; + /* [out] */ unsigned int *bufferedFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( /* [in] */ BMDAudioSampleRate sampleRate, /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned long channelCount, + /* [in] */ unsigned int channelCount, /* [in] */ BMDAudioOutputStreamType streamType) = 0; virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( /* [in] */ void *buffer, - /* [in] */ unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesWritten) = 0; + /* [in] */ unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesWritten) = 0; virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; @@ -7340,13 +9235,13 @@ EXTERN_C const IID IID_IDeckLinkOutput_v9_9; virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( /* [in] */ void *buffer, - /* [in] */ unsigned long sampleFrameCount, + /* [in] */ unsigned int sampleFrameCount, /* [in] */ BMDTimeValue streamTime, /* [in] */ BMDTimeScale timeScale, - /* [out] */ unsigned long *sampleFramesWritten) = 0; + /* [out] */ unsigned int *sampleFramesWritten) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned long *bufferedSampleFrameCount) = 0; + /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; @@ -7431,9 +9326,9 @@ EXTERN_C const IID IID_IDeckLinkOutput_v9_9; HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( IDeckLinkOutput_v9_9 * This, - /* [in] */ long width, - /* [in] */ long height, - /* [in] */ long rowBytes, + /* [in] */ int width, + /* [in] */ int height, + /* [in] */ int rowBytes, /* [in] */ BMDPixelFormat pixelFormat, /* [in] */ BMDFrameFlags flags, /* [out] */ IDeckLinkMutableVideoFrame **outFrame); @@ -7460,13 +9355,13 @@ EXTERN_C const IID IID_IDeckLinkOutput_v9_9; HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( IDeckLinkOutput_v9_9 * This, - /* [out] */ unsigned long *bufferedFrameCount); + /* [out] */ unsigned int *bufferedFrameCount); HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( IDeckLinkOutput_v9_9 * This, /* [in] */ BMDAudioSampleRate sampleRate, /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned long channelCount, + /* [in] */ unsigned int channelCount, /* [in] */ BMDAudioOutputStreamType streamType); HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( @@ -7475,8 +9370,8 @@ EXTERN_C const IID IID_IDeckLinkOutput_v9_9; HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( IDeckLinkOutput_v9_9 * This, /* [in] */ void *buffer, - /* [in] */ unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesWritten); + /* [in] */ unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesWritten); HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( IDeckLinkOutput_v9_9 * This); @@ -7487,14 +9382,14 @@ EXTERN_C const IID IID_IDeckLinkOutput_v9_9; HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( IDeckLinkOutput_v9_9 * This, /* [in] */ void *buffer, - /* [in] */ unsigned long sampleFrameCount, + /* [in] */ unsigned int sampleFrameCount, /* [in] */ BMDTimeValue streamTime, /* [in] */ BMDTimeScale timeScale, - /* [out] */ unsigned long *sampleFramesWritten); + /* [out] */ unsigned int *sampleFramesWritten); HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( IDeckLinkOutput_v9_9 * This, - /* [out] */ unsigned long *bufferedSampleFrameCount); + /* [out] */ unsigned int *bufferedSampleFrameCount); HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( IDeckLinkOutput_v9_9 * This); @@ -7687,17 +9582,17 @@ EXTERN_C const IID IID_IDeckLinkInput_v9_2; virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( - /* [out] */ unsigned long *availableFrameCount) = 0; + /* [out] */ unsigned int *availableFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( /* [in] */ BMDAudioSampleRate sampleRate, /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned long channelCount) = 0; + /* [in] */ unsigned int channelCount) = 0; virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( - /* [out] */ unsigned long *availableSampleFrameCount) = 0; + /* [out] */ unsigned int *availableSampleFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; @@ -7764,20 +9659,20 @@ EXTERN_C const IID IID_IDeckLinkInput_v9_2; HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( IDeckLinkInput_v9_2 * This, - /* [out] */ unsigned long *availableFrameCount); + /* [out] */ unsigned int *availableFrameCount); HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( IDeckLinkInput_v9_2 * This, /* [in] */ BMDAudioSampleRate sampleRate, /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned long channelCount); + /* [in] */ unsigned int channelCount); HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( IDeckLinkInput_v9_2 * This); HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( IDeckLinkInput_v9_2 * This, - /* [out] */ unsigned long *availableSampleFrameCount); + /* [out] */ unsigned int *availableSampleFrameCount); HRESULT ( STDMETHODCALLTYPE *StartStreams )( IDeckLinkInput_v9_2 * This); @@ -7909,7 +9804,7 @@ EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback_v8_1; virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged( /* [in] */ BMDDeckControlStatusFlags flags, - /* [in] */ unsigned long mask) = 0; + /* [in] */ unsigned int mask) = 0; }; @@ -7949,7 +9844,7 @@ EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback_v8_1; HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )( IDeckLinkDeckControlStatusCallback_v8_1 * This, /* [in] */ BMDDeckControlStatusFlags flags, - /* [in] */ unsigned long mask); + /* [in] */ unsigned int mask); END_INTERFACE } IDeckLinkDeckControlStatusCallback_v8_1Vtbl; @@ -8031,10 +9926,10 @@ EXTERN_C const IID IID_IDeckLinkDeckControl_v8_1; virtual HRESULT STDMETHODCALLTYPE SendCommand( /* [in] */ unsigned char *inBuffer, - /* [in] */ unsigned long inBufferSize, + /* [in] */ unsigned int inBufferSize, /* [out] */ unsigned char *outBuffer, - /* [out] */ unsigned long *outDataSize, - /* [in] */ unsigned long outBufferSize, + /* [out] */ unsigned int *outDataSize, + /* [in] */ unsigned int outBufferSize, /* [out] */ BMDDeckControlError *error) = 0; virtual HRESULT STDMETHODCALLTYPE Play( @@ -8088,25 +9983,25 @@ EXTERN_C const IID IID_IDeckLinkDeckControl_v8_1; /* [out] */ BMDDeckControlError *error) = 0; virtual HRESULT STDMETHODCALLTYPE SetPreroll( - /* [in] */ unsigned long prerollSeconds) = 0; + /* [in] */ unsigned int prerollSeconds) = 0; virtual HRESULT STDMETHODCALLTYPE GetPreroll( - /* [out] */ unsigned long *prerollSeconds) = 0; + /* [out] */ unsigned int *prerollSeconds) = 0; virtual HRESULT STDMETHODCALLTYPE SetExportOffset( - /* [in] */ long exportOffsetFields) = 0; + /* [in] */ int exportOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE GetExportOffset( - /* [out] */ long *exportOffsetFields) = 0; + /* [out] */ int *exportOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( - /* [out] */ long *deckManualExportOffsetFields) = 0; + /* [out] */ int *deckManualExportOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( - /* [in] */ long captureOffsetFields) = 0; + /* [in] */ int captureOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( - /* [out] */ long *captureOffsetFields) = 0; + /* [out] */ int *captureOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE StartExport( /* [in] */ BMDTimecodeBCD inTimecode, @@ -8180,10 +10075,10 @@ EXTERN_C const IID IID_IDeckLinkDeckControl_v8_1; HRESULT ( STDMETHODCALLTYPE *SendCommand )( IDeckLinkDeckControl_v8_1 * This, /* [in] */ unsigned char *inBuffer, - /* [in] */ unsigned long inBufferSize, + /* [in] */ unsigned int inBufferSize, /* [out] */ unsigned char *outBuffer, - /* [out] */ unsigned long *outDataSize, - /* [in] */ unsigned long outBufferSize, + /* [out] */ unsigned int *outDataSize, + /* [in] */ unsigned int outBufferSize, /* [out] */ BMDDeckControlError *error); HRESULT ( STDMETHODCALLTYPE *Play )( @@ -8252,31 +10147,31 @@ EXTERN_C const IID IID_IDeckLinkDeckControl_v8_1; HRESULT ( STDMETHODCALLTYPE *SetPreroll )( IDeckLinkDeckControl_v8_1 * This, - /* [in] */ unsigned long prerollSeconds); + /* [in] */ unsigned int prerollSeconds); HRESULT ( STDMETHODCALLTYPE *GetPreroll )( IDeckLinkDeckControl_v8_1 * This, - /* [out] */ unsigned long *prerollSeconds); + /* [out] */ unsigned int *prerollSeconds); HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( IDeckLinkDeckControl_v8_1 * This, - /* [in] */ long exportOffsetFields); + /* [in] */ int exportOffsetFields); HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( IDeckLinkDeckControl_v8_1 * This, - /* [out] */ long *exportOffsetFields); + /* [out] */ int *exportOffsetFields); HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( IDeckLinkDeckControl_v8_1 * This, - /* [out] */ long *deckManualExportOffsetFields); + /* [out] */ int *deckManualExportOffsetFields); HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( IDeckLinkDeckControl_v8_1 * This, - /* [in] */ long captureOffsetFields); + /* [in] */ int captureOffsetFields); HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( IDeckLinkDeckControl_v8_1 * This, - /* [out] */ long *captureOffsetFields); + /* [out] */ int *captureOffsetFields); HRESULT ( STDMETHODCALLTYPE *StartExport )( IDeckLinkDeckControl_v8_1 * This, @@ -8696,25 +10591,25 @@ EXTERN_C const IID IID_IDeckLinkDeckControl_v7_9; /* [out] */ BMDDeckControlError *error) = 0; virtual HRESULT STDMETHODCALLTYPE SetPreroll( - /* [in] */ unsigned long prerollSeconds) = 0; + /* [in] */ unsigned int prerollSeconds) = 0; virtual HRESULT STDMETHODCALLTYPE GetPreroll( - /* [out] */ unsigned long *prerollSeconds) = 0; + /* [out] */ unsigned int *prerollSeconds) = 0; virtual HRESULT STDMETHODCALLTYPE SetExportOffset( - /* [in] */ long exportOffsetFields) = 0; + /* [in] */ int exportOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE GetExportOffset( - /* [out] */ long *exportOffsetFields) = 0; + /* [out] */ int *exportOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( - /* [out] */ long *deckManualExportOffsetFields) = 0; + /* [out] */ int *deckManualExportOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( - /* [in] */ long captureOffsetFields) = 0; + /* [in] */ int captureOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( - /* [out] */ long *captureOffsetFields) = 0; + /* [out] */ int *captureOffsetFields) = 0; virtual HRESULT STDMETHODCALLTYPE StartExport( /* [in] */ BMDTimecodeBCD inTimecode, @@ -8851,31 +10746,31 @@ EXTERN_C const IID IID_IDeckLinkDeckControl_v7_9; HRESULT ( STDMETHODCALLTYPE *SetPreroll )( IDeckLinkDeckControl_v7_9 * This, - /* [in] */ unsigned long prerollSeconds); + /* [in] */ unsigned int prerollSeconds); HRESULT ( STDMETHODCALLTYPE *GetPreroll )( IDeckLinkDeckControl_v7_9 * This, - /* [out] */ unsigned long *prerollSeconds); + /* [out] */ unsigned int *prerollSeconds); HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( IDeckLinkDeckControl_v7_9 * This, - /* [in] */ long exportOffsetFields); + /* [in] */ int exportOffsetFields); HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( IDeckLinkDeckControl_v7_9 * This, - /* [out] */ long *exportOffsetFields); + /* [out] */ int *exportOffsetFields); HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( IDeckLinkDeckControl_v7_9 * This, - /* [out] */ long *deckManualExportOffsetFields); + /* [out] */ int *deckManualExportOffsetFields); HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( IDeckLinkDeckControl_v7_9 * This, - /* [in] */ long captureOffsetFields); + /* [in] */ int captureOffsetFields); HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( IDeckLinkDeckControl_v7_9 * This, - /* [out] */ long *captureOffsetFields); + /* [out] */ int *captureOffsetFields); HRESULT ( STDMETHODCALLTYPE *StartExport )( IDeckLinkDeckControl_v7_9 * This, @@ -9281,9 +11176,9 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_6; /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( - long width, - long height, - long rowBytes, + int width, + int height, + int rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; @@ -9305,20 +11200,20 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_6; /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( - /* [out] */ unsigned long *bufferedFrameCount) = 0; + /* [out] */ unsigned int *bufferedFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount, + unsigned int channelCount, BMDAudioOutputStreamType streamType) = 0; virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( /* [in] */ void *buffer, - unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesWritten) = 0; + unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesWritten) = 0; virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; @@ -9326,13 +11221,13 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_6; virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( /* [in] */ void *buffer, - unsigned long sampleFrameCount, + unsigned int sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, - /* [out] */ unsigned long *sampleFramesWritten) = 0; + /* [out] */ unsigned int *sampleFramesWritten) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned long *bufferedSampleFrameCount) = 0; + /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; @@ -9412,9 +11307,9 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_6; HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( IDeckLinkOutput_v7_6 * This, - long width, - long height, - long rowBytes, + int width, + int height, + int rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame); @@ -9441,13 +11336,13 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_6; HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( IDeckLinkOutput_v7_6 * This, - /* [out] */ unsigned long *bufferedFrameCount); + /* [out] */ unsigned int *bufferedFrameCount); HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( IDeckLinkOutput_v7_6 * This, BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount, + unsigned int channelCount, BMDAudioOutputStreamType streamType); HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( @@ -9456,8 +11351,8 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_6; HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( IDeckLinkOutput_v7_6 * This, /* [in] */ void *buffer, - unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesWritten); + unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesWritten); HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( IDeckLinkOutput_v7_6 * This); @@ -9468,14 +11363,14 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_6; HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( IDeckLinkOutput_v7_6 * This, /* [in] */ void *buffer, - unsigned long sampleFrameCount, + unsigned int sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, - /* [out] */ unsigned long *sampleFramesWritten); + /* [out] */ unsigned int *sampleFramesWritten); HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( IDeckLinkOutput_v7_6 * This, - /* [out] */ unsigned long *bufferedSampleFrameCount); + /* [out] */ unsigned int *bufferedSampleFrameCount); HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( IDeckLinkOutput_v7_6 * This); @@ -9659,17 +11554,17 @@ EXTERN_C const IID IID_IDeckLinkInput_v7_6; virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( - /* [out] */ unsigned long *availableFrameCount) = 0; + /* [out] */ unsigned int *availableFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount) = 0; + unsigned int channelCount) = 0; virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( - /* [out] */ unsigned long *availableSampleFrameCount) = 0; + /* [out] */ unsigned int *availableSampleFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; @@ -9734,20 +11629,20 @@ EXTERN_C const IID IID_IDeckLinkInput_v7_6; HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( IDeckLinkInput_v7_6 * This, - /* [out] */ unsigned long *availableFrameCount); + /* [out] */ unsigned int *availableFrameCount); HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( IDeckLinkInput_v7_6 * This, BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount); + unsigned int channelCount); HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( IDeckLinkInput_v7_6 * This); HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( IDeckLinkInput_v7_6 * This, - /* [out] */ unsigned long *availableSampleFrameCount); + /* [out] */ unsigned int *availableSampleFrameCount); HRESULT ( STDMETHODCALLTYPE *StartStreams )( IDeckLinkInput_v7_6 * This); @@ -10773,20 +12668,20 @@ EXTERN_C const IID IID_IDeckLinkConfiguration_v7_6; /* [out] */ BOOL *blackOutInCapture) = 0; virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame( - /* [in] */ unsigned long aFrameTimecode) = 0; + /* [in] */ unsigned int aFrameTimecode) = 0; virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame( - /* [out] */ unsigned long *aFrameTimecode) = 0; + /* [out] */ unsigned int *aFrameTimecode) = 0; virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping( - /* [in] */ unsigned long activeLine1VANCsource, - /* [in] */ unsigned long activeLine2VANCsource, - /* [in] */ unsigned long activeLine3VANCsource) = 0; + /* [in] */ unsigned int activeLine1VANCsource, + /* [in] */ unsigned int activeLine2VANCsource, + /* [in] */ unsigned int activeLine3VANCsource) = 0; virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping( - /* [out] */ unsigned long *activeLine1VANCsource, - /* [out] */ unsigned long *activeLine2VANCsource, - /* [out] */ unsigned long *activeLine3VANCsource) = 0; + /* [out] */ unsigned int *activeLine1VANCsource, + /* [out] */ unsigned int *activeLine2VANCsource, + /* [out] */ unsigned int *activeLine3VANCsource) = 0; virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat( /* [in] */ BMDAudioConnection_v10_2 audioInputFormat) = 0; @@ -10907,23 +12802,23 @@ EXTERN_C const IID IID_IDeckLinkConfiguration_v7_6; HRESULT ( STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame )( IDeckLinkConfiguration_v7_6 * This, - /* [in] */ unsigned long aFrameTimecode); + /* [in] */ unsigned int aFrameTimecode); HRESULT ( STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame )( IDeckLinkConfiguration_v7_6 * This, - /* [out] */ unsigned long *aFrameTimecode); + /* [out] */ unsigned int *aFrameTimecode); HRESULT ( STDMETHODCALLTYPE *SetVancSourceLineMapping )( IDeckLinkConfiguration_v7_6 * This, - /* [in] */ unsigned long activeLine1VANCsource, - /* [in] */ unsigned long activeLine2VANCsource, - /* [in] */ unsigned long activeLine3VANCsource); + /* [in] */ unsigned int activeLine1VANCsource, + /* [in] */ unsigned int activeLine2VANCsource, + /* [in] */ unsigned int activeLine3VANCsource); HRESULT ( STDMETHODCALLTYPE *GetVancSourceLineMapping )( IDeckLinkConfiguration_v7_6 * This, - /* [out] */ unsigned long *activeLine1VANCsource, - /* [out] */ unsigned long *activeLine2VANCsource, - /* [out] */ unsigned long *activeLine3VANCsource); + /* [out] */ unsigned int *activeLine1VANCsource, + /* [out] */ unsigned int *activeLine2VANCsource, + /* [out] */ unsigned int *activeLine3VANCsource); HRESULT ( STDMETHODCALLTYPE *SetAudioInputFormat )( IDeckLinkConfiguration_v7_6 * This, @@ -11385,9 +13280,9 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_3; /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( - long width, - long height, - long rowBytes, + int width, + int height, + int rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; @@ -11409,20 +13304,20 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_3; /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( - /* [out] */ unsigned long *bufferedFrameCount) = 0; + /* [out] */ unsigned int *bufferedFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount, + unsigned int channelCount, BMDAudioOutputStreamType streamType) = 0; virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( /* [in] */ void *buffer, - unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesWritten) = 0; + unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesWritten) = 0; virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; @@ -11430,13 +13325,13 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_3; virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( /* [in] */ void *buffer, - unsigned long sampleFrameCount, + unsigned int sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, - /* [out] */ unsigned long *sampleFramesWritten) = 0; + /* [out] */ unsigned int *sampleFramesWritten) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned long *bufferedSampleFrameCount) = 0; + /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; @@ -11509,9 +13404,9 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_3; HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( IDeckLinkOutput_v7_3 * This, - long width, - long height, - long rowBytes, + int width, + int height, + int rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame); @@ -11538,13 +13433,13 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_3; HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( IDeckLinkOutput_v7_3 * This, - /* [out] */ unsigned long *bufferedFrameCount); + /* [out] */ unsigned int *bufferedFrameCount); HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( IDeckLinkOutput_v7_3 * This, BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount, + unsigned int channelCount, BMDAudioOutputStreamType streamType); HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( @@ -11553,8 +13448,8 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_3; HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( IDeckLinkOutput_v7_3 * This, /* [in] */ void *buffer, - unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesWritten); + unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesWritten); HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( IDeckLinkOutput_v7_3 * This); @@ -11565,14 +13460,14 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_3; HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( IDeckLinkOutput_v7_3 * This, /* [in] */ void *buffer, - unsigned long sampleFrameCount, + unsigned int sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, - /* [out] */ unsigned long *sampleFramesWritten); + /* [out] */ unsigned int *sampleFramesWritten); HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( IDeckLinkOutput_v7_3 * This, - /* [out] */ unsigned long *bufferedSampleFrameCount); + /* [out] */ unsigned int *bufferedSampleFrameCount); HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( IDeckLinkOutput_v7_3 * This); @@ -11745,17 +13640,17 @@ EXTERN_C const IID IID_IDeckLinkInput_v7_3; virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( - /* [out] */ unsigned long *availableFrameCount) = 0; + /* [out] */ unsigned int *availableFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount) = 0; + unsigned int channelCount) = 0; virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( - /* [out] */ unsigned long *availableSampleFrameCount) = 0; + /* [out] */ unsigned int *availableSampleFrameCount) = 0; virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; @@ -11814,20 +13709,20 @@ EXTERN_C const IID IID_IDeckLinkInput_v7_3; HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( IDeckLinkInput_v7_3 * This, - /* [out] */ unsigned long *availableFrameCount); + /* [out] */ unsigned int *availableFrameCount); HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( IDeckLinkInput_v7_3 * This, BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount); + unsigned int channelCount); HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( IDeckLinkInput_v7_3 * This); HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( IDeckLinkInput_v7_3 * This, - /* [out] */ unsigned long *availableSampleFrameCount); + /* [out] */ unsigned int *availableSampleFrameCount); HRESULT ( STDMETHODCALLTYPE *StartStreams )( IDeckLinkInput_v7_3 * This); @@ -12792,18 +14687,18 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_1; /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( - long width, - long height, - long rowBytes, + int width, + int height, + int rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1 **outFrame) = 0; virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer( void *buffer, - long width, - long height, - long rowBytes, + int width, + int height, + int rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1 **outFrame) = 0; @@ -12823,14 +14718,14 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_1; virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount) = 0; + unsigned int channelCount) = 0; virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( void *buffer, - unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesWritten) = 0; + unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesWritten) = 0; virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; @@ -12838,13 +14733,13 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_1; virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( void *buffer, - unsigned long sampleFrameCount, + unsigned int sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, - /* [out] */ unsigned long *sampleFramesWritten) = 0; + /* [out] */ unsigned int *sampleFramesWritten) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned long *bufferedSampleCount) = 0; + /* [out] */ unsigned int *bufferedSampleCount) = 0; virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; @@ -12909,9 +14804,9 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_1; HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( IDeckLinkOutput_v7_1 * This, - long width, - long height, - long rowBytes, + int width, + int height, + int rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1 **outFrame); @@ -12919,9 +14814,9 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_1; HRESULT ( STDMETHODCALLTYPE *CreateVideoFrameFromBuffer )( IDeckLinkOutput_v7_1 * This, void *buffer, - long width, - long height, - long rowBytes, + int width, + int height, + int rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1 **outFrame); @@ -12945,7 +14840,7 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_1; IDeckLinkOutput_v7_1 * This, BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount); + unsigned int channelCount); HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( IDeckLinkOutput_v7_1 * This); @@ -12953,8 +14848,8 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_1; HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( IDeckLinkOutput_v7_1 * This, void *buffer, - unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesWritten); + unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesWritten); HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( IDeckLinkOutput_v7_1 * This); @@ -12965,14 +14860,14 @@ EXTERN_C const IID IID_IDeckLinkOutput_v7_1; HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( IDeckLinkOutput_v7_1 * This, void *buffer, - unsigned long sampleFrameCount, + unsigned int sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, - /* [out] */ unsigned long *sampleFramesWritten); + /* [out] */ unsigned int *sampleFramesWritten); HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( IDeckLinkOutput_v7_1 * This, - /* [out] */ unsigned long *bufferedSampleCount); + /* [out] */ unsigned int *bufferedSampleCount); HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( IDeckLinkOutput_v7_1 * This); @@ -13131,19 +15026,19 @@ EXTERN_C const IID IID_IDeckLinkInput_v7_1; virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount) = 0; + unsigned int channelCount) = 0; virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples( void *buffer, - unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesRead, + unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesRead, /* [out] */ BMDTimeValue *audioPacketTime, BMDTimeScale timeScale) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned long *bufferedSampleCount) = 0; + /* [out] */ unsigned int *bufferedSampleCount) = 0; virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; @@ -13198,7 +15093,7 @@ EXTERN_C const IID IID_IDeckLinkInput_v7_1; IDeckLinkInput_v7_1 * This, BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, - unsigned long channelCount); + unsigned int channelCount); HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( IDeckLinkInput_v7_1 * This); @@ -13206,14 +15101,14 @@ EXTERN_C const IID IID_IDeckLinkInput_v7_1; HRESULT ( STDMETHODCALLTYPE *ReadAudioSamples )( IDeckLinkInput_v7_1 * This, void *buffer, - unsigned long sampleFrameCount, - /* [out] */ unsigned long *sampleFramesRead, + unsigned int sampleFrameCount, + /* [out] */ unsigned int *sampleFramesRead, /* [out] */ BMDTimeValue *audioPacketTime, BMDTimeScale timeScale); HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( IDeckLinkInput_v7_1 * This, - /* [out] */ unsigned long *bufferedSampleCount); + /* [out] */ unsigned int *bufferedSampleCount); HRESULT ( STDMETHODCALLTYPE *StartStreams )( IDeckLinkInput_v7_1 * This); diff --git a/sys/decklink/win/DeckLinkAPIDispatch.cpp b/sys/decklink/win/DeckLinkAPIDispatch.cpp index 8a69a8ae84..d06c59f1d1 100644 --- a/sys/decklink/win/DeckLinkAPIDispatch.cpp +++ b/sys/decklink/win/DeckLinkAPIDispatch.cpp @@ -1,40 +1,40 @@ -/* -LICENSE-START- -** Copyright (c) 2011 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -**/ - -#include "DeckLinkAPI.h" - -extern "C" { - -IDeckLinkIterator* CreateDeckLinkIteratorInstance (void) -{ - IDeckLinkIterator *deckLinkIterator = NULL; - HRESULT res = CoCreateInstance(CLSID_CDeckLinkIterator, NULL, CLSCTX_ALL, - IID_IDeckLinkIterator, (void**)&deckLinkIterator); - return deckLinkIterator; -} - +/* -LICENSE-START- +** Copyright (c) 2011 Blackmagic Design +** +** Permission is hereby granted, free of charge, to any person or organization +** obtaining a copy of the software and accompanying documentation covered by +** this license (the "Software") to use, reproduce, display, distribute, +** execute, and transmit the Software, and to prepare derivative works of the +** Software, and to permit third-parties to whom the Software is furnished to +** do so, all subject to the following: +** +** The copyright notices in the Software and this entire statement, including +** the above license grant, this restriction and the following disclaimer, +** must be included in all copies of the Software, in whole or in part, and +** all derivative works of the Software, unless such copies or derivative +** works are solely in the form of machine-executable object code generated by +** a source language processor. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +** DEALINGS IN THE SOFTWARE. +** -LICENSE-END- +**/ + +#include "DeckLinkAPI.h" + +extern "C" { + +IDeckLinkIterator* CreateDeckLinkIteratorInstance (void) +{ + IDeckLinkIterator *deckLinkIterator = NULL; + HRESULT res = CoCreateInstance(CLSID_CDeckLinkIterator, NULL, CLSCTX_ALL, + IID_IDeckLinkIterator, (void**)&deckLinkIterator); + return deckLinkIterator; +} + }; \ No newline at end of file diff --git a/sys/decklink/win/DeckLinkAPI_i.c b/sys/decklink/win/DeckLinkAPI_i.c index 1769bf8515..cd1e98740a 100644 --- a/sys/decklink/win/DeckLinkAPI_i.c +++ b/sys/decklink/win/DeckLinkAPI_i.c @@ -5,11 +5,11 @@ /* link this file in with the server and any clients */ - /* File created by MIDL compiler version 8.00.0595 */ -/* at Wed Dec 03 06:04:46 2014 + /* File created by MIDL compiler version 8.00.0603 */ +/* at Fri Jan 27 17:12:54 2017 */ -/* Compiler settings for DeckLinkAPI.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.00.0595 +/* Compiler settings for ..\..\..\..\..\..\blackmagic\SDK\Win\include\DeckLinkAPI.idl: + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.00.0603 protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: @@ -82,7 +82,10 @@ MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode,0x3EB2C1AB,0x0A3D,0x4523,0xA3,0xA MIDL_DEFINE_GUID(IID, IID_IDeckLink,0xC418FBDD,0x0587,0x48ED,0x8F,0xE5,0x64,0x0F,0x0A,0x14,0xAF,0x91); -MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration,0x1E69FCF6,0x4203,0x4936,0x80,0x76,0x2A,0x9F,0x4C,0xFD,0x50,0xCB); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration,0xCB71734A,0xFE37,0x4E8D,0x8E,0x13,0x80,0x21,0x33,0xA1,0xC3,0xF2); + + +MIDL_DEFINE_GUID(IID, IID_IDeckLinkEncoderConfiguration,0x138050E5,0xC60A,0x4552,0xBF,0x3F,0x0F,0x35,0x80,0x49,0x32,0x7E); MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeckControlStatusCallback,0x53436FFB,0xB434,0x4906,0xBA,0xDC,0xAE,0x30,0x60,0xFF,0xE8,0xEF); @@ -136,6 +139,9 @@ MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback,0x20AA5225,0x1958,0x47CB, MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback,0xDD04E5EC,0x7415,0x42AB,0xAE,0x4A,0xE8,0x0C,0x4D,0xFC,0x04,0x4A); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkEncoderInputCallback,0xACF13E61,0xF4A0,0x4974,0xA6,0xA7,0x59,0xAF,0xF6,0x26,0x8B,0x31); + + MIDL_DEFINE_GUID(IID, IID_IDeckLinkMemoryAllocator,0xB36EB6E7,0x9D29,0x4AA8,0x92,0xEF,0x84,0x3B,0x87,0xA2,0x89,0xE8); @@ -154,6 +160,9 @@ MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput,0xCC5C8A6E,0x3F2F,0x4B3A,0x87,0xEA,0xF MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput,0xAF22762B,0xDFAC,0x4846,0xAA,0x79,0xFA,0x88,0x83,0x56,0x09,0x95); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkEncoderInput,0x270587DA,0x6B7D,0x42E7,0xA1,0xF0,0x6D,0x85,0x3F,0x58,0x11,0x85); + + MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame,0x3F716FE0,0xF023,0x4111,0xBE,0x5D,0xEF,0x44,0x14,0xC0,0x5B,0x17); @@ -163,12 +172,27 @@ MIDL_DEFINE_GUID(IID, IID_IDeckLinkMutableVideoFrame,0x69E2639F,0x40DA,0x4E19,0x MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame3DExtensions,0xDA0F7E4A,0xEDC7,0x48A8,0x9C,0xDD,0x2D,0xB5,0x1C,0x72,0x9C,0xD7); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrameMetadataExtensions,0xD5973DC9,0x6432,0x46D0,0x8F,0x0B,0x24,0x96,0xF8,0xA1,0x23,0x8F); + + MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame,0x05CFE374,0x537C,0x4094,0x9A,0x57,0x68,0x05,0x25,0x11,0x8F,0x44); MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrameAncillary,0x732E723C,0xD1A4,0x4E29,0x9E,0x8E,0x4A,0x88,0x79,0x7A,0x00,0x04); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkEncoderPacket,0xB693F36C,0x316E,0x4AF1,0xB6,0xC2,0xF3,0x89,0xA4,0xBC,0xA6,0x20); + + +MIDL_DEFINE_GUID(IID, IID_IDeckLinkEncoderVideoPacket,0x4E7FD944,0xE8C7,0x4EAC,0xB8,0xC0,0x7B,0x77,0xF8,0x0F,0x5A,0xE0); + + +MIDL_DEFINE_GUID(IID, IID_IDeckLinkEncoderAudioPacket,0x49E8EDC8,0x693B,0x4E14,0x8E,0xF6,0x12,0xC6,0x58,0xF5,0xA0,0x7A); + + +MIDL_DEFINE_GUID(IID, IID_IDeckLinkH265NALPacket,0x639C8E0B,0x68D5,0x4BDE,0xA6,0xD4,0x95,0xF3,0xAE,0xAF,0xF2,0xE7); + + MIDL_DEFINE_GUID(IID, IID_IDeckLinkAudioInputPacket,0xE43D5870,0x2894,0x11DE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66); @@ -190,6 +214,9 @@ MIDL_DEFINE_GUID(IID, IID_IDeckLinkNotification,0x0a1fb207,0xe215,0x441b,0x9b,0x MIDL_DEFINE_GUID(IID, IID_IDeckLinkAttributes,0xABC11843,0xD966,0x44CB,0x96,0xE2,0xA1,0xCB,0x5D,0x31,0x35,0xC4); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkStatus,0x5F558200,0x4028,0x49BC,0xBE,0xAC,0xDB,0x3F,0xA4,0xA9,0x6E,0x46); + + MIDL_DEFINE_GUID(IID, IID_IDeckLinkKeyer,0x89AFCAF5,0x65F8,0x421E,0x98,0xF7,0x96,0xFE,0x5F,0x5B,0xFB,0xA3); @@ -220,6 +247,12 @@ MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkVideoConversion,0x7DBBBB11,0x5B7B,0x467D, MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkDiscovery,0x1073A05C,0xD885,0x47E9,0xB3,0xC6,0x12,0x9B,0x3F,0x9F,0x64,0x8B); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkEncoderConfiguration_v10_5,0x67455668,0x0848,0x45DF,0x8D,0x8E,0x35,0x0A,0x77,0xC9,0xA0,0x28); + + +MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v10_4,0x1E69FCF6,0x4203,0x4936,0x80,0x76,0x2A,0x9F,0x4C,0xFD,0x50,0xCB); + + MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v10_2,0xC679A35B,0x610C,0x4D09,0xB7,0x48,0x1D,0x04,0x78,0x10,0x0F,0xC0);