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 78 of file DecklinkOutput.h.

Constructor & Destructor Documentation

◆ DeckLinkOutputDelegate()

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

Definition at line 60 of file DecklinkOutput.cpp.

◆ ~DeckLinkOutputDelegate()

DeckLinkOutputDelegate::~DeckLinkOutputDelegate ( )

Definition at line 89 of file DecklinkOutput.cpp.

Member Function Documentation

◆ AddRef()

virtual ULONG STDMETHODCALLTYPE DeckLinkOutputDelegate::AddRef ( void  )
inlinevirtual

Definition at line 119 of file DecklinkOutput.h.

◆ QueryInterface()

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

Definition at line 118 of file DecklinkOutput.h.

◆ Release()

virtual ULONG STDMETHODCALLTYPE DeckLinkOutputDelegate::Release ( void  )
inlinevirtual

Definition at line 120 of file DecklinkOutput.h.

◆ RenderAudioSamples()

HRESULT DeckLinkOutputDelegate::RenderAudioSamples ( bool  preroll)
virtual

Definition at line 112 of file DecklinkOutput.cpp.

◆ ScheduledFrameCompleted()

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

Definition at line 96 of file DecklinkOutput.cpp.

◆ ScheduledPlaybackHasStopped()

HRESULT DeckLinkOutputDelegate::ScheduledPlaybackHasStopped ( )
virtual

Definition at line 106 of file DecklinkOutput.cpp.

◆ ScheduleNextFrame()

void DeckLinkOutputDelegate::ScheduleNextFrame ( bool  prerolling)

Schedule the next frame.

Definition at line 147 of file DecklinkOutput.cpp.

Referenced by ScheduledFrameCompleted(), and WriteFrame().

◆ WriteFrame()

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

Custom method to write new frames.

Definition at line 201 of file DecklinkOutput.cpp.

Referenced by openshot::DecklinkWriter::WriteFrame().

Member Data Documentation

◆ audioSamplesPerFrame

unsigned long DeckLinkOutputDelegate::audioSamplesPerFrame
protected

Definition at line 89 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ deckLinkOutput

IDeckLinkOutput* DeckLinkOutputDelegate::deckLinkOutput
protected

Definition at line 106 of file DecklinkOutput.h.

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

◆ displayMode

IDeckLinkDisplayMode* DeckLinkOutputDelegate::displayMode
protected

Definition at line 107 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ final_frames

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

Definition at line 102 of file DecklinkOutput.h.

Referenced by ScheduleNextFrame(), and WriteFrame().

◆ frameCount

unsigned long DeckLinkOutputDelegate::frameCount
protected

Definition at line 94 of file DecklinkOutput.h.

Referenced by WriteFrame().

◆ frameRateDuration

BMDTimeValue DeckLinkOutputDelegate::frameRateDuration
protected

Definition at line 98 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate(), and ScheduleNextFrame().

◆ frameRateScale

BMDTimeValue DeckLinkOutputDelegate::frameRateScale
protected

Definition at line 98 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate(), and ScheduleNextFrame().

◆ height

int DeckLinkOutputDelegate::height
protected

Definition at line 91 of file DecklinkOutput.h.

Referenced by ScheduleNextFrame(), and WriteFrame().

◆ m_audioBuffer

void* DeckLinkOutputDelegate::m_audioBuffer
protected

Definition at line 83 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_audioBufferOffset

unsigned long DeckLinkOutputDelegate::m_audioBufferOffset
protected

Definition at line 85 of file DecklinkOutput.h.

◆ m_audioBufferSampleLength

unsigned long DeckLinkOutputDelegate::m_audioBufferSampleLength
protected

Definition at line 84 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_audioChannelCount

unsigned long DeckLinkOutputDelegate::m_audioChannelCount
protected

Definition at line 86 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_audioSampleDepth

unsigned long DeckLinkOutputDelegate::m_audioSampleDepth
protected

Definition at line 88 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_audioSampleRate

BMDAudioSampleRate DeckLinkOutputDelegate::m_audioSampleRate
protected

Definition at line 87 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_currentFrame

IDeckLinkMutableVideoFrame* DeckLinkOutputDelegate::m_currentFrame
protected

Definition at line 110 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate(), and ScheduleNextFrame().

◆ m_framesPerSecond

unsigned long DeckLinkOutputDelegate::m_framesPerSecond
protected

Definition at line 90 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate(), and WriteFrame().

◆ m_outputSignal

OutputSignal DeckLinkOutputDelegate::m_outputSignal
protected

Definition at line 82 of file DecklinkOutput.h.

Referenced by DeckLinkOutputDelegate().

◆ m_totalFramesScheduled

unsigned long DeckLinkOutputDelegate::m_totalFramesScheduled
protected

Definition at line 81 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 103 of file DecklinkOutput.h.

Referenced by WriteFrame().

◆ temp_cache

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

Definition at line 96 of file DecklinkOutput.h.

Referenced by WriteFrame().

◆ width

int DeckLinkOutputDelegate::width
protected

Definition at line 92 of file DecklinkOutput.h.

Referenced by ScheduleNextFrame(), and WriteFrame().


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