AJA NTV2 SDK  17.0.1.1246
NTV2 SDK 17.0.1.1246
ancillarylist.cpp File Reference

Implementation of the AJAAncillaryList class. More...

#include "ancillarylist.h"
#include "ancillarydatafactory.h"
#include "ajabase/system/debug.h"
#include "ajantv2/includes/ntv2utils.h"
#include "ajabase/system/atomic.h"
#include "ajabase/system/lock.h"
#include <algorithm>
Include dependency graph for ancillarylist.cpp:

Go to the source code of this file.

Macros

#define LOGMYERROR(__x__)   AJA_sERROR (AJA_DebugUnit_AJAAncList, AJAFUNC << ": " << __x__)
 
#define LOGMYWARN(__x__)   AJA_sWARNING(AJA_DebugUnit_AJAAncList, AJAFUNC << ": " << __x__)
 
#define LOGMYNOTE(__x__)   AJA_sNOTICE (AJA_DebugUnit_AJAAncList, AJAFUNC << ": " << __x__)
 
#define LOGMYINFO(__x__)   AJA_sINFO (AJA_DebugUnit_AJAAncList, AJAFUNC << ": " << __x__)
 
#define LOGMYDEBUG(__x__)   AJA_sDEBUG (AJA_DebugUnit_AJAAncList, AJAFUNC << ": " << __x__)
 
#define RCVFAIL(__x__)   AJA_sERROR (AJA_DebugUnit_Anc2110Rcv, AJAFUNC << ": " << __x__)
 
#define RCVWARN(__x__)   AJA_sWARNING(AJA_DebugUnit_Anc2110Rcv, AJAFUNC << ": " << __x__)
 
#define RCVNOTE(__x__)   AJA_sNOTICE (AJA_DebugUnit_Anc2110Rcv, AJAFUNC << ": " << __x__)
 
#define RCVINFO(__x__)   AJA_sINFO (AJA_DebugUnit_Anc2110Rcv, AJAFUNC << ": " << __x__)
 
#define RCVDBG(__x__)   AJA_sDEBUG (AJA_DebugUnit_Anc2110Rcv, AJAFUNC << ": " << __x__)
 
#define XMTFAIL(__x__)   AJA_sERROR (AJA_DebugUnit_Anc2110Xmit, AJAFUNC << ": " << __x__)
 
#define XMTWARN(__x__)   AJA_sWARNING(AJA_DebugUnit_Anc2110Xmit, AJAFUNC << ": " << __x__)
 
#define XMTNOTE(__x__)   AJA_sNOTICE (AJA_DebugUnit_Anc2110Xmit, AJAFUNC << ": " << __x__)
 
#define XMTINFO(__x__)   AJA_sINFO (AJA_DebugUnit_Anc2110Xmit, AJAFUNC << ": " << __x__)
 
#define XMTDBG(__x__)   AJA_sDEBUG (AJA_DebugUnit_Anc2110Xmit, AJAFUNC << ": " << __x__)
 
#define AJA_ENDIAN_16NtoH(__val__)   AJA_ENDIAN_SWAP16(__val__)
 
#define AJA_ENDIAN_16HtoN(__val__)   AJA_ENDIAN_SWAP16(__val__)
 
#define AJA_ENDIAN_32NtoH(__val__)   AJA_ENDIAN_SWAP32(__val__)
 
#define AJA_ENDIAN_32HtoN(__val__)   AJA_ENDIAN_SWAP32(__val__)
 
#define AJA_ENDIAN_64NtoH(__val__)   AJA_ENDIAN_SWAP64(__val__)
 
#define AJA_ENDIAN_64HtoN(__val__)   AJA_ENDIAN_SWAP64(__val__)
 

Functions

static uint32_t ENDIAN_32NtoH (const uint32_t inValue)
 
static ostream & PrintULWordsBE (ostream &inOutStream, const ULWordSequence &inData, const size_t inMaxNum=32)
 
static string ULWordSequenceToStringBE (const ULWordSequence &inData, const size_t inMaxNum=32)
 
ostream & operator<< (ostream &inOutStream, const AJAU32Pkts &inPkts)
 
ostream & operator<< (ostream &inOutStream, const AJAAncPktDIDSIDSet &inSet)
 
static bool gIncludeZeroLengthPackets (false)
 
static uint32_t gExcludedZeroLengthPackets (0)
 
static void BumpZeroLengthPacketCount (void)
 
static bool SortByDID (AJAAncillaryData *lhs, AJAAncillaryData *rhs)
 
static bool SortBySID (AJAAncillaryData *lhs, AJAAncillaryData *rhs)
 
static bool SortByLocation (AJAAncillaryData *lhs, AJAAncillaryData *rhs)
 
