15 #ifndef OPENSHOT_DECKLINK_OUTPUT_H 16 #define OPENSHOT_DECKLINK_OUTPUT_H 26 #include "DeckLinkAPI.h" 77 virtual HRESULT STDMETHODCALLTYPE
QueryInterface (REFIID iid, LPVOID *ppv) {
return E_NOINTERFACE;}
78 virtual ULONG STDMETHODCALLTYPE
AddRef () {
return 1;}
79 virtual ULONG STDMETHODCALLTYPE
Release () {
return 1;}
81 virtual HRESULT STDMETHODCALLTYPE
ScheduledFrameCompleted (IDeckLinkVideoFrame* completedFrame, BMDOutputFrameCompletionResult result);
90 void WriteFrame(std::shared_ptr<openshot::Frame> frame);
94 pthread_mutex_t m_mutex;
std::deque< uint8_t *> final_frames
virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(IDeckLinkVideoFrame *completedFrame, BMDOutputFrameCompletionResult result)
unsigned long m_audioBufferOffset
Implementation of the Blackmagic Decklink API (used by the DecklinkWriter)
std::deque< std::shared_ptr< openshot::Frame > > raw_video_frames
DeckLinkOutputDelegate(IDeckLinkDisplayMode *displayMode, IDeckLinkOutput *deckLinkOutput)
Header file for OpenMPUtilities (set some common macros)
IDeckLinkDisplayMode * displayMode
BMDTimeValue frameRateScale
Header file for CacheMemory class.
Header file for Frame class.
unsigned long m_audioSampleDepth
IDeckLinkMutableVideoFrame * m_currentFrame
virtual ULONG STDMETHODCALLTYPE AddRef()
std::map< int, uint8_t *> temp_cache
void WriteFrame(std::shared_ptr< openshot::Frame > frame)
Custom method to write new frames.
unsigned long m_totalFramesScheduled
virtual ULONG STDMETHODCALLTYPE Release()
OutputSignal m_outputSignal
unsigned long m_audioChannelCount
IDeckLinkOutput * deckLinkOutput
unsigned long audioSamplesPerFrame
BMDAudioSampleRate m_audioSampleRate
BMDTimeValue frameRateDuration
~DeckLinkOutputDelegate()
virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples(bool preroll)
virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped()
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
unsigned long m_audioBufferSampleLength
void ScheduleNextFrame(bool prerolling)
Schedule the next frame.
unsigned long m_framesPerSecond