I am an object that can play out an 8K or UHD2 test pattern (with timecode) to 4 x 12G SDI outputs of an AJA device with or without audio tone in real time. I make use of the AJACircularBuffer, to implement a producer/consumer model, in which a "producer" thread generates the test pattern frames, and a "consumer" thread (i.e., the "play" thread) sends those frames to the AJA device. I show how to configure for two-sample interleave or "squares" (quadrants).
More...
#include <ntv2player8k.h>
|
static void | ConsumerThreadStatic (AJAThread *pThread, void *pContext) |
| This is the consumer thread's static callback function that gets called when the consumer thread starts. This function gets "Attached" to the consumer thread's AJAThread instance. More...
|
|
static void | ProducerThreadStatic (AJAThread *pThread, void *pContext) |
| This is the producer thread's static callback function that gets called when the producer thread starts. This function gets "Attached" to the producer thread's AJAThread instance. More...
|
|
I am an object that can play out an 8K or UHD2 test pattern (with timecode) to 4 x 12G SDI outputs of an AJA device with or without audio tone in real time. I make use of the AJACircularBuffer, to implement a producer/consumer model, in which a "producer" thread generates the test pattern frames, and a "consumer" thread (i.e., the "play" thread) sends those frames to the AJA device. I show how to configure for two-sample interleave or "squares" (quadrants).
Definition at line 24 of file ntv2player8k.h.
◆ NTV2Player8K()
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] | inConfig | Specifies all configuration parameters. |
Definition at line 54 of file ntv2player8k.cpp.
◆ ~NTV2Player8K()
NTV2Player8K::~NTV2Player8K |
( |
void |
| ) |
|
|
virtual |
◆ AddTone()
uint32_t NTV2Player8K::AddTone |
( |
ULWord * |
audioBuffer | ) |
|
|
protectedvirtual |
Inserts audio tone (based on my current tone frequency) into the given audio buffer.
- Parameters
-
[out] | audioBuffer | Specifies a valid, non-NULL pointer to the buffer that is to receive the audio tone data. |
- Returns
- Total number of bytes written into the buffer.
Definition at line 832 of file ntv2player8k.cpp.
◆ ConsumeFrames()
void NTV2Player8K::ConsumeFrames |
( |
void |
| ) |
|
|
protectedvirtual |
My consumer thread that repeatedly plays frames using AutoCirculate (until quit).
Definition at line 636 of file ntv2player8k.cpp.
◆ ConsumerThreadStatic()
void NTV2Player8K::ConsumerThreadStatic |
( |
AJAThread * |
pThread, |
|
|
void * |
pContext |
|
) |
| |
|
staticprotected |
This is the consumer thread's static callback function that gets called when the consumer thread starts. This function gets "Attached" to the consumer thread's AJAThread instance.
- Parameters
-
[in] | pThread | A valid pointer to the consumer thread's AJAThread instance. |
[in] | pContext | Context information to pass to the thread (the NTV2Player8K instance). |
Definition at line 625 of file ntv2player8k.cpp.
◆ GetACStatus()
Provides status information about my output (playout) process.
- Parameters
-
Definition at line 868 of file ntv2player8k.cpp.
◆ Init()
◆ ProduceFrames()
void NTV2Player8K::ProduceFrames |
( |
void |
| ) |
|
|
protectedvirtual |
My producer thread that repeatedly produces video frames.
Definition at line 783 of file ntv2player8k.cpp.
◆ ProducerThreadStatic()
void NTV2Player8K::ProducerThreadStatic |
( |
AJAThread * |
pThread, |
|
|
void * |
pContext |
|
) |
| |
|
staticprotected |
This is the producer thread's static callback function that gets called when the producer thread starts. This function gets "Attached" to the producer thread's AJAThread instance.
- Parameters
-
[in] | pThread | A valid pointer to the producer thread's AJAThread instance. |
[in] | pContext | Context information to pass to the thread (the NTV2Player8K instance). |
Definition at line 773 of file ntv2player8k.cpp.
◆ Quit()
void NTV2Player8K::Quit |
( |
void |
| ) |
|
|
virtual |
◆ RouteOutputSignal()
bool NTV2Player8K::RouteOutputSignal |
( |
void |
| ) |
|
|
protectedvirtual |
Performs all widget/signal routing for playout.
Definition at line 417 of file ntv2player8k.cpp.
◆ Run()
Runs me.
- Note
- Do not call this method without first calling my Init method.
Definition at line 600 of file ntv2player8k.cpp.
◆ SetUpAudio()
◆ SetUpHostBuffers()
AJAStatus NTV2Player8K::SetUpHostBuffers |
( |
void |
| ) |
|
|
protectedvirtual |
◆ SetUpTestPatternBuffers()
AJAStatus NTV2Player8K::SetUpTestPatternBuffers |
( |
void |
| ) |
|
|
protectedvirtual |
◆ SetUpVideo()
◆ StartConsumerThread()
void NTV2Player8K::StartConsumerThread |
( |
void |
| ) |
|
|
protectedvirtual |
◆ StartProducerThread()
void NTV2Player8K::StartProducerThread |
( |
void |
| ) |
|
|
protectedvirtual |
The documentation for this class was generated from the following files:
- /home/tcbuilder/buildAgent/work/df8e8cce5bebfd58/libajantv2/demos/ntv2player8k/ntv2player8k.h
- /home/tcbuilder/buildAgent/work/df8e8cce5bebfd58/libajantv2/demos/ntv2player8k/ntv2player8k.cpp