virtualHRESULTDoesSupportVideoMode(/* in */BMDDisplayModedisplayMode,/* in */BMDPixelFormatpixelFormat,/* in */BMDVideoOutputFlagsflags,/* out */BMDDisplayModeSupport*result,/* out */IDeckLinkDisplayMode**resultDisplayMode)=0;
virtualHRESULTGetDisplayModeIterator(/* out */IDeckLinkDisplayModeIterator**iterator)=0;
virtualHRESULTSetScreenPreviewCallback(/* in */IDeckLinkScreenPreviewCallback*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**outFrame)=0;
virtualHRESULTCreateAncillaryData(/* in */BMDPixelFormatpixelFormat,/* out */IDeckLinkVideoFrameAncillary**outBuffer)=0;
virtualHRESULTDisplayVideoFrameSync(/* in */IDeckLinkVideoFrame*theFrame)=0;
virtualHRESULTScheduleVideoFrame(/* in */IDeckLinkVideoFrame*theFrame,/* in */BMDTimeValuedisplayTime,/* in */BMDTimeValuedisplayDuration,/* in */BMDTimeScaletimeScale)=0;
virtualHRESULTSetScheduledFrameCompletionCallback(/* in */IDeckLinkVideoOutputCallback*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;
virtualHRESULTGetReferenceStatus(/* out */BMDReferenceStatus*referenceStatus)=0;
/* Hardware Timing */
virtualHRESULTGetHardwareReferenceClock(/* in */BMDTimeScaledesiredTimeScale,/* out */BMDTimeValue*hardwareTime,/* out */BMDTimeValue*timeInFrame,/* out */BMDTimeValue*ticksPerFrame)=0;
protected:
virtual~IDeckLinkOutput_v9_9(){};// call Release method to drop reference count