[Sumover-dev] [svn commit] r4883 - vic/branches/mpeg4/video
sumover-dev at cs.ucl.ac.uk
sumover-dev at cs.ucl.ac.uk
Tue Sep 7 05:22:51 BST 2010
Author: douglask
Date: Tue Sep 7 05:22:51 2010
New Revision: 4883
Added:
vic/branches/mpeg4/video/DeckLinkAPI_v7_6.idl
Modified:
vic/branches/mpeg4/video/DeckLinkAPI.idl
vic/branches/mpeg4/video/DeckLinkAPI_h.h
vic/branches/mpeg4/video/DeckLinkAPI_i.cpp
vic/branches/mpeg4/video/DeckLinkAPI_v7_3.idl
vic/branches/mpeg4/video/grabber-decklink.cpp
Log:
Blackmagic DeckLink SDK 7.8.1 related updates
Modified: vic/branches/mpeg4/video/DeckLinkAPI.idl
==============================================================================
--- vic/branches/mpeg4/video/DeckLinkAPI.idl (original)
+++ vic/branches/mpeg4/video/DeckLinkAPI.idl Tue Sep 7 05:22:51 2010
@@ -34,15 +34,17 @@
library DeckLinkAPI
{
-/* Type Declarations */
+// Type Declarations
typedef LONGLONG BMDTimeValue;
typedef LONGLONG BMDTimeScale;
typedef unsigned long BMDTimecodeBCD;
+typedef unsigned long BMDTimecodeUserBits;
-/* Enumeration Mapping */
+// Enumeration Mapping
+cpp_quote("typedef unsigned long BMDDisplayModeFlags;")
cpp_quote("typedef unsigned long BMDFrameFlags;")
cpp_quote("typedef unsigned long BMDVideoInputFlags;")
cpp_quote("typedef unsigned long BMDVideoInputFormatChangedEvents;")
@@ -52,6 +54,7 @@
cpp_quote("typedef unsigned long BMDDeckControlStatusFlags;")
cpp_quote("typedef unsigned long BMDDeckControlExportModeOpsFlags;")
cpp_quote("#if 0")
+typedef enum _BMDDisplayModeFlags BMDDisplayModeFlags;
typedef enum _BMDFrameFlags BMDFrameFlags;
typedef enum _BMDVideoInputFlags BMDVideoInputFlags;
typedef enum _BMDVideoInputFormatChangedEvents BMDVideoInputFormatChangedEvents;
@@ -66,6 +69,9 @@
/* Enum BMDDisplayMode - Video display modes */
typedef [v1_enum] enum _BMDDisplayMode {
+
+ /* SD Modes */
+
bmdModeNTSC = /* 'ntsc' */ 0x6E747363,
bmdModeNTSC2398 = /* 'nt23' */ 0x6E743233, // 3:2 pulldown
bmdModePAL = /* 'pal ' */ 0x70616C20,
@@ -120,13 +126,23 @@
} BMDPixelFormat;
+/* Enum BMDDisplayModeFlags - Flags to describe the characteristics of an IDeckLinkDisplayMode. */
+
+[v1_enum] enum _BMDDisplayModeFlags {
+ bmdDisplayModeSupports3D = 1 << 0,
+ bmdDisplayModeColorspaceRec601 = 1 << 1,
+ bmdDisplayModeColorspaceRec709 = 1 << 2
+};
+
+
/* Enum BMDVideoOutputFlags - Flags to control the output of ancillary data along with video. */
typedef [v1_enum] enum _BMDVideoOutputFlags {
bmdVideoOutputFlagDefault = 0,
bmdVideoOutputVANC = 1 << 0,
bmdVideoOutputVITC = 1 << 1,
- bmdVideoOutputRP188 = 1 << 2
+ bmdVideoOutputRP188 = 1 << 2,
+ bmdVideoOutputDualStream3D = 1 << 4
} BMDVideoOutputFlags;
@@ -146,7 +162,8 @@
[v1_enum] enum _BMDVideoInputFlags {
bmdVideoInputFlagDefault = 0,
- bmdVideoInputEnableFormatDetection = 1 << 0
+ bmdVideoInputEnableFormatDetection = 1 << 0,
+ bmdVideoInputDualStream3D = 1 << 1
};
@@ -177,6 +194,14 @@
} BMDOutputFrameCompletionResult;
+/* Enum BMDReferenceStatus - GenLock input status */
+
+typedef [v1_enum] enum _BMDReferenceStatus {
+ bmdReferenceNotSupportedByHardware = 1 << 0,
+ bmdReferenceLocked = 1 << 1
+} BMDReferenceStatus;
+
+
/* Enum BMDAudioSampleRate - Audio sample rates supported for output/input */
typedef [v1_enum] enum _BMDAudioSampleRate {
@@ -230,12 +255,12 @@
/* Enum BMDVideoConnection - Video connection types */
typedef [v1_enum] enum _BMDVideoConnection {
- bmdVideoConnectionSDI = /* 'sdi ' */ 0x73646920,
- bmdVideoConnectionHDMI = /* 'hdmi' */ 0x68646D69,
- bmdVideoConnectionOpticalSDI = /* 'opti' */ 0x6F707469,
- bmdVideoConnectionComponent = /* 'cpnt' */ 0x63706E74,
- bmdVideoConnectionComposite = /* 'cmst' */ 0x636D7374,
- bmdVideoConnectionSVideo = /* 'svid' */ 0x73766964
+ bmdVideoConnectionSDI = 1 << 0,
+ bmdVideoConnectionHDMI = 1 << 1,
+ bmdVideoConnectionOpticalSDI = 1 << 2,
+ bmdVideoConnectionComponent = 1 << 3,
+ bmdVideoConnectionComposite = 1 << 4,
+ bmdVideoConnectionSVideo = 1 << 5
} BMDVideoConnection;
@@ -256,6 +281,14 @@
} BMDAudioConnection;
+/* Enum BMDAudioOutputAnalogAESSwitch - Audio output Analog/AESEBU switch */
+
+typedef [v1_enum] enum _BMDAudioOutputAnalogAESSwitch {
+ bmdAudioOutputSwitchAESEBU = /* 'aes ' */ 0x61657320,
+ bmdAudioOutputSwitchAnalog = /* 'anlg' */ 0x616E6C67
+} BMDAudioOutputAnalogAESSwitch;
+
+
/* Enum BMDVideoOutputConversionMode - Video/audio conversion mode */
typedef [v1_enum] enum _BMDVideoOutputConversionMode {
@@ -269,6 +302,8 @@
bmdVideoOutputHardware720p1080pCrossconversion = /* 'xcap' */ 0x78636170,
bmdVideoOutputHardwareAnamorphic720pUpconversion = /* 'ua7p' */ 0x75613770,
bmdVideoOutputHardwareAnamorphic1080iUpconversion = /* 'ua1i' */ 0x75613169,
+ bmdVideoOutputHardwareAnamorphic149To720pUpconversion = /* 'u47p' */ 0x75343770,
+ bmdVideoOutputHardwareAnamorphic149To1080iUpconversion = /* 'u41i' */ 0x75343169,
bmdVideoOutputHardwarePillarbox720pUpconversion = /* 'up7p' */ 0x75703770,
bmdVideoOutputHardwarePillarbox1080iUpconversion = /* 'up1i' */ 0x75703169
} BMDVideoOutputConversionMode;
@@ -287,7 +322,86 @@
} BMDVideoInputConversionMode;
-/* Enum BMDDeckLinkAttributeID - DeckLink Atribute ID */
+/* Enum BMDVideo3DPackingFormat - Video 3D packing format */
+
+typedef [v1_enum] enum _BMDVideo3DPackingFormat {
+ bmdVideo3DPackingSidebySideHalf = /* 'sbsh' */ 0x73627368,
+ bmdVideo3DPackingLinebyLine = /* 'lbyl' */ 0x6C62796C,
+ bmdVideo3DPackingTopAndBottom = /* 'tabo' */ 0x7461626F,
+ bmdVideo3DPackingLeftOnly = /* 'left' */ 0x6C656674,
+ bmdVideo3DPackingRightOnly = /* 'righ' */ 0x72696768
+} BMDVideo3DPackingFormat;
+
+
+/* Enum BMDDeckLinkConfigurationID - DeckLink Configuration ID */
+
+typedef [v1_enum] enum _BMDDeckLinkConfigurationID {
+
+ /* Video Input/Output Flags */
+
+ bmdDeckLinkConfigUse1080pNotPsF = /* 'fpro' */ 0x6670726F,
+
+ /* Video Input/Output Integers */
+
+ bmdDeckLinkConfigHDMI3DPackingFormat = /* '3dpf' */ 0x33647066,
+
+ /* Audio Input/Output Flags */
+
+ bmdDeckLinkConfigAnalogAudioConsumerLevels = /* 'aacl' */ 0x6161636C,
+
+ /* Video output flags */
+
+ bmdDeckLinkConfigFieldFlickerRemoval = /* 'fdfr' */ 0x66646672,
+ bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = /* 'to59' */ 0x746F3539,
+ bmdDeckLinkConfig444SDIVideoOutput = /* '444o' */ 0x3434346F,
+ bmdDeckLinkConfig3GBpsVideoOutput = /* '3gbs' */ 0x33676273,
+ bmdDeckLinkConfigBlackVideoOutputDuringCapture = /* 'bvoc' */ 0x62766F63,
+ bmdDeckLinkConfigLowLatencyVideoOutput = /* 'llvo' */ 0x6C6C766F,
+
+ /* Video Output Integers */
+
+ bmdDeckLinkConfigVideoOutputConnection = /* 'vocn' */ 0x766F636E,
+ bmdDeckLinkConfigVideoOutputConversionMode = /* 'vocm' */ 0x766F636D,
+ bmdDeckLinkConfigAnalogVideoOutputFlags = /* 'avof' */ 0x61766F66,
+ bmdDeckLinkConfigReferenceInputTimingOffset = /* 'glot' */ 0x676C6F74,
+
+ /* Video Input Integers */
+
+ bmdDeckLinkConfigVideoInputConnection = /* 'vicn' */ 0x7669636E,
+ bmdDeckLinkConfigAnalogVideoInputFlags = /* 'avif' */ 0x61766966,
+ bmdDeckLinkConfigVideoInputConversionMode = /* 'vicm' */ 0x7669636D,
+ bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = /* 'pdif' */ 0x70646966,
+ bmdDeckLinkConfigVANCSourceLine1Mapping = /* 'vsl1' */ 0x76736C31,
+ bmdDeckLinkConfigVANCSourceLine2Mapping = /* 'vsl2' */ 0x76736C32,
+ bmdDeckLinkConfigVANCSourceLine3Mapping = /* 'vsl3' */ 0x76736C33,
+
+ /* Audio Input Integers */
+
+ bmdDeckLinkConfigAudioInputConnection = /* 'aicn' */ 0x6169636E,
+
+ /* Audio Input Floats */
+
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = /* 'ais1' */ 0x61697331,
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = /* 'ais2' */ 0x61697332,
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = /* 'ais3' */ 0x61697333,
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = /* 'ais4' */ 0x61697334,
+ bmdDeckLinkConfigDigitalAudioInputScale = /* 'dais' */ 0x64616973,
+
+ /* Audio Output Integers */
+
+ bmdDeckLinkConfigAudioOutputAESAnalogSwitch = /* 'aoaa' */ 0x616F6161,
+
+ /* Audio Output Floats */
+
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = /* 'aos1' */ 0x616F7331,
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = /* 'aos2' */ 0x616F7332,
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = /* 'aos3' */ 0x616F7333,
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = /* 'aos4' */ 0x616F7334,
+ bmdDeckLinkConfigDigitalAudioOutputScale = /* 'daos' */ 0x64616F73
+} BMDDeckLinkConfigurationID;
+
+
+/* Enum BMDDeckLinkAttributeID - DeckLink Attribute ID */
typedef [v1_enum] enum _BMDDeckLinkAttributeID {
@@ -297,11 +411,16 @@
BMDDeckLinkSupportsExternalKeying = /* 'keye' */ 0x6B657965,
BMDDeckLinkSupportsHDKeying = /* 'keyh' */ 0x6B657968,
BMDDeckLinkSupportsInputFormatDetection = /* 'infd' */ 0x696E6664,
+ BMDDeckLinkHasReferenceInput = /* 'hrin' */ 0x6872696E,
BMDDeckLinkHasSerialPort = /* 'hspt' */ 0x68737074,
/* Integers */
BMDDeckLinkMaximumAudioChannels = /* 'mach' */ 0x6D616368,
+ BMDDeckLinkNumberOfSubDevices = /* 'nsbd' */ 0x6E736264,
+ BMDDeckLinkSubDeviceIndex = /* 'subi' */ 0x73756269,
+ BMDDeckLinkVideoOutputConnections = /* 'vocn' */ 0x766F636E,
+ BMDDeckLinkVideoInputConnections = /* 'vicn' */ 0x7669636E,
/* Strings */
@@ -408,7 +527,18 @@
} BMDDeckControlError;
-/* Forward Declarations */
+/* Enum BMD3DPreviewFormat - Linked Frame preview format */
+
+typedef [v1_enum] enum _BMD3DPreviewFormat {
+ bmd3DPreviewFormatDefault = /* 'defa' */ 0x64656661,
+ bmd3DPreviewFormatLeftOnly = /* 'left' */ 0x6C656674,
+ bmd3DPreviewFormatRightOnly = /* 'righ' */ 0x72696768,
+ bmd3DPreviewFormatSideBySide = /* 'side' */ 0x73696465,
+ bmd3DPreviewFormatTopBottom = /* 'topb' */ 0x746F7062
+} BMD3DPreviewFormat;
+
+
+// Forward Declarations
interface IDeckLinkVideoOutputCallback;
interface IDeckLinkInputCallback;
@@ -424,6 +554,7 @@
interface IDeckLinkTimecode;
interface IDeckLinkVideoFrame;
interface IDeckLinkMutableVideoFrame;
+interface IDeckLinkVideoFrame3DExtensions;
interface IDeckLinkVideoInputFrame;
interface IDeckLinkVideoFrameAncillary;
interface IDeckLinkAudioInputPacket;
@@ -441,7 +572,7 @@
[
object,
- uuid(E763A626-4A3C-49D1-BF13-E7AD3692AE52),
+ uuid(20AA5225-1958-47CB-820B-80A8D521A6EE),
helpstring("Frame completion callback.")
] interface IDeckLinkVideoOutputCallback : IUnknown
{
@@ -454,7 +585,7 @@
[
object,
- uuid(31D28EE7-88B6-4CB1-897A-CDBF79A26414),
+ uuid(DD04E5EC-7415-42AB-AE4A-E80C4DFC044A),
helpstring("Frame arrival callback.")
] interface IDeckLinkInputCallback : IUnknown
{
@@ -472,7 +603,7 @@
helpstring("Memory allocator for video frames.")
] interface IDeckLinkMemoryAllocator : IUnknown
{
- HRESULT AllocateBuffer(unsigned long bufferSize, [out] void **allocatedBuffer);
+ HRESULT AllocateBuffer([in] unsigned long bufferSize, [out] void **allocatedBuffer);
HRESULT ReleaseBuffer([in] void *buffer);
HRESULT Commit(void);
@@ -489,7 +620,7 @@
helpstring("Optional callback to allow audio samples to be pulled as required.")
] interface IDeckLinkAudioOutputCallback : IUnknown
{
- HRESULT RenderAudioSamples(BOOL preroll);
+ HRESULT RenderAudioSamples([in] BOOL preroll);
};
@@ -524,7 +655,7 @@
[
object,
- uuid(455D741F-1779-4800-86F5-0B5D13D79751),
+ uuid(9C88499F-F601-4021-B80B-032E4EB41C35),
helpstring("enumerates over supported input/output display modes.")
] interface IDeckLinkDisplayModeIterator : IUnknown
{
@@ -536,7 +667,7 @@
[
object,
- uuid(87451E84-2B7E-439E-A629-4393EA4A8550),
+ uuid(3EB2C1AB-0A3D-4523-A3AD-F40D7FB14E78),
helpstring("represents a display mode")
] interface IDeckLinkDisplayMode : IUnknown
{
@@ -546,6 +677,7 @@
long GetHeight(void);
HRESULT GetFrameRate([out] BMDTimeValue *frameDuration, [out] BMDTimeScale *timeScale);
BMDFieldDominance GetFieldDominance(void);
+ BMDDisplayModeFlags GetFlags(void);
};
@@ -565,40 +697,40 @@
[
object,
- uuid(29228142-EB8C-4141-A621-F74026450955),
+ uuid(A3EF0963-0862-44ED-92A9-EE89ABF431C7),
local,
helpstring("Created by QueryInterface from IDeckLink.")
] interface IDeckLinkOutput : IUnknown
{
- HRESULT DoesSupportVideoMode(BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, [out] BMDDisplayModeSupport *result);
+ HRESULT DoesSupportVideoMode([in] BMDDisplayMode displayMode, [in] BMDPixelFormat pixelFormat, [in] BMDVideoOutputFlags flags, [out] BMDDisplayModeSupport *result, [out] IDeckLinkDisplayMode **resultDisplayMode);
HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator **iterator);
HRESULT SetScreenPreviewCallback([in] IDeckLinkScreenPreviewCallback *previewCallback);
/* Video Output */
- HRESULT EnableVideoOutput(BMDDisplayMode displayMode, BMDVideoOutputFlags flags);
+ HRESULT EnableVideoOutput([in] BMDDisplayMode displayMode, [in] BMDVideoOutputFlags flags);
HRESULT DisableVideoOutput(void);
HRESULT SetVideoOutputFrameMemoryAllocator([in] IDeckLinkMemoryAllocator *theAllocator);
- HRESULT CreateVideoFrame(long width, long height, long rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, [out] IDeckLinkMutableVideoFrame **outFrame);
- HRESULT CreateAncillaryData(BMDPixelFormat pixelFormat, [out] IDeckLinkVideoFrameAncillary **outBuffer);
+ HRESULT CreateVideoFrame([in] long width, [in] long height, [in] long rowBytes, [in] BMDPixelFormat pixelFormat, [in] BMDFrameFlags flags, [out] IDeckLinkMutableVideoFrame **outFrame);
+ HRESULT CreateAncillaryData([in] BMDPixelFormat pixelFormat, [out] IDeckLinkVideoFrameAncillary **outBuffer);
HRESULT DisplayVideoFrameSync([in] IDeckLinkVideoFrame *theFrame);
- HRESULT ScheduleVideoFrame([in] IDeckLinkVideoFrame *theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale);
+ HRESULT ScheduleVideoFrame([in] IDeckLinkVideoFrame *theFrame, [in] BMDTimeValue displayTime, [in] BMDTimeValue displayDuration, [in] BMDTimeScale timeScale);
HRESULT SetScheduledFrameCompletionCallback([in] IDeckLinkVideoOutputCallback *theCallback);
HRESULT GetBufferedVideoFrameCount([out] unsigned long *bufferedFrameCount);
/* Audio Output */
- HRESULT EnableAudioOutput(BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, unsigned long channelCount, BMDAudioOutputStreamType streamType);
+ HRESULT EnableAudioOutput([in] BMDAudioSampleRate sampleRate, [in] BMDAudioSampleType sampleType, [in] unsigned long channelCount, [in] BMDAudioOutputStreamType streamType);
HRESULT DisableAudioOutput(void);
- HRESULT WriteAudioSamplesSync([in] void *buffer, unsigned long sampleFrameCount, [out] unsigned long *sampleFramesWritten);
+ HRESULT WriteAudioSamplesSync([in] void *buffer, [in] unsigned long sampleFrameCount, [out] unsigned long *sampleFramesWritten);
HRESULT BeginAudioPreroll(void);
HRESULT EndAudioPreroll(void);
- HRESULT ScheduleAudioSamples([in] void *buffer, unsigned long sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, [out] unsigned long *sampleFramesWritten);
+ HRESULT ScheduleAudioSamples([in] void *buffer, [in] unsigned long sampleFrameCount, [in] BMDTimeValue streamTime, [in] BMDTimeScale timeScale, [out] unsigned long *sampleFramesWritten);
HRESULT GetBufferedAudioSampleFrameCount([out] unsigned long *bufferedSampleFrameCount);
HRESULT FlushBufferedAudioSamples(void);
@@ -607,14 +739,15 @@
/* Output Control */
- HRESULT StartScheduledPlayback(BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed);
- HRESULT StopScheduledPlayback(BMDTimeValue stopPlaybackAtTime, [out] BMDTimeValue *actualStopTime, BMDTimeScale timeScale);
+ HRESULT StartScheduledPlayback([in] BMDTimeValue playbackStartTime, [in] BMDTimeScale timeScale, [in] double playbackSpeed);
+ HRESULT StopScheduledPlayback([in] BMDTimeValue stopPlaybackAtTime, [out] BMDTimeValue *actualStopTime, [in] BMDTimeScale timeScale);
HRESULT IsScheduledPlaybackRunning([out] BOOL *active);
- HRESULT GetScheduledStreamTime(BMDTimeScale desiredTimeScale, [out] BMDTimeValue *streamTime, [out] double *playbackSpeed);
+ HRESULT GetScheduledStreamTime([in] BMDTimeScale desiredTimeScale, [out] BMDTimeValue *streamTime, [out] double *playbackSpeed);
+ HRESULT GetReferenceStatus([out] BMDReferenceStatus *referenceStatus);
/* Hardware Timing */
- HRESULT GetHardwareReferenceClock(BMDTimeScale desiredTimeScale, [out] BMDTimeValue *hardwareTime, [out] BMDTimeValue *timeInFrame, [out] BMDTimeValue *ticksPerFrame);
+ HRESULT GetHardwareReferenceClock([in] BMDTimeScale desiredTimeScale, [out] BMDTimeValue *hardwareTime, [out] BMDTimeValue *timeInFrame, [out] BMDTimeValue *ticksPerFrame);
};
@@ -622,24 +755,24 @@
[
object,
- uuid(300C135A-9F43-48E2-9906-6D7911D93CF1),
+ uuid(6D40EF78-28B9-4E21-990D-95BB7750A04F),
helpstring("Created by QueryInterface from IDeckLink.")
] interface IDeckLinkInput : IUnknown
{
- HRESULT DoesSupportVideoMode(BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, [out] BMDDisplayModeSupport *result);
+ HRESULT DoesSupportVideoMode([in] BMDDisplayMode displayMode, [in] BMDPixelFormat pixelFormat, [in] BMDVideoInputFlags flags, [out] BMDDisplayModeSupport *result, [out] IDeckLinkDisplayMode **resultDisplayMode);
HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator **iterator);
HRESULT SetScreenPreviewCallback([in] IDeckLinkScreenPreviewCallback *previewCallback);
/* Video Input */
- HRESULT EnableVideoInput(BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags);
+ HRESULT EnableVideoInput([in] BMDDisplayMode displayMode, [in] BMDPixelFormat pixelFormat, [in] BMDVideoInputFlags flags);
HRESULT DisableVideoInput(void);
HRESULT GetAvailableVideoFrameCount([out] unsigned long *availableFrameCount);
/* Audio Input */
- HRESULT EnableAudioInput(BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, unsigned long channelCount);
+ HRESULT EnableAudioInput([in] BMDAudioSampleRate sampleRate, [in] BMDAudioSampleType sampleType, [in] unsigned long channelCount);
HRESULT DisableAudioInput(void);
HRESULT GetAvailableAudioSampleFrameCount([out] unsigned long *availableSampleFrameCount);
@@ -653,7 +786,7 @@
/* Hardware Timing */
- HRESULT GetHardwareReferenceClock(BMDTimeScale desiredTimeScale, [out] BMDTimeValue *hardwareTime, [out] BMDTimeValue *timeInFrame, [out] BMDTimeValue *ticksPerFrame);
+ HRESULT GetHardwareReferenceClock([in] BMDTimeScale desiredTimeScale, [out] BMDTimeValue *hardwareTime, [out] BMDTimeValue *timeInFrame, [out] BMDTimeValue *ticksPerFrame);
};
@@ -661,7 +794,7 @@
[
object,
- uuid(EFB9BCA6-A521-44F7-BD69-2332F24D9EE6),
+ uuid(BC6CFBD3-8317-4325-AC1C-1216391E9340),
helpstring("Used for video frame timecode representation.")
] interface IDeckLinkTimecode : IUnknown
{
@@ -669,6 +802,7 @@
HRESULT GetComponents([out] unsigned char *hours, [out] unsigned char *minutes, [out] unsigned char *seconds, [out] unsigned char *frames);
HRESULT GetString([out] BSTR *timecode);
BMDTimecodeFlags GetFlags(void);
+ HRESULT GetTimecodeUserBits([out] BMDTimecodeUserBits *userBits);
};
@@ -676,7 +810,7 @@
[
object,
- uuid(A8D8238E-6B18-4196-99E1-5AF717B83D32),
+ uuid(3F716FE0-F023-4111-BE5D-EF4414C05B17),
local,
helpstring("Interface to encapsulate a video frame; can be caller-implemented.")
] interface IDeckLinkVideoFrame : IUnknown
@@ -688,7 +822,7 @@
BMDFrameFlags GetFlags(void);
HRESULT GetBytes([out] void **buffer);
- HRESULT GetTimecode(BMDTimecodeFormat format, [out] IDeckLinkTimecode **timecode);
+ HRESULT GetTimecode([in] BMDTimecodeFormat format, [out] IDeckLinkTimecode **timecode);
HRESULT GetAncillaryData([out] IDeckLinkVideoFrameAncillary **ancillary);
};
@@ -697,16 +831,31 @@
[
object,
- uuid(46FCEE00-B4E6-43D0-91C0-023A7FCEB34F),
+ uuid(69E2639F-40DA-4E19-B6F2-20ACE815C390),
local,
helpstring("Created by IDeckLinkOutput::CreateVideoFrame.")
] interface IDeckLinkMutableVideoFrame : IDeckLinkVideoFrame
{
- HRESULT SetFlags(BMDFrameFlags newFlags);
+ HRESULT SetFlags([in] BMDFrameFlags newFlags);
- HRESULT SetTimecode(BMDTimecodeFormat format, [in] IDeckLinkTimecode *timecode);
- HRESULT SetTimecodeFromComponents(BMDTimecodeFormat format, unsigned char hours, unsigned char minutes, unsigned char seconds, unsigned char frames, BMDTimecodeFlags flags);
+ HRESULT SetTimecode([in] BMDTimecodeFormat format, [in] IDeckLinkTimecode *timecode);
+ HRESULT SetTimecodeFromComponents([in] BMDTimecodeFormat format, [in] unsigned char hours, [in] unsigned char minutes, [in] unsigned char seconds, [in] unsigned char frames, [in] BMDTimecodeFlags flags);
HRESULT SetAncillaryData([in] IDeckLinkVideoFrameAncillary *ancillary);
+ HRESULT SetTimecodeUserBits([in] BMDTimecodeFormat format, [in] BMDTimecodeUserBits userBits);
+};
+
+
+/* Interface IDeckLinkVideoFrame3DExtensions - Optional interface implemented on IDeckLinkVideoFrame to support 3D frames */
+
+[
+ object,
+ uuid(DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7),
+ local,
+ helpstring("Optional interface implemented on IDeckLinkVideoFrame to support 3D frames")
+] interface IDeckLinkVideoFrame3DExtensions : IUnknown
+{
+ BMDVideo3DPackingFormat Get3DPackingFormat(void);
+ HRESULT GetFrameForRightEye([in] IDeckLinkVideoFrame* *rightEyeFrame);
};
@@ -714,13 +863,13 @@
[
object,
- uuid(9A74FA41-AE9F-47AC-8CF4-01F42DD59965),
+ uuid(05CFE374-537C-4094-9A57-680525118F44),
local,
helpstring("Provided by the IDeckLinkVideoInput frame arrival callback.")
] interface IDeckLinkVideoInputFrame : IDeckLinkVideoFrame
{
- HRESULT GetStreamTime([out] BMDTimeValue *frameTime, [out] BMDTimeValue *frameDuration, BMDTimeScale timeScale);
- HRESULT GetHardwareReferenceTimestamp(BMDTimeScale timeScale, [out] BMDTimeValue *frameTime, [out] BMDTimeValue *frameDuration);
+ HRESULT GetStreamTime([out] BMDTimeValue *frameTime, [out] BMDTimeValue *frameDuration, [in] BMDTimeScale timeScale);
+ HRESULT GetHardwareReferenceTimestamp([in] BMDTimeScale timeScale, [out] BMDTimeValue *frameTime, [out] BMDTimeValue *frameDuration);
};
@@ -734,7 +883,7 @@
] interface IDeckLinkVideoFrameAncillary : IUnknown
{
- HRESULT GetBufferForVerticalBlankingLine(unsigned long lineNumber, [out] void **buffer);
+ HRESULT GetBufferForVerticalBlankingLine([in] unsigned long lineNumber, [out] void **buffer);
BMDPixelFormat GetPixelFormat(void);
BMDDisplayMode GetDisplayMode(void);
};
@@ -751,7 +900,7 @@
{
long GetSampleFrameCount(void);
HRESULT GetBytes([out] void **buffer);
- HRESULT GetPacketTime([out] BMDTimeValue *packetTime, BMDTimeScale timeScale);
+ HRESULT GetPacketTime([out] BMDTimeValue *packetTime, [in] BMDTimeScale timeScale);
};
@@ -759,7 +908,7 @@
[
object,
- uuid(373F499D-4B4D-4518-AD22-6354E5A5825E),
+ uuid(B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438),
local,
helpstring("Screen preview callback")
] interface IDeckLinkScreenPreviewCallback : IUnknown
@@ -772,7 +921,7 @@
[
object,
- uuid(BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA),
+ uuid(504E2209-CAC7-4C1A-9FB4-C5BB6274D22F),
local,
helpstring("Created with CoCreateInstance().")
] interface IDeckLinkGLScreenPreviewHelper : IUnknown
@@ -783,64 +932,28 @@
HRESULT InitializeGL(void);
HRESULT PaintGL(void);
HRESULT SetFrame([in] IDeckLinkVideoFrame *theFrame);
+ HRESULT Set3DPreviewFormat([in] BMD3DPreviewFormat previewFormat);
};
-/* Interface IDeckLinkConfiguration - Created by QueryInterface from IDeckLink. */
+/* Interface IDeckLinkConfiguration - DeckLink Configuration interface */
[
object,
- uuid(B8EAD569-B764-47F0-A73F-AE40DF6CBF10),
- helpstring("Created by QueryInterface from IDeckLink.")
+ uuid(C679A35B-610C-4D09-B748-1D0478100FC0),
+ local,
+ helpstring("DeckLink Configuration interface")
] interface IDeckLinkConfiguration : IUnknown
{
- HRESULT GetConfigurationValidator([out] IDeckLinkConfiguration **configObject);
+ HRESULT SetFlag([in] BMDDeckLinkConfigurationID cfgID, [in] BOOL value);
+ HRESULT GetFlag([in] BMDDeckLinkConfigurationID cfgID, [out] BOOL *value);
+ HRESULT SetInt([in] BMDDeckLinkConfigurationID cfgID, [in] LONGLONG value);
+ HRESULT GetInt([in] BMDDeckLinkConfigurationID cfgID, [out] LONGLONG *value);
+ HRESULT SetFloat([in] BMDDeckLinkConfigurationID cfgID, [in] double value);
+ HRESULT GetFloat([in] BMDDeckLinkConfigurationID cfgID, [out] double *value);
+ HRESULT SetString([in] BMDDeckLinkConfigurationID cfgID, [in] BSTR value);
+ HRESULT GetString([in] BMDDeckLinkConfigurationID cfgID, [out] BSTR *value);
HRESULT WriteConfigurationToPreferences(void);
-
- /* Video Output Configuration */
-
- HRESULT SetVideoOutputFormat(BMDVideoConnection videoOutputConnection);
- HRESULT IsVideoOutputActive(BMDVideoConnection videoOutputConnection, [out] BOOL *active);
-
- HRESULT SetAnalogVideoOutputFlags(BMDAnalogVideoFlags analogVideoFlags);
- HRESULT GetAnalogVideoOutputFlags([out] BMDAnalogVideoFlags *analogVideoFlags);
-
- HRESULT EnableFieldFlickerRemovalWhenPaused(BOOL enable);
- HRESULT IsEnabledFieldFlickerRemovalWhenPaused([out] BOOL *enabled);
-
- HRESULT Set444And3GBpsVideoOutput(BOOL enable444VideoOutput, BOOL enable3GbsOutput);
- HRESULT Get444And3GBpsVideoOutput([out] BOOL *is444VideoOutputEnabled, [out] BOOL *threeGbsOutputEnabled);
-
- HRESULT SetVideoOutputConversionMode(BMDVideoOutputConversionMode conversionMode);
- HRESULT GetVideoOutputConversionMode([out] BMDVideoOutputConversionMode *conversionMode);
-
- HRESULT Set_HD1080p24_to_HD1080i5994_Conversion(BOOL enable);
- HRESULT Get_HD1080p24_to_HD1080i5994_Conversion([out] BOOL *enabled);
-
- /* Video Input Configuration */
-
- HRESULT SetVideoInputFormat(BMDVideoConnection videoInputFormat);
- HRESULT GetVideoInputFormat([out] BMDVideoConnection *videoInputFormat);
-
- HRESULT SetAnalogVideoInputFlags(BMDAnalogVideoFlags analogVideoFlags);
- HRESULT GetAnalogVideoInputFlags([out] BMDAnalogVideoFlags *analogVideoFlags);
-
- HRESULT SetVideoInputConversionMode(BMDVideoInputConversionMode conversionMode);
- HRESULT GetVideoInputConversionMode([out] BMDVideoInputConversionMode *conversionMode);
-
- HRESULT SetBlackVideoOutputDuringCapture(BOOL blackOutInCapture);
- HRESULT GetBlackVideoOutputDuringCapture([out] BOOL *blackOutInCapture);
-
- HRESULT Set32PulldownSequenceInitialTimecodeFrame(unsigned long aFrameTimecode);
- HRESULT Get32PulldownSequenceInitialTimecodeFrame([out] unsigned long *aFrameTimecode);
-
- HRESULT SetVancSourceLineMapping(unsigned long activeLine1VANCsource, unsigned long activeLine2VANCsource, unsigned long activeLine3VANCsource);
- HRESULT GetVancSourceLineMapping([out] unsigned long *activeLine1VANCsource, [out] unsigned long *activeLine2VANCsource, [out] unsigned long *activeLine3VANCsource);
-
- /* Audio Input Configuration */
-
- HRESULT SetAudioInputFormat(BMDAudioConnection audioInputFormat);
- HRESULT GetAudioInputFormat([out] BMDAudioConnection *audioInputFormat);
};
@@ -881,7 +994,7 @@
[
object,
- uuid(3EB504C9-F97D-40FE-A158-D407D48CB53B),
+ uuid(3BBCB8A2-DA2C-42D9-B5D8-88083644E99A),
local,
helpstring("Created with CoCreateInstance().")
] interface IDeckLinkVideoConversion : IUnknown
@@ -961,7 +1074,7 @@
};
[
- uuid(D398CEE7-4434-4CA3-9BA6-5AE34556B905),
+ uuid(F63E77C7-B655-4A4A-9AD0-3CA85D394343),
helpstring("CDeckLinkGLScreenPreviewHelper Class")
] coclass CDeckLinkGLScreenPreviewHelper
{
@@ -969,7 +1082,7 @@
};
[
- uuid(FFA84F77-73BE-4FB7-B03E-B5E44B9F759B),
+ uuid(7DBBBB11-5B7B-467D-AEA4-CEA468FD368C),
helpstring("CDeckLinkVideoConversion Class")
] coclass CDeckLinkVideoConversion
{
@@ -978,6 +1091,7 @@
// import deprecated interfaces
-#include "DeckLinkAPI_v7_1.idl"
+#include "DeckLinkAPI_v7_6.idl"
#include "DeckLinkAPI_v7_3.idl"
+#include "DeckLinkAPI_v7_1.idl"
};
Modified: vic/branches/mpeg4/video/DeckLinkAPI_h.h
==============================================================================
--- vic/branches/mpeg4/video/DeckLinkAPI_h.h (original)
+++ vic/branches/mpeg4/video/DeckLinkAPI_h.h Tue Sep 7 05:22:51 2010
@@ -3,18 +3,18 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 7.00.0500 */
-/* at Tue May 11 18:13:54 2010
+ /* File created by MIDL compiler version 7.00.0555 */
+/* at Tue Sep 07 12:31:45 2010
*/
-/* Compiler settings for .\video\DeckLinkAPI.idl:
- Oicf, W1, Zp8, env=Win32 (32b run)
+/* Compiler settings for video\DeckLinkAPI.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
protocol : dce , ms_ext, c_ext, robust
error checks: allocation ref bounds_check enum stub_data
VC __declspec() decoration level:
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
DECLSPEC_UUID(), MIDL_INTERFACE()
*/
-//@@MIDL_FILE_HEADING( )
+/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
@@ -125,6 +125,12 @@
#endif /* __IDeckLinkMutableVideoFrame_FWD_DEFINED__ */
+#ifndef __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__
+#define __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__
+typedef interface IDeckLinkVideoFrame3DExtensions IDeckLinkVideoFrame3DExtensions;
+#endif /* __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ */
+
+
#ifndef __IDeckLinkVideoInputFrame_FWD_DEFINED__
#define __IDeckLinkVideoInputFrame_FWD_DEFINED__
typedef interface IDeckLinkVideoInputFrame IDeckLinkVideoInputFrame;
@@ -227,6 +233,138 @@
#endif /* __CDeckLinkVideoConversion_FWD_DEFINED__ */
+#ifndef __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__
+#define __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkDisplayModeIterator_v7_6 IDeckLinkDisplayModeIterator_v7_6;
+#endif /* __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__
+#define __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkDisplayMode_v7_6 IDeckLinkDisplayMode_v7_6;
+#endif /* __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkOutput_v7_6_FWD_DEFINED__
+#define __IDeckLinkOutput_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkOutput_v7_6 IDeckLinkOutput_v7_6;
+#endif /* __IDeckLinkOutput_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkInput_v7_6_FWD_DEFINED__
+#define __IDeckLinkInput_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkInput_v7_6 IDeckLinkInput_v7_6;
+#endif /* __IDeckLinkInput_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkTimecode_v7_6_FWD_DEFINED__
+#define __IDeckLinkTimecode_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkTimecode_v7_6 IDeckLinkTimecode_v7_6;
+#endif /* __IDeckLinkTimecode_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__
+#define __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkVideoFrame_v7_6 IDeckLinkVideoFrame_v7_6;
+#endif /* __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__
+#define __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkMutableVideoFrame_v7_6 IDeckLinkMutableVideoFrame_v7_6;
+#endif /* __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__
+#define __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkVideoInputFrame_v7_6 IDeckLinkVideoInputFrame_v7_6;
+#endif /* __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__
+#define __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkScreenPreviewCallback_v7_6 IDeckLinkScreenPreviewCallback_v7_6;
+#endif /* __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
+#define __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkGLScreenPreviewHelper_v7_6 IDeckLinkGLScreenPreviewHelper_v7_6;
+#endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__
+#define __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkVideoConversion_v7_6 IDeckLinkVideoConversion_v7_6;
+#endif /* __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkConfiguration_v7_6_FWD_DEFINED__
+#define __IDeckLinkConfiguration_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkConfiguration_v7_6 IDeckLinkConfiguration_v7_6;
+#endif /* __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__
+#define __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkVideoOutputCallback_v7_6 IDeckLinkVideoOutputCallback_v7_6;
+#endif /* __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkInputCallback_v7_6_FWD_DEFINED__
+#define __IDeckLinkInputCallback_v7_6_FWD_DEFINED__
+typedef interface IDeckLinkInputCallback_v7_6 IDeckLinkInputCallback_v7_6;
+#endif /* __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
+#define __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6;
+#else
+typedef struct CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6;
+#endif /* __cplusplus */
+
+#endif /* __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__
+#define __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6;
+#else
+typedef struct CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6;
+#endif /* __cplusplus */
+
+#endif /* __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
+#define __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
+typedef interface IDeckLinkInputCallback_v7_3 IDeckLinkInputCallback_v7_3;
+#endif /* __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkOutput_v7_3_FWD_DEFINED__
+#define __IDeckLinkOutput_v7_3_FWD_DEFINED__
+typedef interface IDeckLinkOutput_v7_3 IDeckLinkOutput_v7_3;
+#endif /* __IDeckLinkOutput_v7_3_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkInput_v7_3_FWD_DEFINED__
+#define __IDeckLinkInput_v7_3_FWD_DEFINED__
+typedef interface IDeckLinkInput_v7_3 IDeckLinkInput_v7_3;
+#endif /* __IDeckLinkInput_v7_3_FWD_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
+#define __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
+typedef interface IDeckLinkVideoInputFrame_v7_3 IDeckLinkVideoInputFrame_v7_3;
+#endif /* __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ */
+
+
#ifndef __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
#define __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__
typedef interface IDeckLinkDisplayModeIterator_v7_1 IDeckLinkDisplayModeIterator_v7_1;
@@ -281,30 +419,6 @@
#endif /* __IDeckLinkInput_v7_1_FWD_DEFINED__ */
-#ifndef __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
-#define __IDeckLinkInputCallback_v7_3_FWD_DEFINED__
-typedef interface IDeckLinkInputCallback_v7_3 IDeckLinkInputCallback_v7_3;
-#endif /* __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ */
-
-
-#ifndef __IDeckLinkOutput_v7_3_FWD_DEFINED__
-#define __IDeckLinkOutput_v7_3_FWD_DEFINED__
-typedef interface IDeckLinkOutput_v7_3 IDeckLinkOutput_v7_3;
-#endif /* __IDeckLinkOutput_v7_3_FWD_DEFINED__ */
-
-
-#ifndef __IDeckLinkInput_v7_3_FWD_DEFINED__
-#define __IDeckLinkInput_v7_3_FWD_DEFINED__
-typedef interface IDeckLinkInput_v7_3 IDeckLinkInput_v7_3;
-#endif /* __IDeckLinkInput_v7_3_FWD_DEFINED__ */
-
-
-#ifndef __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
-#define __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__
-typedef interface IDeckLinkVideoInputFrame_v7_3 IDeckLinkVideoInputFrame_v7_3;
-#endif /* __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ */
-
-
/* header files for imported files */
#include "unknwn.h"
@@ -326,6 +440,9 @@
typedef unsigned long BMDTimecodeBCD;
+typedef unsigned long BMDTimecodeUserBits;
+
+typedef unsigned long BMDDisplayModeFlags;
typedef unsigned long BMDFrameFlags;
typedef unsigned long BMDVideoInputFlags;
typedef unsigned long BMDVideoInputFormatChangedEvents;
@@ -335,6 +452,8 @@
typedef unsigned long BMDDeckControlStatusFlags;
typedef unsigned long BMDDeckControlExportModeOpsFlags;
#if 0
+typedef enum _BMDDisplayModeFlags BMDDisplayModeFlags;
+
typedef enum _BMDFrameFlags BMDFrameFlags;
typedef enum _BMDVideoInputFlags BMDVideoInputFlags;
@@ -394,12 +513,19 @@
bmdFormat10BitRGB = 0x72323130
} BMDPixelFormat;
+/* [v1_enum] */
+enum _BMDDisplayModeFlags
+ { bmdDisplayModeSupports3D = ( 1 << 0 ) ,
+ bmdDisplayModeColorspaceRec601 = ( 1 << 1 ) ,
+ bmdDisplayModeColorspaceRec709 = ( 1 << 2 )
+ } ;
typedef /* [v1_enum] */
enum _BMDVideoOutputFlags
{ bmdVideoOutputFlagDefault = 0,
bmdVideoOutputVANC = ( 1 << 0 ) ,
bmdVideoOutputVITC = ( 1 << 1 ) ,
- bmdVideoOutputRP188 = ( 1 << 2 )
+ bmdVideoOutputRP188 = ( 1 << 2 ) ,
+ bmdVideoOutputDualStream3D = ( 1 << 4 )
} BMDVideoOutputFlags;
/* [v1_enum] */
@@ -411,7 +537,8 @@
/* [v1_enum] */
enum _BMDVideoInputFlags
{ bmdVideoInputFlagDefault = 0,
- bmdVideoInputEnableFormatDetection = ( 1 << 0 )
+ bmdVideoInputEnableFormatDetection = ( 1 << 0 ) ,
+ bmdVideoInputDualStream3D = ( 1 << 1 )
} ;
/* [v1_enum] */
enum _BMDVideoInputFormatChangedEvents
@@ -433,6 +560,12 @@
} BMDOutputFrameCompletionResult;
typedef /* [v1_enum] */
+enum _BMDReferenceStatus
+ { bmdReferenceNotSupportedByHardware = ( 1 << 0 ) ,
+ bmdReferenceLocked = ( 1 << 1 )
+ } BMDReferenceStatus;
+
+typedef /* [v1_enum] */
enum _BMDAudioSampleRate
{ bmdAudioSampleRate48kHz = 48000
} BMDAudioSampleRate;
@@ -471,12 +604,12 @@
} ;
typedef /* [v1_enum] */
enum _BMDVideoConnection
- { bmdVideoConnectionSDI = 0x73646920,
- bmdVideoConnectionHDMI = 0x68646d69,
- bmdVideoConnectionOpticalSDI = 0x6f707469,
- bmdVideoConnectionComponent = 0x63706e74,
- bmdVideoConnectionComposite = 0x636d7374,
- bmdVideoConnectionSVideo = 0x73766964
+ { bmdVideoConnectionSDI = ( 1 << 0 ) ,
+ bmdVideoConnectionHDMI = ( 1 << 1 ) ,
+ bmdVideoConnectionOpticalSDI = ( 1 << 2 ) ,
+ bmdVideoConnectionComponent = ( 1 << 3 ) ,
+ bmdVideoConnectionComposite = ( 1 << 4 ) ,
+ bmdVideoConnectionSVideo = ( 1 << 5 )
} BMDVideoConnection;
/* [v1_enum] */
@@ -492,6 +625,12 @@
} BMDAudioConnection;
typedef /* [v1_enum] */
+enum _BMDAudioOutputAnalogAESSwitch
+ { bmdAudioOutputSwitchAESEBU = 0x61657320,
+ bmdAudioOutputSwitchAnalog = 0x616e6c67
+ } BMDAudioOutputAnalogAESSwitch;
+
+typedef /* [v1_enum] */
enum _BMDVideoOutputConversionMode
{ bmdNoVideoOutputConversion = 0x6e6f6e65,
bmdVideoOutputLetterboxDownconversion = 0x6c746278,
@@ -503,6 +642,8 @@
bmdVideoOutputHardware720p1080pCrossconversion = 0x78636170,
bmdVideoOutputHardwareAnamorphic720pUpconversion = 0x75613770,
bmdVideoOutputHardwareAnamorphic1080iUpconversion = 0x75613169,
+ bmdVideoOutputHardwareAnamorphic149To720pUpconversion = 0x75343770,
+ bmdVideoOutputHardwareAnamorphic149To1080iUpconversion = 0x75343169,
bmdVideoOutputHardwarePillarbox720pUpconversion = 0x75703770,
bmdVideoOutputHardwarePillarbox1080iUpconversion = 0x75703169
} BMDVideoOutputConversionMode;
@@ -519,13 +660,63 @@
} BMDVideoInputConversionMode;
typedef /* [v1_enum] */
+enum _BMDVideo3DPackingFormat
+ { bmdVideo3DPackingSidebySideHalf = 0x73627368,
+ bmdVideo3DPackingLinebyLine = 0x6c62796c,
+ bmdVideo3DPackingTopAndBottom = 0x7461626f,
+ bmdVideo3DPackingLeftOnly = 0x6c656674,
+ bmdVideo3DPackingRightOnly = 0x72696768
+ } BMDVideo3DPackingFormat;
+
+typedef /* [v1_enum] */
+enum _BMDDeckLinkConfigurationID
+ { bmdDeckLinkConfigUse1080pNotPsF = 0x6670726f,
+ bmdDeckLinkConfigHDMI3DPackingFormat = 0x33647066,
+ bmdDeckLinkConfigAnalogAudioConsumerLevels = 0x6161636c,
+ bmdDeckLinkConfigFieldFlickerRemoval = 0x66646672,
+ bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 0x746f3539,
+ bmdDeckLinkConfig444SDIVideoOutput = 0x3434346f,
+ bmdDeckLinkConfig3GBpsVideoOutput = 0x33676273,
+ bmdDeckLinkConfigBlackVideoOutputDuringCapture = 0x62766f63,
+ bmdDeckLinkConfigLowLatencyVideoOutput = 0x6c6c766f,
+ bmdDeckLinkConfigVideoOutputConnection = 0x766f636e,
+ bmdDeckLinkConfigVideoOutputConversionMode = 0x766f636d,
+ bmdDeckLinkConfigAnalogVideoOutputFlags = 0x61766f66,
+ bmdDeckLinkConfigReferenceInputTimingOffset = 0x676c6f74,
+ bmdDeckLinkConfigVideoInputConnection = 0x7669636e,
+ bmdDeckLinkConfigAnalogVideoInputFlags = 0x61766966,
+ bmdDeckLinkConfigVideoInputConversionMode = 0x7669636d,
+ bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = 0x70646966,
+ bmdDeckLinkConfigVANCSourceLine1Mapping = 0x76736c31,
+ bmdDeckLinkConfigVANCSourceLine2Mapping = 0x76736c32,
+ bmdDeckLinkConfigVANCSourceLine3Mapping = 0x76736c33,
+ bmdDeckLinkConfigAudioInputConnection = 0x6169636e,
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = 0x61697331,
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = 0x61697332,
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 0x61697333,
+ bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 0x61697334,
+ bmdDeckLinkConfigDigitalAudioInputScale = 0x64616973,
+ bmdDeckLinkConfigAudioOutputAESAnalogSwitch = 0x616f6161,
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = 0x616f7331,
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 0x616f7332,
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 0x616f7333,
+ bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 0x616f7334,
+ bmdDeckLinkConfigDigitalAudioOutputScale = 0x64616f73
+ } BMDDeckLinkConfigurationID;
+
+typedef /* [v1_enum] */
enum _BMDDeckLinkAttributeID
{ BMDDeckLinkSupportsInternalKeying = 0x6b657969,
BMDDeckLinkSupportsExternalKeying = 0x6b657965,
BMDDeckLinkSupportsHDKeying = 0x6b657968,
BMDDeckLinkSupportsInputFormatDetection = 0x696e6664,
+ BMDDeckLinkHasReferenceInput = 0x6872696e,
BMDDeckLinkHasSerialPort = 0x68737074,
BMDDeckLinkMaximumAudioChannels = 0x6d616368,
+ BMDDeckLinkNumberOfSubDevices = 0x6e736264,
+ BMDDeckLinkSubDeviceIndex = 0x73756269,
+ BMDDeckLinkVideoOutputConnections = 0x766f636e,
+ BMDDeckLinkVideoInputConnections = 0x7669636e,
BMDDeckLinkSerialPortDeviceName = 0x736c706e
} BMDDeckLinkAttributeID;
@@ -606,6 +797,21 @@
bmdDeckControlUnknownError = 0x756e6572
} BMDDeckControlError;
+typedef /* [v1_enum] */
+enum _BMD3DPreviewFormat
+ { bmd3DPreviewFormatDefault = 0x64656661,
+ bmd3DPreviewFormatLeftOnly = 0x6c656674,
+ bmd3DPreviewFormatRightOnly = 0x72696768,
+ bmd3DPreviewFormatSideBySide = 0x73696465,
+ bmd3DPreviewFormatTopBottom = 0x746f7062
+ } BMD3DPreviewFormat;
+
+
+
+
+
+
+
@@ -626,6 +832,23 @@
+typedef /* [v1_enum] */
+enum _BMDVideoConnection_v7_6
+ { bmdVideoConnectionSDI_v7_6 = 0x73646920,
+ bmdVideoConnectionHDMI_v7_6 = 0x68646d69,
+ bmdVideoConnectionOpticalSDI_v7_6 = 0x6f707469,
+ bmdVideoConnectionComponent_v7_6 = 0x63706e74,
+ bmdVideoConnectionComposite_v7_6 = 0x636d7374,
+ bmdVideoConnectionSVideo_v7_6 = 0x73766964
+ } BMDVideoConnection_v7_6;
+
+
+
+
+
+
+
+
@@ -654,7 +877,7 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("E763A626-4A3C-49D1-BF13-E7AD3692AE52")
+ MIDL_INTERFACE("20AA5225-1958-47CB-820B-80A8D521A6EE")
IDeckLinkVideoOutputCallback : public IUnknown
{
public:
@@ -675,7 +898,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkVideoOutputCallback * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -743,7 +966,7 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("31D28EE7-88B6-4CB1-897A-CDBF79A26414")
+ MIDL_INTERFACE("DD04E5EC-7415-42AB-AE4A-E80C4DFC044A")
IDeckLinkInputCallback : public IUnknown
{
public:
@@ -767,7 +990,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkInputCallback * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -843,7 +1066,7 @@
{
public:
virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(
- unsigned long bufferSize,
+ /* [in] */ unsigned long bufferSize,
/* [out] */ void **allocatedBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
@@ -864,7 +1087,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkMemoryAllocator * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -875,7 +1098,7 @@
HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )(
IDeckLinkMemoryAllocator * This,
- unsigned long bufferSize,
+ /* [in] */ unsigned long bufferSize,
/* [out] */ void **allocatedBuffer);
HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
@@ -950,7 +1173,7 @@
{
public:
virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples(
- BOOL preroll) = 0;
+ /* [in] */ BOOL preroll) = 0;
};
@@ -963,7 +1186,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkAudioOutputCallback * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -974,7 +1197,7 @@
HRESULT ( STDMETHODCALLTYPE *RenderAudioSamples )(
IDeckLinkAudioOutputCallback * This,
- BOOL preroll);
+ /* [in] */ BOOL preroll);
END_INTERFACE
} IDeckLinkAudioOutputCallbackVtbl;
@@ -1042,7 +1265,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkIterator * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -1134,7 +1357,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkAPIInformation * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -1220,7 +1443,7 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("455D741F-1779-4800-86F5-0B5D13D79751")
+ MIDL_INTERFACE("9C88499F-F601-4021-B80B-032E4EB41C35")
IDeckLinkDisplayModeIterator : public IUnknown
{
public:
@@ -1238,7 +1461,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkDisplayModeIterator * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -1299,7 +1522,7 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("87451E84-2B7E-439E-A629-4393EA4A8550")
+ MIDL_INTERFACE("3EB2C1AB-0A3D-4523-A3AD-F40D7FB14E78")
IDeckLinkDisplayMode : public IUnknown
{
public:
@@ -1318,6 +1541,8 @@
virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0;
+ virtual BMDDisplayModeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
+
};
#else /* C style interface */
@@ -1329,7 +1554,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkDisplayMode * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -1359,6 +1584,9 @@
BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )(
IDeckLinkDisplayMode * This);
+ BMDDisplayModeFlags ( STDMETHODCALLTYPE *GetFlags )(
+ IDeckLinkDisplayMode * This);
+
END_INTERFACE
} IDeckLinkDisplayModeVtbl;
@@ -1400,6 +1628,9 @@
#define IDeckLinkDisplayMode_GetFieldDominance(This) \
( (This)->lpVtbl -> GetFieldDominance(This) )
+#define IDeckLinkDisplayMode_GetFlags(This) \
+ ( (This)->lpVtbl -> GetFlags(This) )
+
#endif /* COBJMACROS */
@@ -1440,7 +1671,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLink * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -1501,14 +1732,16 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("29228142-EB8C-4141-A621-F74026450955")
+ MIDL_INTERFACE("A3EF0963-0862-44ED-92A9-EE89ABF431C7")
IDeckLinkOutput : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- /* [out] */ BMDDisplayModeSupport *result) = 0;
+ /* [in] */ BMDDisplayMode displayMode,
+ /* [in] */ BMDPixelFormat pixelFormat,
+ /* [in] */ BMDVideoOutputFlags flags,
+ /* [out] */ BMDDisplayModeSupport *result,
+ /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
/* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
@@ -1517,8 +1750,8 @@
/* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
- BMDDisplayMode displayMode,
- BMDVideoOutputFlags flags) = 0;
+ /* [in] */ BMDDisplayMode displayMode,
+ /* [in] */ BMDVideoOutputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
@@ -1526,15 +1759,15 @@
/* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
- long width,
- long height,
- long rowBytes,
- BMDPixelFormat pixelFormat,
- BMDFrameFlags flags,
+ /* [in] */ long width,
+ /* [in] */ long height,
+ /* [in] */ long rowBytes,
+ /* [in] */ BMDPixelFormat pixelFormat,
+ /* [in] */ BMDFrameFlags flags,
/* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
- BMDPixelFormat pixelFormat,
+ /* [in] */ BMDPixelFormat pixelFormat,
/* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
@@ -1542,9 +1775,9 @@
virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
/* [in] */ IDeckLinkVideoFrame *theFrame,
- BMDTimeValue displayTime,
- BMDTimeValue displayDuration,
- BMDTimeScale timeScale) = 0;
+ /* [in] */ BMDTimeValue displayTime,
+ /* [in] */ BMDTimeValue displayDuration,
+ /* [in] */ BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
/* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;
@@ -1553,16 +1786,16 @@
/* [out] */ unsigned long *bufferedFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
- BMDAudioSampleRate sampleRate,
- BMDAudioSampleType sampleType,
- unsigned long channelCount,
- BMDAudioOutputStreamType streamType) = 0;
+ /* [in] */ BMDAudioSampleRate sampleRate,
+ /* [in] */ BMDAudioSampleType sampleType,
+ /* [in] */ unsigned long channelCount,
+ /* [in] */ BMDAudioOutputStreamType streamType) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
/* [in] */ void *buffer,
- unsigned long sampleFrameCount,
+ /* [in] */ unsigned long sampleFrameCount,
/* [out] */ unsigned long *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
@@ -1571,9 +1804,9 @@
virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
/* [in] */ void *buffer,
- unsigned long sampleFrameCount,
- BMDTimeValue streamTime,
- BMDTimeScale timeScale,
+ /* [in] */ unsigned long sampleFrameCount,
+ /* [in] */ BMDTimeValue streamTime,
+ /* [in] */ BMDTimeScale timeScale,
/* [out] */ unsigned long *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
@@ -1585,25 +1818,28 @@
/* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
- BMDTimeValue playbackStartTime,
- BMDTimeScale timeScale,
- double playbackSpeed) = 0;
+ /* [in] */ BMDTimeValue playbackStartTime,
+ /* [in] */ BMDTimeScale timeScale,
+ /* [in] */ double playbackSpeed) = 0;
virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
- BMDTimeValue stopPlaybackAtTime,
+ /* [in] */ BMDTimeValue stopPlaybackAtTime,
/* [out] */ BMDTimeValue *actualStopTime,
- BMDTimeScale timeScale) = 0;
+ /* [in] */ BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
/* [out] */ BOOL *active) = 0;
virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
- BMDTimeScale desiredTimeScale,
+ /* [in] */ BMDTimeScale desiredTimeScale,
/* [out] */ BMDTimeValue *streamTime,
/* [out] */ double *playbackSpeed) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus(
+ /* [out] */ BMDReferenceStatus *referenceStatus) = 0;
+
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
- BMDTimeScale desiredTimeScale,
+ /* [in] */ BMDTimeScale desiredTimeScale,
/* [out] */ BMDTimeValue *hardwareTime,
/* [out] */ BMDTimeValue *timeInFrame,
/* [out] */ BMDTimeValue *ticksPerFrame) = 0;
@@ -1619,7 +1855,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkOutput * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -1630,9 +1866,11 @@
HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
IDeckLinkOutput * This,
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- /* [out] */ BMDDisplayModeSupport *result);
+ /* [in] */ BMDDisplayMode displayMode,
+ /* [in] */ BMDPixelFormat pixelFormat,
+ /* [in] */ BMDVideoOutputFlags flags,
+ /* [out] */ BMDDisplayModeSupport *result,
+ /* [out] */ IDeckLinkDisplayMode **resultDisplayMode);
HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
IDeckLinkOutput * This,
@@ -1644,8 +1882,8 @@
HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
IDeckLinkOutput * This,
- BMDDisplayMode displayMode,
- BMDVideoOutputFlags flags);
+ /* [in] */ BMDDisplayMode displayMode,
+ /* [in] */ BMDVideoOutputFlags flags);
HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
IDeckLinkOutput * This);
@@ -1656,16 +1894,16 @@
HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
IDeckLinkOutput * This,
- long width,
- long height,
- long rowBytes,
- BMDPixelFormat pixelFormat,
- BMDFrameFlags flags,
+ /* [in] */ long width,
+ /* [in] */ long height,
+ /* [in] */ long rowBytes,
+ /* [in] */ BMDPixelFormat pixelFormat,
+ /* [in] */ BMDFrameFlags flags,
/* [out] */ IDeckLinkMutableVideoFrame **outFrame);
HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
IDeckLinkOutput * This,
- BMDPixelFormat pixelFormat,
+ /* [in] */ BMDPixelFormat pixelFormat,
/* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
@@ -1675,9 +1913,9 @@
HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
IDeckLinkOutput * This,
/* [in] */ IDeckLinkVideoFrame *theFrame,
- BMDTimeValue displayTime,
- BMDTimeValue displayDuration,
- BMDTimeScale timeScale);
+ /* [in] */ BMDTimeValue displayTime,
+ /* [in] */ BMDTimeValue displayDuration,
+ /* [in] */ BMDTimeScale timeScale);
HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
IDeckLinkOutput * This,
@@ -1689,10 +1927,10 @@
HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
IDeckLinkOutput * This,
- BMDAudioSampleRate sampleRate,
- BMDAudioSampleType sampleType,
- unsigned long channelCount,
- BMDAudioOutputStreamType streamType);
+ /* [in] */ BMDAudioSampleRate sampleRate,
+ /* [in] */ BMDAudioSampleType sampleType,
+ /* [in] */ unsigned long channelCount,
+ /* [in] */ BMDAudioOutputStreamType streamType);
HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
IDeckLinkOutput * This);
@@ -1700,7 +1938,7 @@
HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
IDeckLinkOutput * This,
/* [in] */ void *buffer,
- unsigned long sampleFrameCount,
+ /* [in] */ unsigned long sampleFrameCount,
/* [out] */ unsigned long *sampleFramesWritten);
HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
@@ -1712,9 +1950,9 @@
HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
IDeckLinkOutput * This,
/* [in] */ void *buffer,
- unsigned long sampleFrameCount,
- BMDTimeValue streamTime,
- BMDTimeScale timeScale,
+ /* [in] */ unsigned long sampleFrameCount,
+ /* [in] */ BMDTimeValue streamTime,
+ /* [in] */ BMDTimeScale timeScale,
/* [out] */ unsigned long *sampleFramesWritten);
HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
@@ -1730,15 +1968,15 @@
HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
IDeckLinkOutput * This,
- BMDTimeValue playbackStartTime,
- BMDTimeScale timeScale,
- double playbackSpeed);
+ /* [in] */ BMDTimeValue playbackStartTime,
+ /* [in] */ BMDTimeScale timeScale,
+ /* [in] */ double playbackSpeed);
HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
IDeckLinkOutput * This,
- BMDTimeValue stopPlaybackAtTime,
+ /* [in] */ BMDTimeValue stopPlaybackAtTime,
/* [out] */ BMDTimeValue *actualStopTime,
- BMDTimeScale timeScale);
+ /* [in] */ BMDTimeScale timeScale);
HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
IDeckLinkOutput * This,
@@ -1746,13 +1984,17 @@
HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )(
IDeckLinkOutput * This,
- BMDTimeScale desiredTimeScale,
+ /* [in] */ BMDTimeScale desiredTimeScale,
/* [out] */ BMDTimeValue *streamTime,
/* [out] */ double *playbackSpeed);
+ HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )(
+ IDeckLinkOutput * This,
+ /* [out] */ BMDReferenceStatus *referenceStatus);
+
HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
IDeckLinkOutput * This,
- BMDTimeScale desiredTimeScale,
+ /* [in] */ BMDTimeScale desiredTimeScale,
/* [out] */ BMDTimeValue *hardwareTime,
/* [out] */ BMDTimeValue *timeInFrame,
/* [out] */ BMDTimeValue *ticksPerFrame);
@@ -1780,8 +2022,8 @@
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkOutput_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
- ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
+#define IDeckLinkOutput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) )
#define IDeckLinkOutput_GetDisplayModeIterator(This,iterator) \
( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
@@ -1855,6 +2097,9 @@
#define IDeckLinkOutput_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \
( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) )
+#define IDeckLinkOutput_GetReferenceStatus(This,referenceStatus) \
+ ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) )
+
#define IDeckLinkOutput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
@@ -1880,14 +2125,16 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("300C135A-9F43-48E2-9906-6D7911D93CF1")
+ MIDL_INTERFACE("6D40EF78-28B9-4E21-990D-95BB7750A04F")
IDeckLinkInput : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- /* [out] */ BMDDisplayModeSupport *result) = 0;
+ /* [in] */ BMDDisplayMode displayMode,
+ /* [in] */ BMDPixelFormat pixelFormat,
+ /* [in] */ BMDVideoInputFlags flags,
+ /* [out] */ BMDDisplayModeSupport *result,
+ /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
/* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
@@ -1896,9 +2143,9 @@
/* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- BMDVideoInputFlags flags) = 0;
+ /* [in] */ BMDDisplayMode displayMode,
+ /* [in] */ BMDPixelFormat pixelFormat,
+ /* [in] */ BMDVideoInputFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
@@ -1906,9 +2153,9 @@
/* [out] */ unsigned long *availableFrameCount) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
- BMDAudioSampleRate sampleRate,
- BMDAudioSampleType sampleType,
- unsigned long channelCount) = 0;
+ /* [in] */ BMDAudioSampleRate sampleRate,
+ /* [in] */ BMDAudioSampleType sampleType,
+ /* [in] */ unsigned long channelCount) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
@@ -1927,7 +2174,7 @@
/* [in] */ IDeckLinkInputCallback *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
- BMDTimeScale desiredTimeScale,
+ /* [in] */ BMDTimeScale desiredTimeScale,
/* [out] */ BMDTimeValue *hardwareTime,
/* [out] */ BMDTimeValue *timeInFrame,
/* [out] */ BMDTimeValue *ticksPerFrame) = 0;
@@ -1943,7 +2190,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkInput * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -1954,9 +2201,11 @@
HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
IDeckLinkInput * This,
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- /* [out] */ BMDDisplayModeSupport *result);
+ /* [in] */ BMDDisplayMode displayMode,
+ /* [in] */ BMDPixelFormat pixelFormat,
+ /* [in] */ BMDVideoInputFlags flags,
+ /* [out] */ BMDDisplayModeSupport *result,
+ /* [out] */ IDeckLinkDisplayMode **resultDisplayMode);
HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
IDeckLinkInput * This,
@@ -1968,9 +2217,9 @@
HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
IDeckLinkInput * This,
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- BMDVideoInputFlags flags);
+ /* [in] */ BMDDisplayMode displayMode,
+ /* [in] */ BMDPixelFormat pixelFormat,
+ /* [in] */ BMDVideoInputFlags flags);
HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
IDeckLinkInput * This);
@@ -1981,9 +2230,9 @@
HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
IDeckLinkInput * This,
- BMDAudioSampleRate sampleRate,
- BMDAudioSampleType sampleType,
- unsigned long channelCount);
+ /* [in] */ BMDAudioSampleRate sampleRate,
+ /* [in] */ BMDAudioSampleType sampleType,
+ /* [in] */ unsigned long channelCount);
HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
IDeckLinkInput * This);
@@ -2010,7 +2259,7 @@
HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
IDeckLinkInput * This,
- BMDTimeScale desiredTimeScale,
+ /* [in] */ BMDTimeScale desiredTimeScale,
/* [out] */ BMDTimeValue *hardwareTime,
/* [out] */ BMDTimeValue *timeInFrame,
/* [out] */ BMDTimeValue *ticksPerFrame);
@@ -2038,8 +2287,8 @@
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkInput_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
- ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
+#define IDeckLinkInput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) )
#define IDeckLinkInput_GetDisplayModeIterator(This,iterator) \
( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
@@ -2105,7 +2354,7 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("EFB9BCA6-A521-44F7-BD69-2332F24D9EE6")
+ MIDL_INTERFACE("BC6CFBD3-8317-4325-AC1C-1216391E9340")
IDeckLinkTimecode : public IUnknown
{
public:
@@ -2122,6 +2371,9 @@
virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetTimecodeUserBits(
+ /* [out] */ BMDTimecodeUserBits *userBits) = 0;
+
};
#else /* C style interface */
@@ -2133,7 +2385,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkTimecode * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -2159,6 +2411,10 @@
BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )(
IDeckLinkTimecode * This);
+ HRESULT ( STDMETHODCALLTYPE *GetTimecodeUserBits )(
+ IDeckLinkTimecode * This,
+ /* [out] */ BMDTimecodeUserBits *userBits);
+
END_INTERFACE
} IDeckLinkTimecodeVtbl;
@@ -2194,6 +2450,9 @@
#define IDeckLinkTimecode_GetFlags(This) \
( (This)->lpVtbl -> GetFlags(This) )
+#define IDeckLinkTimecode_GetTimecodeUserBits(This,userBits) \
+ ( (This)->lpVtbl -> GetTimecodeUserBits(This,userBits) )
+
#endif /* COBJMACROS */
@@ -2216,7 +2475,7 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("A8D8238E-6B18-4196-99E1-5AF717B83D32")
+ MIDL_INTERFACE("3F716FE0-F023-4111-BE5D-EF4414C05B17")
IDeckLinkVideoFrame : public IUnknown
{
public:
@@ -2234,7 +2493,7 @@
/* [out] */ void **buffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecode(
- BMDTimecodeFormat format,
+ /* [in] */ BMDTimecodeFormat format,
/* [out] */ IDeckLinkTimecode **timecode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(
@@ -2251,7 +2510,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkVideoFrame * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -2281,7 +2540,7 @@
HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
IDeckLinkVideoFrame * This,
- BMDTimecodeFormat format,
+ /* [in] */ BMDTimecodeFormat format,
/* [out] */ IDeckLinkTimecode **timecode);
HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
@@ -2357,28 +2616,32 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("46FCEE00-B4E6-43D0-91C0-023A7FCEB34F")
+ MIDL_INTERFACE("69E2639F-40DA-4E19-B6F2-20ACE815C390")
IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame
{
public:
virtual HRESULT STDMETHODCALLTYPE SetFlags(
- BMDFrameFlags newFlags) = 0;
+ /* [in] */ BMDFrameFlags newFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimecode(
- BMDTimecodeFormat format,
+ /* [in] */ BMDTimecodeFormat format,
/* [in] */ IDeckLinkTimecode *timecode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents(
- BMDTimecodeFormat format,
- unsigned char hours,
- unsigned char minutes,
- unsigned char seconds,
- unsigned char frames,
- BMDTimecodeFlags flags) = 0;
+ /* [in] */ BMDTimecodeFormat format,
+ /* [in] */ unsigned char hours,
+ /* [in] */ unsigned char minutes,
+ /* [in] */ unsigned char seconds,
+ /* [in] */ unsigned char frames,
+ /* [in] */ BMDTimecodeFlags flags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAncillaryData(
/* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetTimecodeUserBits(
+ /* [in] */ BMDTimecodeFormat format,
+ /* [in] */ BMDTimecodeUserBits userBits) = 0;
+
};
#else /* C style interface */
@@ -2390,7 +2653,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkMutableVideoFrame * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -2420,7 +2683,7 @@
HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
IDeckLinkMutableVideoFrame * This,
- BMDTimecodeFormat format,
+ /* [in] */ BMDTimecodeFormat format,
/* [out] */ IDeckLinkTimecode **timecode);
HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
@@ -2429,26 +2692,31 @@
HRESULT ( STDMETHODCALLTYPE *SetFlags )(
IDeckLinkMutableVideoFrame * This,
- BMDFrameFlags newFlags);
+ /* [in] */ BMDFrameFlags newFlags);
HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
IDeckLinkMutableVideoFrame * This,
- BMDTimecodeFormat format,
+ /* [in] */ BMDTimecodeFormat format,
/* [in] */ IDeckLinkTimecode *timecode);
HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )(
IDeckLinkMutableVideoFrame * This,
- BMDTimecodeFormat format,
- unsigned char hours,
- unsigned char minutes,
- unsigned char seconds,
- unsigned char frames,
- BMDTimecodeFlags flags);
+ /* [in] */ BMDTimecodeFormat format,
+ /* [in] */ unsigned char hours,
+ /* [in] */ unsigned char minutes,
+ /* [in] */ unsigned char seconds,
+ /* [in] */ unsigned char frames,
+ /* [in] */ BMDTimecodeFlags flags);
HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )(
IDeckLinkMutableVideoFrame * This,
/* [in] */ IDeckLinkVideoFrameAncillary *ancillary);
+ HRESULT ( STDMETHODCALLTYPE *SetTimecodeUserBits )(
+ IDeckLinkMutableVideoFrame * This,
+ /* [in] */ BMDTimecodeFormat format,
+ /* [in] */ BMDTimecodeUserBits userBits);
+
END_INTERFACE
} IDeckLinkMutableVideoFrameVtbl;
@@ -2509,6 +2777,9 @@
#define IDeckLinkMutableVideoFrame_SetAncillaryData(This,ancillary) \
( (This)->lpVtbl -> SetAncillaryData(This,ancillary) )
+#define IDeckLinkMutableVideoFrame_SetTimecodeUserBits(This,format,userBits) \
+ ( (This)->lpVtbl -> SetTimecodeUserBits(This,format,userBits) )
+
#endif /* COBJMACROS */
@@ -2520,28 +2791,115 @@
#endif /* __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ */
-#ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
-#define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
+#ifndef __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__
+#define __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__
-/* interface IDeckLinkVideoInputFrame */
+/* interface IDeckLinkVideoFrame3DExtensions */
/* [helpstring][local][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkVideoInputFrame;
+EXTERN_C const IID IID_IDeckLinkVideoFrame3DExtensions;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("9A74FA41-AE9F-47AC-8CF4-01F42DD59965")
- IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame
+ MIDL_INTERFACE("DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7")
+ IDeckLinkVideoFrame3DExtensions : public IUnknown
+ {
+ public:
+ virtual BMDVideo3DPackingFormat STDMETHODCALLTYPE Get3DPackingFormat( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFrameForRightEye(
+ /* [in] */ IDeckLinkVideoFrame **rightEyeFrame) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkVideoFrame3DExtensionsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkVideoFrame3DExtensions * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkVideoFrame3DExtensions * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkVideoFrame3DExtensions * This);
+
+ BMDVideo3DPackingFormat ( STDMETHODCALLTYPE *Get3DPackingFormat )(
+ IDeckLinkVideoFrame3DExtensions * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFrameForRightEye )(
+ IDeckLinkVideoFrame3DExtensions * This,
+ /* [in] */ IDeckLinkVideoFrame **rightEyeFrame);
+
+ END_INTERFACE
+ } IDeckLinkVideoFrame3DExtensionsVtbl;
+
+ interface IDeckLinkVideoFrame3DExtensions
+ {
+ CONST_VTBL struct IDeckLinkVideoFrame3DExtensionsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkVideoFrame3DExtensions_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkVideoFrame3DExtensions_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkVideoFrame3DExtensions_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(This) \
+ ( (This)->lpVtbl -> Get3DPackingFormat(This) )
+
+#define IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(This,rightEyeFrame) \
+ ( (This)->lpVtbl -> GetFrameForRightEye(This,rightEyeFrame) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
+#define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__
+
+/* interface IDeckLinkVideoInputFrame */
+/* [helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkVideoInputFrame;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("05CFE374-537C-4094-9A57-680525118F44")
+ IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame
{
public:
virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
/* [out] */ BMDTimeValue *frameTime,
/* [out] */ BMDTimeValue *frameDuration,
- BMDTimeScale timeScale) = 0;
+ /* [in] */ BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
- BMDTimeScale timeScale,
+ /* [in] */ BMDTimeScale timeScale,
/* [out] */ BMDTimeValue *frameTime,
/* [out] */ BMDTimeValue *frameDuration) = 0;
@@ -2556,7 +2914,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkVideoInputFrame * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -2586,7 +2944,7 @@
HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
IDeckLinkVideoInputFrame * This,
- BMDTimecodeFormat format,
+ /* [in] */ BMDTimecodeFormat format,
/* [out] */ IDeckLinkTimecode **timecode);
HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
@@ -2597,11 +2955,11 @@
IDeckLinkVideoInputFrame * This,
/* [out] */ BMDTimeValue *frameTime,
/* [out] */ BMDTimeValue *frameDuration,
- BMDTimeScale timeScale);
+ /* [in] */ BMDTimeScale timeScale);
HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )(
IDeckLinkVideoInputFrame * This,
- BMDTimeScale timeScale,
+ /* [in] */ BMDTimeScale timeScale,
/* [out] */ BMDTimeValue *frameTime,
/* [out] */ BMDTimeValue *frameDuration);
@@ -2686,7 +3044,7 @@
{
public:
virtual HRESULT STDMETHODCALLTYPE GetBufferForVerticalBlankingLine(
- unsigned long lineNumber,
+ /* [in] */ unsigned long lineNumber,
/* [out] */ void **buffer) = 0;
virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
@@ -2704,7 +3062,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkVideoFrameAncillary * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -2715,7 +3073,7 @@
HRESULT ( STDMETHODCALLTYPE *GetBufferForVerticalBlankingLine )(
IDeckLinkVideoFrameAncillary * This,
- unsigned long lineNumber,
+ /* [in] */ unsigned long lineNumber,
/* [out] */ void **buffer);
BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
@@ -2789,7 +3147,7 @@
virtual HRESULT STDMETHODCALLTYPE GetPacketTime(
/* [out] */ BMDTimeValue *packetTime,
- BMDTimeScale timeScale) = 0;
+ /* [in] */ BMDTimeScale timeScale) = 0;
};
@@ -2802,7 +3160,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkAudioInputPacket * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -2821,7 +3179,7 @@
HRESULT ( STDMETHODCALLTYPE *GetPacketTime )(
IDeckLinkAudioInputPacket * This,
/* [out] */ BMDTimeValue *packetTime,
- BMDTimeScale timeScale);
+ /* [in] */ BMDTimeScale timeScale);
END_INTERFACE
} IDeckLinkAudioInputPacketVtbl;
@@ -2877,7 +3235,7 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("373F499D-4B4D-4518-AD22-6354E5A5825E")
+ MIDL_INTERFACE("B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438")
IDeckLinkScreenPreviewCallback : public IUnknown
{
public:
@@ -2895,7 +3253,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkScreenPreviewCallback * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -2956,7 +3314,7 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA")
+ MIDL_INTERFACE("504E2209-CAC7-4C1A-9FB4-C5BB6274D22F")
IDeckLinkGLScreenPreviewHelper : public IUnknown
{
public:
@@ -2967,6 +3325,9 @@
virtual HRESULT STDMETHODCALLTYPE SetFrame(
/* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
+ virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat(
+ /* [in] */ BMD3DPreviewFormat previewFormat) = 0;
+
};
#else /* C style interface */
@@ -2978,7 +3339,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkGLScreenPreviewHelper * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -2997,6 +3358,10 @@
IDeckLinkGLScreenPreviewHelper * This,
/* [in] */ IDeckLinkVideoFrame *theFrame);
+ HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )(
+ IDeckLinkGLScreenPreviewHelper * This,
+ /* [in] */ BMD3DPreviewFormat previewFormat);
+
END_INTERFACE
} IDeckLinkGLScreenPreviewHelperVtbl;
@@ -3029,6 +3394,9 @@
#define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) \
( (This)->lpVtbl -> SetFrame(This,theFrame) )
+#define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \
+ ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) )
+
#endif /* COBJMACROS */
@@ -3044,106 +3412,50 @@
#define __IDeckLinkConfiguration_INTERFACE_DEFINED__
/* interface IDeckLinkConfiguration */
-/* [helpstring][uuid][object] */
+/* [helpstring][local][uuid][object] */
EXTERN_C const IID IID_IDeckLinkConfiguration;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("B8EAD569-B764-47F0-A73F-AE40DF6CBF10")
+ MIDL_INTERFACE("C679A35B-610C-4D09-B748-1D0478100FC0")
IDeckLinkConfiguration : public IUnknown
{
public:
- virtual HRESULT STDMETHODCALLTYPE GetConfigurationValidator(
- /* [out] */ IDeckLinkConfiguration **configObject) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFormat(
- BMDVideoConnection videoOutputConnection) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE IsVideoOutputActive(
- BMDVideoConnection videoOutputConnection,
- /* [out] */ BOOL *active) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoOutputFlags(
- BMDAnalogVideoFlags analogVideoFlags) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoOutputFlags(
- /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnableFieldFlickerRemovalWhenPaused(
- BOOL enable) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE IsEnabledFieldFlickerRemovalWhenPaused(
- /* [out] */ BOOL *enabled) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Set444And3GBpsVideoOutput(
- BOOL enable444VideoOutput,
- BOOL enable3GbsOutput) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Get444And3GBpsVideoOutput(
- /* [out] */ BOOL *is444VideoOutputEnabled,
- /* [out] */ BOOL *threeGbsOutputEnabled) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetVideoOutputConversionMode(
- BMDVideoOutputConversionMode conversionMode) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetVideoOutputConversionMode(
- /* [out] */ BMDVideoOutputConversionMode *conversionMode) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Set_HD1080p24_to_HD1080i5994_Conversion(
- BOOL enable) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Get_HD1080p24_to_HD1080i5994_Conversion(
- /* [out] */ BOOL *enabled) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetVideoInputFormat(
- BMDVideoConnection videoInputFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetVideoInputFormat(
- /* [out] */ BMDVideoConnection *videoInputFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoInputFlags(
- BMDAnalogVideoFlags analogVideoFlags) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoInputFlags(
- /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetVideoInputConversionMode(
- BMDVideoInputConversionMode conversionMode) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetVideoInputConversionMode(
- /* [out] */ BMDVideoInputConversionMode *conversionMode) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetFlag(
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [in] */ BOOL value) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetBlackVideoOutputDuringCapture(
- BOOL blackOutInCapture) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetFlag(
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [out] */ BOOL *value) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetBlackVideoOutputDuringCapture(
- /* [out] */ BOOL *blackOutInCapture) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetInt(
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [in] */ LONGLONG value) = 0;
- virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame(
- unsigned long aFrameTimecode) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetInt(
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [out] */ LONGLONG *value) = 0;
- virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame(
- /* [out] */ unsigned long *aFrameTimecode) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetFloat(
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [in] */ double value) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping(
- unsigned long activeLine1VANCsource,
- unsigned long activeLine2VANCsource,
- unsigned long activeLine3VANCsource) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetFloat(
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [out] */ double *value) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping(
- /* [out] */ unsigned long *activeLine1VANCsource,
- /* [out] */ unsigned long *activeLine2VANCsource,
- /* [out] */ unsigned long *activeLine3VANCsource) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetString(
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [in] */ BSTR value) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat(
- BMDAudioConnection audioInputFormat) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetString(
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [out] */ BSTR *value) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetAudioInputFormat(
- /* [out] */ BMDAudioConnection *audioInputFormat) = 0;
+ virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;
};
@@ -3156,7 +3468,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkConfiguration * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -3165,123 +3477,48 @@
ULONG ( STDMETHODCALLTYPE *Release )(
IDeckLinkConfiguration * This);
- HRESULT ( STDMETHODCALLTYPE *GetConfigurationValidator )(
- IDeckLinkConfiguration * This,
- /* [out] */ IDeckLinkConfiguration **configObject);
-
- HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )(
- IDeckLinkConfiguration * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFormat )(
- IDeckLinkConfiguration * This,
- BMDVideoConnection videoOutputConnection);
-
- HRESULT ( STDMETHODCALLTYPE *IsVideoOutputActive )(
- IDeckLinkConfiguration * This,
- BMDVideoConnection videoOutputConnection,
- /* [out] */ BOOL *active);
-
- HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoOutputFlags )(
- IDeckLinkConfiguration * This,
- BMDAnalogVideoFlags analogVideoFlags);
-
- HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoOutputFlags )(
- IDeckLinkConfiguration * This,
- /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
-
- HRESULT ( STDMETHODCALLTYPE *EnableFieldFlickerRemovalWhenPaused )(
- IDeckLinkConfiguration * This,
- BOOL enable);
-
- HRESULT ( STDMETHODCALLTYPE *IsEnabledFieldFlickerRemovalWhenPaused )(
- IDeckLinkConfiguration * This,
- /* [out] */ BOOL *enabled);
-
- HRESULT ( STDMETHODCALLTYPE *Set444And3GBpsVideoOutput )(
- IDeckLinkConfiguration * This,
- BOOL enable444VideoOutput,
- BOOL enable3GbsOutput);
-
- HRESULT ( STDMETHODCALLTYPE *Get444And3GBpsVideoOutput )(
- IDeckLinkConfiguration * This,
- /* [out] */ BOOL *is444VideoOutputEnabled,
- /* [out] */ BOOL *threeGbsOutputEnabled);
-
- HRESULT ( STDMETHODCALLTYPE *SetVideoOutputConversionMode )(
- IDeckLinkConfiguration * This,
- BMDVideoOutputConversionMode conversionMode);
-
- HRESULT ( STDMETHODCALLTYPE *GetVideoOutputConversionMode )(
- IDeckLinkConfiguration * This,
- /* [out] */ BMDVideoOutputConversionMode *conversionMode);
-
- HRESULT ( STDMETHODCALLTYPE *Set_HD1080p24_to_HD1080i5994_Conversion )(
- IDeckLinkConfiguration * This,
- BOOL enable);
-
- HRESULT ( STDMETHODCALLTYPE *Get_HD1080p24_to_HD1080i5994_Conversion )(
- IDeckLinkConfiguration * This,
- /* [out] */ BOOL *enabled);
-
- HRESULT ( STDMETHODCALLTYPE *SetVideoInputFormat )(
- IDeckLinkConfiguration * This,
- BMDVideoConnection videoInputFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetVideoInputFormat )(
- IDeckLinkConfiguration * This,
- /* [out] */ BMDVideoConnection *videoInputFormat);
-
- HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoInputFlags )(
- IDeckLinkConfiguration * This,
- BMDAnalogVideoFlags analogVideoFlags);
-
- HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoInputFlags )(
- IDeckLinkConfiguration * This,
- /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
-
- HRESULT ( STDMETHODCALLTYPE *SetVideoInputConversionMode )(
- IDeckLinkConfiguration * This,
- BMDVideoInputConversionMode conversionMode);
-
- HRESULT ( STDMETHODCALLTYPE *GetVideoInputConversionMode )(
+ HRESULT ( STDMETHODCALLTYPE *SetFlag )(
IDeckLinkConfiguration * This,
- /* [out] */ BMDVideoInputConversionMode *conversionMode);
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [in] */ BOOL value);
- HRESULT ( STDMETHODCALLTYPE *SetBlackVideoOutputDuringCapture )(
+ HRESULT ( STDMETHODCALLTYPE *GetFlag )(
IDeckLinkConfiguration * This,
- BOOL blackOutInCapture);
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [out] */ BOOL *value);
- HRESULT ( STDMETHODCALLTYPE *GetBlackVideoOutputDuringCapture )(
+ HRESULT ( STDMETHODCALLTYPE *SetInt )(
IDeckLinkConfiguration * This,
- /* [out] */ BOOL *blackOutInCapture);
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [in] */ LONGLONG value);
- HRESULT ( STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame )(
+ HRESULT ( STDMETHODCALLTYPE *GetInt )(
IDeckLinkConfiguration * This,
- unsigned long aFrameTimecode);
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [out] */ LONGLONG *value);
- HRESULT ( STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame )(
+ HRESULT ( STDMETHODCALLTYPE *SetFloat )(
IDeckLinkConfiguration * This,
- /* [out] */ unsigned long *aFrameTimecode);
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [in] */ double value);
- HRESULT ( STDMETHODCALLTYPE *SetVancSourceLineMapping )(
+ HRESULT ( STDMETHODCALLTYPE *GetFloat )(
IDeckLinkConfiguration * This,
- unsigned long activeLine1VANCsource,
- unsigned long activeLine2VANCsource,
- unsigned long activeLine3VANCsource);
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [out] */ double *value);
- HRESULT ( STDMETHODCALLTYPE *GetVancSourceLineMapping )(
+ HRESULT ( STDMETHODCALLTYPE *SetString )(
IDeckLinkConfiguration * This,
- /* [out] */ unsigned long *activeLine1VANCsource,
- /* [out] */ unsigned long *activeLine2VANCsource,
- /* [out] */ unsigned long *activeLine3VANCsource);
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [in] */ BSTR value);
- HRESULT ( STDMETHODCALLTYPE *SetAudioInputFormat )(
+ HRESULT ( STDMETHODCALLTYPE *GetString )(
IDeckLinkConfiguration * This,
- BMDAudioConnection audioInputFormat);
+ /* [in] */ BMDDeckLinkConfigurationID cfgID,
+ /* [out] */ BSTR *value);
- HRESULT ( STDMETHODCALLTYPE *GetAudioInputFormat )(
- IDeckLinkConfiguration * This,
- /* [out] */ BMDAudioConnection *audioInputFormat);
+ HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )(
+ IDeckLinkConfiguration * This);
END_INTERFACE
} IDeckLinkConfigurationVtbl;
@@ -3306,89 +3543,32 @@
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkConfiguration_GetConfigurationValidator(This,configObject) \
- ( (This)->lpVtbl -> GetConfigurationValidator(This,configObject) )
+#define IDeckLinkConfiguration_SetFlag(This,cfgID,value) \
+ ( (This)->lpVtbl -> SetFlag(This,cfgID,value) )
-#define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) \
- ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) )
+#define IDeckLinkConfiguration_GetFlag(This,cfgID,value) \
+ ( (This)->lpVtbl -> GetFlag(This,cfgID,value) )
-#define IDeckLinkConfiguration_SetVideoOutputFormat(This,videoOutputConnection) \
- ( (This)->lpVtbl -> SetVideoOutputFormat(This,videoOutputConnection) )
+#define IDeckLinkConfiguration_SetInt(This,cfgID,value) \
+ ( (This)->lpVtbl -> SetInt(This,cfgID,value) )
-#define IDeckLinkConfiguration_IsVideoOutputActive(This,videoOutputConnection,active) \
- ( (This)->lpVtbl -> IsVideoOutputActive(This,videoOutputConnection,active) )
+#define IDeckLinkConfiguration_GetInt(This,cfgID,value) \
+ ( (This)->lpVtbl -> GetInt(This,cfgID,value) )
-#define IDeckLinkConfiguration_SetAnalogVideoOutputFlags(This,analogVideoFlags) \
- ( (This)->lpVtbl -> SetAnalogVideoOutputFlags(This,analogVideoFlags) )
+#define IDeckLinkConfiguration_SetFloat(This,cfgID,value) \
+ ( (This)->lpVtbl -> SetFloat(This,cfgID,value) )
-#define IDeckLinkConfiguration_GetAnalogVideoOutputFlags(This,analogVideoFlags) \
- ( (This)->lpVtbl -> GetAnalogVideoOutputFlags(This,analogVideoFlags) )
+#define IDeckLinkConfiguration_GetFloat(This,cfgID,value) \
+ ( (This)->lpVtbl -> GetFloat(This,cfgID,value) )
-#define IDeckLinkConfiguration_EnableFieldFlickerRemovalWhenPaused(This,enable) \
- ( (This)->lpVtbl -> EnableFieldFlickerRemovalWhenPaused(This,enable) )
+#define IDeckLinkConfiguration_SetString(This,cfgID,value) \
+ ( (This)->lpVtbl -> SetString(This,cfgID,value) )
-#define IDeckLinkConfiguration_IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) \
- ( (This)->lpVtbl -> IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) )
+#define IDeckLinkConfiguration_GetString(This,cfgID,value) \
+ ( (This)->lpVtbl -> GetString(This,cfgID,value) )
-#define IDeckLinkConfiguration_Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) \
- ( (This)->lpVtbl -> Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) )
-
-#define IDeckLinkConfiguration_Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) \
- ( (This)->lpVtbl -> Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) )
-
-#define IDeckLinkConfiguration_SetVideoOutputConversionMode(This,conversionMode) \
- ( (This)->lpVtbl -> SetVideoOutputConversionMode(This,conversionMode) )
-
-#define IDeckLinkConfiguration_GetVideoOutputConversionMode(This,conversionMode) \
- ( (This)->lpVtbl -> GetVideoOutputConversionMode(This,conversionMode) )
-
-#define IDeckLinkConfiguration_Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) \
- ( (This)->lpVtbl -> Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) )
-
-#define IDeckLinkConfiguration_Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) \
- ( (This)->lpVtbl -> Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) )
-
-#define IDeckLinkConfiguration_SetVideoInputFormat(This,videoInputFormat) \
- ( (This)->lpVtbl -> SetVideoInputFormat(This,videoInputFormat) )
-
-#define IDeckLinkConfiguration_GetVideoInputFormat(This,videoInputFormat) \
- ( (This)->lpVtbl -> GetVideoInputFormat(This,videoInputFormat) )
-
-#define IDeckLinkConfiguration_SetAnalogVideoInputFlags(This,analogVideoFlags) \
- ( (This)->lpVtbl -> SetAnalogVideoInputFlags(This,analogVideoFlags) )
-
-#define IDeckLinkConfiguration_GetAnalogVideoInputFlags(This,analogVideoFlags) \
- ( (This)->lpVtbl -> GetAnalogVideoInputFlags(This,analogVideoFlags) )
-
-#define IDeckLinkConfiguration_SetVideoInputConversionMode(This,conversionMode) \
- ( (This)->lpVtbl -> SetVideoInputConversionMode(This,conversionMode) )
-
-#define IDeckLinkConfiguration_GetVideoInputConversionMode(This,conversionMode) \
- ( (This)->lpVtbl -> GetVideoInputConversionMode(This,conversionMode) )
-
-#define IDeckLinkConfiguration_SetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
- ( (This)->lpVtbl -> SetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
-
-#define IDeckLinkConfiguration_GetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
- ( (This)->lpVtbl -> GetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
-
-#define IDeckLinkConfiguration_Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
- ( (This)->lpVtbl -> Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
-
-#define IDeckLinkConfiguration_Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
- ( (This)->lpVtbl -> Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
-
-#define IDeckLinkConfiguration_SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
- ( (This)->lpVtbl -> SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
-
-#define IDeckLinkConfiguration_GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
- ( (This)->lpVtbl -> GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
-
-#define IDeckLinkConfiguration_SetAudioInputFormat(This,audioInputFormat) \
- ( (This)->lpVtbl -> SetAudioInputFormat(This,audioInputFormat) )
-
-#define IDeckLinkConfiguration_GetAudioInputFormat(This,audioInputFormat) \
- ( (This)->lpVtbl -> GetAudioInputFormat(This,audioInputFormat) )
+#define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) \
+ ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) )
#endif /* COBJMACROS */
@@ -3443,7 +3623,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkAttributes * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -3558,7 +3738,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkKeyer * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -3646,7 +3826,7 @@
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("3EB504C9-F97D-40FE-A158-D407D48CB53B")
+ MIDL_INTERFACE("3BBCB8A2-DA2C-42D9-B5D8-88083644E99A")
IDeckLinkVideoConversion : public IUnknown
{
public:
@@ -3665,7 +3845,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkVideoConversion * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -3757,7 +3937,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkDeckControlStatusCallback * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -3972,7 +4152,7 @@
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDeckLinkDeckControl * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
@@ -4270,7 +4450,7 @@
#ifdef __cplusplus
-class DECLSPEC_UUID("D398CEE7-4434-4CA3-9BA6-5AE34556B905")
+class DECLSPEC_UUID("F63E77C7-B655-4A4A-9AD0-3CA85D394343")
CDeckLinkGLScreenPreviewHelper;
#endif
@@ -4278,58 +4458,58 @@
#ifdef __cplusplus
-class DECLSPEC_UUID("FFA84F77-73BE-4FB7-B03E-B5E44B9F759B")
+class DECLSPEC_UUID("7DBBBB11-5B7B-467D-AEA4-CEA468FD368C")
CDeckLinkVideoConversion;
#endif
-#ifndef __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
-#define __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
+#ifndef __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__
-/* interface IDeckLinkDisplayModeIterator_v7_1 */
+/* interface IDeckLinkDisplayModeIterator_v7_6 */
/* [helpstring][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_1;
+EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_6;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("B28131B6-59AC-4857-B5AC-CD75D5883E2F")
- IDeckLinkDisplayModeIterator_v7_1 : public IUnknown
+ MIDL_INTERFACE("455D741F-1779-4800-86F5-0B5D13D79751")
+ IDeckLinkDisplayModeIterator_v7_6 : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Next(
- /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) = 0;
+ /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) = 0;
};
#else /* C style interface */
- typedef struct IDeckLinkDisplayModeIterator_v7_1Vtbl
+ typedef struct IDeckLinkDisplayModeIterator_v7_6Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkDisplayModeIterator_v7_1 * This,
+ IDeckLinkDisplayModeIterator_v7_6 * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkDisplayModeIterator_v7_1 * This);
+ IDeckLinkDisplayModeIterator_v7_6 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkDisplayModeIterator_v7_1 * This);
+ IDeckLinkDisplayModeIterator_v7_6 * This);
HRESULT ( STDMETHODCALLTYPE *Next )(
- IDeckLinkDisplayModeIterator_v7_1 * This,
- /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode);
+ IDeckLinkDisplayModeIterator_v7_6 * This,
+ /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode);
END_INTERFACE
- } IDeckLinkDisplayModeIterator_v7_1Vtbl;
+ } IDeckLinkDisplayModeIterator_v7_6Vtbl;
- interface IDeckLinkDisplayModeIterator_v7_1
+ interface IDeckLinkDisplayModeIterator_v7_6
{
- CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_1Vtbl *lpVtbl;
+ CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_6Vtbl *lpVtbl;
};
@@ -4337,17 +4517,17 @@
#ifdef COBJMACROS
-#define IDeckLinkDisplayModeIterator_v7_1_QueryInterface(This,riid,ppvObject) \
+#define IDeckLinkDisplayModeIterator_v7_6_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkDisplayModeIterator_v7_1_AddRef(This) \
+#define IDeckLinkDisplayModeIterator_v7_6_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkDisplayModeIterator_v7_1_Release(This) \
+#define IDeckLinkDisplayModeIterator_v7_6_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) \
+#define IDeckLinkDisplayModeIterator_v7_6_Next(This,deckLinkDisplayMode) \
( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
#endif /* COBJMACROS */
@@ -4358,22 +4538,22 @@
-#endif /* __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ */
+#endif /* __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ */
-#ifndef __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
-#define __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
+#ifndef __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__
-/* interface IDeckLinkDisplayMode_v7_1 */
+/* interface IDeckLinkDisplayMode_v7_6 */
/* [helpstring][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_1;
+EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_6;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("AF0CD6D5-8376-435E-8433-54F9DD530AC3")
- IDeckLinkDisplayMode_v7_1 : public IUnknown
+ MIDL_INTERFACE("87451E84-2B7E-439E-A629-4393EA4A8550")
+ IDeckLinkDisplayMode_v7_6 : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetName(
@@ -4389,50 +4569,55 @@
/* [out] */ BMDTimeValue *frameDuration,
/* [out] */ BMDTimeScale *timeScale) = 0;
+ virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0;
+
};
#else /* C style interface */
- typedef struct IDeckLinkDisplayMode_v7_1Vtbl
+ typedef struct IDeckLinkDisplayMode_v7_6Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkDisplayMode_v7_1 * This,
+ IDeckLinkDisplayMode_v7_6 * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkDisplayMode_v7_1 * This);
+ IDeckLinkDisplayMode_v7_6 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkDisplayMode_v7_1 * This);
+ IDeckLinkDisplayMode_v7_6 * This);
HRESULT ( STDMETHODCALLTYPE *GetName )(
- IDeckLinkDisplayMode_v7_1 * This,
+ IDeckLinkDisplayMode_v7_6 * This,
/* [out] */ BSTR *name);
BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
- IDeckLinkDisplayMode_v7_1 * This);
+ IDeckLinkDisplayMode_v7_6 * This);
long ( STDMETHODCALLTYPE *GetWidth )(
- IDeckLinkDisplayMode_v7_1 * This);
+ IDeckLinkDisplayMode_v7_6 * This);
long ( STDMETHODCALLTYPE *GetHeight )(
- IDeckLinkDisplayMode_v7_1 * This);
+ IDeckLinkDisplayMode_v7_6 * This);
HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
- IDeckLinkDisplayMode_v7_1 * This,
+ IDeckLinkDisplayMode_v7_6 * This,
/* [out] */ BMDTimeValue *frameDuration,
/* [out] */ BMDTimeScale *timeScale);
+ BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )(
+ IDeckLinkDisplayMode_v7_6 * This);
+
END_INTERFACE
- } IDeckLinkDisplayMode_v7_1Vtbl;
+ } IDeckLinkDisplayMode_v7_6Vtbl;
- interface IDeckLinkDisplayMode_v7_1
+ interface IDeckLinkDisplayMode_v7_6
{
- CONST_VTBL struct IDeckLinkDisplayMode_v7_1Vtbl *lpVtbl;
+ CONST_VTBL struct IDeckLinkDisplayMode_v7_6Vtbl *lpVtbl;
};
@@ -4440,31 +4625,34 @@
#ifdef COBJMACROS
-#define IDeckLinkDisplayMode_v7_1_QueryInterface(This,riid,ppvObject) \
+#define IDeckLinkDisplayMode_v7_6_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkDisplayMode_v7_1_AddRef(This) \
+#define IDeckLinkDisplayMode_v7_6_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkDisplayMode_v7_1_Release(This) \
+#define IDeckLinkDisplayMode_v7_6_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkDisplayMode_v7_1_GetName(This,name) \
+#define IDeckLinkDisplayMode_v7_6_GetName(This,name) \
( (This)->lpVtbl -> GetName(This,name) )
-#define IDeckLinkDisplayMode_v7_1_GetDisplayMode(This) \
+#define IDeckLinkDisplayMode_v7_6_GetDisplayMode(This) \
( (This)->lpVtbl -> GetDisplayMode(This) )
-#define IDeckLinkDisplayMode_v7_1_GetWidth(This) \
+#define IDeckLinkDisplayMode_v7_6_GetWidth(This) \
( (This)->lpVtbl -> GetWidth(This) )
-#define IDeckLinkDisplayMode_v7_1_GetHeight(This) \
+#define IDeckLinkDisplayMode_v7_6_GetHeight(This) \
( (This)->lpVtbl -> GetHeight(This) )
-#define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) \
+#define IDeckLinkDisplayMode_v7_6_GetFrameRate(This,frameDuration,timeScale) \
( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
+#define IDeckLinkDisplayMode_v7_6_GetFieldDominance(This) \
+ ( (This)->lpVtbl -> GetFieldDominance(This) )
+
#endif /* COBJMACROS */
@@ -4473,199 +4661,282 @@
-#endif /* __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ */
+#endif /* __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ */
-#ifndef __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
-#define __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
+#ifndef __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__
-/* interface IDeckLinkVideoFrame_v7_1 */
+/* interface IDeckLinkOutput_v7_6 */
/* [helpstring][local][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_1;
+EXTERN_C const IID IID_IDeckLinkOutput_v7_6;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("333F3A10-8C2D-43CF-B79D-46560FEEA1CE")
- IDeckLinkVideoFrame_v7_1 : public IUnknown
+ MIDL_INTERFACE("29228142-EB8C-4141-A621-F74026450955")
+ IDeckLinkOutput_v7_6 : public IUnknown
{
public:
- virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ /* [out] */ BMDDisplayModeSupport *result) = 0;
- virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
- virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
+ /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;
- virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0;
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
+ BMDDisplayMode displayMode,
+ BMDVideoOutputFlags flags) = 0;
- virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0;
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetBytes(
- void **buffer) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
+ long width,
+ long height,
+ long rowBytes,
+ BMDPixelFormat pixelFormat,
+ BMDFrameFlags flags,
+ /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
+ BMDPixelFormat pixelFormat,
+ /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
+ BMDTimeValue displayTime,
+ BMDTimeValue displayDuration,
+ BMDTimeScale timeScale) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
+ /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
+ /* [out] */ unsigned long *bufferedFrameCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
+ BMDAudioSampleRate sampleRate,
+ BMDAudioSampleType sampleType,
+ unsigned long 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;
+
+ virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
+ /* [in] */ void *buffer,
+ unsigned long sampleFrameCount,
+ BMDTimeValue streamTime,
+ BMDTimeScale timeScale,
+ /* [out] */ unsigned long *sampleFramesWritten) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
+ /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
+ BMDTimeValue playbackStartTime,
+ BMDTimeScale timeScale,
+ double playbackSpeed) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
+ BMDTimeValue stopPlaybackAtTime,
+ /* [out] */ BMDTimeValue *actualStopTime,
+ BMDTimeScale timeScale) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
+ /* [out] */ BOOL *active) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime(
+ BMDTimeScale desiredTimeScale,
+ /* [out] */ BMDTimeValue *streamTime,
+ /* [out] */ double *playbackSpeed) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
+ BMDTimeScale desiredTimeScale,
+ /* [out] */ BMDTimeValue *hardwareTime,
+ /* [out] */ BMDTimeValue *timeInFrame,
+ /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
};
#else /* C style interface */
- typedef struct IDeckLinkVideoFrame_v7_1Vtbl
+ typedef struct IDeckLinkOutput_v7_6Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkVideoFrame_v7_1 * This,
+ IDeckLinkOutput_v7_6 * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkVideoFrame_v7_1 * This);
+ IDeckLinkOutput_v7_6 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkVideoFrame_v7_1 * This);
+ IDeckLinkOutput_v7_6 * This);
- long ( STDMETHODCALLTYPE *GetWidth )(
- IDeckLinkVideoFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
+ IDeckLinkOutput_v7_6 * This,
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ /* [out] */ BMDDisplayModeSupport *result);
- long ( STDMETHODCALLTYPE *GetHeight )(
- IDeckLinkVideoFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
- long ( STDMETHODCALLTYPE *GetRowBytes )(
- IDeckLinkVideoFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
- BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
- IDeckLinkVideoFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
+ IDeckLinkOutput_v7_6 * This,
+ BMDDisplayMode displayMode,
+ BMDVideoOutputFlags flags);
- BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
- IDeckLinkVideoFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
+ IDeckLinkOutput_v7_6 * This);
- HRESULT ( STDMETHODCALLTYPE *GetBytes )(
- IDeckLinkVideoFrame_v7_1 * This,
- void **buffer);
+ HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
- END_INTERFACE
- } IDeckLinkVideoFrame_v7_1Vtbl;
-
- interface IDeckLinkVideoFrame_v7_1
- {
- CONST_VTBL struct IDeckLinkVideoFrame_v7_1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IDeckLinkVideoFrame_v7_1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IDeckLinkVideoFrame_v7_1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IDeckLinkVideoFrame_v7_1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IDeckLinkVideoFrame_v7_1_GetWidth(This) \
- ( (This)->lpVtbl -> GetWidth(This) )
-
-#define IDeckLinkVideoFrame_v7_1_GetHeight(This) \
- ( (This)->lpVtbl -> GetHeight(This) )
-
-#define IDeckLinkVideoFrame_v7_1_GetRowBytes(This) \
- ( (This)->lpVtbl -> GetRowBytes(This) )
-
-#define IDeckLinkVideoFrame_v7_1_GetPixelFormat(This) \
- ( (This)->lpVtbl -> GetPixelFormat(This) )
-
-#define IDeckLinkVideoFrame_v7_1_GetFlags(This) \
- ( (This)->lpVtbl -> GetFlags(This) )
-
-#define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) \
- ( (This)->lpVtbl -> GetBytes(This,buffer) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ */
-
-
-#ifndef __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
-#define __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
-
-/* interface IDeckLinkVideoInputFrame_v7_1 */
-/* [helpstring][local][uuid][object] */
-
-
-EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("C8B41D95-8848-40EE-9B37-6E3417FB114B")
- IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetFrameTime(
- BMDTimeValue *frameTime,
- BMDTimeValue *frameDuration,
- BMDTimeScale timeScale) = 0;
+ HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
+ IDeckLinkOutput_v7_6 * This,
+ long width,
+ long height,
+ long rowBytes,
+ BMDPixelFormat pixelFormat,
+ BMDFrameFlags flags,
+ /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame);
- };
-
-#else /* C style interface */
-
- typedef struct IDeckLinkVideoInputFrame_v7_1Vtbl
- {
- BEGIN_INTERFACE
+ HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
+ IDeckLinkOutput_v7_6 * This,
+ BMDPixelFormat pixelFormat,
+ /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkVideoInputFrame_v7_1 * This,
- /* [in] */ REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
+ HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkVideoInputFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
+ BMDTimeValue displayTime,
+ BMDTimeValue displayDuration,
+ BMDTimeScale timeScale);
- ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkVideoInputFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback);
- long ( STDMETHODCALLTYPE *GetWidth )(
- IDeckLinkVideoInputFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [out] */ unsigned long *bufferedFrameCount);
- long ( STDMETHODCALLTYPE *GetHeight )(
- IDeckLinkVideoInputFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
+ IDeckLinkOutput_v7_6 * This,
+ BMDAudioSampleRate sampleRate,
+ BMDAudioSampleType sampleType,
+ unsigned long channelCount,
+ BMDAudioOutputStreamType streamType);
- long ( STDMETHODCALLTYPE *GetRowBytes )(
- IDeckLinkVideoInputFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
+ IDeckLinkOutput_v7_6 * This);
- BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
- IDeckLinkVideoInputFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [in] */ void *buffer,
+ unsigned long sampleFrameCount,
+ /* [out] */ unsigned long *sampleFramesWritten);
- BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
- IDeckLinkVideoInputFrame_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
+ IDeckLinkOutput_v7_6 * This);
- HRESULT ( STDMETHODCALLTYPE *GetBytes )(
- IDeckLinkVideoInputFrame_v7_1 * This,
- void **buffer);
+ HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
+ IDeckLinkOutput_v7_6 * This);
- HRESULT ( STDMETHODCALLTYPE *GetFrameTime )(
- IDeckLinkVideoInputFrame_v7_1 * This,
- BMDTimeValue *frameTime,
- BMDTimeValue *frameDuration,
+ HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [in] */ void *buffer,
+ unsigned long sampleFrameCount,
+ BMDTimeValue streamTime,
+ BMDTimeScale timeScale,
+ /* [out] */ unsigned long *sampleFramesWritten);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [out] */ unsigned long *bufferedSampleFrameCount);
+
+ HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
+ IDeckLinkOutput_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
+
+ HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
+ IDeckLinkOutput_v7_6 * This,
+ BMDTimeValue playbackStartTime,
+ BMDTimeScale timeScale,
+ double playbackSpeed);
+
+ HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
+ IDeckLinkOutput_v7_6 * This,
+ BMDTimeValue stopPlaybackAtTime,
+ /* [out] */ BMDTimeValue *actualStopTime,
BMDTimeScale timeScale);
+ HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
+ IDeckLinkOutput_v7_6 * This,
+ /* [out] */ BOOL *active);
+
+ HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )(
+ IDeckLinkOutput_v7_6 * This,
+ BMDTimeScale desiredTimeScale,
+ /* [out] */ BMDTimeValue *streamTime,
+ /* [out] */ double *playbackSpeed);
+
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
+ IDeckLinkOutput_v7_6 * This,
+ BMDTimeScale desiredTimeScale,
+ /* [out] */ BMDTimeValue *hardwareTime,
+ /* [out] */ BMDTimeValue *timeInFrame,
+ /* [out] */ BMDTimeValue *ticksPerFrame);
+
END_INTERFACE
- } IDeckLinkVideoInputFrame_v7_1Vtbl;
+ } IDeckLinkOutput_v7_6Vtbl;
- interface IDeckLinkVideoInputFrame_v7_1
+ interface IDeckLinkOutput_v7_6
{
- CONST_VTBL struct IDeckLinkVideoInputFrame_v7_1Vtbl *lpVtbl;
+ CONST_VTBL struct IDeckLinkOutput_v7_6Vtbl *lpVtbl;
};
@@ -4673,37 +4944,93 @@
#ifdef COBJMACROS
-#define IDeckLinkVideoInputFrame_v7_1_QueryInterface(This,riid,ppvObject) \
+#define IDeckLinkOutput_v7_6_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkVideoInputFrame_v7_1_AddRef(This) \
+#define IDeckLinkOutput_v7_6_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkVideoInputFrame_v7_1_Release(This) \
+#define IDeckLinkOutput_v7_6_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkVideoInputFrame_v7_1_GetWidth(This) \
- ( (This)->lpVtbl -> GetWidth(This) )
+#define IDeckLinkOutput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
-#define IDeckLinkVideoInputFrame_v7_1_GetHeight(This) \
- ( (This)->lpVtbl -> GetHeight(This) )
+#define IDeckLinkOutput_v7_6_GetDisplayModeIterator(This,iterator) \
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
-#define IDeckLinkVideoInputFrame_v7_1_GetRowBytes(This) \
- ( (This)->lpVtbl -> GetRowBytes(This) )
+#define IDeckLinkOutput_v7_6_SetScreenPreviewCallback(This,previewCallback) \
+ ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
-#define IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(This) \
- ( (This)->lpVtbl -> GetPixelFormat(This) )
+#define IDeckLinkOutput_v7_6_EnableVideoOutput(This,displayMode,flags) \
+ ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
-#define IDeckLinkVideoInputFrame_v7_1_GetFlags(This) \
- ( (This)->lpVtbl -> GetFlags(This) )
+#define IDeckLinkOutput_v7_6_DisableVideoOutput(This) \
+ ( (This)->lpVtbl -> DisableVideoOutput(This) )
-#define IDeckLinkVideoInputFrame_v7_1_GetBytes(This,buffer) \
- ( (This)->lpVtbl -> GetBytes(This,buffer) )
+#define IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
+ ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
+
+#define IDeckLinkOutput_v7_6_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
+ ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
+#define IDeckLinkOutput_v7_6_CreateAncillaryData(This,pixelFormat,outBuffer) \
+ ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
-#define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) \
- ( (This)->lpVtbl -> GetFrameTime(This,frameTime,frameDuration,timeScale) )
+#define IDeckLinkOutput_v7_6_DisplayVideoFrameSync(This,theFrame) \
+ ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
+
+#define IDeckLinkOutput_v7_6_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
+ ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
+
+#define IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(This,theCallback) \
+ ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
+
+#define IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
+ ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
+
+#define IDeckLinkOutput_v7_6_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
+ ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
+
+#define IDeckLinkOutput_v7_6_DisableAudioOutput(This) \
+ ( (This)->lpVtbl -> DisableAudioOutput(This) )
+
+#define IDeckLinkOutput_v7_6_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
+ ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
+
+#define IDeckLinkOutput_v7_6_BeginAudioPreroll(This) \
+ ( (This)->lpVtbl -> BeginAudioPreroll(This) )
+
+#define IDeckLinkOutput_v7_6_EndAudioPreroll(This) \
+ ( (This)->lpVtbl -> EndAudioPreroll(This) )
+
+#define IDeckLinkOutput_v7_6_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
+ ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
+
+#define IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
+ ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
+
+#define IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(This) \
+ ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
+
+#define IDeckLinkOutput_v7_6_SetAudioCallback(This,theCallback) \
+ ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
+
+#define IDeckLinkOutput_v7_6_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
+ ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
+
+#define IDeckLinkOutput_v7_6_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
+ ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
+
+#define IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(This,active) \
+ ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
+
+#define IDeckLinkOutput_v7_6_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \
+ ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) )
+
+#define IDeckLinkOutput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
+ ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
#endif /* COBJMACROS */
@@ -4713,71 +5040,161 @@
-#endif /* __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ */
+#endif /* __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ */
-#ifndef __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
-#define __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
+#ifndef __IDeckLinkInput_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkInput_v7_6_INTERFACE_DEFINED__
-/* interface IDeckLinkAudioInputPacket_v7_1 */
-/* [helpstring][local][uuid][object] */
+/* interface IDeckLinkInput_v7_6 */
+/* [helpstring][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkAudioInputPacket_v7_1;
+EXTERN_C const IID IID_IDeckLinkInput_v7_6;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("C86DE4F6-A29F-42E3-AB3A-1363E29F0788")
- IDeckLinkAudioInputPacket_v7_1 : public IUnknown
+ MIDL_INTERFACE("300C135A-9F43-48E2-9906-6D7911D93CF1")
+ IDeckLinkInput_v7_6 : public IUnknown
{
public:
- virtual long STDMETHODCALLTYPE GetSampleCount( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetBytes(
- void **buffer) = 0;
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ /* [out] */ BMDDisplayModeSupport *result) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime(
- BMDTimeValue *packetTime,
- BMDTimeScale timeScale) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
- };
-
-#else /* C style interface */
-
- typedef struct IDeckLinkAudioInputPacket_v7_1Vtbl
- {
- BEGIN_INTERFACE
+ virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
+ /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0;
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkAudioInputPacket_v7_1 * This,
- /* [in] */ REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ BMDVideoInputFlags flags) = 0;
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkAudioInputPacket_v7_1 * This);
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
- ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkAudioInputPacket_v7_1 * This);
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
+ /* [out] */ unsigned long *availableFrameCount) = 0;
- long ( STDMETHODCALLTYPE *GetSampleCount )(
- IDeckLinkAudioInputPacket_v7_1 * This);
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
+ BMDAudioSampleRate sampleRate,
+ BMDAudioSampleType sampleType,
+ unsigned long channelCount) = 0;
- HRESULT ( STDMETHODCALLTYPE *GetBytes )(
- IDeckLinkAudioInputPacket_v7_1 * This,
- void **buffer);
+ virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
- HRESULT ( STDMETHODCALLTYPE *GetAudioPacketTime )(
- IDeckLinkAudioInputPacket_v7_1 * This,
- BMDTimeValue *packetTime,
- BMDTimeScale timeScale);
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
+ /* [out] */ unsigned long *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] */ IDeckLinkInputCallback_v7_6 *theCallback) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
+ BMDTimeScale desiredTimeScale,
+ /* [out] */ BMDTimeValue *hardwareTime,
+ /* [out] */ BMDTimeValue *timeInFrame,
+ /* [out] */ BMDTimeValue *ticksPerFrame) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkInput_v7_6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkInput_v7_6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkInput_v7_6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkInput_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
+ IDeckLinkInput_v7_6 * This,
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ /* [out] */ BMDDisplayModeSupport *result);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
+ IDeckLinkInput_v7_6 * This,
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
+
+ HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
+ IDeckLinkInput_v7_6 * This,
+ /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
+
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
+ IDeckLinkInput_v7_6 * This,
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ BMDVideoInputFlags flags);
+
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
+ IDeckLinkInput_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
+ IDeckLinkInput_v7_6 * This,
+ /* [out] */ unsigned long *availableFrameCount);
+
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
+ IDeckLinkInput_v7_6 * This,
+ BMDAudioSampleRate sampleRate,
+ BMDAudioSampleType sampleType,
+ unsigned long channelCount);
+
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
+ IDeckLinkInput_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
+ IDeckLinkInput_v7_6 * This,
+ /* [out] */ unsigned long *availableSampleFrameCount);
+
+ HRESULT ( STDMETHODCALLTYPE *StartStreams )(
+ IDeckLinkInput_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *StopStreams )(
+ IDeckLinkInput_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
+ IDeckLinkInput_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
+ IDeckLinkInput_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetCallback )(
+ IDeckLinkInput_v7_6 * This,
+ /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback);
+
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
+ IDeckLinkInput_v7_6 * This,
+ BMDTimeScale desiredTimeScale,
+ /* [out] */ BMDTimeValue *hardwareTime,
+ /* [out] */ BMDTimeValue *timeInFrame,
+ /* [out] */ BMDTimeValue *ticksPerFrame);
END_INTERFACE
- } IDeckLinkAudioInputPacket_v7_1Vtbl;
+ } IDeckLinkInput_v7_6Vtbl;
- interface IDeckLinkAudioInputPacket_v7_1
+ interface IDeckLinkInput_v7_6
{
- CONST_VTBL struct IDeckLinkAudioInputPacket_v7_1Vtbl *lpVtbl;
+ CONST_VTBL struct IDeckLinkInput_v7_6Vtbl *lpVtbl;
};
@@ -4785,24 +5202,60 @@
#ifdef COBJMACROS
-#define IDeckLinkAudioInputPacket_v7_1_QueryInterface(This,riid,ppvObject) \
+#define IDeckLinkInput_v7_6_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkAudioInputPacket_v7_1_AddRef(This) \
+#define IDeckLinkInput_v7_6_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkAudioInputPacket_v7_1_Release(This) \
+#define IDeckLinkInput_v7_6_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkAudioInputPacket_v7_1_GetSampleCount(This) \
- ( (This)->lpVtbl -> GetSampleCount(This) )
+#define IDeckLinkInput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
-#define IDeckLinkAudioInputPacket_v7_1_GetBytes(This,buffer) \
- ( (This)->lpVtbl -> GetBytes(This,buffer) )
+#define IDeckLinkInput_v7_6_GetDisplayModeIterator(This,iterator) \
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
-#define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) \
- ( (This)->lpVtbl -> GetAudioPacketTime(This,packetTime,timeScale) )
+#define IDeckLinkInput_v7_6_SetScreenPreviewCallback(This,previewCallback) \
+ ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
+
+#define IDeckLinkInput_v7_6_EnableVideoInput(This,displayMode,pixelFormat,flags) \
+ ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
+
+#define IDeckLinkInput_v7_6_DisableVideoInput(This) \
+ ( (This)->lpVtbl -> DisableVideoInput(This) )
+
+#define IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(This,availableFrameCount) \
+ ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
+
+#define IDeckLinkInput_v7_6_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
+ ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
+
+#define IDeckLinkInput_v7_6_DisableAudioInput(This) \
+ ( (This)->lpVtbl -> DisableAudioInput(This) )
+
+#define IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
+ ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
+
+#define IDeckLinkInput_v7_6_StartStreams(This) \
+ ( (This)->lpVtbl -> StartStreams(This) )
+
+#define IDeckLinkInput_v7_6_StopStreams(This) \
+ ( (This)->lpVtbl -> StopStreams(This) )
+
+#define IDeckLinkInput_v7_6_PauseStreams(This) \
+ ( (This)->lpVtbl -> PauseStreams(This) )
+
+#define IDeckLinkInput_v7_6_FlushStreams(This) \
+ ( (This)->lpVtbl -> FlushStreams(This) )
+
+#define IDeckLinkInput_v7_6_SetCallback(This,theCallback) \
+ ( (This)->lpVtbl -> SetCallback(This,theCallback) )
+
+#define IDeckLinkInput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \
+ ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) )
#endif /* COBJMACROS */
@@ -4812,59 +5265,80 @@
-#endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */
+#endif /* __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ */
-#ifndef __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
-#define __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
+#ifndef __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__
-/* interface IDeckLinkVideoOutputCallback_v7_1 */
+/* interface IDeckLinkTimecode_v7_6 */
/* [helpstring][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_1;
+EXTERN_C const IID IID_IDeckLinkTimecode_v7_6;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9")
- IDeckLinkVideoOutputCallback_v7_1 : public IUnknown
+ MIDL_INTERFACE("EFB9BCA6-A521-44F7-BD69-2332F24D9EE6")
+ IDeckLinkTimecode_v7_6 : public IUnknown
{
public:
- virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
- /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
- /* [in] */ BMDOutputFrameCompletionResult result) = 0;
+ virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetComponents(
+ /* [out] */ unsigned char *hours,
+ /* [out] */ unsigned char *minutes,
+ /* [out] */ unsigned char *seconds,
+ /* [out] */ unsigned char *frames) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetString(
+ /* [out] */ BSTR *timecode) = 0;
+
+ virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0;
};
#else /* C style interface */
- typedef struct IDeckLinkVideoOutputCallback_v7_1Vtbl
+ typedef struct IDeckLinkTimecode_v7_6Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkVideoOutputCallback_v7_1 * This,
+ IDeckLinkTimecode_v7_6 * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkVideoOutputCallback_v7_1 * This);
+ IDeckLinkTimecode_v7_6 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkVideoOutputCallback_v7_1 * This);
+ IDeckLinkTimecode_v7_6 * This);
- HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
- IDeckLinkVideoOutputCallback_v7_1 * This,
- /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
- /* [in] */ BMDOutputFrameCompletionResult result);
+ BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )(
+ IDeckLinkTimecode_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetComponents )(
+ IDeckLinkTimecode_v7_6 * This,
+ /* [out] */ unsigned char *hours,
+ /* [out] */ unsigned char *minutes,
+ /* [out] */ unsigned char *seconds,
+ /* [out] */ unsigned char *frames);
+
+ HRESULT ( STDMETHODCALLTYPE *GetString )(
+ IDeckLinkTimecode_v7_6 * This,
+ /* [out] */ BSTR *timecode);
+
+ BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )(
+ IDeckLinkTimecode_v7_6 * This);
END_INTERFACE
- } IDeckLinkVideoOutputCallback_v7_1Vtbl;
+ } IDeckLinkTimecode_v7_6Vtbl;
- interface IDeckLinkVideoOutputCallback_v7_1
+ interface IDeckLinkTimecode_v7_6
{
- CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_1Vtbl *lpVtbl;
+ CONST_VTBL struct IDeckLinkTimecode_v7_6Vtbl *lpVtbl;
};
@@ -4872,18 +5346,27 @@
#ifdef COBJMACROS
-#define IDeckLinkVideoOutputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
+#define IDeckLinkTimecode_v7_6_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkVideoOutputCallback_v7_1_AddRef(This) \
+#define IDeckLinkTimecode_v7_6_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkVideoOutputCallback_v7_1_Release(This) \
+#define IDeckLinkTimecode_v7_6_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) \
- ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
+#define IDeckLinkTimecode_v7_6_GetBCD(This) \
+ ( (This)->lpVtbl -> GetBCD(This) )
+
+#define IDeckLinkTimecode_v7_6_GetComponents(This,hours,minutes,seconds,frames) \
+ ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) )
+
+#define IDeckLinkTimecode_v7_6_GetString(This,timecode) \
+ ( (This)->lpVtbl -> GetString(This,timecode) )
+
+#define IDeckLinkTimecode_v7_6_GetFlags(This) \
+ ( (This)->lpVtbl -> GetFlags(This) )
#endif /* COBJMACROS */
@@ -4893,59 +5376,98 @@
-#endif /* __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ */
+#endif /* __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ */
-#ifndef __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
-#define __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
+#ifndef __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__
-/* interface IDeckLinkInputCallback_v7_1 */
-/* [helpstring][uuid][object] */
+/* interface IDeckLinkVideoFrame_v7_6 */
+/* [helpstring][local][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkInputCallback_v7_1;
+EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_6;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("7F94F328-5ED4-4E9F-9729-76A86BDC99CC")
- IDeckLinkInputCallback_v7_1 : public IUnknown
+ MIDL_INTERFACE("A8D8238E-6B18-4196-99E1-5AF717B83D32")
+ IDeckLinkVideoFrame_v7_6 : public IUnknown
{
public:
- virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
- /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
- /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket) = 0;
+ 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(
+ BMDTimecodeFormat format,
+ /* [out] */ IDeckLinkTimecode_v7_6 **timecode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0;
};
#else /* C style interface */
- typedef struct IDeckLinkInputCallback_v7_1Vtbl
+ typedef struct IDeckLinkVideoFrame_v7_6Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkInputCallback_v7_1 * This,
+ IDeckLinkVideoFrame_v7_6 * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkInputCallback_v7_1 * This);
+ IDeckLinkVideoFrame_v7_6 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkInputCallback_v7_1 * This);
+ IDeckLinkVideoFrame_v7_6 * This);
- HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
- IDeckLinkInputCallback_v7_1 * This,
- /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
- /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket);
+ long ( STDMETHODCALLTYPE *GetWidth )(
+ IDeckLinkVideoFrame_v7_6 * This);
+
+ long ( STDMETHODCALLTYPE *GetHeight )(
+ IDeckLinkVideoFrame_v7_6 * This);
+
+ long ( STDMETHODCALLTYPE *GetRowBytes )(
+ IDeckLinkVideoFrame_v7_6 * This);
+
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
+ IDeckLinkVideoFrame_v7_6 * This);
+
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
+ IDeckLinkVideoFrame_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )(
+ IDeckLinkVideoFrame_v7_6 * This,
+ /* [out] */ void **buffer);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
+ IDeckLinkVideoFrame_v7_6 * This,
+ BMDTimecodeFormat format,
+ /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
+ IDeckLinkVideoFrame_v7_6 * This,
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
END_INTERFACE
- } IDeckLinkInputCallback_v7_1Vtbl;
+ } IDeckLinkVideoFrame_v7_6Vtbl;
- interface IDeckLinkInputCallback_v7_1
+ interface IDeckLinkVideoFrame_v7_6
{
- CONST_VTBL struct IDeckLinkInputCallback_v7_1Vtbl *lpVtbl;
+ CONST_VTBL struct IDeckLinkVideoFrame_v7_6Vtbl *lpVtbl;
};
@@ -4953,20 +5475,41 @@
#ifdef COBJMACROS
-#define IDeckLinkInputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
+#define IDeckLinkVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkInputCallback_v7_1_AddRef(This) \
+#define IDeckLinkVideoFrame_v7_6_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkInputCallback_v7_1_Release(This) \
+#define IDeckLinkVideoFrame_v7_6_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) \
- ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
+#define IDeckLinkVideoFrame_v7_6_GetWidth(This) \
+ ( (This)->lpVtbl -> GetWidth(This) )
-#endif /* COBJMACROS */
+#define IDeckLinkVideoFrame_v7_6_GetHeight(This) \
+ ( (This)->lpVtbl -> GetHeight(This) )
+
+#define IDeckLinkVideoFrame_v7_6_GetRowBytes(This) \
+ ( (This)->lpVtbl -> GetRowBytes(This) )
+
+#define IDeckLinkVideoFrame_v7_6_GetPixelFormat(This) \
+ ( (This)->lpVtbl -> GetPixelFormat(This) )
+
+#define IDeckLinkVideoFrame_v7_6_GetFlags(This) \
+ ( (This)->lpVtbl -> GetFlags(This) )
+
+#define IDeckLinkVideoFrame_v7_6_GetBytes(This,buffer) \
+ ( (This)->lpVtbl -> GetBytes(This,buffer) )
+
+#define IDeckLinkVideoFrame_v7_6_GetTimecode(This,format,timecode) \
+ ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
+
+#define IDeckLinkVideoFrame_v7_6_GetAncillaryData(This,ancillary) \
+ ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
+
+#endif /* COBJMACROS */
#endif /* C style interface */
@@ -4974,252 +5517,118 @@
-#endif /* __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ */
+#endif /* __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ */
-#ifndef __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
-#define __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
+#ifndef __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__
-/* interface IDeckLinkOutput_v7_1 */
+/* interface IDeckLinkMutableVideoFrame_v7_6 */
/* [helpstring][local][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkOutput_v7_1;
+EXTERN_C const IID IID_IDeckLinkMutableVideoFrame_v7_6;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5")
- IDeckLinkOutput_v7_1 : public IUnknown
+ MIDL_INTERFACE("46FCEE00-B4E6-43D0-91C0-023A7FCEB34F")
+ IDeckLinkMutableVideoFrame_v7_6 : public IDeckLinkVideoFrame_v7_6
{
public:
- virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- /* [out] */ BMDDisplayModeSupport *result) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
- /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
- BMDDisplayMode displayMode) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
- /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
- long width,
- long height,
- long rowBytes,
- BMDPixelFormat pixelFormat,
- BMDFrameFlags flags,
- IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer(
- void *buffer,
- long width,
- long height,
- long rowBytes,
- BMDPixelFormat pixelFormat,
- BMDFrameFlags flags,
- IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
- IDeckLinkVideoFrame_v7_1 *theFrame) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
- IDeckLinkVideoFrame_v7_1 *theFrame,
- BMDTimeValue displayTime,
- BMDTimeValue displayDuration,
- BMDTimeScale timeScale) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
- /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
- BMDAudioSampleRate sampleRate,
- BMDAudioSampleType sampleType,
- unsigned long channelCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
- void *buffer,
- unsigned long sampleFrameCount,
- /* [out] */ unsigned long *sampleFramesWritten) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
- void *buffer,
- unsigned long sampleFrameCount,
- BMDTimeValue streamTime,
- BMDTimeScale timeScale,
- /* [out] */ unsigned long *sampleFramesWritten) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
- /* [out] */ unsigned long *bufferedSampleCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
- /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetFlags(
+ BMDFrameFlags newFlags) = 0;
- virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
- BMDTimeValue playbackStartTime,
- BMDTimeScale timeScale,
- double playbackSpeed) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetTimecode(
+ BMDTimecodeFormat format,
+ /* [in] */ IDeckLinkTimecode_v7_6 *timecode) = 0;
- virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
- BMDTimeValue stopPlaybackAtTime,
- BMDTimeValue *actualStopTime,
- BMDTimeScale timeScale) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents(
+ BMDTimecodeFormat format,
+ unsigned char hours,
+ unsigned char minutes,
+ unsigned char seconds,
+ unsigned char frames,
+ BMDTimecodeFlags flags) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
- BMDTimeScale desiredTimeScale,
- BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetAncillaryData(
+ /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0;
};
#else /* C style interface */
- typedef struct IDeckLinkOutput_v7_1Vtbl
+ typedef struct IDeckLinkMutableVideoFrame_v7_6Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkOutput_v7_1 * This,
+ IDeckLinkMutableVideoFrame_v7_6 * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkOutput_v7_1 * This);
+ IDeckLinkMutableVideoFrame_v7_6 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkOutput_v7_1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
- IDeckLinkOutput_v7_1 * This,
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- /* [out] */ BMDDisplayModeSupport *result);
-
- HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
- IDeckLinkOutput_v7_1 * This,
- /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
-
- HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
- IDeckLinkOutput_v7_1 * This,
- BMDDisplayMode displayMode);
-
- HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
- IDeckLinkOutput_v7_1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
- IDeckLinkOutput_v7_1 * This,
- /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
-
- HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
- IDeckLinkOutput_v7_1 * This,
- long width,
- long height,
- long rowBytes,
- BMDPixelFormat pixelFormat,
- BMDFrameFlags flags,
- IDeckLinkVideoFrame_v7_1 **outFrame);
-
- HRESULT ( STDMETHODCALLTYPE *CreateVideoFrameFromBuffer )(
- IDeckLinkOutput_v7_1 * This,
- void *buffer,
- long width,
- long height,
- long rowBytes,
- BMDPixelFormat pixelFormat,
- BMDFrameFlags flags,
- IDeckLinkVideoFrame_v7_1 **outFrame);
-
- HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
- IDeckLinkOutput_v7_1 * This,
- IDeckLinkVideoFrame_v7_1 *theFrame);
-
- HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
- IDeckLinkOutput_v7_1 * This,
- IDeckLinkVideoFrame_v7_1 *theFrame,
- BMDTimeValue displayTime,
- BMDTimeValue displayDuration,
- BMDTimeScale timeScale);
-
- HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
- IDeckLinkOutput_v7_1 * This,
- /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback);
+ IDeckLinkMutableVideoFrame_v7_6 * This);
- HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
- IDeckLinkOutput_v7_1 * This,
- BMDAudioSampleRate sampleRate,
- BMDAudioSampleType sampleType,
- unsigned long channelCount);
+ long ( STDMETHODCALLTYPE *GetWidth )(
+ IDeckLinkMutableVideoFrame_v7_6 * This);
- HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
- IDeckLinkOutput_v7_1 * This);
+ long ( STDMETHODCALLTYPE *GetHeight )(
+ IDeckLinkMutableVideoFrame_v7_6 * This);
- HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
- IDeckLinkOutput_v7_1 * This,
- void *buffer,
- unsigned long sampleFrameCount,
- /* [out] */ unsigned long *sampleFramesWritten);
+ long ( STDMETHODCALLTYPE *GetRowBytes )(
+ IDeckLinkMutableVideoFrame_v7_6 * This);
- HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
- IDeckLinkOutput_v7_1 * This);
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
+ IDeckLinkMutableVideoFrame_v7_6 * This);
- HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
- IDeckLinkOutput_v7_1 * This);
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
+ IDeckLinkMutableVideoFrame_v7_6 * This);
- HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
- IDeckLinkOutput_v7_1 * This,
- void *buffer,
- unsigned long sampleFrameCount,
- BMDTimeValue streamTime,
- BMDTimeScale timeScale,
- /* [out] */ unsigned long *sampleFramesWritten);
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )(
+ IDeckLinkMutableVideoFrame_v7_6 * This,
+ /* [out] */ void **buffer);
- HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
- IDeckLinkOutput_v7_1 * This,
- /* [out] */ unsigned long *bufferedSampleCount);
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
+ IDeckLinkMutableVideoFrame_v7_6 * This,
+ BMDTimecodeFormat format,
+ /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
- HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
- IDeckLinkOutput_v7_1 * This);
+ HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
+ IDeckLinkMutableVideoFrame_v7_6 * This,
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
- HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
- IDeckLinkOutput_v7_1 * This,
- /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
+ HRESULT ( STDMETHODCALLTYPE *SetFlags )(
+ IDeckLinkMutableVideoFrame_v7_6 * This,
+ BMDFrameFlags newFlags);
- HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
- IDeckLinkOutput_v7_1 * This,
- BMDTimeValue playbackStartTime,
- BMDTimeScale timeScale,
- double playbackSpeed);
+ HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
+ IDeckLinkMutableVideoFrame_v7_6 * This,
+ BMDTimecodeFormat format,
+ /* [in] */ IDeckLinkTimecode_v7_6 *timecode);
- HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
- IDeckLinkOutput_v7_1 * This,
- BMDTimeValue stopPlaybackAtTime,
- BMDTimeValue *actualStopTime,
- BMDTimeScale timeScale);
+ HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )(
+ IDeckLinkMutableVideoFrame_v7_6 * This,
+ BMDTimecodeFormat format,
+ unsigned char hours,
+ unsigned char minutes,
+ unsigned char seconds,
+ unsigned char frames,
+ BMDTimecodeFlags flags);
- HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
- IDeckLinkOutput_v7_1 * This,
- BMDTimeScale desiredTimeScale,
- BMDTimeValue *elapsedTimeSinceSchedulerBegan);
+ HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )(
+ IDeckLinkMutableVideoFrame_v7_6 * This,
+ /* [in] */ IDeckLinkVideoFrameAncillary *ancillary);
END_INTERFACE
- } IDeckLinkOutput_v7_1Vtbl;
+ } IDeckLinkMutableVideoFrame_v7_6Vtbl;
- interface IDeckLinkOutput_v7_1
+ interface IDeckLinkMutableVideoFrame_v7_6
{
- CONST_VTBL struct IDeckLinkOutput_v7_1Vtbl *lpVtbl;
+ CONST_VTBL struct IDeckLinkMutableVideoFrame_v7_6Vtbl *lpVtbl;
};
@@ -5227,81 +5636,2352 @@
#ifdef COBJMACROS
-#define IDeckLinkOutput_v7_1_QueryInterface(This,riid,ppvObject) \
+#define IDeckLinkMutableVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkOutput_v7_1_AddRef(This) \
+#define IDeckLinkMutableVideoFrame_v7_6_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkOutput_v7_1_Release(This) \
+#define IDeckLinkMutableVideoFrame_v7_6_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkOutput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
+#define IDeckLinkMutableVideoFrame_v7_6_GetWidth(This) \
+ ( (This)->lpVtbl -> GetWidth(This) )
+
+#define IDeckLinkMutableVideoFrame_v7_6_GetHeight(This) \
+ ( (This)->lpVtbl -> GetHeight(This) )
+
+#define IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(This) \
+ ( (This)->lpVtbl -> GetRowBytes(This) )
+
+#define IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(This) \
+ ( (This)->lpVtbl -> GetPixelFormat(This) )
+
+#define IDeckLinkMutableVideoFrame_v7_6_GetFlags(This) \
+ ( (This)->lpVtbl -> GetFlags(This) )
+
+#define IDeckLinkMutableVideoFrame_v7_6_GetBytes(This,buffer) \
+ ( (This)->lpVtbl -> GetBytes(This,buffer) )
+
+#define IDeckLinkMutableVideoFrame_v7_6_GetTimecode(This,format,timecode) \
+ ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
+
+#define IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(This,ancillary) \
+ ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
+
+
+#define IDeckLinkMutableVideoFrame_v7_6_SetFlags(This,newFlags) \
+ ( (This)->lpVtbl -> SetFlags(This,newFlags) )
+
+#define IDeckLinkMutableVideoFrame_v7_6_SetTimecode(This,format,timecode) \
+ ( (This)->lpVtbl -> SetTimecode(This,format,timecode) )
+
+#define IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \
+ ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) )
+
+#define IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(This,ancillary) \
+ ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__
+
+/* interface IDeckLinkVideoInputFrame_v7_6 */
+/* [helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_6;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9A74FA41-AE9F-47AC-8CF4-01F42DD59965")
+ IDeckLinkVideoInputFrame_v7_6 : public IDeckLinkVideoFrame_v7_6
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
+ /* [out] */ BMDTimeValue *frameTime,
+ /* [out] */ BMDTimeValue *frameDuration,
+ BMDTimeScale timeScale) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp(
+ BMDTimeScale timeScale,
+ /* [out] */ BMDTimeValue *frameTime,
+ /* [out] */ BMDTimeValue *frameDuration) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkVideoInputFrame_v7_6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkVideoInputFrame_v7_6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkVideoInputFrame_v7_6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkVideoInputFrame_v7_6 * This);
+
+ long ( STDMETHODCALLTYPE *GetWidth )(
+ IDeckLinkVideoInputFrame_v7_6 * This);
+
+ long ( STDMETHODCALLTYPE *GetHeight )(
+ IDeckLinkVideoInputFrame_v7_6 * This);
+
+ long ( STDMETHODCALLTYPE *GetRowBytes )(
+ IDeckLinkVideoInputFrame_v7_6 * This);
+
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
+ IDeckLinkVideoInputFrame_v7_6 * This);
+
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
+ IDeckLinkVideoInputFrame_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )(
+ IDeckLinkVideoInputFrame_v7_6 * This,
+ /* [out] */ void **buffer);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
+ IDeckLinkVideoInputFrame_v7_6 * This,
+ BMDTimecodeFormat format,
+ /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
+ IDeckLinkVideoInputFrame_v7_6 * This,
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
+ IDeckLinkVideoInputFrame_v7_6 * This,
+ /* [out] */ BMDTimeValue *frameTime,
+ /* [out] */ BMDTimeValue *frameDuration,
+ BMDTimeScale timeScale);
+
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )(
+ IDeckLinkVideoInputFrame_v7_6 * This,
+ BMDTimeScale timeScale,
+ /* [out] */ BMDTimeValue *frameTime,
+ /* [out] */ BMDTimeValue *frameDuration);
+
+ END_INTERFACE
+ } IDeckLinkVideoInputFrame_v7_6Vtbl;
+
+ interface IDeckLinkVideoInputFrame_v7_6
+ {
+ CONST_VTBL struct IDeckLinkVideoInputFrame_v7_6Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkVideoInputFrame_v7_6_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkVideoInputFrame_v7_6_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkVideoInputFrame_v7_6_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkVideoInputFrame_v7_6_GetWidth(This) \
+ ( (This)->lpVtbl -> GetWidth(This) )
+
+#define IDeckLinkVideoInputFrame_v7_6_GetHeight(This) \
+ ( (This)->lpVtbl -> GetHeight(This) )
+
+#define IDeckLinkVideoInputFrame_v7_6_GetRowBytes(This) \
+ ( (This)->lpVtbl -> GetRowBytes(This) )
+
+#define IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(This) \
+ ( (This)->lpVtbl -> GetPixelFormat(This) )
+
+#define IDeckLinkVideoInputFrame_v7_6_GetFlags(This) \
+ ( (This)->lpVtbl -> GetFlags(This) )
+
+#define IDeckLinkVideoInputFrame_v7_6_GetBytes(This,buffer) \
+ ( (This)->lpVtbl -> GetBytes(This,buffer) )
+
+#define IDeckLinkVideoInputFrame_v7_6_GetTimecode(This,format,timecode) \
+ ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
+
+#define IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(This,ancillary) \
+ ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
+
+
+#define IDeckLinkVideoInputFrame_v7_6_GetStreamTime(This,frameTime,frameDuration,timeScale) \
+ ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
+
+#define IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \
+ ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__
+
+/* interface IDeckLinkScreenPreviewCallback_v7_6 */
+/* [helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback_v7_6;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("373F499D-4B4D-4518-AD22-6354E5A5825E")
+ IDeckLinkScreenPreviewCallback_v7_6 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE DrawFrame(
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkScreenPreviewCallback_v7_6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkScreenPreviewCallback_v7_6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkScreenPreviewCallback_v7_6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkScreenPreviewCallback_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *DrawFrame )(
+ IDeckLinkScreenPreviewCallback_v7_6 * This,
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
+
+ END_INTERFACE
+ } IDeckLinkScreenPreviewCallback_v7_6Vtbl;
+
+ interface IDeckLinkScreenPreviewCallback_v7_6
+ {
+ CONST_VTBL struct IDeckLinkScreenPreviewCallback_v7_6Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkScreenPreviewCallback_v7_6_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkScreenPreviewCallback_v7_6_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(This,theFrame) \
+ ( (This)->lpVtbl -> DrawFrame(This,theFrame) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__
+
+/* interface IDeckLinkGLScreenPreviewHelper_v7_6 */
+/* [helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper_v7_6;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA")
+ IDeckLinkGLScreenPreviewHelper_v7_6 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetFrame(
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *InitializeGL )(
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PaintGL )(
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFrame )(
+ IDeckLinkGLScreenPreviewHelper_v7_6 * This,
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
+
+ END_INTERFACE
+ } IDeckLinkGLScreenPreviewHelper_v7_6Vtbl;
+
+ interface IDeckLinkGLScreenPreviewHelper_v7_6
+ {
+ CONST_VTBL struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkGLScreenPreviewHelper_v7_6_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(This) \
+ ( (This)->lpVtbl -> InitializeGL(This) )
+
+#define IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(This) \
+ ( (This)->lpVtbl -> PaintGL(This) )
+
+#define IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(This,theFrame) \
+ ( (This)->lpVtbl -> SetFrame(This,theFrame) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__
+
+/* interface IDeckLinkVideoConversion_v7_6 */
+/* [helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkVideoConversion_v7_6;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("3EB504C9-F97D-40FE-A158-D407D48CB53B")
+ IDeckLinkVideoConversion_v7_6 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE ConvertFrame(
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame,
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkVideoConversion_v7_6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkVideoConversion_v7_6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkVideoConversion_v7_6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkVideoConversion_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ConvertFrame )(
+ IDeckLinkVideoConversion_v7_6 * This,
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame,
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame);
+
+ END_INTERFACE
+ } IDeckLinkVideoConversion_v7_6Vtbl;
+
+ interface IDeckLinkVideoConversion_v7_6
+ {
+ CONST_VTBL struct IDeckLinkVideoConversion_v7_6Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkVideoConversion_v7_6_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkVideoConversion_v7_6_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkVideoConversion_v7_6_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkVideoConversion_v7_6_ConvertFrame(This,srcFrame,dstFrame) \
+ ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__
+
+/* interface IDeckLinkConfiguration_v7_6 */
+/* [helpstring][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkConfiguration_v7_6;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("B8EAD569-B764-47F0-A73F-AE40DF6CBF10")
+ IDeckLinkConfiguration_v7_6 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetConfigurationValidator(
+ /* [out] */ IDeckLinkConfiguration_v7_6 **configObject) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFormat(
+ /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsVideoOutputActive(
+ /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection,
+ /* [out] */ BOOL *active) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoOutputFlags(
+ /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoOutputFlags(
+ /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnableFieldFlickerRemovalWhenPaused(
+ /* [in] */ BOOL enable) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsEnabledFieldFlickerRemovalWhenPaused(
+ /* [out] */ BOOL *enabled) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Set444And3GBpsVideoOutput(
+ /* [in] */ BOOL enable444VideoOutput,
+ /* [in] */ BOOL enable3GbsOutput) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Get444And3GBpsVideoOutput(
+ /* [out] */ BOOL *is444VideoOutputEnabled,
+ /* [out] */ BOOL *threeGbsOutputEnabled) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetVideoOutputConversionMode(
+ /* [in] */ BMDVideoOutputConversionMode conversionMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVideoOutputConversionMode(
+ /* [out] */ BMDVideoOutputConversionMode *conversionMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Set_HD1080p24_to_HD1080i5994_Conversion(
+ /* [in] */ BOOL enable) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Get_HD1080p24_to_HD1080i5994_Conversion(
+ /* [out] */ BOOL *enabled) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetVideoInputFormat(
+ /* [in] */ BMDVideoConnection_v7_6 videoInputFormat) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVideoInputFormat(
+ /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoInputFlags(
+ /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoInputFlags(
+ /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetVideoInputConversionMode(
+ /* [in] */ BMDVideoInputConversionMode conversionMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVideoInputConversionMode(
+ /* [out] */ BMDVideoInputConversionMode *conversionMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetBlackVideoOutputDuringCapture(
+ /* [in] */ BOOL blackOutInCapture) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBlackVideoOutputDuringCapture(
+ /* [out] */ BOOL *blackOutInCapture) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame(
+ /* [in] */ unsigned long aFrameTimecode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame(
+ /* [out] */ unsigned long *aFrameTimecode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping(
+ /* [in] */ unsigned long activeLine1VANCsource,
+ /* [in] */ unsigned long activeLine2VANCsource,
+ /* [in] */ unsigned long activeLine3VANCsource) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping(
+ /* [out] */ unsigned long *activeLine1VANCsource,
+ /* [out] */ unsigned long *activeLine2VANCsource,
+ /* [out] */ unsigned long *activeLine3VANCsource) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat(
+ /* [in] */ BMDAudioConnection audioInputFormat) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAudioInputFormat(
+ /* [out] */ BMDAudioConnection *audioInputFormat) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkConfiguration_v7_6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkConfiguration_v7_6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkConfiguration_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetConfigurationValidator )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ IDeckLinkConfiguration_v7_6 **configObject);
+
+ HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )(
+ IDeckLinkConfiguration_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFormat )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection);
+
+ HRESULT ( STDMETHODCALLTYPE *IsVideoOutputActive )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection,
+ /* [out] */ BOOL *active);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoOutputFlags )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BMDAnalogVideoFlags analogVideoFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoOutputFlags )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *EnableFieldFlickerRemovalWhenPaused )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BOOL enable);
+
+ HRESULT ( STDMETHODCALLTYPE *IsEnabledFieldFlickerRemovalWhenPaused )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ BOOL *enabled);
+
+ HRESULT ( STDMETHODCALLTYPE *Set444And3GBpsVideoOutput )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BOOL enable444VideoOutput,
+ /* [in] */ BOOL enable3GbsOutput);
+
+ HRESULT ( STDMETHODCALLTYPE *Get444And3GBpsVideoOutput )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ BOOL *is444VideoOutputEnabled,
+ /* [out] */ BOOL *threeGbsOutputEnabled);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVideoOutputConversionMode )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BMDVideoOutputConversionMode conversionMode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetVideoOutputConversionMode )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ BMDVideoOutputConversionMode *conversionMode);
+
+ HRESULT ( STDMETHODCALLTYPE *Set_HD1080p24_to_HD1080i5994_Conversion )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BOOL enable);
+
+ HRESULT ( STDMETHODCALLTYPE *Get_HD1080p24_to_HD1080i5994_Conversion )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ BOOL *enabled);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVideoInputFormat )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BMDVideoConnection_v7_6 videoInputFormat);
+
+ HRESULT ( STDMETHODCALLTYPE *GetVideoInputFormat )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoInputFlags )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BMDAnalogVideoFlags analogVideoFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoInputFlags )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ BMDAnalogVideoFlags *analogVideoFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVideoInputConversionMode )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BMDVideoInputConversionMode conversionMode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetVideoInputConversionMode )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ BMDVideoInputConversionMode *conversionMode);
+
+ HRESULT ( STDMETHODCALLTYPE *SetBlackVideoOutputDuringCapture )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BOOL blackOutInCapture);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBlackVideoOutputDuringCapture )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ BOOL *blackOutInCapture);
+
+ HRESULT ( STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ unsigned long aFrameTimecode);
+
+ HRESULT ( STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ unsigned long *aFrameTimecode);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVancSourceLineMapping )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ unsigned long activeLine1VANCsource,
+ /* [in] */ unsigned long activeLine2VANCsource,
+ /* [in] */ unsigned long activeLine3VANCsource);
+
+ HRESULT ( STDMETHODCALLTYPE *GetVancSourceLineMapping )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ unsigned long *activeLine1VANCsource,
+ /* [out] */ unsigned long *activeLine2VANCsource,
+ /* [out] */ unsigned long *activeLine3VANCsource);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAudioInputFormat )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [in] */ BMDAudioConnection audioInputFormat);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAudioInputFormat )(
+ IDeckLinkConfiguration_v7_6 * This,
+ /* [out] */ BMDAudioConnection *audioInputFormat);
+
+ END_INTERFACE
+ } IDeckLinkConfiguration_v7_6Vtbl;
+
+ interface IDeckLinkConfiguration_v7_6
+ {
+ CONST_VTBL struct IDeckLinkConfiguration_v7_6Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkConfiguration_v7_6_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkConfiguration_v7_6_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkConfiguration_v7_6_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkConfiguration_v7_6_GetConfigurationValidator(This,configObject) \
+ ( (This)->lpVtbl -> GetConfigurationValidator(This,configObject) )
+
+#define IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(This) \
+ ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) )
+
+#define IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(This,videoOutputConnection) \
+ ( (This)->lpVtbl -> SetVideoOutputFormat(This,videoOutputConnection) )
+
+#define IDeckLinkConfiguration_v7_6_IsVideoOutputActive(This,videoOutputConnection,active) \
+ ( (This)->lpVtbl -> IsVideoOutputActive(This,videoOutputConnection,active) )
+
+#define IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(This,analogVideoFlags) \
+ ( (This)->lpVtbl -> SetAnalogVideoOutputFlags(This,analogVideoFlags) )
+
+#define IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(This,analogVideoFlags) \
+ ( (This)->lpVtbl -> GetAnalogVideoOutputFlags(This,analogVideoFlags) )
+
+#define IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(This,enable) \
+ ( (This)->lpVtbl -> EnableFieldFlickerRemovalWhenPaused(This,enable) )
+
+#define IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) \
+ ( (This)->lpVtbl -> IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) )
+
+#define IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) \
+ ( (This)->lpVtbl -> Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) )
+
+#define IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) \
+ ( (This)->lpVtbl -> Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) )
+
+#define IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(This,conversionMode) \
+ ( (This)->lpVtbl -> SetVideoOutputConversionMode(This,conversionMode) )
+
+#define IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(This,conversionMode) \
+ ( (This)->lpVtbl -> GetVideoOutputConversionMode(This,conversionMode) )
+
+#define IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) \
+ ( (This)->lpVtbl -> Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) )
+
+#define IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) \
+ ( (This)->lpVtbl -> Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) )
+
+#define IDeckLinkConfiguration_v7_6_SetVideoInputFormat(This,videoInputFormat) \
+ ( (This)->lpVtbl -> SetVideoInputFormat(This,videoInputFormat) )
+
+#define IDeckLinkConfiguration_v7_6_GetVideoInputFormat(This,videoInputFormat) \
+ ( (This)->lpVtbl -> GetVideoInputFormat(This,videoInputFormat) )
+
+#define IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(This,analogVideoFlags) \
+ ( (This)->lpVtbl -> SetAnalogVideoInputFlags(This,analogVideoFlags) )
+
+#define IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(This,analogVideoFlags) \
+ ( (This)->lpVtbl -> GetAnalogVideoInputFlags(This,analogVideoFlags) )
+
+#define IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(This,conversionMode) \
+ ( (This)->lpVtbl -> SetVideoInputConversionMode(This,conversionMode) )
+
+#define IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(This,conversionMode) \
+ ( (This)->lpVtbl -> GetVideoInputConversionMode(This,conversionMode) )
+
+#define IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
+ ( (This)->lpVtbl -> SetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
+
+#define IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(This,blackOutInCapture) \
+ ( (This)->lpVtbl -> GetBlackVideoOutputDuringCapture(This,blackOutInCapture) )
+
+#define IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
+ ( (This)->lpVtbl -> Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
+
+#define IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \
+ ( (This)->lpVtbl -> Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) )
+
+#define IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
+ ( (This)->lpVtbl -> SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
+
+#define IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \
+ ( (This)->lpVtbl -> GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) )
+
+#define IDeckLinkConfiguration_v7_6_SetAudioInputFormat(This,audioInputFormat) \
+ ( (This)->lpVtbl -> SetAudioInputFormat(This,audioInputFormat) )
+
+#define IDeckLinkConfiguration_v7_6_GetAudioInputFormat(This,audioInputFormat) \
+ ( (This)->lpVtbl -> GetAudioInputFormat(This,audioInputFormat) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__
+
+/* interface IDeckLinkVideoOutputCallback_v7_6 */
+/* [helpstring][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_6;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("E763A626-4A3C-49D1-BF13-E7AD3692AE52")
+ IDeckLinkVideoOutputCallback_v7_6 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame,
+ /* [in] */ BMDOutputFrameCompletionResult result) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkVideoOutputCallback_v7_6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkVideoOutputCallback_v7_6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkVideoOutputCallback_v7_6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkVideoOutputCallback_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
+ IDeckLinkVideoOutputCallback_v7_6 * This,
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame,
+ /* [in] */ BMDOutputFrameCompletionResult result);
+
+ HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )(
+ IDeckLinkVideoOutputCallback_v7_6 * This);
+
+ END_INTERFACE
+ } IDeckLinkVideoOutputCallback_v7_6Vtbl;
+
+ interface IDeckLinkVideoOutputCallback_v7_6
+ {
+ CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_6Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkVideoOutputCallback_v7_6_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkVideoOutputCallback_v7_6_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkVideoOutputCallback_v7_6_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(This,completedFrame,result) \
+ ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
+
+#define IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(This) \
+ ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__
+#define __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__
+
+/* interface IDeckLinkInputCallback_v7_6 */
+/* [helpstring][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkInputCallback_v7_6;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("31D28EE7-88B6-4CB1-897A-CDBF79A26414")
+ IDeckLinkInputCallback_v7_6 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
+ /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
+ /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
+ /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
+ /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame,
+ /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkInputCallback_v7_6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkInputCallback_v7_6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkInputCallback_v7_6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkInputCallback_v7_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
+ IDeckLinkInputCallback_v7_6 * This,
+ /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
+ /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
+ /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
+ IDeckLinkInputCallback_v7_6 * This,
+ /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame,
+ /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
+
+ END_INTERFACE
+ } IDeckLinkInputCallback_v7_6Vtbl;
+
+ interface IDeckLinkInputCallback_v7_6
+ {
+ CONST_VTBL struct IDeckLinkInputCallback_v7_6Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkInputCallback_v7_6_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkInputCallback_v7_6_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkInputCallback_v7_6_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
+ ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
+
+#define IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(This,videoFrame,audioPacket) \
+ ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ */
+
+
+EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper_v7_6;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("D398CEE7-4434-4CA3-9BA6-5AE34556B905")
+CDeckLinkGLScreenPreviewHelper_v7_6;
+#endif
+
+EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion_v7_6;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("FFA84F77-73BE-4FB7-B03E-B5E44B9F759B")
+CDeckLinkVideoConversion_v7_6;
+#endif
+
+#ifndef __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
+#define __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
+
+/* interface IDeckLinkInputCallback_v7_3 */
+/* [helpstring][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkInputCallback_v7_3;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("FD6F311D-4D00-444B-9ED4-1F25B5730AD0")
+ IDeckLinkInputCallback_v7_3 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
+ /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
+ /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
+ /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
+ /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
+ /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkInputCallback_v7_3Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkInputCallback_v7_3 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkInputCallback_v7_3 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkInputCallback_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
+ IDeckLinkInputCallback_v7_3 * This,
+ /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
+ /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode,
+ /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
+ IDeckLinkInputCallback_v7_3 * This,
+ /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
+ /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
+
+ END_INTERFACE
+ } IDeckLinkInputCallback_v7_3Vtbl;
+
+ interface IDeckLinkInputCallback_v7_3
+ {
+ CONST_VTBL struct IDeckLinkInputCallback_v7_3Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkInputCallback_v7_3_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkInputCallback_v7_3_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkInputCallback_v7_3_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
+ ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
+
+#define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) \
+ ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
+#define __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
+
+/* interface IDeckLinkOutput_v7_3 */
+/* [helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkOutput_v7_3;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("271C65E3-C323-4344-A30F-D908BCB20AA3")
+ IDeckLinkOutput_v7_3 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ /* [out] */ BMDDisplayModeSupport *result) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
+ BMDDisplayMode displayMode,
+ BMDVideoOutputFlags flags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator(
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame(
+ long width,
+ long height,
+ long rowBytes,
+ BMDPixelFormat pixelFormat,
+ BMDFrameFlags flags,
+ /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
+ BMDPixelFormat pixelFormat,
+ /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
+ BMDTimeValue displayTime,
+ BMDTimeValue displayDuration,
+ BMDTimeScale timeScale) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
+ /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
+ /* [out] */ unsigned long *bufferedFrameCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
+ BMDAudioSampleRate sampleRate,
+ BMDAudioSampleType sampleType,
+ unsigned long 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;
+
+ virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
+ /* [in] */ void *buffer,
+ unsigned long sampleFrameCount,
+ BMDTimeValue streamTime,
+ BMDTimeScale timeScale,
+ /* [out] */ unsigned long *sampleFramesWritten) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
+ /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetAudioCallback(
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback(
+ BMDTimeValue playbackStartTime,
+ BMDTimeScale timeScale,
+ double playbackSpeed) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
+ BMDTimeValue stopPlaybackAtTime,
+ /* [out] */ BMDTimeValue *actualStopTime,
+ BMDTimeScale timeScale) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
+ /* [out] */ BOOL *active) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
+ BMDTimeScale desiredTimeScale,
+ /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkOutput_v7_3Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkOutput_v7_3 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkOutput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
+ IDeckLinkOutput_v7_3 * This,
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ /* [out] */ BMDDisplayModeSupport *result);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
+
+ HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
+
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
+ IDeckLinkOutput_v7_3 * This,
+ BMDDisplayMode displayMode,
+ BMDVideoOutputFlags flags);
+
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
+ IDeckLinkOutput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [in] */ IDeckLinkMemoryAllocator *theAllocator);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
+ IDeckLinkOutput_v7_3 * This,
+ long width,
+ long height,
+ long rowBytes,
+ BMDPixelFormat pixelFormat,
+ BMDFrameFlags flags,
+ /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
+ IDeckLinkOutput_v7_3 * This,
+ BMDPixelFormat pixelFormat,
+ /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
+
+ HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame);
+
+ HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame,
+ BMDTimeValue displayTime,
+ BMDTimeValue displayDuration,
+ BMDTimeScale timeScale);
+
+ HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [in] */ IDeckLinkVideoOutputCallback *theCallback);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [out] */ unsigned long *bufferedFrameCount);
+
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
+ IDeckLinkOutput_v7_3 * This,
+ BMDAudioSampleRate sampleRate,
+ BMDAudioSampleType sampleType,
+ unsigned long channelCount,
+ BMDAudioOutputStreamType streamType);
+
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
+ IDeckLinkOutput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [in] */ void *buffer,
+ unsigned long sampleFrameCount,
+ /* [out] */ unsigned long *sampleFramesWritten);
+
+ HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
+ IDeckLinkOutput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
+ IDeckLinkOutput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [in] */ void *buffer,
+ unsigned long sampleFrameCount,
+ BMDTimeValue streamTime,
+ BMDTimeScale timeScale,
+ /* [out] */ unsigned long *sampleFramesWritten);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [out] */ unsigned long *bufferedSampleFrameCount);
+
+ HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
+ IDeckLinkOutput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [in] */ IDeckLinkAudioOutputCallback *theCallback);
+
+ HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
+ IDeckLinkOutput_v7_3 * This,
+ BMDTimeValue playbackStartTime,
+ BMDTimeScale timeScale,
+ double playbackSpeed);
+
+ HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
+ IDeckLinkOutput_v7_3 * This,
+ BMDTimeValue stopPlaybackAtTime,
+ /* [out] */ BMDTimeValue *actualStopTime,
+ BMDTimeScale timeScale);
+
+ HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
+ IDeckLinkOutput_v7_3 * This,
+ /* [out] */ BOOL *active);
+
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
+ IDeckLinkOutput_v7_3 * This,
+ BMDTimeScale desiredTimeScale,
+ /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan);
+
+ END_INTERFACE
+ } IDeckLinkOutput_v7_3Vtbl;
+
+ interface IDeckLinkOutput_v7_3
+ {
+ CONST_VTBL struct IDeckLinkOutput_v7_3Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkOutput_v7_3_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkOutput_v7_3_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkOutput_v7_3_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkOutput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
+ ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
+
+#define IDeckLinkOutput_v7_3_GetDisplayModeIterator(This,iterator) \
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
+
+#define IDeckLinkOutput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
+ ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
+
+#define IDeckLinkOutput_v7_3_EnableVideoOutput(This,displayMode,flags) \
+ ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
+
+#define IDeckLinkOutput_v7_3_DisableVideoOutput(This) \
+ ( (This)->lpVtbl -> DisableVideoOutput(This) )
+
+#define IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
+ ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
+
+#define IDeckLinkOutput_v7_3_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
+ ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
+
+#define IDeckLinkOutput_v7_3_CreateAncillaryData(This,pixelFormat,outBuffer) \
+ ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
+
+#define IDeckLinkOutput_v7_3_DisplayVideoFrameSync(This,theFrame) \
+ ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
+
+#define IDeckLinkOutput_v7_3_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
+ ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
+
+#define IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(This,theCallback) \
+ ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
+
+#define IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
+ ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
+
+#define IDeckLinkOutput_v7_3_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
+ ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
+
+#define IDeckLinkOutput_v7_3_DisableAudioOutput(This) \
+ ( (This)->lpVtbl -> DisableAudioOutput(This) )
+
+#define IDeckLinkOutput_v7_3_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
+ ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
+
+#define IDeckLinkOutput_v7_3_BeginAudioPreroll(This) \
+ ( (This)->lpVtbl -> BeginAudioPreroll(This) )
+
+#define IDeckLinkOutput_v7_3_EndAudioPreroll(This) \
+ ( (This)->lpVtbl -> EndAudioPreroll(This) )
+
+#define IDeckLinkOutput_v7_3_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
+ ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
+
+#define IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
+ ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
+
+#define IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(This) \
+ ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
+
+#define IDeckLinkOutput_v7_3_SetAudioCallback(This,theCallback) \
+ ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
+
+#define IDeckLinkOutput_v7_3_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
+ ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
+
+#define IDeckLinkOutput_v7_3_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
+ ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
+
+#define IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(This,active) \
+ ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
+
+#define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
+ ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
+#define __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
+
+/* interface IDeckLinkInput_v7_3 */
+/* [helpstring][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkInput_v7_3;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4973F012-9925-458C-871C-18774CDBBECB")
+ IDeckLinkInput_v7_3 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ /* [out] */ BMDDisplayModeSupport *result) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ BMDVideoInputFlags flags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
+ /* [out] */ unsigned long *availableFrameCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
+ BMDAudioSampleRate sampleRate,
+ BMDAudioSampleType sampleType,
+ unsigned long channelCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
+ /* [out] */ unsigned long *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] */ IDeckLinkInputCallback_v7_3 *theCallback) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkInput_v7_3Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkInput_v7_3 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkInput_v7_3 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkInput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
+ IDeckLinkInput_v7_3 * This,
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ /* [out] */ BMDDisplayModeSupport *result);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
+ IDeckLinkInput_v7_3 * This,
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator);
+
+ HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
+ IDeckLinkInput_v7_3 * This,
+ /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
+
+ HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
+ IDeckLinkInput_v7_3 * This,
+ BMDDisplayMode displayMode,
+ BMDPixelFormat pixelFormat,
+ BMDVideoInputFlags flags);
+
+ HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
+ IDeckLinkInput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
+ IDeckLinkInput_v7_3 * This,
+ /* [out] */ unsigned long *availableFrameCount);
+
+ HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
+ IDeckLinkInput_v7_3 * This,
+ BMDAudioSampleRate sampleRate,
+ BMDAudioSampleType sampleType,
+ unsigned long channelCount);
+
+ HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
+ IDeckLinkInput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
+ IDeckLinkInput_v7_3 * This,
+ /* [out] */ unsigned long *availableSampleFrameCount);
+
+ HRESULT ( STDMETHODCALLTYPE *StartStreams )(
+ IDeckLinkInput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *StopStreams )(
+ IDeckLinkInput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
+ IDeckLinkInput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
+ IDeckLinkInput_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetCallback )(
+ IDeckLinkInput_v7_3 * This,
+ /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback);
+
+ END_INTERFACE
+ } IDeckLinkInput_v7_3Vtbl;
+
+ interface IDeckLinkInput_v7_3
+ {
+ CONST_VTBL struct IDeckLinkInput_v7_3Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkInput_v7_3_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkInput_v7_3_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkInput_v7_3_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkInput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
-#define IDeckLinkOutput_v7_1_GetDisplayModeIterator(This,iterator) \
- ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
+#define IDeckLinkInput_v7_3_GetDisplayModeIterator(This,iterator) \
+ ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
+
+#define IDeckLinkInput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
+ ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
+
+#define IDeckLinkInput_v7_3_EnableVideoInput(This,displayMode,pixelFormat,flags) \
+ ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
+
+#define IDeckLinkInput_v7_3_DisableVideoInput(This) \
+ ( (This)->lpVtbl -> DisableVideoInput(This) )
+
+#define IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(This,availableFrameCount) \
+ ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
+
+#define IDeckLinkInput_v7_3_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
+ ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
+
+#define IDeckLinkInput_v7_3_DisableAudioInput(This) \
+ ( (This)->lpVtbl -> DisableAudioInput(This) )
+
+#define IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
+ ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
+
+#define IDeckLinkInput_v7_3_StartStreams(This) \
+ ( (This)->lpVtbl -> StartStreams(This) )
+
+#define IDeckLinkInput_v7_3_StopStreams(This) \
+ ( (This)->lpVtbl -> StopStreams(This) )
+
+#define IDeckLinkInput_v7_3_PauseStreams(This) \
+ ( (This)->lpVtbl -> PauseStreams(This) )
+
+#define IDeckLinkInput_v7_3_FlushStreams(This) \
+ ( (This)->lpVtbl -> FlushStreams(This) )
+
+#define IDeckLinkInput_v7_3_SetCallback(This,theCallback) \
+ ( (This)->lpVtbl -> SetCallback(This,theCallback) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
+#define __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
+
+/* interface IDeckLinkVideoInputFrame_v7_3 */
+/* [helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_3;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("CF317790-2894-11DE-8C30-0800200C9A66")
+ IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame_v7_6
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
+ /* [out] */ BMDTimeValue *frameTime,
+ /* [out] */ BMDTimeValue *frameDuration,
+ BMDTimeScale timeScale) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkVideoInputFrame_v7_3Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkVideoInputFrame_v7_3 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkVideoInputFrame_v7_3 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkVideoInputFrame_v7_3 * This);
+
+ long ( STDMETHODCALLTYPE *GetWidth )(
+ IDeckLinkVideoInputFrame_v7_3 * This);
+
+ long ( STDMETHODCALLTYPE *GetHeight )(
+ IDeckLinkVideoInputFrame_v7_3 * This);
+
+ long ( STDMETHODCALLTYPE *GetRowBytes )(
+ IDeckLinkVideoInputFrame_v7_3 * This);
+
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
+ IDeckLinkVideoInputFrame_v7_3 * This);
+
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
+ IDeckLinkVideoInputFrame_v7_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )(
+ IDeckLinkVideoInputFrame_v7_3 * This,
+ /* [out] */ void **buffer);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
+ IDeckLinkVideoInputFrame_v7_3 * This,
+ BMDTimecodeFormat format,
+ /* [out] */ IDeckLinkTimecode_v7_6 **timecode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
+ IDeckLinkVideoInputFrame_v7_3 * This,
+ /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
+ IDeckLinkVideoInputFrame_v7_3 * This,
+ /* [out] */ BMDTimeValue *frameTime,
+ /* [out] */ BMDTimeValue *frameDuration,
+ BMDTimeScale timeScale);
+
+ END_INTERFACE
+ } IDeckLinkVideoInputFrame_v7_3Vtbl;
+
+ interface IDeckLinkVideoInputFrame_v7_3
+ {
+ CONST_VTBL struct IDeckLinkVideoInputFrame_v7_3Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkVideoInputFrame_v7_3_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkVideoInputFrame_v7_3_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkVideoInputFrame_v7_3_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkVideoInputFrame_v7_3_GetWidth(This) \
+ ( (This)->lpVtbl -> GetWidth(This) )
+
+#define IDeckLinkVideoInputFrame_v7_3_GetHeight(This) \
+ ( (This)->lpVtbl -> GetHeight(This) )
+
+#define IDeckLinkVideoInputFrame_v7_3_GetRowBytes(This) \
+ ( (This)->lpVtbl -> GetRowBytes(This) )
+
+#define IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(This) \
+ ( (This)->lpVtbl -> GetPixelFormat(This) )
+
+#define IDeckLinkVideoInputFrame_v7_3_GetFlags(This) \
+ ( (This)->lpVtbl -> GetFlags(This) )
+
+#define IDeckLinkVideoInputFrame_v7_3_GetBytes(This,buffer) \
+ ( (This)->lpVtbl -> GetBytes(This,buffer) )
+
+#define IDeckLinkVideoInputFrame_v7_3_GetTimecode(This,format,timecode) \
+ ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
+
+#define IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(This,ancillary) \
+ ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
+
+
+#define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) \
+ ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
+#define __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__
+
+/* interface IDeckLinkDisplayModeIterator_v7_1 */
+/* [helpstring][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_1;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("B28131B6-59AC-4857-B5AC-CD75D5883E2F")
+ IDeckLinkDisplayModeIterator_v7_1 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkDisplayModeIterator_v7_1Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkDisplayModeIterator_v7_1 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkDisplayModeIterator_v7_1 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkDisplayModeIterator_v7_1 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDeckLinkDisplayModeIterator_v7_1 * This,
+ /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode);
+
+ END_INTERFACE
+ } IDeckLinkDisplayModeIterator_v7_1Vtbl;
+
+ interface IDeckLinkDisplayModeIterator_v7_1
+ {
+ CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_1Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkDisplayModeIterator_v7_1_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkDisplayModeIterator_v7_1_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkDisplayModeIterator_v7_1_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) \
+ ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
+#define __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__
+
+/* interface IDeckLinkDisplayMode_v7_1 */
+/* [helpstring][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_1;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("AF0CD6D5-8376-435E-8433-54F9DD530AC3")
+ IDeckLinkDisplayMode_v7_1 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetName(
+ /* [out] */ BSTR *name) = 0;
+
+ virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0;
+
+ virtual long STDMETHODCALLTYPE GetWidth( void) = 0;
+
+ virtual long STDMETHODCALLTYPE GetHeight( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFrameRate(
+ /* [out] */ BMDTimeValue *frameDuration,
+ /* [out] */ BMDTimeScale *timeScale) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkDisplayMode_v7_1Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkDisplayMode_v7_1 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkDisplayMode_v7_1 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkDisplayMode_v7_1 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetName )(
+ IDeckLinkDisplayMode_v7_1 * This,
+ /* [out] */ BSTR *name);
+
+ BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )(
+ IDeckLinkDisplayMode_v7_1 * This);
+
+ long ( STDMETHODCALLTYPE *GetWidth )(
+ IDeckLinkDisplayMode_v7_1 * This);
+
+ long ( STDMETHODCALLTYPE *GetHeight )(
+ IDeckLinkDisplayMode_v7_1 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFrameRate )(
+ IDeckLinkDisplayMode_v7_1 * This,
+ /* [out] */ BMDTimeValue *frameDuration,
+ /* [out] */ BMDTimeScale *timeScale);
+
+ END_INTERFACE
+ } IDeckLinkDisplayMode_v7_1Vtbl;
+
+ interface IDeckLinkDisplayMode_v7_1
+ {
+ CONST_VTBL struct IDeckLinkDisplayMode_v7_1Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkDisplayMode_v7_1_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkDisplayMode_v7_1_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkDisplayMode_v7_1_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkDisplayMode_v7_1_GetName(This,name) \
+ ( (This)->lpVtbl -> GetName(This,name) )
+
+#define IDeckLinkDisplayMode_v7_1_GetDisplayMode(This) \
+ ( (This)->lpVtbl -> GetDisplayMode(This) )
+
+#define IDeckLinkDisplayMode_v7_1_GetWidth(This) \
+ ( (This)->lpVtbl -> GetWidth(This) )
+
+#define IDeckLinkDisplayMode_v7_1_GetHeight(This) \
+ ( (This)->lpVtbl -> GetHeight(This) )
+
+#define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) \
+ ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
+#define __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__
+
+/* interface IDeckLinkVideoFrame_v7_1 */
+/* [helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_1;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("333F3A10-8C2D-43CF-B79D-46560FEEA1CE")
+ IDeckLinkVideoFrame_v7_1 : 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(
+ void **buffer) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkVideoFrame_v7_1Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkVideoFrame_v7_1 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkVideoFrame_v7_1 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkVideoFrame_v7_1 * This);
+
+ long ( STDMETHODCALLTYPE *GetWidth )(
+ IDeckLinkVideoFrame_v7_1 * This);
+
+ long ( STDMETHODCALLTYPE *GetHeight )(
+ IDeckLinkVideoFrame_v7_1 * This);
+
+ long ( STDMETHODCALLTYPE *GetRowBytes )(
+ IDeckLinkVideoFrame_v7_1 * This);
+
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
+ IDeckLinkVideoFrame_v7_1 * This);
+
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
+ IDeckLinkVideoFrame_v7_1 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )(
+ IDeckLinkVideoFrame_v7_1 * This,
+ void **buffer);
+
+ END_INTERFACE
+ } IDeckLinkVideoFrame_v7_1Vtbl;
+
+ interface IDeckLinkVideoFrame_v7_1
+ {
+ CONST_VTBL struct IDeckLinkVideoFrame_v7_1Vtbl *lpVtbl;
+ };
-#define IDeckLinkOutput_v7_1_EnableVideoOutput(This,displayMode) \
- ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode) )
+
-#define IDeckLinkOutput_v7_1_DisableVideoOutput(This) \
- ( (This)->lpVtbl -> DisableVideoOutput(This) )
+#ifdef COBJMACROS
-#define IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
- ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
-#define IDeckLinkOutput_v7_1_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
- ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
+#define IDeckLinkVideoFrame_v7_1_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) \
- ( (This)->lpVtbl -> CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) )
+#define IDeckLinkVideoFrame_v7_1_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkOutput_v7_1_DisplayVideoFrameSync(This,theFrame) \
- ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
+#define IDeckLinkVideoFrame_v7_1_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkOutput_v7_1_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
- ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
-#define IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(This,theCallback) \
- ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
+#define IDeckLinkVideoFrame_v7_1_GetWidth(This) \
+ ( (This)->lpVtbl -> GetWidth(This) )
-#define IDeckLinkOutput_v7_1_EnableAudioOutput(This,sampleRate,sampleType,channelCount) \
- ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount) )
+#define IDeckLinkVideoFrame_v7_1_GetHeight(This) \
+ ( (This)->lpVtbl -> GetHeight(This) )
-#define IDeckLinkOutput_v7_1_DisableAudioOutput(This) \
- ( (This)->lpVtbl -> DisableAudioOutput(This) )
+#define IDeckLinkVideoFrame_v7_1_GetRowBytes(This) \
+ ( (This)->lpVtbl -> GetRowBytes(This) )
-#define IDeckLinkOutput_v7_1_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
- ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
+#define IDeckLinkVideoFrame_v7_1_GetPixelFormat(This) \
+ ( (This)->lpVtbl -> GetPixelFormat(This) )
-#define IDeckLinkOutput_v7_1_BeginAudioPreroll(This) \
- ( (This)->lpVtbl -> BeginAudioPreroll(This) )
+#define IDeckLinkVideoFrame_v7_1_GetFlags(This) \
+ ( (This)->lpVtbl -> GetFlags(This) )
+
+#define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) \
+ ( (This)->lpVtbl -> GetBytes(This,buffer) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
+#define __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__
+
+/* interface IDeckLinkVideoInputFrame_v7_1 */
+/* [helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_1;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C8B41D95-8848-40EE-9B37-6E3417FB114B")
+ IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetFrameTime(
+ BMDTimeValue *frameTime,
+ BMDTimeValue *frameDuration,
+ BMDTimeScale timeScale) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkVideoInputFrame_v7_1Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkVideoInputFrame_v7_1 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkVideoInputFrame_v7_1 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkVideoInputFrame_v7_1 * This);
+
+ long ( STDMETHODCALLTYPE *GetWidth )(
+ IDeckLinkVideoInputFrame_v7_1 * This);
+
+ long ( STDMETHODCALLTYPE *GetHeight )(
+ IDeckLinkVideoInputFrame_v7_1 * This);
+
+ long ( STDMETHODCALLTYPE *GetRowBytes )(
+ IDeckLinkVideoInputFrame_v7_1 * This);
+
+ BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
+ IDeckLinkVideoInputFrame_v7_1 * This);
+
+ BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
+ IDeckLinkVideoInputFrame_v7_1 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )(
+ IDeckLinkVideoInputFrame_v7_1 * This,
+ void **buffer);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFrameTime )(
+ IDeckLinkVideoInputFrame_v7_1 * This,
+ BMDTimeValue *frameTime,
+ BMDTimeValue *frameDuration,
+ BMDTimeScale timeScale);
+
+ END_INTERFACE
+ } IDeckLinkVideoInputFrame_v7_1Vtbl;
+
+ interface IDeckLinkVideoInputFrame_v7_1
+ {
+ CONST_VTBL struct IDeckLinkVideoInputFrame_v7_1Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDeckLinkVideoInputFrame_v7_1_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDeckLinkVideoInputFrame_v7_1_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDeckLinkVideoInputFrame_v7_1_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDeckLinkVideoInputFrame_v7_1_GetWidth(This) \
+ ( (This)->lpVtbl -> GetWidth(This) )
+
+#define IDeckLinkVideoInputFrame_v7_1_GetHeight(This) \
+ ( (This)->lpVtbl -> GetHeight(This) )
+
+#define IDeckLinkVideoInputFrame_v7_1_GetRowBytes(This) \
+ ( (This)->lpVtbl -> GetRowBytes(This) )
+
+#define IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(This) \
+ ( (This)->lpVtbl -> GetPixelFormat(This) )
+
+#define IDeckLinkVideoInputFrame_v7_1_GetFlags(This) \
+ ( (This)->lpVtbl -> GetFlags(This) )
+
+#define IDeckLinkVideoInputFrame_v7_1_GetBytes(This,buffer) \
+ ( (This)->lpVtbl -> GetBytes(This,buffer) )
+
+
+#define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) \
+ ( (This)->lpVtbl -> GetFrameTime(This,frameTime,frameDuration,timeScale) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
+#define __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__
+
+/* interface IDeckLinkAudioInputPacket_v7_1 */
+/* [helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDeckLinkAudioInputPacket_v7_1;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C86DE4F6-A29F-42E3-AB3A-1363E29F0788")
+ IDeckLinkAudioInputPacket_v7_1 : public IUnknown
+ {
+ public:
+ virtual long STDMETHODCALLTYPE GetSampleCount( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBytes(
+ void **buffer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime(
+ BMDTimeValue *packetTime,
+ BMDTimeScale timeScale) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDeckLinkAudioInputPacket_v7_1Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDeckLinkAudioInputPacket_v7_1 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDeckLinkAudioInputPacket_v7_1 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDeckLinkAudioInputPacket_v7_1 * This);
+
+ long ( STDMETHODCALLTYPE *GetSampleCount )(
+ IDeckLinkAudioInputPacket_v7_1 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBytes )(
+ IDeckLinkAudioInputPacket_v7_1 * This,
+ void **buffer);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAudioPacketTime )(
+ IDeckLinkAudioInputPacket_v7_1 * This,
+ BMDTimeValue *packetTime,
+ BMDTimeScale timeScale);
+
+ END_INTERFACE
+ } IDeckLinkAudioInputPacket_v7_1Vtbl;
+
+ interface IDeckLinkAudioInputPacket_v7_1
+ {
+ CONST_VTBL struct IDeckLinkAudioInputPacket_v7_1Vtbl *lpVtbl;
+ };
+
+
-#define IDeckLinkOutput_v7_1_EndAudioPreroll(This) \
- ( (This)->lpVtbl -> EndAudioPreroll(This) )
+#ifdef COBJMACROS
-#define IDeckLinkOutput_v7_1_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
- ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
-#define IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
- ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
+#define IDeckLinkAudioInputPacket_v7_1_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(This) \
- ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
+#define IDeckLinkAudioInputPacket_v7_1_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkOutput_v7_1_SetAudioCallback(This,theCallback) \
- ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
+#define IDeckLinkAudioInputPacket_v7_1_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkOutput_v7_1_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
- ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
-#define IDeckLinkOutput_v7_1_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
- ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
+#define IDeckLinkAudioInputPacket_v7_1_GetSampleCount(This) \
+ ( (This)->lpVtbl -> GetSampleCount(This) )
-#define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
- ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) )
+#define IDeckLinkAudioInputPacket_v7_1_GetBytes(This,buffer) \
+ ( (This)->lpVtbl -> GetBytes(This,buffer) )
+
+#define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) \
+ ( (This)->lpVtbl -> GetAudioPacketTime(This,packetTime,timeScale) )
#endif /* COBJMACROS */
@@ -5311,144 +7991,59 @@
-#endif /* __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ */
+#endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */
-#ifndef __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
-#define __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
+#ifndef __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
+#define __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__
-/* interface IDeckLinkInput_v7_1 */
+/* interface IDeckLinkVideoOutputCallback_v7_1 */
/* [helpstring][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkInput_v7_1;
+EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_1;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("2B54EDEF-5B32-429F-BA11-BB990596EACD")
- IDeckLinkInput_v7_1 : public IUnknown
+ MIDL_INTERFACE("EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9")
+ IDeckLinkVideoOutputCallback_v7_1 : public IUnknown
{
public:
- virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- /* [out] */ BMDDisplayModeSupport *result) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
- /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- BMDVideoInputFlags flags) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
- BMDAudioSampleRate sampleRate,
- BMDAudioSampleType sampleType,
- unsigned long channelCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples(
- void *buffer,
- unsigned long sampleFrameCount,
- /* [out] */ unsigned long *sampleFramesRead,
- /* [out] */ BMDTimeValue *audioPacketTime,
- BMDTimeScale timeScale) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
- /* [out] */ unsigned long *bufferedSampleCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetCallback(
- /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback) = 0;
+ virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(
+ /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
+ /* [in] */ BMDOutputFrameCompletionResult result) = 0;
};
#else /* C style interface */
- typedef struct IDeckLinkInput_v7_1Vtbl
+ typedef struct IDeckLinkVideoOutputCallback_v7_1Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkInput_v7_1 * This,
+ IDeckLinkVideoOutputCallback_v7_1 * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkInput_v7_1 * This);
+ IDeckLinkVideoOutputCallback_v7_1 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkInput_v7_1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
- IDeckLinkInput_v7_1 * This,
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- /* [out] */ BMDDisplayModeSupport *result);
-
- HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
- IDeckLinkInput_v7_1 * This,
- /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
-
- HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
- IDeckLinkInput_v7_1 * This,
- BMDDisplayMode displayMode,
- BMDPixelFormat pixelFormat,
- BMDVideoInputFlags flags);
-
- HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
- IDeckLinkInput_v7_1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
- IDeckLinkInput_v7_1 * This,
- BMDAudioSampleRate sampleRate,
- BMDAudioSampleType sampleType,
- unsigned long channelCount);
-
- HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
- IDeckLinkInput_v7_1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *ReadAudioSamples )(
- IDeckLinkInput_v7_1 * This,
- void *buffer,
- unsigned long sampleFrameCount,
- /* [out] */ unsigned long *sampleFramesRead,
- /* [out] */ BMDTimeValue *audioPacketTime,
- BMDTimeScale timeScale);
-
- HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
- IDeckLinkInput_v7_1 * This,
- /* [out] */ unsigned long *bufferedSampleCount);
-
- HRESULT ( STDMETHODCALLTYPE *StartStreams )(
- IDeckLinkInput_v7_1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *StopStreams )(
- IDeckLinkInput_v7_1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
- IDeckLinkInput_v7_1 * This);
+ IDeckLinkVideoOutputCallback_v7_1 * This);
- HRESULT ( STDMETHODCALLTYPE *SetCallback )(
- IDeckLinkInput_v7_1 * This,
- /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback);
+ HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )(
+ IDeckLinkVideoOutputCallback_v7_1 * This,
+ /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame,
+ /* [in] */ BMDOutputFrameCompletionResult result);
END_INTERFACE
- } IDeckLinkInput_v7_1Vtbl;
+ } IDeckLinkVideoOutputCallback_v7_1Vtbl;
- interface IDeckLinkInput_v7_1
+ interface IDeckLinkVideoOutputCallback_v7_1
{
- CONST_VTBL struct IDeckLinkInput_v7_1Vtbl *lpVtbl;
+ CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_1Vtbl *lpVtbl;
};
@@ -5456,51 +8051,18 @@
#ifdef COBJMACROS
-#define IDeckLinkInput_v7_1_QueryInterface(This,riid,ppvObject) \
+#define IDeckLinkVideoOutputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkInput_v7_1_AddRef(This) \
+#define IDeckLinkVideoOutputCallback_v7_1_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkInput_v7_1_Release(This) \
+#define IDeckLinkVideoOutputCallback_v7_1_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkInput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
- ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
-
-#define IDeckLinkInput_v7_1_GetDisplayModeIterator(This,iterator) \
- ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
-
-#define IDeckLinkInput_v7_1_EnableVideoInput(This,displayMode,pixelFormat,flags) \
- ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
-
-#define IDeckLinkInput_v7_1_DisableVideoInput(This) \
- ( (This)->lpVtbl -> DisableVideoInput(This) )
-
-#define IDeckLinkInput_v7_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
- ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
-
-#define IDeckLinkInput_v7_1_DisableAudioInput(This) \
- ( (This)->lpVtbl -> DisableAudioInput(This) )
-
-#define IDeckLinkInput_v7_1_ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) \
- ( (This)->lpVtbl -> ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) )
-
-#define IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
- ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
-
-#define IDeckLinkInput_v7_1_StartStreams(This) \
- ( (This)->lpVtbl -> StartStreams(This) )
-
-#define IDeckLinkInput_v7_1_StopStreams(This) \
- ( (This)->lpVtbl -> StopStreams(This) )
-
-#define IDeckLinkInput_v7_1_PauseStreams(This) \
- ( (This)->lpVtbl -> PauseStreams(This) )
-
-#define IDeckLinkInput_v7_1_SetCallback(This,theCallback) \
- ( (This)->lpVtbl -> SetCallback(This,theCallback) )
+#define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) \
+ ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) )
#endif /* COBJMACROS */
@@ -5510,70 +8072,59 @@
-#endif /* __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ */
+#endif /* __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ */
-#ifndef __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
-#define __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__
+#ifndef __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
+#define __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__
-/* interface IDeckLinkInputCallback_v7_3 */
+/* interface IDeckLinkInputCallback_v7_1 */
/* [helpstring][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkInputCallback_v7_3;
+EXTERN_C const IID IID_IDeckLinkInputCallback_v7_1;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("FD6F311D-4D00-444B-9ED4-1F25B5730AD0")
- IDeckLinkInputCallback_v7_3 : public IUnknown
+ MIDL_INTERFACE("7F94F328-5ED4-4E9F-9729-76A86BDC99CC")
+ IDeckLinkInputCallback_v7_1 : public IUnknown
{
public:
- virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(
- /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
- /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
- /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
-
virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(
- /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
- /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0;
+ /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
+ /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket) = 0;
};
#else /* C style interface */
- typedef struct IDeckLinkInputCallback_v7_3Vtbl
+ typedef struct IDeckLinkInputCallback_v7_1Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkInputCallback_v7_3 * This,
+ IDeckLinkInputCallback_v7_1 * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkInputCallback_v7_3 * This);
+ IDeckLinkInputCallback_v7_1 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkInputCallback_v7_3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )(
- IDeckLinkInputCallback_v7_3 * This,
- /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents,
- /* [in] */ IDeckLinkDisplayMode *newDisplayMode,
- /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
+ IDeckLinkInputCallback_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )(
- IDeckLinkInputCallback_v7_3 * This,
- /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame,
- /* [in] */ IDeckLinkAudioInputPacket *audioPacket);
+ IDeckLinkInputCallback_v7_1 * This,
+ /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame,
+ /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket);
END_INTERFACE
- } IDeckLinkInputCallback_v7_3Vtbl;
+ } IDeckLinkInputCallback_v7_1Vtbl;
- interface IDeckLinkInputCallback_v7_3
+ interface IDeckLinkInputCallback_v7_1
{
- CONST_VTBL struct IDeckLinkInputCallback_v7_3Vtbl *lpVtbl;
+ CONST_VTBL struct IDeckLinkInputCallback_v7_1Vtbl *lpVtbl;
};
@@ -5581,20 +8132,17 @@
#ifdef COBJMACROS
-#define IDeckLinkInputCallback_v7_3_QueryInterface(This,riid,ppvObject) \
+#define IDeckLinkInputCallback_v7_1_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkInputCallback_v7_3_AddRef(This) \
+#define IDeckLinkInputCallback_v7_1_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkInputCallback_v7_3_Release(This) \
+#define IDeckLinkInputCallback_v7_1_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \
- ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) )
-
-#define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) \
+#define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) \
( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) )
#endif /* COBJMACROS */
@@ -5605,22 +8153,22 @@
-#endif /* __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ */
+#endif /* __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ */
-#ifndef __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
-#define __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__
+#ifndef __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
+#define __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__
-/* interface IDeckLinkOutput_v7_3 */
+/* interface IDeckLinkOutput_v7_1 */
/* [helpstring][local][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkOutput_v7_3;
+EXTERN_C const IID IID_IDeckLinkOutput_v7_1;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("271C65E3-C323-4344-A30F-D908BCB20AA3")
- IDeckLinkOutput_v7_3 : public IUnknown
+ MIDL_INTERFACE("AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5")
+ IDeckLinkOutput_v7_1 : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
@@ -5629,14 +8177,10 @@
/* [out] */ BMDDisplayModeSupport *result) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
- /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
- /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput(
- BMDDisplayMode displayMode,
- BMDVideoOutputFlags flags) = 0;
+ BMDDisplayMode displayMode) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0;
@@ -5649,37 +8193,38 @@
long rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
- /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0;
+ IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData(
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer(
+ void *buffer,
+ long width,
+ long height,
+ long rowBytes,
BMDPixelFormat pixelFormat,
- /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
+ BMDFrameFlags flags,
+ IDeckLinkVideoFrame_v7_1 **outFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync(
- /* [in] */ IDeckLinkVideoFrame *theFrame) = 0;
+ IDeckLinkVideoFrame_v7_1 *theFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame(
- /* [in] */ IDeckLinkVideoFrame *theFrame,
+ IDeckLinkVideoFrame_v7_1 *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback(
- /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount(
- /* [out] */ unsigned long *bufferedFrameCount) = 0;
+ /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
- unsigned long channelCount,
- BMDAudioOutputStreamType streamType) = 0;
+ unsigned long channelCount) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync(
- /* [in] */ void *buffer,
+ void *buffer,
unsigned long sampleFrameCount,
/* [out] */ unsigned long *sampleFramesWritten) = 0;
@@ -5688,14 +8233,14 @@
virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples(
- /* [in] */ void *buffer,
+ void *buffer,
unsigned long sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
/* [out] */ unsigned long *sampleFramesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
- /* [out] */ unsigned long *bufferedSampleFrameCount) = 0;
+ /* [out] */ unsigned long *bufferedSampleCount) = 0;
virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0;
@@ -5709,163 +8254,151 @@
virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback(
BMDTimeValue stopPlaybackAtTime,
- /* [out] */ BMDTimeValue *actualStopTime,
+ BMDTimeValue *actualStopTime,
BMDTimeScale timeScale) = 0;
- virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning(
- /* [out] */ BOOL *active) = 0;
-
virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock(
BMDTimeScale desiredTimeScale,
- /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
+ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
};
#else /* C style interface */
- typedef struct IDeckLinkOutput_v7_3Vtbl
+ typedef struct IDeckLinkOutput_v7_1Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkOutput_v7_3 * This,
+ IDeckLinkOutput_v7_1 * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkOutput_v7_3 * This);
+ IDeckLinkOutput_v7_1 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkOutput_v7_3 * This);
+ IDeckLinkOutput_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
- IDeckLinkOutput_v7_3 * This,
+ IDeckLinkOutput_v7_1 * This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
/* [out] */ BMDDisplayModeSupport *result);
HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
- IDeckLinkOutput_v7_3 * This,
- /* [out] */ IDeckLinkDisplayModeIterator **iterator);
-
- HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
- IDeckLinkOutput_v7_3 * This,
- /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
+ IDeckLinkOutput_v7_1 * This,
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )(
- IDeckLinkOutput_v7_3 * This,
- BMDDisplayMode displayMode,
- BMDVideoOutputFlags flags);
+ IDeckLinkOutput_v7_1 * This,
+ BMDDisplayMode displayMode);
HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )(
- IDeckLinkOutput_v7_3 * This);
+ IDeckLinkOutput_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )(
- IDeckLinkOutput_v7_3 * This,
+ IDeckLinkOutput_v7_1 * This,
/* [in] */ IDeckLinkMemoryAllocator *theAllocator);
HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )(
- IDeckLinkOutput_v7_3 * This,
+ IDeckLinkOutput_v7_1 * This,
long width,
long height,
long rowBytes,
BMDPixelFormat pixelFormat,
BMDFrameFlags flags,
- /* [out] */ IDeckLinkMutableVideoFrame **outFrame);
+ IDeckLinkVideoFrame_v7_1 **outFrame);
- HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )(
- IDeckLinkOutput_v7_3 * This,
+ HRESULT ( STDMETHODCALLTYPE *CreateVideoFrameFromBuffer )(
+ IDeckLinkOutput_v7_1 * This,
+ void *buffer,
+ long width,
+ long height,
+ long rowBytes,
BMDPixelFormat pixelFormat,
- /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer);
+ BMDFrameFlags flags,
+ IDeckLinkVideoFrame_v7_1 **outFrame);
HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )(
- IDeckLinkOutput_v7_3 * This,
- /* [in] */ IDeckLinkVideoFrame *theFrame);
+ IDeckLinkOutput_v7_1 * This,
+ IDeckLinkVideoFrame_v7_1 *theFrame);
HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )(
- IDeckLinkOutput_v7_3 * This,
- /* [in] */ IDeckLinkVideoFrame *theFrame,
+ IDeckLinkOutput_v7_1 * This,
+ IDeckLinkVideoFrame_v7_1 *theFrame,
BMDTimeValue displayTime,
BMDTimeValue displayDuration,
BMDTimeScale timeScale);
HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )(
- IDeckLinkOutput_v7_3 * This,
- /* [in] */ IDeckLinkVideoOutputCallback *theCallback);
-
- HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )(
- IDeckLinkOutput_v7_3 * This,
- /* [out] */ unsigned long *bufferedFrameCount);
+ IDeckLinkOutput_v7_1 * This,
+ /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback);
HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )(
- IDeckLinkOutput_v7_3 * This,
+ IDeckLinkOutput_v7_1 * This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
- unsigned long channelCount,
- BMDAudioOutputStreamType streamType);
+ unsigned long channelCount);
HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )(
- IDeckLinkOutput_v7_3 * This);
+ IDeckLinkOutput_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )(
- IDeckLinkOutput_v7_3 * This,
- /* [in] */ void *buffer,
+ IDeckLinkOutput_v7_1 * This,
+ void *buffer,
unsigned long sampleFrameCount,
/* [out] */ unsigned long *sampleFramesWritten);
HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )(
- IDeckLinkOutput_v7_3 * This);
+ IDeckLinkOutput_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )(
- IDeckLinkOutput_v7_3 * This);
+ IDeckLinkOutput_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )(
- IDeckLinkOutput_v7_3 * This,
- /* [in] */ void *buffer,
+ IDeckLinkOutput_v7_1 * This,
+ void *buffer,
unsigned long sampleFrameCount,
BMDTimeValue streamTime,
BMDTimeScale timeScale,
/* [out] */ unsigned long *sampleFramesWritten);
HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
- IDeckLinkOutput_v7_3 * This,
- /* [out] */ unsigned long *bufferedSampleFrameCount);
+ IDeckLinkOutput_v7_1 * This,
+ /* [out] */ unsigned long *bufferedSampleCount);
HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )(
- IDeckLinkOutput_v7_3 * This);
+ IDeckLinkOutput_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )(
- IDeckLinkOutput_v7_3 * This,
+ IDeckLinkOutput_v7_1 * This,
/* [in] */ IDeckLinkAudioOutputCallback *theCallback);
HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )(
- IDeckLinkOutput_v7_3 * This,
+ IDeckLinkOutput_v7_1 * This,
BMDTimeValue playbackStartTime,
BMDTimeScale timeScale,
double playbackSpeed);
HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )(
- IDeckLinkOutput_v7_3 * This,
+ IDeckLinkOutput_v7_1 * This,
BMDTimeValue stopPlaybackAtTime,
- /* [out] */ BMDTimeValue *actualStopTime,
+ BMDTimeValue *actualStopTime,
BMDTimeScale timeScale);
- HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )(
- IDeckLinkOutput_v7_3 * This,
- /* [out] */ BOOL *active);
-
HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )(
- IDeckLinkOutput_v7_3 * This,
+ IDeckLinkOutput_v7_1 * This,
BMDTimeScale desiredTimeScale,
- /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan);
+ BMDTimeValue *elapsedTimeSinceSchedulerBegan);
END_INTERFACE
- } IDeckLinkOutput_v7_3Vtbl;
+ } IDeckLinkOutput_v7_1Vtbl;
- interface IDeckLinkOutput_v7_3
+ interface IDeckLinkOutput_v7_1
{
- CONST_VTBL struct IDeckLinkOutput_v7_3Vtbl *lpVtbl;
+ CONST_VTBL struct IDeckLinkOutput_v7_1Vtbl *lpVtbl;
};
@@ -5873,89 +8406,80 @@
#ifdef COBJMACROS
-#define IDeckLinkOutput_v7_3_QueryInterface(This,riid,ppvObject) \
+#define IDeckLinkOutput_v7_1_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkOutput_v7_3_AddRef(This) \
+#define IDeckLinkOutput_v7_1_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkOutput_v7_3_Release(This) \
+#define IDeckLinkOutput_v7_1_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkOutput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
+#define IDeckLinkOutput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
-#define IDeckLinkOutput_v7_3_GetDisplayModeIterator(This,iterator) \
+#define IDeckLinkOutput_v7_1_GetDisplayModeIterator(This,iterator) \
( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
-#define IDeckLinkOutput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
- ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
-
-#define IDeckLinkOutput_v7_3_EnableVideoOutput(This,displayMode,flags) \
- ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) )
+#define IDeckLinkOutput_v7_1_EnableVideoOutput(This,displayMode) \
+ ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode) )
-#define IDeckLinkOutput_v7_3_DisableVideoOutput(This) \
+#define IDeckLinkOutput_v7_1_DisableVideoOutput(This) \
( (This)->lpVtbl -> DisableVideoOutput(This) )
-#define IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
+#define IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \
( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) )
-#define IDeckLinkOutput_v7_3_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
+#define IDeckLinkOutput_v7_1_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \
( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) )
-#define IDeckLinkOutput_v7_3_CreateAncillaryData(This,pixelFormat,outBuffer) \
- ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) )
+#define IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) \
+ ( (This)->lpVtbl -> CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) )
-#define IDeckLinkOutput_v7_3_DisplayVideoFrameSync(This,theFrame) \
+#define IDeckLinkOutput_v7_1_DisplayVideoFrameSync(This,theFrame) \
( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) )
-#define IDeckLinkOutput_v7_3_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
+#define IDeckLinkOutput_v7_1_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \
( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) )
-#define IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(This,theCallback) \
+#define IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(This,theCallback) \
( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) )
-#define IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(This,bufferedFrameCount) \
- ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) )
-
-#define IDeckLinkOutput_v7_3_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \
- ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) )
+#define IDeckLinkOutput_v7_1_EnableAudioOutput(This,sampleRate,sampleType,channelCount) \
+ ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount) )
-#define IDeckLinkOutput_v7_3_DisableAudioOutput(This) \
+#define IDeckLinkOutput_v7_1_DisableAudioOutput(This) \
( (This)->lpVtbl -> DisableAudioOutput(This) )
-#define IDeckLinkOutput_v7_3_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
+#define IDeckLinkOutput_v7_1_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \
( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) )
-#define IDeckLinkOutput_v7_3_BeginAudioPreroll(This) \
+#define IDeckLinkOutput_v7_1_BeginAudioPreroll(This) \
( (This)->lpVtbl -> BeginAudioPreroll(This) )
-#define IDeckLinkOutput_v7_3_EndAudioPreroll(This) \
+#define IDeckLinkOutput_v7_1_EndAudioPreroll(This) \
( (This)->lpVtbl -> EndAudioPreroll(This) )
-#define IDeckLinkOutput_v7_3_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
+#define IDeckLinkOutput_v7_1_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \
( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) )
-#define IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \
- ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) )
+#define IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
+ ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
-#define IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(This) \
+#define IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(This) \
( (This)->lpVtbl -> FlushBufferedAudioSamples(This) )
-#define IDeckLinkOutput_v7_3_SetAudioCallback(This,theCallback) \
+#define IDeckLinkOutput_v7_1_SetAudioCallback(This,theCallback) \
( (This)->lpVtbl -> SetAudioCallback(This,theCallback) )
-#define IDeckLinkOutput_v7_3_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
+#define IDeckLinkOutput_v7_1_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \
( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) )
-#define IDeckLinkOutput_v7_3_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
+#define IDeckLinkOutput_v7_1_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \
( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) )
-#define IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(This,active) \
- ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) )
-
-#define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
+#define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \
( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) )
#endif /* COBJMACROS */
@@ -5966,22 +8490,22 @@
-#endif /* __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ */
+#endif /* __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ */
-#ifndef __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
-#define __IDeckLinkInput_v7_3_INTERFACE_DEFINED__
+#ifndef __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
+#define __IDeckLinkInput_v7_1_INTERFACE_DEFINED__
-/* interface IDeckLinkInput_v7_3 */
+/* interface IDeckLinkInput_v7_1 */
/* [helpstring][uuid][object] */
-EXTERN_C const IID IID_IDeckLinkInput_v7_3;
+EXTERN_C const IID IID_IDeckLinkInput_v7_1;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("4973F012-9925-458C-871C-18774CDBBECB")
- IDeckLinkInput_v7_3 : public IUnknown
+ MIDL_INTERFACE("2B54EDEF-5B32-429F-BA11-BB990596EACD")
+ IDeckLinkInput_v7_1 : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode(
@@ -5990,10 +8514,7 @@
/* [out] */ BMDDisplayModeSupport *result) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator(
- /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback(
- /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableVideoInput(
BMDDisplayMode displayMode,
@@ -6002,9 +8523,6 @@
virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount(
- /* [out] */ unsigned long *availableFrameCount) = 0;
-
virtual HRESULT STDMETHODCALLTYPE EnableAudioInput(
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
@@ -6012,8 +8530,15 @@
virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount(
- /* [out] */ unsigned long *availableSampleFrameCount) = 0;
+ virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples(
+ void *buffer,
+ unsigned long sampleFrameCount,
+ /* [out] */ unsigned long *sampleFramesRead,
+ /* [out] */ BMDTimeValue *audioPacketTime,
+ BMDTimeScale timeScale) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
+ /* [out] */ unsigned long *bufferedSampleCount) = 0;
virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0;
@@ -6021,93 +8546,88 @@
virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0;
-
virtual HRESULT STDMETHODCALLTYPE SetCallback(
- /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback) = 0;
+ /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback) = 0;
};
#else /* C style interface */
- typedef struct IDeckLinkInput_v7_3Vtbl
+ typedef struct IDeckLinkInput_v7_1Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkInput_v7_3 * This,
+ IDeckLinkInput_v7_1 * This,
/* [in] */ REFIID riid,
- /* [iid_is][out] */
+ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkInput_v7_3 * This);
+ IDeckLinkInput_v7_1 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkInput_v7_3 * This);
+ IDeckLinkInput_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )(
- IDeckLinkInput_v7_3 * This,
+ IDeckLinkInput_v7_1 * This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
/* [out] */ BMDDisplayModeSupport *result);
HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )(
- IDeckLinkInput_v7_3 * This,
- /* [out] */ IDeckLinkDisplayModeIterator **iterator);
-
- HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )(
- IDeckLinkInput_v7_3 * This,
- /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback);
+ IDeckLinkInput_v7_1 * This,
+ /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator);
HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )(
- IDeckLinkInput_v7_3 * This,
+ IDeckLinkInput_v7_1 * This,
BMDDisplayMode displayMode,
BMDPixelFormat pixelFormat,
BMDVideoInputFlags flags);
HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )(
- IDeckLinkInput_v7_3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )(
- IDeckLinkInput_v7_3 * This,
- /* [out] */ unsigned long *availableFrameCount);
+ IDeckLinkInput_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )(
- IDeckLinkInput_v7_3 * This,
+ IDeckLinkInput_v7_1 * This,
BMDAudioSampleRate sampleRate,
BMDAudioSampleType sampleType,
unsigned long channelCount);
HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )(
- IDeckLinkInput_v7_3 * This);
+ IDeckLinkInput_v7_1 * This);
- HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )(
- IDeckLinkInput_v7_3 * This,
- /* [out] */ unsigned long *availableSampleFrameCount);
+ HRESULT ( STDMETHODCALLTYPE *ReadAudioSamples )(
+ IDeckLinkInput_v7_1 * This,
+ void *buffer,
+ unsigned long sampleFrameCount,
+ /* [out] */ unsigned long *sampleFramesRead,
+ /* [out] */ BMDTimeValue *audioPacketTime,
+ BMDTimeScale timeScale);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )(
+ IDeckLinkInput_v7_1 * This,
+ /* [out] */ unsigned long *bufferedSampleCount);
HRESULT ( STDMETHODCALLTYPE *StartStreams )(
- IDeckLinkInput_v7_3 * This);
+ IDeckLinkInput_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *StopStreams )(
- IDeckLinkInput_v7_3 * This);
+ IDeckLinkInput_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *PauseStreams )(
- IDeckLinkInput_v7_3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *FlushStreams )(
- IDeckLinkInput_v7_3 * This);
+ IDeckLinkInput_v7_1 * This);
HRESULT ( STDMETHODCALLTYPE *SetCallback )(
- IDeckLinkInput_v7_3 * This,
- /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback);
+ IDeckLinkInput_v7_1 * This,
+ /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback);
END_INTERFACE
- } IDeckLinkInput_v7_3Vtbl;
+ } IDeckLinkInput_v7_1Vtbl;
- interface IDeckLinkInput_v7_3
+ interface IDeckLinkInput_v7_1
{
- CONST_VTBL struct IDeckLinkInput_v7_3Vtbl *lpVtbl;
+ CONST_VTBL struct IDeckLinkInput_v7_1Vtbl *lpVtbl;
};
@@ -6115,56 +8635,50 @@
#ifdef COBJMACROS
-#define IDeckLinkInput_v7_3_QueryInterface(This,riid,ppvObject) \
+#define IDeckLinkInput_v7_1_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define IDeckLinkInput_v7_3_AddRef(This) \
+#define IDeckLinkInput_v7_1_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define IDeckLinkInput_v7_3_Release(This) \
+#define IDeckLinkInput_v7_1_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define IDeckLinkInput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
+#define IDeckLinkInput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \
( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) )
-#define IDeckLinkInput_v7_3_GetDisplayModeIterator(This,iterator) \
+#define IDeckLinkInput_v7_1_GetDisplayModeIterator(This,iterator) \
( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) )
-#define IDeckLinkInput_v7_3_SetScreenPreviewCallback(This,previewCallback) \
- ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) )
-
-#define IDeckLinkInput_v7_3_EnableVideoInput(This,displayMode,pixelFormat,flags) \
+#define IDeckLinkInput_v7_1_EnableVideoInput(This,displayMode,pixelFormat,flags) \
( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) )
-#define IDeckLinkInput_v7_3_DisableVideoInput(This) \
+#define IDeckLinkInput_v7_1_DisableVideoInput(This) \
( (This)->lpVtbl -> DisableVideoInput(This) )
-#define IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(This,availableFrameCount) \
- ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) )
-
-#define IDeckLinkInput_v7_3_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
+#define IDeckLinkInput_v7_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) \
( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) )
-#define IDeckLinkInput_v7_3_DisableAudioInput(This) \
+#define IDeckLinkInput_v7_1_DisableAudioInput(This) \
( (This)->lpVtbl -> DisableAudioInput(This) )
-#define IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \
- ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) )
+#define IDeckLinkInput_v7_1_ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) \
+ ( (This)->lpVtbl -> ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) )
-#define IDeckLinkInput_v7_3_StartStreams(This) \
+#define IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \
+ ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) )
+
+#define IDeckLinkInput_v7_1_StartStreams(This) \
( (This)->lpVtbl -> StartStreams(This) )
-#define IDeckLinkInput_v7_3_StopStreams(This) \
+#define IDeckLinkInput_v7_1_StopStreams(This) \
( (This)->lpVtbl -> StopStreams(This) )
-#define IDeckLinkInput_v7_3_PauseStreams(This) \
+#define IDeckLinkInput_v7_1_PauseStreams(This) \
( (This)->lpVtbl -> PauseStreams(This) )
-#define IDeckLinkInput_v7_3_FlushStreams(This) \
- ( (This)->lpVtbl -> FlushStreams(This) )
-
-#define IDeckLinkInput_v7_3_SetCallback(This,theCallback) \
+#define IDeckLinkInput_v7_1_SetCallback(This,theCallback) \
( (This)->lpVtbl -> SetCallback(This,theCallback) )
#endif /* COBJMACROS */
@@ -6175,143 +8689,7 @@
-#endif /* __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ */
-
-
-#ifndef __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
-#define __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__
-
-/* interface IDeckLinkVideoInputFrame_v7_3 */
-/* [helpstring][local][uuid][object] */
-
-
-EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_3;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("CF317790-2894-11DE-8C30-0800200C9A66")
- IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetStreamTime(
- /* [out] */ BMDTimeValue *frameTime,
- /* [out] */ BMDTimeValue *frameDuration,
- BMDTimeScale timeScale) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IDeckLinkVideoInputFrame_v7_3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDeckLinkVideoInputFrame_v7_3 * This,
- /* [in] */ REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDeckLinkVideoInputFrame_v7_3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IDeckLinkVideoInputFrame_v7_3 * This);
-
- long ( STDMETHODCALLTYPE *GetWidth )(
- IDeckLinkVideoInputFrame_v7_3 * This);
-
- long ( STDMETHODCALLTYPE *GetHeight )(
- IDeckLinkVideoInputFrame_v7_3 * This);
-
- long ( STDMETHODCALLTYPE *GetRowBytes )(
- IDeckLinkVideoInputFrame_v7_3 * This);
-
- BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )(
- IDeckLinkVideoInputFrame_v7_3 * This);
-
- BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )(
- IDeckLinkVideoInputFrame_v7_3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetBytes )(
- IDeckLinkVideoInputFrame_v7_3 * This,
- /* [out] */ void **buffer);
-
- HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
- IDeckLinkVideoInputFrame_v7_3 * This,
- BMDTimecodeFormat format,
- /* [out] */ IDeckLinkTimecode **timecode);
-
- HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )(
- IDeckLinkVideoInputFrame_v7_3 * This,
- /* [out] */ IDeckLinkVideoFrameAncillary **ancillary);
-
- HRESULT ( STDMETHODCALLTYPE *GetStreamTime )(
- IDeckLinkVideoInputFrame_v7_3 * This,
- /* [out] */ BMDTimeValue *frameTime,
- /* [out] */ BMDTimeValue *frameDuration,
- BMDTimeScale timeScale);
-
- END_INTERFACE
- } IDeckLinkVideoInputFrame_v7_3Vtbl;
-
- interface IDeckLinkVideoInputFrame_v7_3
- {
- CONST_VTBL struct IDeckLinkVideoInputFrame_v7_3Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IDeckLinkVideoInputFrame_v7_3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IDeckLinkVideoInputFrame_v7_3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IDeckLinkVideoInputFrame_v7_3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IDeckLinkVideoInputFrame_v7_3_GetWidth(This) \
- ( (This)->lpVtbl -> GetWidth(This) )
-
-#define IDeckLinkVideoInputFrame_v7_3_GetHeight(This) \
- ( (This)->lpVtbl -> GetHeight(This) )
-
-#define IDeckLinkVideoInputFrame_v7_3_GetRowBytes(This) \
- ( (This)->lpVtbl -> GetRowBytes(This) )
-
-#define IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(This) \
- ( (This)->lpVtbl -> GetPixelFormat(This) )
-
-#define IDeckLinkVideoInputFrame_v7_3_GetFlags(This) \
- ( (This)->lpVtbl -> GetFlags(This) )
-
-#define IDeckLinkVideoInputFrame_v7_3_GetBytes(This,buffer) \
- ( (This)->lpVtbl -> GetBytes(This,buffer) )
-
-#define IDeckLinkVideoInputFrame_v7_3_GetTimecode(This,format,timecode) \
- ( (This)->lpVtbl -> GetTimecode(This,format,timecode) )
-
-#define IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(This,ancillary) \
- ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) )
-
-
-#define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) \
- ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ */
+#endif /* __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ */
#endif /* __DeckLinkAPI_LIBRARY_DEFINED__ */
Modified: vic/branches/mpeg4/video/DeckLinkAPI_i.cpp
==============================================================================
--- vic/branches/mpeg4/video/DeckLinkAPI_i.cpp (original)
+++ vic/branches/mpeg4/video/DeckLinkAPI_i.cpp Tue Sep 7 05:22:51 2010
@@ -5,21 +5,22 @@
/* link this file in with the server and any clients */
- /* File created by MIDL compiler version 7.00.0500 */
-/* at Tue May 11 18:13:54 2010
+ /* File created by MIDL compiler version 7.00.0555 */
+/* at Tue Sep 07 12:00:00 2010
*/
-/* Compiler settings for .\video\DeckLinkAPI.idl:
- Oicf, W1, Zp8, env=Win32 (32b run)
+/* Compiler settings for video\DeckLinkAPI.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
protocol : dce , ms_ext, c_ext, robust
error checks: allocation ref bounds_check enum stub_data
VC __declspec() decoration level:
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
DECLSPEC_UUID(), MIDL_INTERFACE()
*/
-//@@MIDL_FILE_HEADING( )
+/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
#ifdef __cplusplus
extern "C"{
#endif
@@ -69,10 +70,10 @@
MIDL_DEFINE_GUID(IID, LIBID_DeckLinkAPI,0xD864517A,0xEDD5,0x466D,0x86,0x7D,0xC8,0x19,0xF1,0xC0,0x52,0xBB);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback,0xE763A626,0x4A3C,0x49D1,0xBF,0x13,0xE7,0xAD,0x36,0x92,0xAE,0x52);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback,0x20AA5225,0x1958,0x47CB,0x82,0x0B,0x80,0xA8,0xD5,0x21,0xA6,0xEE);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback,0x31D28EE7,0x88B6,0x4CB1,0x89,0x7A,0xCD,0xBF,0x79,0xA2,0x64,0x14);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback,0xDD04E5EC,0x7415,0x42AB,0xAE,0x4A,0xE8,0x0C,0x4D,0xFC,0x04,0x4A);
MIDL_DEFINE_GUID(IID, IID_IDeckLinkMemoryAllocator,0xB36EB6E7,0x9D29,0x4AA8,0x92,0xEF,0x84,0x3B,0x87,0xA2,0x89,0xE8);
@@ -87,31 +88,34 @@
MIDL_DEFINE_GUID(IID, IID_IDeckLinkAPIInformation,0x7BEA3C68,0x730D,0x4322,0xAF,0x34,0x8A,0x71,0x52,0xB5,0x32,0xA4);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayModeIterator,0x455D741F,0x1779,0x4800,0x86,0xF5,0x0B,0x5D,0x13,0xD7,0x97,0x51);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayModeIterator,0x9C88499F,0xF601,0x4021,0xB8,0x0B,0x03,0x2E,0x4E,0xB4,0x1C,0x35);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode,0x87451E84,0x2B7E,0x439E,0xA6,0x29,0x43,0x93,0xEA,0x4A,0x85,0x50);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode,0x3EB2C1AB,0x0A3D,0x4523,0xA3,0xAD,0xF4,0x0D,0x7F,0xB1,0x4E,0x78);
MIDL_DEFINE_GUID(IID, IID_IDeckLink,0x62BFF75D,0x6569,0x4E55,0x8D,0x4D,0x66,0xAA,0x03,0x82,0x9A,0xBC);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput,0x29228142,0xEB8C,0x4141,0xA6,0x21,0xF7,0x40,0x26,0x45,0x09,0x55);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput,0xA3EF0963,0x0862,0x44ED,0x92,0xA9,0xEE,0x89,0xAB,0xF4,0x31,0xC7);
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput,0x6D40EF78,0x28B9,0x4E21,0x99,0x0D,0x95,0xBB,0x77,0x50,0xA0,0x4F);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput,0x300C135A,0x9F43,0x48E2,0x99,0x06,0x6D,0x79,0x11,0xD9,0x3C,0xF1);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkTimecode,0xBC6CFBD3,0x8317,0x4325,0xAC,0x1C,0x12,0x16,0x39,0x1E,0x93,0x40);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkTimecode,0xEFB9BCA6,0xA521,0x44F7,0xBD,0x69,0x23,0x32,0xF2,0x4D,0x9E,0xE6);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame,0x3F716FE0,0xF023,0x4111,0xBE,0x5D,0xEF,0x44,0x14,0xC0,0x5B,0x17);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame,0xA8D8238E,0x6B18,0x4196,0x99,0xE1,0x5A,0xF7,0x17,0xB8,0x3D,0x32);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkMutableVideoFrame,0x69E2639F,0x40DA,0x4E19,0xB6,0xF2,0x20,0xAC,0xE8,0x15,0xC3,0x90);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkMutableVideoFrame,0x46FCEE00,0xB4E6,0x43D0,0x91,0xC0,0x02,0x3A,0x7F,0xCE,0xB3,0x4F);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame3DExtensions,0xDA0F7E4A,0xEDC7,0x48A8,0x9C,0xDD,0x2D,0xB5,0x1C,0x72,0x9C,0xD7);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame,0x9A74FA41,0xAE9F,0x47AC,0x8C,0xF4,0x01,0xF4,0x2D,0xD5,0x99,0x65);
+
+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);
@@ -120,13 +124,13 @@
MIDL_DEFINE_GUID(IID, IID_IDeckLinkAudioInputPacket,0xE43D5870,0x2894,0x11DE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkScreenPreviewCallback,0x373F499D,0x4B4D,0x4518,0xAD,0x22,0x63,0x54,0xE5,0xA5,0x82,0x5E);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkScreenPreviewCallback,0xB1D3F49A,0x85FE,0x4C5D,0x95,0xC8,0x0B,0x5D,0x5D,0xCC,0xD4,0x38);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkGLScreenPreviewHelper,0xBA575CD9,0xA15E,0x497B,0xB2,0xC2,0xF9,0xAF,0xE7,0xBE,0x4E,0xBA);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkGLScreenPreviewHelper,0x504E2209,0xCAC7,0x4C1A,0x9F,0xB4,0xC5,0xBB,0x62,0x74,0xD2,0x2F);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration,0xB8EAD569,0xB764,0x47F0,0xA7,0x3F,0xAE,0x40,0xDF,0x6C,0xBF,0x10);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration,0xC679A35B,0x610C,0x4D09,0xB7,0x48,0x1D,0x04,0x78,0x10,0x0F,0xC0);
MIDL_DEFINE_GUID(IID, IID_IDeckLinkAttributes,0xABC11843,0xD966,0x44CB,0x96,0xE2,0xA1,0xCB,0x5D,0x31,0x35,0xC4);
@@ -135,7 +139,7 @@
MIDL_DEFINE_GUID(IID, IID_IDeckLinkKeyer,0x89AFCAF5,0x65F8,0x421E,0x98,0xF7,0x96,0xFE,0x5F,0x5B,0xFB,0xA3);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoConversion,0x3EB504C9,0xF97D,0x40FE,0xA1,0x58,0xD4,0x07,0xD4,0x8C,0xB5,0x3B);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoConversion,0x3BBCB8A2,0xDA2C,0x42D9,0xB5,0xD8,0x88,0x08,0x36,0x44,0xE9,0x9A);
MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeckControlStatusCallback,0xE5F693C1,0x4283,0x4716,0xB1,0x8F,0xC1,0x43,0x15,0x21,0x95,0x5B);
@@ -147,37 +151,58 @@
MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkIterator,0xD9EDA3B3,0x2887,0x41FA,0xB7,0x24,0x01,0x7C,0xF1,0xEB,0x1D,0x37);
-MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkGLScreenPreviewHelper,0xD398CEE7,0x4434,0x4CA3,0x9B,0xA6,0x5A,0xE3,0x45,0x56,0xB9,0x05);
+MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkGLScreenPreviewHelper,0xF63E77C7,0xB655,0x4A4A,0x9A,0xD0,0x3C,0xA8,0x5D,0x39,0x43,0x43);
-MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkVideoConversion,0xFFA84F77,0x73BE,0x4FB7,0xB0,0x3E,0xB5,0xE4,0x4B,0x9F,0x75,0x9B);
+MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkVideoConversion,0x7DBBBB11,0x5B7B,0x467D,0xAE,0xA4,0xCE,0xA4,0x68,0xFD,0x36,0x8C);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayModeIterator_v7_1,0xB28131B6,0x59AC,0x4857,0xB5,0xAC,0xCD,0x75,0xD5,0x88,0x3E,0x2F);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayModeIterator_v7_6,0x455D741F,0x1779,0x4800,0x86,0xF5,0x0B,0x5D,0x13,0xD7,0x97,0x51);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode_v7_1,0xAF0CD6D5,0x8376,0x435E,0x84,0x33,0x54,0xF9,0xDD,0x53,0x0A,0xC3);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode_v7_6,0x87451E84,0x2B7E,0x439E,0xA6,0x29,0x43,0x93,0xEA,0x4A,0x85,0x50);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame_v7_1,0x333F3A10,0x8C2D,0x43CF,0xB7,0x9D,0x46,0x56,0x0F,0xEE,0xA1,0xCE);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v7_6,0x29228142,0xEB8C,0x4141,0xA6,0x21,0xF7,0x40,0x26,0x45,0x09,0x55);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame_v7_1,0xC8B41D95,0x8848,0x40EE,0x9B,0x37,0x6E,0x34,0x17,0xFB,0x11,0x4B);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v7_6,0x300C135A,0x9F43,0x48E2,0x99,0x06,0x6D,0x79,0x11,0xD9,0x3C,0xF1);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkAudioInputPacket_v7_1,0xC86DE4F6,0xA29F,0x42E3,0xAB,0x3A,0x13,0x63,0xE2,0x9F,0x07,0x88);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkTimecode_v7_6,0xEFB9BCA6,0xA521,0x44F7,0xBD,0x69,0x23,0x32,0xF2,0x4D,0x9E,0xE6);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback_v7_1,0xEBD01AFA,0xE4B0,0x49C6,0xA0,0x1D,0xED,0xB9,0xD1,0xB5,0x5F,0xD9);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame_v7_6,0xA8D8238E,0x6B18,0x4196,0x99,0xE1,0x5A,0xF7,0x17,0xB8,0x3D,0x32);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v7_1,0x7F94F328,0x5ED4,0x4E9F,0x97,0x29,0x76,0xA8,0x6B,0xDC,0x99,0xCC);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkMutableVideoFrame_v7_6,0x46FCEE00,0xB4E6,0x43D0,0x91,0xC0,0x02,0x3A,0x7F,0xCE,0xB3,0x4F);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v7_1,0xAE5B3E9B,0x4E1E,0x4535,0xB6,0xE8,0x48,0x0F,0xF5,0x2F,0x6C,0xE5);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame_v7_6,0x9A74FA41,0xAE9F,0x47AC,0x8C,0xF4,0x01,0xF4,0x2D,0xD5,0x99,0x65);
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v7_1,0x2B54EDEF,0x5B32,0x429F,0xBA,0x11,0xBB,0x99,0x05,0x96,0xEA,0xCD);
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkScreenPreviewCallback_v7_6,0x373F499D,0x4B4D,0x4518,0xAD,0x22,0x63,0x54,0xE5,0xA5,0x82,0x5E);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkGLScreenPreviewHelper_v7_6,0xBA575CD9,0xA15E,0x497B,0xB2,0xC2,0xF9,0xAF,0xE7,0xBE,0x4E,0xBA);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoConversion_v7_6,0x3EB504C9,0xF97D,0x40FE,0xA1,0x58,0xD4,0x07,0xD4,0x8C,0xB5,0x3B);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v7_6,0xB8EAD569,0xB764,0x47F0,0xA7,0x3F,0xAE,0x40,0xDF,0x6C,0xBF,0x10);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback_v7_6,0xE763A626,0x4A3C,0x49D1,0xBF,0x13,0xE7,0xAD,0x36,0x92,0xAE,0x52);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v7_6,0x31D28EE7,0x88B6,0x4CB1,0x89,0x7A,0xCD,0xBF,0x79,0xA2,0x64,0x14);
+
+
+MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkGLScreenPreviewHelper_v7_6,0xD398CEE7,0x4434,0x4CA3,0x9B,0xA6,0x5A,0xE3,0x45,0x56,0xB9,0x05);
+
+
+MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkVideoConversion_v7_6,0xFFA84F77,0x73BE,0x4FB7,0xB0,0x3E,0xB5,0xE4,0x4B,0x9F,0x75,0x9B);
MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v7_3,0xFD6F311D,0x4D00,0x444B,0x9E,0xD4,0x1F,0x25,0xB5,0x73,0x0A,0xD0);
@@ -191,6 +216,33 @@
MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame_v7_3,0xCF317790,0x2894,0x11DE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66);
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayModeIterator_v7_1,0xB28131B6,0x59AC,0x4857,0xB5,0xAC,0xCD,0x75,0xD5,0x88,0x3E,0x2F);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode_v7_1,0xAF0CD6D5,0x8376,0x435E,0x84,0x33,0x54,0xF9,0xDD,0x53,0x0A,0xC3);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame_v7_1,0x333F3A10,0x8C2D,0x43CF,0xB7,0x9D,0x46,0x56,0x0F,0xEE,0xA1,0xCE);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame_v7_1,0xC8B41D95,0x8848,0x40EE,0x9B,0x37,0x6E,0x34,0x17,0xFB,0x11,0x4B);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkAudioInputPacket_v7_1,0xC86DE4F6,0xA29F,0x42E3,0xAB,0x3A,0x13,0x63,0xE2,0x9F,0x07,0x88);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback_v7_1,0xEBD01AFA,0xE4B0,0x49C6,0xA0,0x1D,0xED,0xB9,0xD1,0xB5,0x5F,0xD9);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v7_1,0x7F94F328,0x5ED4,0x4E9F,0x97,0x29,0x76,0xA8,0x6B,0xDC,0x99,0xCC);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v7_1,0xAE5B3E9B,0x4E1E,0x4535,0xB6,0xE8,0x48,0x0F,0xF5,0x2F,0x6C,0xE5);
+
+
+MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v7_1,0x2B54EDEF,0x5B32,0x429F,0xBA,0x11,0xBB,0x99,0x05,0x96,0xEA,0xCD);
+
#undef MIDL_DEFINE_GUID
#ifdef __cplusplus
Modified: vic/branches/mpeg4/video/DeckLinkAPI_v7_3.idl
==============================================================================
--- vic/branches/mpeg4/video/DeckLinkAPI_v7_3.idl (original)
+++ vic/branches/mpeg4/video/DeckLinkAPI_v7_3.idl Tue Sep 7 05:22:51 2010
@@ -43,7 +43,7 @@
helpstring("Frame arrival callback.")
] interface IDeckLinkInputCallback_v7_3 : IUnknown
{
- HRESULT VideoInputFormatChanged([in] BMDVideoInputFormatChangedEvents notificationEvents, [in] IDeckLinkDisplayMode *newDisplayMode, [in] BMDDetectedVideoInputFormatFlags detectedSignalFlags);
+ HRESULT VideoInputFormatChanged([in] BMDVideoInputFormatChangedEvents notificationEvents, [in] IDeckLinkDisplayMode_v7_6 *newDisplayMode, [in] BMDDetectedVideoInputFormatFlags detectedSignalFlags);
HRESULT VideoInputFrameArrived([in] IDeckLinkVideoInputFrame_v7_3 *videoFrame, [in] IDeckLinkAudioInputPacket *audioPacket);
};
@@ -60,7 +60,7 @@
] interface IDeckLinkOutput_v7_3 : IUnknown
{
HRESULT DoesSupportVideoMode(BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, [out] BMDDisplayModeSupport *result);
- HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator **iterator);
+ HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator_v7_6 **iterator);
HRESULT SetScreenPreviewCallback([in] IDeckLinkScreenPreviewCallback *previewCallback);
@@ -70,11 +70,11 @@
HRESULT DisableVideoOutput(void);
HRESULT SetVideoOutputFrameMemoryAllocator([in] IDeckLinkMemoryAllocator *theAllocator);
- HRESULT CreateVideoFrame(long width, long height, long rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, [out] IDeckLinkMutableVideoFrame **outFrame);
+ HRESULT CreateVideoFrame(long width, long height, long rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, [out] IDeckLinkMutableVideoFrame_v7_6 **outFrame);
HRESULT CreateAncillaryData(BMDPixelFormat pixelFormat, [out] IDeckLinkVideoFrameAncillary **outBuffer);
- HRESULT DisplayVideoFrameSync([in] IDeckLinkVideoFrame *theFrame);
- HRESULT ScheduleVideoFrame([in] IDeckLinkVideoFrame *theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale);
+ HRESULT DisplayVideoFrameSync([in] IDeckLinkVideoFrame_v7_6 *theFrame);
+ HRESULT ScheduleVideoFrame([in] IDeckLinkVideoFrame_v7_6 *theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale);
HRESULT SetScheduledFrameCompletionCallback([in] IDeckLinkVideoOutputCallback *theCallback);
HRESULT GetBufferedVideoFrameCount([out] unsigned long *bufferedFrameCount);
@@ -113,7 +113,7 @@
] interface IDeckLinkInput_v7_3 : IUnknown
{
HRESULT DoesSupportVideoMode(BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, [out] BMDDisplayModeSupport *result);
- HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator **iterator);
+ HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator_v7_6 **iterator);
HRESULT SetScreenPreviewCallback([in] IDeckLinkScreenPreviewCallback *previewCallback);
@@ -148,7 +148,7 @@
uuid(CF317790-2894-11DE-8C30-0800200C9A66),
local,
helpstring("Provided by the IDeckLinkVideoInput frame arrival callback.")
-] interface IDeckLinkVideoInputFrame_v7_3 : IDeckLinkVideoFrame
+] interface IDeckLinkVideoInputFrame_v7_3 : IDeckLinkVideoFrame_v7_6
{
HRESULT GetStreamTime([out] BMDTimeValue *frameTime, [out] BMDTimeValue *frameDuration, BMDTimeScale timeScale);
};
Added: vic/branches/mpeg4/video/DeckLinkAPI_v7_6.idl
==============================================================================
--- (empty file)
+++ vic/branches/mpeg4/video/DeckLinkAPI_v7_6.idl Tue Sep 7 05:22:51 2010
@@ -0,0 +1,396 @@
+/* -LICENSE-START-
+** Copyright (c) 2009 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-
+*/
+
+/* Enum BMDVideoConnection - Video connection types */
+
+typedef [v1_enum] enum _BMDVideoConnection_v7_6 {
+ bmdVideoConnectionSDI_v7_6 = /* 'sdi ' */ 0x73646920,
+ bmdVideoConnectionHDMI_v7_6 = /* 'hdmi' */ 0x68646D69,
+ bmdVideoConnectionOpticalSDI_v7_6 = /* 'opti' */ 0x6F707469,
+ bmdVideoConnectionComponent_v7_6 = /* 'cpnt' */ 0x63706E74,
+ bmdVideoConnectionComposite_v7_6 = /* 'cmst' */ 0x636D7374,
+ bmdVideoConnectionSVideo_v7_6 = /* 'svid' */ 0x73766964
+} BMDVideoConnection_v7_6;
+
+
+
+/* Forward Declarations */
+
+interface IDeckLinkDisplayModeIterator_v7_6;
+interface IDeckLinkDisplayMode_v7_6;
+interface IDeckLinkOutput_v7_6;
+interface IDeckLinkInput_v7_6;
+interface IDeckLinkTimecode_v7_6;
+interface IDeckLinkVideoFrame_v7_6;
+interface IDeckLinkMutableVideoFrame_v7_6;
+interface IDeckLinkVideoInputFrame_v7_6;
+interface IDeckLinkScreenPreviewCallback_v7_6;
+interface IDeckLinkGLScreenPreviewHelper_v7_6;
+interface IDeckLinkVideoConversion_v7_6;
+interface IDeckLinkConfiguration_v7_6;
+
+
+/* Interface IDeckLinkVideoOutputCallback - Frame completion callback. */
+
+[
+ object,
+ uuid(E763A626-4A3C-49D1-BF13-E7AD3692AE52),
+ helpstring("Frame completion callback.")
+] interface IDeckLinkVideoOutputCallback_v7_6 : IUnknown
+{
+ HRESULT ScheduledFrameCompleted([in] IDeckLinkVideoFrame_v7_6 *completedFrame, [in] BMDOutputFrameCompletionResult result);
+ HRESULT ScheduledPlaybackHasStopped(void);
+};
+
+
+/* Interface IDeckLinkInputCallback - Frame arrival callback. */
+
+[
+ object,
+ uuid(31D28EE7-88B6-4CB1-897A-CDBF79A26414),
+ helpstring("Frame arrival callback.")
+] interface IDeckLinkInputCallback_v7_6 : IUnknown
+{
+ HRESULT VideoInputFormatChanged([in] BMDVideoInputFormatChangedEvents notificationEvents, [in] IDeckLinkDisplayMode_v7_6 *newDisplayMode, [in] BMDDetectedVideoInputFormatFlags detectedSignalFlags);
+ HRESULT VideoInputFrameArrived([in] IDeckLinkVideoInputFrame_v7_6* videoFrame, [in] IDeckLinkAudioInputPacket* audioPacket);
+};
+
+
+/* Interface IDeckLinkDisplayModeIterator - enumerates over supported input/output display modes. */
+
+[
+ object,
+ uuid(455D741F-1779-4800-86F5-0B5D13D79751),
+ helpstring("enumerates over supported input/output display modes.")
+] interface IDeckLinkDisplayModeIterator_v7_6 : IUnknown
+{
+ HRESULT Next([out] IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode);
+};
+
+
+/* Interface IDeckLinkDisplayMode - represents a display mode */
+
+[
+ object,
+ uuid(87451E84-2B7E-439E-A629-4393EA4A8550),
+ helpstring("represents a display mode")
+] interface IDeckLinkDisplayMode_v7_6 : IUnknown
+{
+ HRESULT GetName([out] BSTR *name);
+ BMDDisplayMode GetDisplayMode(void);
+ long GetWidth(void);
+ long GetHeight(void);
+ HRESULT GetFrameRate([out] BMDTimeValue *frameDuration, [out] BMDTimeScale *timeScale);
+ BMDFieldDominance GetFieldDominance(void);
+};
+
+
+/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */
+
+[
+ object,
+ uuid(29228142-EB8C-4141-A621-F74026450955),
+ local,
+ helpstring("Created by QueryInterface from IDeckLink.")
+] interface IDeckLinkOutput_v7_6 : IUnknown
+{
+ HRESULT DoesSupportVideoMode(BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, [out] BMDDisplayModeSupport *result);
+ HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator_v7_6 **iterator);
+
+ HRESULT SetScreenPreviewCallback([in] IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
+
+ /* Video Output */
+
+ HRESULT EnableVideoOutput(BMDDisplayMode displayMode, BMDVideoOutputFlags flags);
+ HRESULT DisableVideoOutput(void);
+
+ HRESULT SetVideoOutputFrameMemoryAllocator([in] IDeckLinkMemoryAllocator *theAllocator);
+ HRESULT CreateVideoFrame(long width, long height, long rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, [out] IDeckLinkMutableVideoFrame_v7_6 **outFrame);
+ HRESULT CreateAncillaryData(BMDPixelFormat pixelFormat, [out] IDeckLinkVideoFrameAncillary **outBuffer);
+
+ HRESULT DisplayVideoFrameSync([in] IDeckLinkVideoFrame_v7_6 *theFrame);
+ HRESULT ScheduleVideoFrame([in] IDeckLinkVideoFrame_v7_6 *theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale);
+ HRESULT SetScheduledFrameCompletionCallback([in] IDeckLinkVideoOutputCallback_v7_6 *theCallback);
+ HRESULT GetBufferedVideoFrameCount([out] unsigned long *bufferedFrameCount);
+
+ /* Audio Output */
+
+ HRESULT EnableAudioOutput(BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, unsigned long channelCount, BMDAudioOutputStreamType streamType);
+ HRESULT DisableAudioOutput(void);
+
+ HRESULT WriteAudioSamplesSync([in] void *buffer, unsigned long sampleFrameCount, [out] unsigned long *sampleFramesWritten);
+
+ HRESULT BeginAudioPreroll(void);
+ HRESULT EndAudioPreroll(void);
+ HRESULT ScheduleAudioSamples([in] void *buffer, unsigned long sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, [out] unsigned long *sampleFramesWritten);
+
+ HRESULT GetBufferedAudioSampleFrameCount([out] unsigned long *bufferedSampleFrameCount);
+ HRESULT FlushBufferedAudioSamples(void);
+
+ HRESULT SetAudioCallback([in] IDeckLinkAudioOutputCallback *theCallback);
+
+ /* Output Control */
+
+ HRESULT StartScheduledPlayback(BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed);
+ HRESULT StopScheduledPlayback(BMDTimeValue stopPlaybackAtTime, [out] BMDTimeValue *actualStopTime, BMDTimeScale timeScale);
+ HRESULT IsScheduledPlaybackRunning([out] BOOL *active);
+ HRESULT GetScheduledStreamTime(BMDTimeScale desiredTimeScale, [out] BMDTimeValue *streamTime, [out] double *playbackSpeed);
+
+ /* Hardware Timing */
+
+ HRESULT GetHardwareReferenceClock(BMDTimeScale desiredTimeScale, [out] BMDTimeValue *hardwareTime, [out] BMDTimeValue *timeInFrame, [out] BMDTimeValue *ticksPerFrame);
+};
+
+
+/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */
+
+[
+ object,
+ uuid(300C135A-9F43-48E2-9906-6D7911D93CF1),
+ helpstring("Created by QueryInterface from IDeckLink.")
+] interface IDeckLinkInput_v7_6 : IUnknown
+{
+ HRESULT DoesSupportVideoMode(BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, [out] BMDDisplayModeSupport *result);
+ HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator_v7_6 **iterator);
+
+ HRESULT SetScreenPreviewCallback([in] IDeckLinkScreenPreviewCallback_v7_6 *previewCallback);
+
+ /* Video Input */
+
+ HRESULT EnableVideoInput(BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags);
+ HRESULT DisableVideoInput(void);
+ HRESULT GetAvailableVideoFrameCount([out] unsigned long *availableFrameCount);
+
+ /* Audio Input */
+
+ HRESULT EnableAudioInput(BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, unsigned long channelCount);
+ HRESULT DisableAudioInput(void);
+ HRESULT GetAvailableAudioSampleFrameCount([out] unsigned long *availableSampleFrameCount);
+
+ /* Input Control */
+
+ HRESULT StartStreams(void);
+ HRESULT StopStreams(void);
+ HRESULT PauseStreams(void);
+ HRESULT FlushStreams(void);
+ HRESULT SetCallback([in] IDeckLinkInputCallback_v7_6 *theCallback);
+
+ /* Hardware Timing */
+
+ HRESULT GetHardwareReferenceClock(BMDTimeScale desiredTimeScale, [out] BMDTimeValue *hardwareTime, [out] BMDTimeValue *timeInFrame, [out] BMDTimeValue *ticksPerFrame);
+};
+
+
+/* Interface IDeckLinkTimecode_v7_6 - Used for video frame timecode representation. */
+
+[
+ object,
+ uuid(EFB9BCA6-A521-44F7-BD69-2332F24D9EE6),
+ helpstring("Used for video frame timecode representation.")
+] interface IDeckLinkTimecode_v7_6 : IUnknown
+{
+ BMDTimecodeBCD GetBCD(void);
+ HRESULT GetComponents([out] unsigned char *hours, [out] unsigned char *minutes, [out] unsigned char *seconds, [out] unsigned char *frames);
+ HRESULT GetString([out] BSTR *timecode);
+ BMDTimecodeFlags GetFlags(void);
+};
+
+
+/* Interface IDeckLinkVideoFrame - Interface to encapsulate a video frame; can be caller-implemented. */
+
+[
+ object,
+ uuid(A8D8238E-6B18-4196-99E1-5AF717B83D32),
+ local,
+ helpstring("Interface to encapsulate a video frame; can be caller-implemented.")
+] interface IDeckLinkVideoFrame_v7_6 : IUnknown
+{
+ long GetWidth(void);
+ long GetHeight(void);
+ long GetRowBytes(void);
+ BMDPixelFormat GetPixelFormat(void);
+ BMDFrameFlags GetFlags(void);
+ HRESULT GetBytes([out] void **buffer);
+
+ HRESULT GetTimecode(BMDTimecodeFormat format, [out] IDeckLinkTimecode_v7_6 **timecode);
+ HRESULT GetAncillaryData([out] IDeckLinkVideoFrameAncillary **ancillary);
+};
+
+
+/* Interface IDeckLinkMutableVideoFrame - Created by IDeckLinkOutput::CreateVideoFrame. */
+
+[
+ object,
+ uuid(46FCEE00-B4E6-43D0-91C0-023A7FCEB34F),
+ local,
+ helpstring("Created by IDeckLinkOutput::CreateVideoFrame.")
+] interface IDeckLinkMutableVideoFrame_v7_6 : IDeckLinkVideoFrame_v7_6
+{
+ HRESULT SetFlags(BMDFrameFlags newFlags);
+
+ HRESULT SetTimecode(BMDTimecodeFormat format, [in] IDeckLinkTimecode_v7_6 *timecode);
+ HRESULT SetTimecodeFromComponents(BMDTimecodeFormat format, unsigned char hours, unsigned char minutes, unsigned char seconds, unsigned char frames, BMDTimecodeFlags flags);
+ HRESULT SetAncillaryData([in] IDeckLinkVideoFrameAncillary *ancillary);
+};
+
+
+/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */
+
+[
+ object,
+ uuid(9A74FA41-AE9F-47AC-8CF4-01F42DD59965),
+ local,
+ helpstring("Provided by the IDeckLinkVideoInput frame arrival callback.")
+] interface IDeckLinkVideoInputFrame_v7_6 : IDeckLinkVideoFrame_v7_6
+{
+ HRESULT GetStreamTime([out] BMDTimeValue *frameTime, [out] BMDTimeValue *frameDuration, BMDTimeScale timeScale);
+ HRESULT GetHardwareReferenceTimestamp(BMDTimeScale timeScale, [out] BMDTimeValue *frameTime, [out] BMDTimeValue *frameDuration);
+};
+
+
+/* Interface IDeckLinkScreenPreviewCallback - Screen preview callback */
+
+[
+ object,
+ uuid(373F499D-4B4D-4518-AD22-6354E5A5825E),
+ local,
+ helpstring("Screen preview callback")
+] interface IDeckLinkScreenPreviewCallback_v7_6 : IUnknown
+{
+ HRESULT DrawFrame([in] IDeckLinkVideoFrame_v7_6 *theFrame);
+};
+
+
+/* Interface IDeckLinkGLScreenPreviewHelper - Created with CoCreateInstance(). */
+
+[
+ object,
+ uuid(BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA),
+ local,
+ helpstring("Created with CoCreateInstance().")
+] interface IDeckLinkGLScreenPreviewHelper_v7_6 : IUnknown
+{
+
+ /* Methods must be called with OpenGL context set */
+
+ HRESULT InitializeGL(void);
+ HRESULT PaintGL(void);
+ HRESULT SetFrame([in] IDeckLinkVideoFrame_v7_6 *theFrame);
+};
+
+
+/* Interface IDeckLinkVideoConversion - Created with CoCreateInstance(). */
+
+[
+ object,
+ uuid(3EB504C9-F97D-40FE-A158-D407D48CB53B),
+ local,
+ helpstring("Created with CoCreateInstance().")
+] interface IDeckLinkVideoConversion_v7_6 : IUnknown
+{
+ HRESULT ConvertFrame([in] IDeckLinkVideoFrame_v7_6* srcFrame, [in] IDeckLinkVideoFrame_v7_6* dstFrame);
+};
+
+/* Interface IDeckLinkConfiguration_v7_6 - Created by QueryInterface from IDeckLink. */
+
+[
+ object,
+ uuid(B8EAD569-B764-47F0-A73F-AE40DF6CBF10),
+ helpstring("Created by QueryInterface from IDeckLink.")
+] interface IDeckLinkConfiguration_v7_6 : IUnknown
+{
+ HRESULT GetConfigurationValidator([out] IDeckLinkConfiguration_v7_6 **configObject);
+ HRESULT WriteConfigurationToPreferences(void);
+
+ /* Video Output Configuration */
+
+ HRESULT SetVideoOutputFormat([in] BMDVideoConnection_v7_6 videoOutputConnection);
+ HRESULT IsVideoOutputActive([in] BMDVideoConnection_v7_6 videoOutputConnection, [out] BOOL *active);
+
+ HRESULT SetAnalogVideoOutputFlags([in] BMDAnalogVideoFlags analogVideoFlags);
+ HRESULT GetAnalogVideoOutputFlags([out] BMDAnalogVideoFlags *analogVideoFlags);
+
+ HRESULT EnableFieldFlickerRemovalWhenPaused([in] BOOL enable);
+ HRESULT IsEnabledFieldFlickerRemovalWhenPaused([out] BOOL *enabled);
+
+ HRESULT Set444And3GBpsVideoOutput([in] BOOL enable444VideoOutput, [in] BOOL enable3GbsOutput);
+ HRESULT Get444And3GBpsVideoOutput([out] BOOL *is444VideoOutputEnabled, [out] BOOL *threeGbsOutputEnabled);
+
+ HRESULT SetVideoOutputConversionMode([in] BMDVideoOutputConversionMode conversionMode);
+ HRESULT GetVideoOutputConversionMode([out] BMDVideoOutputConversionMode *conversionMode);
+
+ HRESULT Set_HD1080p24_to_HD1080i5994_Conversion([in] BOOL enable);
+ HRESULT Get_HD1080p24_to_HD1080i5994_Conversion([out] BOOL *enabled);
+
+ /* Video Input Configuration */
+
+ HRESULT SetVideoInputFormat([in] BMDVideoConnection_v7_6 videoInputFormat);
+ HRESULT GetVideoInputFormat([out] BMDVideoConnection_v7_6 *videoInputFormat);
+
+ HRESULT SetAnalogVideoInputFlags([in] BMDAnalogVideoFlags analogVideoFlags);
+ HRESULT GetAnalogVideoInputFlags([out] BMDAnalogVideoFlags *analogVideoFlags);
+
+ HRESULT SetVideoInputConversionMode([in] BMDVideoInputConversionMode conversionMode);
+ HRESULT GetVideoInputConversionMode([out] BMDVideoInputConversionMode *conversionMode);
+
+ HRESULT SetBlackVideoOutputDuringCapture([in] BOOL blackOutInCapture);
+ HRESULT GetBlackVideoOutputDuringCapture([out] BOOL *blackOutInCapture);
+
+ HRESULT Set32PulldownSequenceInitialTimecodeFrame([in] unsigned long aFrameTimecode);
+ HRESULT Get32PulldownSequenceInitialTimecodeFrame([out] unsigned long *aFrameTimecode);
+
+ HRESULT SetVancSourceLineMapping([in] unsigned long activeLine1VANCsource, [in] unsigned long activeLine2VANCsource, [in] unsigned long activeLine3VANCsource);
+ HRESULT GetVancSourceLineMapping([out] unsigned long *activeLine1VANCsource, [out] unsigned long *activeLine2VANCsource, [out] unsigned long *activeLine3VANCsource);
+
+ /* Audio Input Configuration */
+
+ HRESULT SetAudioInputFormat([in] BMDAudioConnection audioInputFormat);
+ HRESULT GetAudioInputFormat([out] BMDAudioConnection *audioInputFormat);
+};
+
+
+
+/* Coclasses */
+
+importlib("stdole2.tlb");
+
+[
+ uuid(D398CEE7-4434-4CA3-9BA6-5AE34556B905),
+ helpstring("CDeckLinkGLScreenPreviewHelper Class (DeckLink API v7.6)")
+] coclass CDeckLinkGLScreenPreviewHelper_v7_6
+{
+ [default] interface IDeckLinkGLScreenPreviewHelper_v7_6;
+};
+
+[
+ uuid(FFA84F77-73BE-4FB7-B03E-B5E44B9F759B),
+ helpstring("CDeckLinkVideoConversion Class (DeckLink API v7.6)")
+] coclass CDeckLinkVideoConversion_v7_6
+{
+ [default] interface IDeckLinkVideoConversion_v7_6;
+};
+
Modified: vic/branches/mpeg4/video/grabber-decklink.cpp
==============================================================================
--- vic/branches/mpeg4/video/grabber-decklink.cpp (original)
+++ vic/branches/mpeg4/video/grabber-decklink.cpp Tue Sep 7 05:22:51 2010
@@ -285,7 +285,7 @@
volatile int32_t mWriteIndex;
static const int32_t mBufferSize = 4;
volatile uint8_t *mBuffer[mBufferSize];
- volatile int32_t mLastReadFrameNum;
+ volatile uint32_t mLastReadFrameNum;
volatile int32_t mLastWriteFrameNum;
volatile uint32_t mBufferFrameNum[mBufferSize];
#ifdef HAVE_SWSCALE
@@ -445,24 +445,24 @@
DeckLinkDevice::DeckLinkDevice(const char* name, IDeckLink* deckLink) : InputDevice(name), grabber_(0), deckLink_(deckLink)
{
char *attr = new char[512];
- IDeckLinkConfiguration *deckLinkConfiguration = NULL;
- IDeckLinkConfiguration *deckLinkValidator = NULL;
+ IDeckLinkAttributes *deckLinkAttributes = NULL;
IDeckLinkInput *deckLinkInput = NULL;
IDeckLinkDisplayModeIterator *displayModeIterator = NULL;
IDeckLinkDisplayMode *displayMode = NULL;
+ int64_t ports;
HRESULT result;
- result = deckLink->QueryInterface(IID_IDeckLinkConfiguration, (void**)&deckLinkConfiguration);
+ result = deckLink->QueryInterface(IID_IDeckLinkAttributes, (void**)&deckLinkAttributes);
if (result != S_OK) {
- debug_msg("DecLinkDevice: Could not obtain the IDeckLinkConfiguration interface - %08x\n", result);
+ debug_msg("DeckLinkDevice: Could not obtain the IID_IDeckLinkAttributes interface - %08x\n", result);
strcpy(attr,"disabled");
return;
}
- result = deckLinkConfiguration->GetConfigurationValidator(&deckLinkValidator);
+ result = deckLinkAttributes->GetInt(BMDDeckLinkVideoInputConnections, &ports);
if (result != S_OK) {
- debug_msg("DecLinkDevice: Could not obtain the configuration validator interface\n");
+ debug_msg("DeckLinkDevice: Could not obtain the video input connection attributes\n");
strcpy(attr,"disabled");
return;
}
@@ -472,36 +472,36 @@
strcat(attr,"port { ");
- if (deckLinkValidator->SetVideoInputFormat(bmdVideoConnectionSDI) == S_OK) {
+ if (ports & bmdVideoConnectionSDI) {
strcat(attr,"SDI ");
}
- if (deckLinkValidator->SetVideoInputFormat(bmdVideoConnectionHDMI) == S_OK) {
+ if (ports & bmdVideoConnectionHDMI) {
strcat(attr,"HDMI ");
}
- if (deckLinkValidator->SetVideoInputFormat(bmdVideoConnectionComponent) == S_OK) {
+ if (ports & bmdVideoConnectionComponent) {
strcat(attr,"Component ");
}
- if (deckLinkValidator->SetVideoInputFormat(bmdVideoConnectionComposite) == S_OK) {
+ if (ports & bmdVideoConnectionComposite) {
strcat(attr,"Composite ");
}
- if (deckLinkValidator->SetVideoInputFormat(bmdVideoConnectionSVideo) == S_OK) {
+ if (ports & bmdVideoConnectionSVideo) {
strcat(attr,"S-Video ");
}
- if (deckLinkValidator->SetVideoInputFormat(bmdVideoConnectionOpticalSDI) == S_OK) {
+ if (ports & bmdVideoConnectionOpticalSDI) {
strcat(attr,"Optical-SDI ");
}
strcat(attr,"} ");
result = deckLink->QueryInterface(IID_IDeckLinkInput, (void**)&deckLinkInput);
if (result != S_OK) {
- debug_msg("DecLinkDevice: Could not obtain the IDeckLinkInput interface\n");
+ debug_msg("DeckLinkDevice: Could not obtain the IDeckLinkInput interface\n");
strcpy(attr, "disabled");
return;
}
result = deckLinkInput->GetDisplayModeIterator(&displayModeIterator);
if (result != S_OK) {
- debug_msg("DecLinkDevice: Could not obtain the video input display mode iterator\n");
+ debug_msg("DeckLinkDevice: Could not obtain the video input display mode iterator\n");
strcpy(attr, "disabled");
return;
}
@@ -559,13 +559,10 @@
deckLinkInput->Release();
}
- if (deckLinkValidator != NULL) {
- deckLinkValidator->Release();
+ if (deckLinkAttributes != NULL) {
+ deckLinkAttributes->Release();
}
- if (deckLinkConfiguration != NULL) {
- deckLinkConfiguration->Release();
- }
}
int DeckLinkDevice::command(int argc, const char*const* argv)
@@ -601,7 +598,7 @@
result = deckLink->QueryInterface(IID_IDeckLinkInput, (void**)&deckLinkInput_);
if (result != S_OK) {
- debug_msg("DecLinkDevice: Could not obtain the IDeckLinkInput interface\n");
+ debug_msg("DeckLinkDevice: Could not obtain the IDeckLinkInput interface\n");
}
running_ = 0;
delegate_ = NULL;
@@ -626,7 +623,7 @@
result = deckLink_->QueryInterface(IID_IDeckLinkConfiguration, (void**)&deckLinkConfiguration);
if (result != S_OK) {
- debug_msg("DecLinkGrabber: Could not obtain the IDeckLinkConfiguration interface\n");
+ debug_msg("DeckLinkGrabber: Could not obtain the IDeckLinkConfiguration interface\n");
return TCL_ERROR;
}
@@ -649,10 +646,10 @@
bmdVideoConnection = bmdVideoConnectionOpticalSDI;
}
- result = deckLinkConfiguration->SetVideoInputFormat(bmdVideoConnection);
+ result = deckLinkConfiguration->SetInt(bmdDeckLinkConfigVideoInputConnection, bmdVideoConnection);
if (result != S_OK) {
- debug_msg("DecLinkGrabber: Could not set input video connection\n");
+ debug_msg("DeckLinkGrabber: Could not set video input connection\n");
return TCL_ERROR;
}
@@ -667,7 +664,7 @@
return (TCL_OK);
} else if (strcmp(argv[1], "fps") == 0) {
- debug_msg("DecLinkGrabber: fps %s\n",argv[2]);
+ debug_msg("DeckLinkGrabber: fps %s\n",argv[2]);
} else if (strcmp(argv[1], "type") == 0 || strcmp(argv[1], "format") == 0) {
@@ -676,7 +673,7 @@
result = deckLinkInput_->GetDisplayModeIterator(&displayModeIterator);
if (result != S_OK) {
- debug_msg("DecLinkDevice: Could not obtain the video input display mode iterator\n");
+ debug_msg("DeckLinkDevice: Could not obtain the video input display mode iterator\n");
return TCL_ERROR;
}
@@ -808,7 +805,7 @@
result = deckLinkInput_->EnableVideoInput(displayMode_, bmdFormat8BitYUV, 0);
if (result != S_OK) {
- debug_msg("DecLinkGrabber: Could not enable video input\n");
+ debug_msg("DeckLinkGrabber: Could not enable video input\n");
return;
}
More information about the Sumover-dev
mailing list