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 |  | ) |

inline virtual

Definition at line 116 of file DecklinkOutput.h.

## QueryInterface()

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

inline virtual

Definition at line 115 of file DecklinkOutput.h.

## Release()

virtual ULONG STDMETHODCALLTYPE DeckLinkOutputDelegate::Release | ( | void |  | ) |

inline virtual

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:

- DecklinkOutput.h
- DecklinkOutput.cpp