virtualHRESULTVideoInputFormatChanged(/* in */BMDVideoInputFormatChangedEventsnotificationEvents,/* in */IDeckLinkDisplayMode_v7_6*newDisplayMode,/* in */BMDDetectedVideoInputFormatFlagsdetectedSignalFlags)=0;
virtualHRESULTVideoInputFrameArrived(/* in */IDeckLinkVideoInputFrame_v7_6*videoFrame,/* in */IDeckLinkAudioInputPacket*audioPacket)=0;
protected:
virtual~IDeckLinkInputCallback_v7_6(){};// call Release method to drop reference count
virtual~IDeckLinkDisplayMode_v7_6(){};// call Release method to drop reference count
};
/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */
classIDeckLinkOutput_v7_6:publicIUnknown
{
public:
virtualHRESULTDoesSupportVideoMode(/* in */BMDDisplayModedisplayMode,/* in */BMDPixelFormatpixelFormat,/* out */BMDDisplayModeSupport*result)=0;
virtualHRESULTGetDisplayModeIterator(/* out */IDeckLinkDisplayModeIterator_v7_6**iterator)=0;
virtualHRESULTSetScreenPreviewCallback(/* in */IDeckLinkScreenPreviewCallback_v7_6*previewCallback)=0;
/* Video Output */
virtualHRESULTEnableVideoOutput(/* in */BMDDisplayModedisplayMode,/* in */BMDVideoOutputFlagsflags)=0;
virtualHRESULTDisableVideoOutput(void)=0;
virtualHRESULTSetVideoOutputFrameMemoryAllocator(/* in */IDeckLinkMemoryAllocator*theAllocator)=0;
virtualHRESULTCreateVideoFrame(/* in */int32_twidth,/* in */int32_theight,/* in */int32_trowBytes,/* in */BMDPixelFormatpixelFormat,/* in */BMDFrameFlagsflags,/* out */IDeckLinkMutableVideoFrame_v7_6**outFrame)=0;
virtualHRESULTCreateAncillaryData(/* in */BMDPixelFormatpixelFormat,/* out */IDeckLinkVideoFrameAncillary**outBuffer)=0;
virtualHRESULTDisplayVideoFrameSync(/* in */IDeckLinkVideoFrame_v7_6*theFrame)=0;
virtualHRESULTScheduleVideoFrame(/* in */IDeckLinkVideoFrame_v7_6*theFrame,/* in */BMDTimeValuedisplayTime,/* in */BMDTimeValuedisplayDuration,/* in */BMDTimeScaletimeScale)=0;
virtualHRESULTSetScheduledFrameCompletionCallback(/* in */IDeckLinkVideoOutputCallback_v7_6*theCallback)=0;
virtualHRESULTGetBufferedVideoFrameCount(/* out */uint32_t*bufferedFrameCount)=0;
/* Audio Output */
virtualHRESULTEnableAudioOutput(/* in */BMDAudioSampleRatesampleRate,/* in */BMDAudioSampleTypesampleType,/* in */uint32_tchannelCount,/* in */BMDAudioOutputStreamTypestreamType)=0;
virtualHRESULTDisableAudioOutput(void)=0;
virtualHRESULTWriteAudioSamplesSync(/* in */void*buffer,/* in */uint32_tsampleFrameCount,/* out */uint32_t*sampleFramesWritten)=0;
virtualHRESULTBeginAudioPreroll(void)=0;
virtualHRESULTEndAudioPreroll(void)=0;
virtualHRESULTScheduleAudioSamples(/* in */void*buffer,/* in */uint32_tsampleFrameCount,/* in */BMDTimeValuestreamTime,/* in */BMDTimeScaletimeScale,/* out */uint32_t*sampleFramesWritten)=0;
virtualHRESULTGetBufferedAudioSampleFrameCount(/* out */uint32_t*bufferedSampleFrameCount)=0;
virtualHRESULTFlushBufferedAudioSamples(void)=0;
virtualHRESULTSetAudioCallback(/* in */IDeckLinkAudioOutputCallback*theCallback)=0;
/* Output Control */
virtualHRESULTStartScheduledPlayback(/* in */BMDTimeValueplaybackStartTime,/* in */BMDTimeScaletimeScale,/* in */doubleplaybackSpeed)=0;
virtualHRESULTStopScheduledPlayback(/* in */BMDTimeValuestopPlaybackAtTime,/* out */BMDTimeValue*actualStopTime,/* in */BMDTimeScaletimeScale)=0;
virtualHRESULTIsScheduledPlaybackRunning(/* out */bool*active)=0;
virtualHRESULTGetScheduledStreamTime(/* in */BMDTimeScaledesiredTimeScale,/* out */BMDTimeValue*streamTime,/* out */double*playbackSpeed)=0;
/* Hardware Timing */
virtualHRESULTGetHardwareReferenceClock(/* in */BMDTimeScaledesiredTimeScale,/* out */BMDTimeValue*hardwareTime,/* out */BMDTimeValue*timeInFrame,/* out */BMDTimeValue*ticksPerFrame)=0;
protected:
virtual~IDeckLinkOutput_v7_6(){};// call Release method to drop reference count
};
/* Interface IDeckLinkInput_v7_6 - Created by QueryInterface from IDeckLink. */
classIDeckLinkInput_v7_6:publicIUnknown
{
public:
virtualHRESULTDoesSupportVideoMode(/* in */BMDDisplayModedisplayMode,/* in */BMDPixelFormatpixelFormat,/* out */BMDDisplayModeSupport*result)=0;
virtualHRESULTGetDisplayModeIterator(/* out */IDeckLinkDisplayModeIterator_v7_6**iterator)=0;
virtualHRESULTSetScreenPreviewCallback(/* in */IDeckLinkScreenPreviewCallback_v7_6*previewCallback)=0;
/* Video Input */
virtualHRESULTEnableVideoInput(/* in */BMDDisplayModedisplayMode,/* in */BMDPixelFormatpixelFormat,/* in */BMDVideoInputFlagsflags)=0;
virtualHRESULTDisableVideoInput(void)=0;
virtualHRESULTGetAvailableVideoFrameCount(/* out */uint32_t*availableFrameCount)=0;
/* Audio Input */
virtualHRESULTEnableAudioInput(/* in */BMDAudioSampleRatesampleRate,/* in */BMDAudioSampleTypesampleType,/* in */uint32_tchannelCount)=0;
virtualHRESULTDisableAudioInput(void)=0;
virtualHRESULTGetAvailableAudioSampleFrameCount(/* out */uint32_t*availableSampleFrameCount)=0;
/* Input Control */
virtualHRESULTStartStreams(void)=0;
virtualHRESULTStopStreams(void)=0;
virtualHRESULTPauseStreams(void)=0;
virtualHRESULTFlushStreams(void)=0;
virtualHRESULTSetCallback(/* in */IDeckLinkInputCallback_v7_6*theCallback)=0;
/* Hardware Timing */
virtualHRESULTGetHardwareReferenceClock(/* in */BMDTimeScaledesiredTimeScale,/* out */BMDTimeValue*hardwareTime,/* out */BMDTimeValue*timeInFrame,/* out */BMDTimeValue*ticksPerFrame)=0;
protected:
virtual~IDeckLinkInput_v7_6(){};// call Release method to drop reference count
};
/* Interface IDeckLinkTimecode - Used for video frame timecode representation. */
classIDeckLinkTimecode_v7_6:publicIUnknown
{
public:
virtualBMDTimecodeBCDGetBCD(void)=0;
virtualHRESULTGetComponents(/* out */uint8_t*hours,/* out */uint8_t*minutes,/* out */uint8_t*seconds,/* out */uint8_t*frames)=0;
virtualHRESULTGetString(/* out */CFStringRef*timecode)=0;
virtualBMDTimecodeFlagsGetFlags(void)=0;
protected:
virtual~IDeckLinkTimecode_v7_6(){};// call Release method to drop reference count
};
/* Interface IDeckLinkVideoFrame - Interface to encapsulate a video frame; can be caller-implemented. */
classIDeckLinkVideoFrame_v7_6:publicIUnknown
{
public:
virtuallongGetWidth(void)=0;
virtuallongGetHeight(void)=0;
virtuallongGetRowBytes(void)=0;
virtualBMDPixelFormatGetPixelFormat(void)=0;
virtualBMDFrameFlagsGetFlags(void)=0;
virtualHRESULTGetBytes(/* out */void**buffer)=0;
virtualHRESULTGetTimecode(BMDTimecodeFormatformat,/* out */IDeckLinkTimecode_v7_6**timecode)=0;
virtualHRESULTGetAncillaryData(/* out */IDeckLinkVideoFrameAncillary**ancillary)=0;
protected:
virtual~IDeckLinkVideoFrame_v7_6(){};// call Release method to drop reference count
};
/* Interface IDeckLinkMutableVideoFrame - Created by IDeckLinkOutput::CreateVideoFrame. */
virtualHRESULTSetVancSourceLineMapping(/* in */uint32_tactiveLine1VANCsource,/* in */uint32_tactiveLine2VANCsource,/* in */uint32_tactiveLine3VANCsource)=0;
virtualHRESULTGetVancSourceLineMapping(/* out */uint32_t*activeLine1VANCsource,/* out */uint32_t*activeLine2VANCsource,/* out */uint32_t*activeLine3VANCsource)=0;