OpenShot Library | libopenshot  0.2.7
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
 
std::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
 
std::deque< std::shared_ptr< openshot::Frame > > raw_video_frames
 
std::map< int, uint8_t *> temp_cache
 
int width
 

Detailed Description

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

Definition at line 37 of file DecklinkOutput.h.

Constructor & Destructor Documentation

◆ DeckLinkOutputDelegate()

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

Definition at line 19 of file DecklinkOutput.cpp.

◆ ~DeckLinkOutputDelegate()

DeckLinkOutputDelegate::~DeckLinkOutputDelegate ( )

Definition at line 48 of file DecklinkOutput.cpp.

Member Function Documentation

◆ AddRef()

virtual ULONG STDMETHODCALLTYPE DeckLinkOutputDelegate::AddRef ( void  )
inlinevirtual

Definition at line 78 of file DecklinkOutput.h.

◆ QueryInterface()

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

Definition at line 77 of file DecklinkOutput.h.

◆ Release()

virtual ULONG STDMETHODCALLTYPE DeckLinkOutputDelegate::Release ( void  )
inlinevirtual

Definition at line 79 of file DecklinkOutput.h.

◆ RenderAudioSamples()

HRESULT DeckLinkOutputDelegate::RenderAudioSamples ( bool  preroll)
virtual

Definition at line 71 of file DecklinkOutput.cpp.

Referenced by Release().

◆ ScheduledFrameCompleted()

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

Definition at line 55 of file DecklinkOutput.cpp.

Referenced by Release().

◆ ScheduledPlaybackHasStopped()

HRESULT DeckLinkOutputDelegate::ScheduledPlaybackHasStopped ( )
virtual

Definition at line 65 of file DecklinkOutput.cpp.

Referenced by Release().

◆ ScheduleNextFrame()

void DeckLinkOutputDelegate::ScheduleNextFrame ( bool  prerolling)

Schedule the next frame.

Definition at line 106 of file DecklinkOutput.cpp.

Referenced by Release(), ScheduledFrameCompleted(), and WriteFrame().

◆ WriteFrame()

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

Custom method to write new frames.

Definition at line 160 of file DecklinkOutput.cpp.

Referenced by Release(), and openshot::DecklinkWriter::WriteFrame().

Member Data Documentation

◆ audioSamplesPerFrame

unsigned long DeckLinkOutputDelegate::audioSamplesPerFrame
protected

Definition at line 48 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ deckLinkOutput

IDeckLinkOutput* DeckLinkOutputDelegate::deckLinkOutput
protected

Definition at line 65 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate(), ScheduleNextFrame(), and WriteFrame().

◆ displayMode

IDeckLinkDisplayMode* DeckLinkOutputDelegate::displayMode
protected

Definition at line 66 of file DecklinkOutput.h.

◆ final_frames

std::deque<uint8_t * > DeckLinkOutputDelegate::final_frames
protected

Definition at line 61 of file DecklinkOutput.h.

Referenced by ScheduleNextFrame(), and WriteFrame().

◆ frameCount

unsigned long DeckLinkOutputDelegate::frameCount
protected

Definition at line 53 of file DecklinkOutput.h.

Referenced by WriteFrame().

◆ frameRateDuration

BMDTimeValue DeckLinkOutputDelegate::frameRateDuration
protected

Definition at line 57 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate(), and ScheduleNextFrame().

◆ frameRateScale

BMDTimeValue DeckLinkOutputDelegate::frameRateScale
protected

Definition at line 57 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate(), and ScheduleNextFrame().

◆ height

int DeckLinkOutputDelegate::height
protected

Definition at line 50 of file DecklinkOutput.h.

Referenced by ScheduleNextFrame(), and WriteFrame().

◆ m_audioBuffer

void* DeckLinkOutputDelegate::m_audioBuffer
protected

Definition at line 42 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_audioBufferOffset

unsigned long DeckLinkOutputDelegate::m_audioBufferOffset
protected

Definition at line 44 of file DecklinkOutput.h.

◆ m_audioBufferSampleLength

unsigned long DeckLinkOutputDelegate::m_audioBufferSampleLength
protected

Definition at line 43 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_audioChannelCount

unsigned long DeckLinkOutputDelegate::m_audioChannelCount
protected

Definition at line 45 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_audioSampleDepth

unsigned long DeckLinkOutputDelegate::m_audioSampleDepth
protected

Definition at line 47 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_audioSampleRate

BMDAudioSampleRate DeckLinkOutputDelegate::m_audioSampleRate
protected

Definition at line 46 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_currentFrame

IDeckLinkMutableVideoFrame* DeckLinkOutputDelegate::m_currentFrame
protected

Definition at line 69 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate(), and ScheduleNextFrame().

◆ m_framesPerSecond

unsigned long DeckLinkOutputDelegate::m_framesPerSecond
protected

Definition at line 49 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate(), and WriteFrame().

◆ m_outputSignal

OutputSignal DeckLinkOutputDelegate::m_outputSignal
protected

Definition at line 41 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_totalFramesScheduled

unsigned long DeckLinkOutputDelegate::m_totalFramesScheduled
protected

Definition at line 40 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate(), ScheduleNextFrame(), and WriteFrame().

◆ raw_video_frames

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

Definition at line 62 of file DecklinkOutput.h.

Referenced by WriteFrame().

◆ temp_cache

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

Definition at line 55 of file DecklinkOutput.h.

Referenced by WriteFrame().

◆ width

int DeckLinkOutputDelegate::width
protected

Definition at line 51 of file DecklinkOutput.h.

Referenced by ScheduleNextFrame(), and WriteFrame().


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