/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */
classIDeckLinkInput_v9_2:publicIUnknown
{
public:
virtualHRESULTDoesSupportVideoMode(/* in */BMDDisplayModedisplayMode,/* in */BMDPixelFormatpixelFormat,/* in */BMDVideoInputFlagsflags,/* out */BMDDisplayModeSupport*result,/* out */IDeckLinkDisplayMode**resultDisplayMode)=0;
virtualHRESULTGetDisplayModeIterator(/* out */IDeckLinkDisplayModeIterator**iterator)=0;
virtualHRESULTSetScreenPreviewCallback(/* in */IDeckLinkScreenPreviewCallback*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*theCallback)=0;
/* Hardware Timing */
virtualHRESULTGetHardwareReferenceClock(/* in */BMDTimeScaledesiredTimeScale,/* out */BMDTimeValue*hardwareTime,/* out */BMDTimeValue*timeInFrame,/* out */BMDTimeValue*ticksPerFrame)=0;
protected:
virtual~IDeckLinkInput_v9_2(){};// call Release method to drop reference count