OpenShot Library | libopenshot  0.2.0
Public Member Functions | Protected Attributes | List of all members
DeckLinkOutputDelegate Class Reference

Implementation of the Blackmagic Decklink API (used by the DecklinkWriter) More...

#include <DecklinkOutput.h>

Inheritance diagram for DeckLinkOutputDelegate:

Public Member Functions

virtual ULONG STDMETHODCALLTYPE AddRef ()
 
 DeckLinkOutputDelegate (IDeckLinkDisplayMode *displayMode, IDeckLinkOutput *deckLinkOutput)
 
virtual HRESULT STDMETHODCALLTYPE QueryInterface (REFIID iid, LPVOID *ppv)
 
virtual ULONG STDMETHODCALLTYPE Release ()
 
virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples (bool preroll)
 
virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted (IDeckLinkVideoFrame *completedFrame, BMDOutputFrameCompletionResult result)
 
virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped ()
 
void ScheduleNextFrame (bool prerolling)
 Schedule the next frame. More...
 
void WriteFrame (std::shared_ptr< openshot::Frame > frame)
 Custom method to write new frames. More...
 
 ~DeckLinkOutputDelegate ()
 

Protected Attributes

unsigned long audioSamplesPerFrame
 
IDeckLinkOutput * deckLinkOutput
 
IDeckLinkDisplayMode * displayMode
 
deque< uint8_t * > final_frames
 
unsigned long frameCount
 
BMDTimeValue frameRateDuration
 
BMDTimeValue frameRateScale
 
int height
 
void * m_audioBuffer
 
unsigned long m_audioBufferOffset
 
unsigned long m_audioBufferSampleLength
 
unsigned long m_audioChannelCount
 
unsigned long m_audioSampleDepth
 
BMDAudioSampleRate m_audioSampleRate
 
IDeckLinkMutableVideoFrame * m_currentFrame
 
unsigned long m_framesPerSecond
 
OutputSignal m_outputSignal
 
unsigned long m_totalFramesScheduled
 
deque< std::shared_ptr
< openshot::Frame > > 
raw_video_frames
 
map< int, uint8_t * > temp_cache
 
int width
 

Detailed Description

Implementation of the Blackmagic Decklink API (used by the DecklinkWriter)

Definition at line 75 of file DecklinkOutput.h.

Constructor & Destructor Documentation

DeckLinkOutputDelegate::DeckLinkOutputDelegate ( IDeckLinkDisplayMode *  displayMode,
IDeckLinkOutput *  deckLinkOutput 
)

Definition at line 57 of file DecklinkOutput.cpp.

DeckLinkOutputDelegate::~DeckLinkOutputDelegate ( )

Definition at line 86 of file DecklinkOutput.cpp.

Member Function Documentation

virtual ULONG STDMETHODCALLTYPE DeckLinkOutputDelegate::AddRef ( void  )
inlinevirtual

Definition at line 116 of file DecklinkOutput.h.

virtual HRESULT STDMETHODCALLTYPE DeckLinkOutputDelegate::QueryInterface ( REFIID  iid,
LPVOID *  ppv 
)
inlinevirtual

Definition at line 115 of file DecklinkOutput.h.

virtual ULONG STDMETHODCALLTYPE DeckLinkOutputDelegate::Release ( void  )
inlinevirtual

Definition at line 117 of file DecklinkOutput.h.

HRESULT DeckLinkOutputDelegate::RenderAudioSamples ( bool  preroll)
virtual

Definition at line 109 of file DecklinkOutput.cpp.

HRESULT DeckLinkOutputDelegate::ScheduledFrameCompleted ( IDeckLinkVideoFrame *  completedFrame,
BMDOutputFrameCompletionResult  result 
)
virtual

Definition at line 93 of file DecklinkOutput.cpp.

HRESULT DeckLinkOutputDelegate::ScheduledPlaybackHasStopped ( )
virtual

Definition at line 103 of file DecklinkOutput.cpp.

void DeckLinkOutputDelegate::ScheduleNextFrame ( bool  prerolling)

Schedule the next frame.

Definition at line 144 of file DecklinkOutput.cpp.

void DeckLinkOutputDelegate::WriteFrame ( std::shared_ptr< openshot::Frame frame)

Custom method to write new frames.

Definition at line 198 of file DecklinkOutput.cpp.

Member Data Documentation

unsigned long DeckLinkOutputDelegate::audioSamplesPerFrame
protected

Definition at line 86 of file DecklinkOutput.h.

IDeckLinkOutput* DeckLinkOutputDelegate::deckLinkOutput
protected

Definition at line 103 of file DecklinkOutput.h.

IDeckLinkDisplayMode* DeckLinkOutputDelegate::displayMode
protected

Definition at line 104 of file DecklinkOutput.h.

deque<uint8_t * > DeckLinkOutputDelegate::final_frames
protected

Definition at line 99 of file DecklinkOutput.h.

unsigned long DeckLinkOutputDelegate::frameCount
protected

Definition at line 91 of file DecklinkOutput.h.

BMDTimeValue DeckLinkOutputDelegate::frameRateDuration
protected

Definition at line 95 of file DecklinkOutput.h.

BMDTimeValue DeckLinkOutputDelegate::frameRateScale
protected

Definition at line 95 of file DecklinkOutput.h.

int DeckLinkOutputDelegate::height
protected

Definition at line 88 of file DecklinkOutput.h.

void* DeckLinkOutputDelegate::m_audioBuffer
protected

Definition at line 80 of file DecklinkOutput.h.

unsigned long DeckLinkOutputDelegate::m_audioBufferOffset
protected

Definition at line 82 of file DecklinkOutput.h.

unsigned long DeckLinkOutputDelegate::m_audioBufferSampleLength
protected

Definition at line 81 of file DecklinkOutput.h.

unsigned long DeckLinkOutputDelegate::m_audioChannelCount
protected

Definition at line 83 of file DecklinkOutput.h.

unsigned long DeckLinkOutputDelegate::m_audioSampleDepth
protected

Definition at line 85 of file DecklinkOutput.h.

BMDAudioSampleRate DeckLinkOutputDelegate::m_audioSampleRate
protected

Definition at line 84 of file DecklinkOutput.h.

IDeckLinkMutableVideoFrame* DeckLinkOutputDelegate::m_currentFrame
protected

Definition at line 107 of file DecklinkOutput.h.

unsigned long DeckLinkOutputDelegate::m_framesPerSecond
protected

Definition at line 87 of file DecklinkOutput.h.

OutputSignal DeckLinkOutputDelegate::m_outputSignal
protected

Definition at line 79 of file DecklinkOutput.h.

unsigned long DeckLinkOutputDelegate::m_totalFramesScheduled
protected

Definition at line 78 of file DecklinkOutput.h.

deque<std::shared_ptr<openshot::Frame> > DeckLinkOutputDelegate::raw_video_frames
protected

Definition at line 100 of file DecklinkOutput.h.

map<int, uint8_t * > DeckLinkOutputDelegate::temp_cache
protected

Definition at line 93 of file DecklinkOutput.h.

int DeckLinkOutputDelegate::width
protected

Definition at line 89 of file DecklinkOutput.h.


The documentation for this class was generated from the following files: