AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
NTV2LLBurn Class Reference

Captures video and audio from a signal provided to an input of an AJA device, burns timecode into the video frames, then plays the captured audio and altered video through an output on the same AJA device, all in real time, with minimal 3 frame latency. Because of the tight latency requirements, AutoCirculate and a ring buffer are not used. More...

#include <ntv2llburn.h>

Public Member Functions

 NTV2LLBurn (const BurnConfig &inConfig)
 Constructs me using the given configuration settings. More...
 
virtual ~NTV2LLBurn ()
 
virtual AJAStatus Init (void)
 Initializes me and prepares me to Run. More...
 
virtual AJAStatus Run (void)
 Runs me. More...
 
virtual void Quit (void)
 Gracefully stops me from running. More...
 
virtual void GetStatus (ULWord &outFramesProcessed, ULWord &outFramesDropped)
 Provides status information about my input (capture) and output (playout) processes. More...
 

Protected Member Functions

virtual AJAStatus SetupVideo (void)
 Sets up everything I need for capturing and playing video. More...
 
virtual AJAStatus SetupAudio (void)
 Sets up everything I need for capturing and playing audio. More...
 
virtual void RouteInputSignal (void)
 Sets up board routing for capture. More...
 
virtual void RouteOutputSignal (void)
 Sets up board routing for playout. More...
 
virtual AJAStatus SetupHostBuffers (void)
 Sets up my circular buffers. More...
 
virtual void StartRunThread (void)
 Starts my main worker thread. More...
 
virtual void ProcessFrames (void)
 Repeatedly captures, burns, and plays frames without using AutoCirculate (until global quit flag set). More...
 
virtual bool InputSignalHasTimecode (void)
 Returns true if the current input signal has timecode embedded in it; otherwise returns false. More...
 
virtual bool AnalogLTCInputHasTimecode (void)
 Returns true if there is a valid LTC signal on my device's primary analog LTC input port; otherwise returns false. More...
 

Static Protected Member Functions

static void RunThreadStatic (AJAThread *pThread, void *pContext)
 This is the worker thread's static callback function that gets called when the thread runs. This function gets "Attached" to the worker thread's AJAThread instance. More...
 

Detailed Description

Captures video and audio from a signal provided to an input of an AJA device, burns timecode into the video frames, then plays the captured audio and altered video through an output on the same AJA device, all in real time, with minimal 3 frame latency. Because of the tight latency requirements, AutoCirculate and a ring buffer are not used.

Definition at line 32 of file ntv2llburn.h.

Constructor & Destructor Documentation

◆ NTV2LLBurn()

NTV2LLBurn::NTV2LLBurn ( const BurnConfig inConfig)

Constructs me using the given configuration settings.

Note
I'm not completely initialized and ready for use until after my Init method has been called.
Parameters
[in]inConfigSpecifies the configuration parameters.

Definition at line 31 of file ntv2llburn.cpp.

◆ ~NTV2LLBurn()

NTV2LLBurn::~NTV2LLBurn ( )
virtual

Definition at line 48 of file ntv2llburn.cpp.

Member Function Documentation

◆ AnalogLTCInputHasTimecode()

bool NTV2LLBurn::AnalogLTCInputHasTimecode ( void  )
protectedvirtual

Returns true if there is a valid LTC signal on my device's primary analog LTC input port; otherwise returns false.

Definition at line 937 of file ntv2llburn.cpp.

◆ GetStatus()

void NTV2LLBurn::GetStatus ( ULWord outFramesProcessed,
ULWord outFramesDropped 
)
virtual

Provides status information about my input (capture) and output (playout) processes.

Parameters
[out]outFramesProcessedReceives my processed frame count.
[out]outFramesDroppedReceives my dropped frame count.

Definition at line 897 of file ntv2llburn.cpp.

◆ Init()

AJAStatus NTV2LLBurn::Init ( void  )
virtual

Initializes me and prepares me to Run.

Definition at line 80 of file ntv2llburn.cpp.

◆ InputSignalHasTimecode()

bool NTV2LLBurn::InputSignalHasTimecode ( void  )
protectedvirtual

Returns true if the current input signal has timecode embedded in it; otherwise returns false.

Definition at line 923 of file ntv2llburn.cpp.

◆ ProcessFrames()

void NTV2LLBurn::ProcessFrames ( void  )
protectedvirtual

Repeatedly captures, burns, and plays frames without using AutoCirculate (until global quit flag set).

Definition at line 544 of file ntv2llburn.cpp.

◆ Quit()

void NTV2LLBurn::Quit ( void  )
virtual

Gracefully stops me from running.

Definition at line 69 of file ntv2llburn.cpp.

◆ RouteInputSignal()

void NTV2LLBurn::RouteInputSignal ( void  )
protectedvirtual

Sets up board routing for capture.

Definition at line 427 of file ntv2llburn.cpp.

◆ RouteOutputSignal()

void NTV2LLBurn::RouteOutputSignal ( void  )
protectedvirtual

Sets up board routing for playout.

Definition at line 449 of file ntv2llburn.cpp.

◆ Run()

AJAStatus NTV2LLBurn::Run ( void  )
virtual

Runs me.

Note
Do not call this method without first calling my Init method.

Definition at line 503 of file ntv2llburn.cpp.

◆ RunThreadStatic()

void NTV2LLBurn::RunThreadStatic ( AJAThread pThread,
void *  pContext 
)
staticprotected

This is the worker thread's static callback function that gets called when the thread runs. This function gets "Attached" to the worker thread's AJAThread instance.

Parameters
[in]pThreadA valid pointer to the worker thread's AJAThread instance.
[in]pContextContext information to pass to the thread. (For this application, this will be set to point to the NTV2LLBurn instance.)

Definition at line 527 of file ntv2llburn.cpp.

◆ SetupAudio()

AJAStatus NTV2LLBurn::SetupAudio ( void  )
protectedvirtual

Sets up everything I need for capturing and playing audio.

Definition at line 358 of file ntv2llburn.cpp.

◆ SetupHostBuffers()

AJAStatus NTV2LLBurn::SetupHostBuffers ( void  )
protectedvirtual

Sets up my circular buffers.

Definition at line 405 of file ntv2llburn.cpp.

◆ SetupVideo()

AJAStatus NTV2LLBurn::SetupVideo ( void  )
protectedvirtual

Sets up everything I need for capturing and playing video.

Definition at line 166 of file ntv2llburn.cpp.

◆ StartRunThread()

void NTV2LLBurn::StartRunThread ( void  )
protectedvirtual

Starts my main worker thread.

Definition at line 516 of file ntv2llburn.cpp.


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