static AJAStatus AppendUWordPacketToGump (UByteSequence &outGumpPkt, const UWordSequence &inPacketWords, const AJAAncDataLoc inLoc=AJAAncDataLoc(AJAAncDataLink_A, AJAAncDataChannel_Y, AJAAncDataSpace_VANC, 0))
 
static const size_t MAX_RTP_PKT_LENGTH_BYTES (0x0000FFFF)
 
static const size_t MAX_RTP_PKT_LENGTH_WORDS ((MAX_RTP_PKT_LENGTH_BYTES+1)/sizeof(uint32_t) - 1)
 
static const uint32_t MAX_ANC_PKTS_PER_RTP_PKT (0x000000FF)
 

Variables

static AJALock gGlobalLock
 
static AJAAncillaryAnalogTypeMap gAnalogTypeMap
 
static AJALock gAnalogTypeMapMutex
 

Detailed Description

Implementation of the AJAAncillaryList class.

Definition in file ancillarylist.cpp.

Macro Definition Documentation

◆ AJA_ENDIAN_16HtoN

#define AJA_ENDIAN_16HtoN (   __val__)    AJA_ENDIAN_SWAP16(__val__)

Definition at line 52 of file ancillarylist.cpp.

◆ AJA_ENDIAN_16NtoH

#define AJA_ENDIAN_16NtoH (   __val__)    AJA_ENDIAN_SWAP16(__val__)

Definition at line 51 of file ancillarylist.cpp.

◆ AJA_ENDIAN_32HtoN

#define AJA_ENDIAN_32HtoN (   __val__)    AJA_ENDIAN_SWAP32(__val__)

Definition at line 54 of file ancillarylist.cpp.

◆ AJA_ENDIAN_32NtoH

#define AJA_ENDIAN_32NtoH (   __val__)    AJA_ENDIAN_SWAP32(__val__)

Definition at line 53 of file ancillarylist.cpp.

◆ AJA_ENDIAN_64HtoN

#define AJA_ENDIAN_64HtoN (   __val__)    AJA_ENDIAN_SWAP64(__val__)

Definition at line 56 of file ancillarylist.cpp.

◆ AJA_ENDIAN_64NtoH

#define AJA_ENDIAN_64NtoH (   __val__)    AJA_ENDIAN_SWAP64(__val__)

Definition at line 55 of file ancillarylist.cpp.

◆ LOGMYDEBUG

#define LOGMYDEBUG (   __x__)    AJA_sDEBUG (AJA_DebugUnit_AJAAncList, AJAFUNC << ": " << __x__)

Definition at line 27 of file ancillarylist.cpp.

◆ LOGMYERROR

#define LOGMYERROR (   __x__)    AJA_sERROR (AJA_DebugUnit_AJAAncList, AJAFUNC << ": " << __x__)

Definition at line 23 of file ancillarylist.cpp.

◆ LOGMYINFO

#define LOGMYINFO (   __x__)    AJA_sINFO (AJA_DebugUnit_AJAAncList, AJAFUNC << ": " << __x__)

Definition at line 26 of file ancillarylist.cpp.

◆ LOGMYNOTE

#define LOGMYNOTE (   __x__)    AJA_sNOTICE (AJA_DebugUnit_AJAAncList, AJAFUNC << ": " << __x__)

Definition at line 25 of file ancillarylist.cpp.

◆ LOGMYWARN

#define LOGMYWARN (   __x__)    AJA_sWARNING(AJA_DebugUnit_AJAAncList, AJAFUNC << ": " << __x__)

Definition at line 24 of file ancillarylist.cpp.

◆ RCVDBG

#define RCVDBG (   __x__)    AJA_sDEBUG (AJA_DebugUnit_Anc2110Rcv, AJAFUNC << ": " << __x__)

Definition at line 33 of file ancillarylist.cpp.

◆ RCVFAIL

#define RCVFAIL (   __x__)    AJA_sERROR (AJA_DebugUnit_Anc2110Rcv, AJAFUNC << ": " << __x__)

Definition at line 29 of file ancillarylist.cpp.

◆ RCVINFO

#define RCVINFO (   __x__)    AJA_sINFO (AJA_DebugUnit_Anc2110Rcv, AJAFUNC << ": " << __x__)

Definition at line 32 of file ancillarylist.cpp.

◆ RCVNOTE

#define RCVNOTE (   __x__)    AJA_sNOTICE (AJA_DebugUnit_Anc2110Rcv, AJAFUNC << ": " << __x__)

Definition at line 31 of file ancillarylist.cpp.

◆ RCVWARN

#define RCVWARN (   __x__)    AJA_sWARNING(AJA_DebugUnit_Anc2110Rcv, AJAFUNC << ": " << __x__)

Definition at line 30 of file ancillarylist.cpp.

