AJA NTV2 SDK  17.1.1.1245
NTV2 SDK 17.1.1.1245
NTV2Burn4KQuadrant Class Reference

Instances of me can capture 4K/UHD video from one 4-channel AJA device, burn timecode into one quadrant, then play it to a second 4-channel AJA device ... in real time. More...

#include <ntv2burn4kquadrant.h>

Public Member Functions

 NTV2Burn4KQuadrant (const BurnConfig &inConfig)
 Constructs me using the given configuration settings. More...
 
virtual ~NTV2Burn4KQuadrant ()
 
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 GetACStatus (AUTOCIRCULATE_STATUS &outInputStatus, AUTOCIRCULATE_STATUS &outOutputStatus)
 Provides status information about my input (capture) and output (playout) processes. More...
 

Protected Member Functions

virtual AJAStatus SetupInputVideo (void)
 Sets up everything I need for capturing 4K video. More...
 
virtual AJAStatus SetupOutputVideo (void)
 Sets up everything I need for playing 4K video. More...
 
virtual AJAStatus SetupInputAudio (void)
 Sets up everything I need for capturing audio. More...
 
virtual AJAStatus SetupOutputAudio (void)
 Sets up everything I need for 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 StartPlayThread (void)
 Starts my playout thread. More...
 
virtual void PlayFrames (void)
 Repeatedly plays out frames using AutoCirculate (until global quit flag set). More...
 
virtual void StartCaptureThread (void)
 Starts my capture thread. More...
 
virtual void CaptureFrames (void)
 Repeatedly captures frames 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...
 

Static Protected Member Functions

static void PlayThreadStatic (AJAThread *pThread, void *pContext)
 This is the playout thread's static callback function that gets called when the playout thread runs. This function gets "Attached" to the playout thread's AJAThread instance. More...
 
static void CaptureThreadStatic (AJAThread *pThread, void *pContext)
 This is the capture thread's static callback function that gets called when the capture thread runs. This function gets "Attached" to the AJAThread instance. More...
 
static ULWord GetRP188RegisterForInput (const NTV2InputSource inInputSource)
 Returns the RP188 DBB register number to use for the given NTV2InputSource. More...
 

Detailed Description

Instances of me can capture 4K/UHD video from one 4-channel AJA device, burn timecode into one quadrant, then play it to a second 4-channel AJA device ... in real time.

Definition at line 33 of file ntv2burn4kquadrant.h.

Constructor & Destructor Documentation

◆ NTV2Burn4KQuadrant()

NTV2Burn4KQuadrant::NTV2Burn4KQuadrant ( const BurnConfig inConfig)

Constructs me using the given configuration settings.

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

Definition at line 19 of file ntv2burn4kquadrant.cpp.

◆ ~NTV2Burn4KQuadrant()

NTV2Burn4KQuadrant::~NTV2Burn4KQuadrant ( )
virtual

Definition at line 37 of file ntv2burn4kquadrant.cpp.

Member Function Documentation

◆ CaptureFrames()

void NTV2Burn4KQuadrant::CaptureFrames ( void  )
protectedvirtual

Repeatedly captures frames using AutoCirculate (until global quit flag set).

Definition at line 689 of file ntv2burn4kquadrant.cpp.

◆ CaptureThreadStatic()

void NTV2Burn4KQuadrant::CaptureThreadStatic ( AJAThread pThread,
void *  pContext 
)
staticprotected

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

Parameters
[in]pThreadPoints to the AJAThread instance.
[in]pContextContext information to pass to the thread. (For this application, this will be set to point to the NTV2Burn4KQuadrant instance.)

Definition at line 677 of file ntv2burn4kquadrant.cpp.

◆ GetACStatus()

void NTV2Burn4KQuadrant::GetACStatus ( AUTOCIRCULATE_STATUS outInputStatus,
AUTOCIRCULATE_STATUS outOutputStatus 
)
virtual

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

Parameters
[out]outInputStatusReceives status information about my input (capture) process.
[out]outOutputStatusReceives status information about my output (playout) process.

