8 #ifndef AJA_ANCILLARYLIST_H
9 #define AJA_ANCILLARYLIST_H
18 #define AJAANCLISTIMPL_VECTOR // Comment out this line to revert to pre-16.3 behavior
19 #if defined(AJAANCLISTIMPL_VECTOR)
86 const uint32_t inFrameNum = 0);
99 const uint32_t inFrameNum = 0);
112 const uint32_t inFrameNum = 0);
123 static AJAStatus ClearAnalogAncillaryDataTypeMap (
void);
158 static AJAAncDataType GetAnalogAncillaryDataTypeForLine (
const uint16_t inLineNum);
165 static void SetIncludeZeroLengthPackets (
const bool inExclude);
166 static uint32_t GetExcludedZeroLengthPacketCount (
void);
167 static void ResetExcludedZeroLengthPacketCount (
void);
168 static bool IsIncludingZeroLengthPackets (
void);
188 #if defined(AJA_USE_CPLUSPLUS11)
203 #endif // AJA_USE_CPLUSPLUS11
221 virtual inline bool IsEmpty (
void)
const {
return !CountAncillaryData();}
229 virtual AJAAncillaryData * GetAncillaryDataAtIndex (
const uint32_t inIndex)
const;
236 virtual uint32_t CountAncillaryDataWithType (
const AJAAncDataType inMatchType)
const;
253 virtual uint32_t CountAncillaryDataWithID (
const uint8_t inDID,
const uint8_t inSID)
const;
263 virtual AJAAncillaryData * GetAncillaryDataWithID (
const uint8_t inDID,
const uint8_t inSID,
const uint32_t inIndex = 0)
const;
340 virtual AJAStatus SortListByLocation (
void);
350 virtual AJAStatus Compare (
const AJAAncillaryList & inCompareList,
const bool inIgnoreLocation =
true,
const bool inIgnoreChecksum =
true)
const;
362 virtual std::string CompareWithInfo (
const AJAAncillaryList & inCompareList,
const bool inIgnoreLocation =
true,
const bool inIgnoreChecksum =
true)
const;
373 virtual bool CompareWithInfo (std::vector<std::string> & outDiffs,
const AJAAncillaryList & inCompareList,
const bool inIgnoreLocation =
true,
const bool inIgnoreChecksum =
true)
const;
390 virtual AJAStatus GetAncillaryDataTransmitSize (
const bool inIsProgressive,
const uint32_t inF2StartLine,
391 uint32_t & outF1ByteCount, uint32_t & outF2ByteCount);
407 virtual AJAStatus GetAncillaryDataTransmitData (
const bool inIsProgressive,
const uint32_t inF2StartLine,
408 uint8_t * pOutF1AncData,
const uint32_t inF1ByteCountMax,
409 uint8_t * pOutF2AncData,
const uint32_t inF2ByteCountMax);
424 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0);
427 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0)
428 {
return GetTransmitData(F1Buffer, F2Buffer, inIsProgressive, inF2StartLine);}
455 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0);
470 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0)
483 virtual AJAStatus GetIPTransmitDataLength (uint32_t & outF1ByteCount, uint32_t & outF2ByteCount,
484 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0);
519 virtual AJAStatus AddReceivedAncillaryData (
const NTV2Buffer & inReceivedData,
const uint32_t inFrameNum = 0);
532 virtual AJAStatus AddReceivedAuxiliaryData (
const NTV2Buffer & inReceivedData,
const uint32_t inFrameNum = 0);
557 const uint32_t inFrameNum = 0);
592 virtual AJAStatus ParseAllAncillaryData (
void);
594 virtual inline AJAStatus AddReceivedAncillaryData (
const uint8_t * rcvData, \
595 const uint32_t rcvCnt, \
596 const uint32_t frmNum = 0) \
597 {
return AddReceivedAncillaryData (
NTV2Buffer (rcvData, rcvCnt), frmNum); \
614 virtual std::ostream & Print (std::ostream & oss,
const bool inDetailed =
true)
const;
629 #if defined(AJAANCLISTIMPL_VECTOR)
651 const uint32_t inFrameNum = 0);
663 const uint32_t inFrameNum = 0);
681 const bool inIsProgressive,
682 const uint32_t inF2StartLine);
697 uint32_t & outBytesWritten,
701 const bool inIsProgressive);
704 AJAAncillaryDataList m_ancList;
738 #endif // AJA_ANCILLARYLIST_H