◆ XMTDBG

#define XMTDBG (   __x__)    AJA_sDEBUG (AJA_DebugUnit_Anc2110Xmit, AJAFUNC << ": " << __x__)

Definition at line 39 of file ancillarylist.cpp.

◆ XMTFAIL

#define XMTFAIL (   __x__)    AJA_sERROR (AJA_DebugUnit_Anc2110Xmit, AJAFUNC << ": " << __x__)

Definition at line 35 of file ancillarylist.cpp.

◆ XMTINFO

#define XMTINFO (   __x__)    AJA_sINFO (AJA_DebugUnit_Anc2110Xmit, AJAFUNC << ": " << __x__)

Definition at line 38 of file ancillarylist.cpp.

◆ XMTNOTE

#define XMTNOTE (   __x__)    AJA_sNOTICE (AJA_DebugUnit_Anc2110Xmit, AJAFUNC << ": " << __x__)

Definition at line 37 of file ancillarylist.cpp.

◆ XMTWARN

#define XMTWARN (   __x__)    AJA_sWARNING(AJA_DebugUnit_Anc2110Xmit, AJAFUNC << ": " << __x__)

Definition at line 36 of file ancillarylist.cpp.

Function Documentation

◆ AppendUWordPacketToGump()

static AJAStatus AppendUWordPacketToGump ( UByteSequence outGumpPkt,
const UWordSequence inPacketWords,
const AJAAncDataLoc  inLoc = AJAAncDataLoc(AJAAncDataLink_A, AJAAncDataChannel_Y, AJAAncDataSpace_VANC, 0) 
)
static

Definition at line 733 of file ancillarylist.cpp.

◆ BumpZeroLengthPacketCount()

static void BumpZeroLengthPacketCount ( void  )
inlinestatic

Definition at line 138 of file ancillarylist.cpp.

◆ ENDIAN_32NtoH()

static uint32_t ENDIAN_32NtoH ( const uint32_t  inValue)
inlinestatic

Definition at line 59 of file ancillarylist.cpp.

◆ gExcludedZeroLengthPackets()

static uint32_t gExcludedZeroLengthPackets ( )
static

◆ gIncludeZeroLengthPackets()

static bool gIncludeZeroLengthPackets ( false  )
static

◆ MAX_ANC_PKTS_PER_RTP_PKT()

static const uint32_t MAX_ANC_PKTS_PER_RTP_PKT ( 0x000000FF  )
static

◆ MAX_RTP_PKT_LENGTH_BYTES()

static const size_t MAX_RTP_PKT_LENGTH_BYTES ( 0x0000FFFF  )
static

◆ MAX_RTP_PKT_LENGTH_WORDS()

static const size_t MAX_RTP_PKT_LENGTH_WORDS ( (MAX_RTP_PKT_LENGTH_BYTES+1)/sizeof(uint32_t) -  1)
static

◆ operator<<() [1/2]

ostream& operator<< ( ostream &  inOutStream,
const AJAAncPktDIDSIDSet inSet 
)

Definition at line 99 of file ancillarylist.cpp.

◆ operator<<() [2/2]

ostream& operator<< ( ostream &  inOutStream,
const AJAU32Pkts inPkts 
)

Definition at line 87 of file ancillarylist.cpp.

◆ PrintULWordsBE()

static ostream& PrintULWordsBE ( ostream &  inOutStream,
const ULWordSequence inData,
const size_t  inMaxNum = 32 
)
static

Definition at line 62 of file ancillarylist.cpp.

◆ SortByDID()

static bool SortByDID ( AJAAncillaryData lhs,
AJAAncillaryData rhs 
)
static

Definition at line 410 of file ancillarylist.cpp.

◆ SortByLocation()

static bool SortByLocation ( AJAAncillaryData lhs,
AJAAncillaryData rhs 
)
static

Definition at line 421 of file ancillarylist.cpp.

◆ SortBySID()

static bool SortBySID ( AJAAncillaryData lhs,
AJAAncillaryData rhs 
)
static

Definition at line 416 of file ancillarylist.cpp.

◆ ULWordSequenceToStringBE()

static string ULWordSequenceToStringBE ( const ULWordSequence inData,
const size_t  inMaxNum = 32 
)
static

Definition at line 80 of file ancillarylist.cpp.

Variable Documentation

◆ gAnalogTypeMap

AJAAncillaryAnalogTypeMap gAnalogTypeMap
static

Definition at line 1569 of file ancillarylist.cpp.

◆ gAnalogTypeMapMutex

AJALock gAnalogTypeMapMutex
static

Definition at line 1570 of file ancillarylist.cpp.

◆ gGlobalLock

AJALock gGlobalLock
static

Definition at line 116 of file ancillarylist.cpp.