Definition at line 788 of file ntv2burn4kquadrant.cpp.

◆ GetRP188RegisterForInput()

ULWord NTV2Burn4KQuadrant::GetRP188RegisterForInput ( const NTV2InputSource  inInputSource)
staticprotected

Returns the RP188 DBB register number to use for the given NTV2InputSource.

Parameters
[in]inInputSourceSpecifies the NTV2InputSource of interest.
Returns
The number of the RP188 DBB register to use for the given input source.

Definition at line 796 of file ntv2burn4kquadrant.cpp.

◆ Init()

AJAStatus NTV2Burn4KQuadrant::Init ( void  )
virtual

Initializes me and prepares me to Run.

Definition at line 72 of file ntv2burn4kquadrant.cpp.

◆ InputSignalHasTimecode()

bool NTV2Burn4KQuadrant::InputSignalHasTimecode ( void  )
protectedvirtual

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

Definition at line 810 of file ntv2burn4kquadrant.cpp.

◆ PlayFrames()

void NTV2Burn4KQuadrant::PlayFrames ( void  )
protectedvirtual

Repeatedly plays out frames using AutoCirculate (until global quit flag set).

Definition at line 581 of file ntv2burn4kquadrant.cpp.

◆ PlayThreadStatic()

void NTV2Burn4KQuadrant::PlayThreadStatic ( AJAThread pThread,
void *  pContext 
)
staticprotected

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

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

Definition at line 571 of file ntv2burn4kquadrant.cpp.

◆ Quit()

void NTV2Burn4KQuadrant::Quit ( void  )
virtual

Gracefully stops me from running.

Definition at line 58 of file ntv2burn4kquadrant.cpp.

◆ RouteInputSignal()

void NTV2Burn4KQuadrant::RouteInputSignal ( void  )
protectedvirtual

Sets up board routing for capture.

Definition at line 464 of file ntv2burn4kquadrant.cpp.

◆ RouteOutputSignal()

void NTV2Burn4KQuadrant::RouteOutputSignal ( void  )
protectedvirtual

Sets up board routing for playout.

Definition at line 492 of file ntv2burn4kquadrant.cpp.

◆ Run()

AJAStatus NTV2Burn4KQuadrant::Run ( void  )
virtual

Runs me.

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

Definition at line 545 of file ntv2burn4kquadrant.cpp.

◆ SetupHostBuffers()

AJAStatus NTV2Burn4KQuadrant::SetupHostBuffers ( void  )
protectedvirtual

Sets up my circular buffers.

Definition at line 420 of file ntv2burn4kquadrant.cpp.

◆ SetupInputAudio()

AJAStatus NTV2Burn4KQuadrant::SetupInputAudio ( void  )
protectedvirtual

Sets up everything I need for capturing audio.

Definition at line 350 of file ntv2burn4kquadrant.cpp.

◆ SetupInputVideo()

AJAStatus NTV2Burn4KQuadrant::SetupInputVideo ( void  )
protectedvirtual

Sets up everything I need for capturing 4K video.

Definition at line 206 of file ntv2burn4kquadrant.cpp.

◆ SetupOutputAudio()

AJAStatus NTV2Burn4KQuadrant::SetupOutputAudio ( void  )
protectedvirtual

Sets up everything I need for playing audio.

Definition at line 378 of file ntv2burn4kquadrant.cpp.

◆ SetupOutputVideo()

AJAStatus NTV2Burn4KQuadrant::SetupOutputVideo ( void  )
protectedvirtual

Sets up everything I need for playing 4K video.

Definition at line 263 of file ntv2burn4kquadrant.cpp.

◆ StartCaptureThread()

void NTV2Burn4KQuadrant::StartCaptureThread ( void  )
protectedvirtual

Starts my capture thread.

Definition at line 664 of file ntv2burn4kquadrant.cpp.

◆ StartPlayThread()

void NTV2Burn4KQuadrant::StartPlayThread ( void  )
protectedvirtual

Starts my playout thread.

Definition at line 560 of file ntv2burn4kquadrant.cpp.


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