OpenShot Library | libopenshot  0.1.9
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::DeckLinkOutputDelegate ( IDeckLinkDisplayMode *  displayMode,
IDeckLinkOutput *  deckLinkOutput 
)

Definition at line 57 of file DecklinkOutput.cpp.

◆ ~DeckLinkOutputDelegate()

DeckLinkOutputDelegate::~DeckLinkOutputDelegate ( )

Definition at line 86 of file DecklinkOutput.cpp.

Member Function Documentation

◆ AddRef()

virtual ULONG STDMETHODCALLTYPE DeckLinkOutputDelegate::AddRef ( void  )
inlinevirtual

Definition at line 116 of file DecklinkOutput.h.

◆ QueryInterface()

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

Definition at line 115 of file DecklinkOutput.h.

◆ Release()

virtual ULONG STDMETHODCALLTYPE DeckLinkOutputDelegate::Release ( void  )
inlinevirtual

Definition at line 117 of file DecklinkOutput.h.

◆ RenderAudioSamples()

HRESULT DeckLinkOutputDelegate::RenderAudioSamples ( bool  preroll)
virtual

Definition at line 109 of file DecklinkOutput.cpp.

◆ ScheduledFrameCompleted()

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

Definition at line 93 of file DecklinkOutput.cpp.

◆ ScheduledPlaybackHasStopped()

HRESULT DeckLinkOutputDelegate::ScheduledPlaybackHasStopped ( )
virtual

Definition at line 103 of file DecklinkOutput.cpp.

◆ ScheduleNextFrame()

void DeckLinkOutputDelegate::ScheduleNextFrame ( bool  prerolling)

Schedule the next frame.

Definition at line 144 of file DecklinkOutput.cpp.

◆ WriteFrame()

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

◆ audioSamplesPerFrame

unsigned long DeckLinkOutputDelegate::audioSamplesPerFrame
protected

Definition at line 86 of file DecklinkOutput.h.

◆ deckLinkOutput

IDeckLinkOutput* DeckLinkOutputDelegate::deckLinkOutput
protected

Definition at line 103 of file DecklinkOutput.h.

◆ displayMode

IDeckLinkDisplayMode* DeckLinkOutputDelegate::displayMode
protected

Definition at line 104 of file DecklinkOutput.h.

◆ final_frames

deque<uint8_t * > DeckLinkOutputDelegate::final_frames
protected

Definition at line 99 of file DecklinkOutput.h.

◆ frameCount

unsigned long DeckLinkOutputDelegate::frameCount
protected

Definition at line 91 of file DecklinkOutput.h.

◆ frameRateDuration

BMDTimeValue DeckLinkOutputDelegate::frameRateDuration
protected

Definition at line 95 of file DecklinkOutput.h.

◆ frameRateScale

BMDTimeValue DeckLinkOutputDelegate::frameRateScale
protected

Definition at line 95 of file DecklinkOutput.h.

◆ height

int DeckLinkOutputDelegate::height
protected

Definition at line 88 of file DecklinkOutput.h.

◆ m_audioBuffer

void* DeckLinkOutputDelegate::m_audioBuffer
protected

Definition at line 80 of file DecklinkOutput.h.

◆ m_audioBufferOffset

unsigned long DeckLinkOutputDelegate::m_audioBufferOffset
protected

Definition at line 82 of file DecklinkOutput.h.

◆ m_audioBufferSampleLength

unsigned long DeckLinkOutputDelegate::m_audioBufferSampleLength
protected

Definition at line 81 of file DecklinkOutput.h.

◆ m_audioChannelCount

unsigned long DeckLinkOutputDelegate::m_audioChannelCount
protected

Definition at line 83 of file DecklinkOutput.h.

◆ m_audioSampleDepth

unsigned long DeckLinkOutputDelegate::m_audioSampleDepth
protected

Definition at line 85 of file DecklinkOutput.h.

◆ m_audioSampleRate

BMDAudioSampleRate DeckLinkOutputDelegate::m_audioSampleRate
protected

Definition at line 84 of file DecklinkOutput.h.

◆ m_currentFrame

IDeckLinkMutableVideoFrame* DeckLinkOutputDelegate::m_currentFrame
protected

Definition at line 107 of file DecklinkOutput.h.

◆ m_framesPerSecond

unsigned long DeckLinkOutputDelegate::m_framesPerSecond
protected

Definition at line 87 of file DecklinkOutput.h.

◆ m_outputSignal

OutputSignal DeckLinkOutputDelegate::m_outputSignal
protected

Definition at line 79 of file DecklinkOutput.h.

◆ m_totalFramesScheduled

unsigned long DeckLinkOutputDelegate::m_totalFramesScheduled
protected

Definition at line 78 of file DecklinkOutput.h.

◆ raw_video_frames

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

Definition at line 100 of file DecklinkOutput.h.

◆ temp_cache

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

Definition at line 93 of file DecklinkOutput.h.

◆ width

int DeckLinkOutputDelegate::width
protected

Definition at line 89 of file DecklinkOutput.h.


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