I am an object that can play out a 4K or UHD test pattern (with timecode) to an output of an AJA device with or without audio tone in real time. I make use of the AJACircularBuffer, which simplifies implementing 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 12G-capable devices, or for two-sample-interleave or "squares" (quadrants).
More...
#include <ntv2player4k.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 a 4K or UHD test pattern (with timecode) to an output of an AJA device with or without audio tone in real time. I make use of the AJACircularBuffer, which simplifies implementing 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 12G-capable devices, or for two-sample-interleave or "squares" (quadrants).
Definition at line 24 of file ntv2player4k.h.
◆ NTV2Player4K()
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 ntv2player4k.cpp.
◆ ~NTV2Player4K()
NTV2Player4K::~NTV2Player4K |
( |
void |
| ) |
|
|
virtual |
◆ AddTone()
uint32_t NTV2Player4K::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 1444 of file ntv2player4k.cpp.
◆ ConsumeFrames()
void NTV2Player4K::ConsumeFrames |
( |
void |
| ) |
|
|
protectedvirtual |
My consumer thread that repeatedly plays frames using AutoCirculate (until quit).
Definition at line 1225 of file ntv2player4k.cpp.
◆ ConsumerThreadStatic()
void NTV2Player4K::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 NTV2Player4K instance). |
Definition at line 1214 of file ntv2player4k.cpp.
◆ GetACStatus()
Provides status information about my output (playout) process.
- Parameters
-
Definition at line 1480 of file ntv2player4k.cpp.
◆ Init()
◆ ProduceFrames()
void NTV2Player4K::ProduceFrames |
( |
void |
| ) |
|
|
protectedvirtual |
My producer thread that repeatedly produces video frames.
Definition at line 1395 of file ntv2player4k.cpp.
◆ ProducerThreadStatic()
void NTV2Player4K::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 NTV2Player4K instance). |
Definition at line 1385 of file ntv2player4k.cpp.
◆ Quit()
void NTV2Player4K::Quit |
( |
void |
| ) |
|
|
virtual |
◆ Route4KDownConverter()
bool NTV2Player4K::Route4KDownConverter |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing for the 4K DownConverter to SDI Monitor (if available).
Definition at line 610 of file ntv2player4k.cpp.
◆ RouteCscTo2xSDIOut()
bool NTV2Player4K::RouteCscTo2xSDIOut |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Color Space Converters to the 2xSDI outputs.
Definition at line 977 of file ntv2player4k.cpp.
◆ RouteCscTo4xSDIOut()
bool NTV2Player4K::RouteCscTo4xSDIOut |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Color Space Converters to the 4xSDI outputs.
Definition at line 999 of file ntv2player4k.cpp.
◆ RouteCscToDLOut()
bool NTV2Player4K::RouteCscToDLOut |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Color Space Converters to the Dual Link outputs.
Definition at line 1021 of file ntv2player4k.cpp.
◆ RouteDLOutToSDIOut()
bool NTV2Player4K::RouteDLOutToSDIOut |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Dual Link outputs to the SDI outputs.
Definition at line 947 of file ntv2player4k.cpp.
◆ RouteFsToCsc()
bool NTV2Player4K::RouteFsToCsc |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Frame Stores to the Color Space Converters.
Definition at line 814 of file ntv2player4k.cpp.
◆ RouteFsToDLOut()
bool NTV2Player4K::RouteFsToDLOut |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Frame Stores to the Dual Link out.
Definition at line 792 of file ntv2player4k.cpp.
◆ RouteFsToSDIOut()
bool NTV2Player4K::RouteFsToSDIOut |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Frame Stores to the SDI outputs.
Definition at line 856 of file ntv2player4k.cpp.
◆ RouteFsToTsiMux()
bool NTV2Player4K::RouteFsToTsiMux |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Frame Stores to the Two Sample Interleave muxes.
Definition at line 888 of file ntv2player4k.cpp.
◆ RouteHDMIOutput()
bool NTV2Player4K::RouteHDMIOutput |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing output via the HDMI (if available).
Definition at line 670 of file ntv2player4k.cpp.
◆ RouteOutputSignal()
bool NTV2Player4K::RouteOutputSignal |
( |
void |
| ) |
|
|
protectedvirtual |
Performs all widget/signal routing for playout.
Definition at line 442 of file ntv2player4k.cpp.
◆ RouteTsiMuxTo2xSDIOut()
bool NTV2Player4K::RouteTsiMuxTo2xSDIOut |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Two Sample Interleave muxes to the 2xSDI outputs.
Definition at line 1131 of file ntv2player4k.cpp.
◆ RouteTsiMuxTo4xSDIOut()
bool NTV2Player4K::RouteTsiMuxTo4xSDIOut |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Two Sample Interleave muxes to the 4xSDI outputs.
Definition at line 1160 of file ntv2player4k.cpp.
◆ RouteTsiMuxToCsc()
bool NTV2Player4K::RouteTsiMuxToCsc |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Two Sample Interleave muxes to the color Space Converters.
Definition at line 1072 of file ntv2player4k.cpp.
◆ RouteTsiMuxToDLOut()
bool NTV2Player4K::RouteTsiMuxToDLOut |
( |
void |
| ) |
|
|
protectedvirtual |
Sets up board routing from the Two Sample Interleave muxes to the Dual Link outputs.
Definition at line 1043 of file ntv2player4k.cpp.
◆ Run()
Runs me.
- Note
- Do not call this method without first calling my Init method.
Definition at line 1189 of file ntv2player4k.cpp.
◆ SetUpAudio()
◆ SetUpHostBuffers()
AJAStatus NTV2Player4K::SetUpHostBuffers |
( |
void |
| ) |
|
|
protectedvirtual |
◆ SetupSDITransmitters()
void NTV2Player4K::SetupSDITransmitters |
( |
const NTV2Channel |
inFirstSDI, |
|
|
const UWord |
inNumSDIs |
|
) |
| |
|
protectedvirtual |
Sets up bi-directional SDI transmitters.
- Parameters
-
[in] | inFirstSDI | Specifies the first SDI connector of a possible group, expressed as an NTV2Channel (a zero-based index number). |
[in] | inNumSDIs | Specifies the number of SDI connectors to set up. |
Definition at line 602 of file ntv2player4k.cpp.
◆ SetUpTestPatternBuffers()
AJAStatus NTV2Player4K::SetUpTestPatternBuffers |
( |
void |
| ) |
|
|
protectedvirtual |
◆ SetUpVideo()
◆ StartConsumerThread()
void NTV2Player4K::StartConsumerThread |
( |
void |
| ) |
|
|
protectedvirtual |
◆ StartProducerThread()
void NTV2Player4K::StartProducerThread |
( |
void |
| ) |
|
|
protectedvirtual |
The documentation for this class was generated from the following files:
- /home/tcbuilder/buildAgent/work/df8e8cce5bebfd58/libajantv2/demos/ntv2player4k/ntv2player4k.h
- /home/tcbuilder/buildAgent/work/df8e8cce5bebfd58/libajantv2/demos/ntv2player4k/ntv2player4k.cpp