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);
204 virtual inline bool IsEmpty (
void)
const {
return !CountAncillaryData();}
212 virtual AJAAncillaryData * GetAncillaryDataAtIndex (
const uint32_t inIndex)
const;
219 virtual uint32_t CountAncillaryDataWithType (
const AJAAncDataType inMatchType)
const;
236 virtual uint32_t CountAncillaryDataWithID (
const uint8_t inDID,
const uint8_t inSID)
const;
246 virtual AJAAncillaryData * GetAncillaryDataWithID (
const uint8_t inDID,
const uint8_t inSID,
const uint32_t inIndex = 0)
const;
323 virtual AJAStatus SortListByLocation (
void);
333 virtual AJAStatus Compare (
const AJAAncillaryList & inCompareList,
const bool inIgnoreLocation =
true,
const bool inIgnoreChecksum =
true)
const;
345 virtual std::string CompareWithInfo (
const AJAAncillaryList & inCompareList,
const bool inIgnoreLocation =
true,
const bool inIgnoreChecksum =
true)
const;
356 virtual bool CompareWithInfo (std::vector<std::string> & outDiffs,
const AJAAncillaryList & inCompareList,
const bool inIgnoreLocation =
true,
const bool inIgnoreChecksum =
true)
const;
373 virtual AJAStatus GetAncillaryDataTransmitSize (
const bool inIsProgressive,
const uint32_t inF2StartLine,
374 uint32_t & outF1ByteCount, uint32_t & outF2ByteCount);
390 virtual AJAStatus GetAncillaryDataTransmitData (
const bool inIsProgressive,
const uint32_t inF2StartLine,
391 uint8_t * pOutF1AncData,
const uint32_t inF1ByteCountMax,
392 uint8_t * pOutF2AncData,
const uint32_t inF2ByteCountMax);
407 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0);
410 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0)
411 {
return GetTransmitData(F1Buffer, F2Buffer, inIsProgressive, inF2StartLine);}
438 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0);
453 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0)
466 virtual AJAStatus GetIPTransmitDataLength (uint32_t & outF1ByteCount, uint32_t & outF2ByteCount,
467 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0);
502 virtual AJAStatus AddReceivedAncillaryData (
const NTV2Buffer & inReceivedData,
const uint32_t inFrameNum = 0);
515 virtual AJAStatus AddReceivedAuxiliaryData (
const NTV2Buffer & inReceivedData,
const uint32_t inFrameNum = 0);
540 const uint32_t inFrameNum = 0);
575 virtual AJAStatus ParseAllAncillaryData (
void);
577 virtual inline AJAStatus AddReceivedAncillaryData (
const uint8_t * rcvData, \
578 const uint32_t rcvCnt, \
579 const uint32_t frmNum = 0) \
580 {
return AddReceivedAncillaryData (
NTV2Buffer (rcvData, rcvCnt), frmNum); \
596 virtual std::ostream & Print (std::ostream & inOutStream,
const bool inDetailed =
true)
const;
611 #if defined(AJAANCLISTIMPL_VECTOR)
633 const uint32_t inFrameNum = 0);
645 const uint32_t inFrameNum = 0);
663 const bool inIsProgressive,
664 const uint32_t inF2StartLine);
679 uint32_t & outBytesWritten,
683 const bool inIsProgressive);
686 AJAAncillaryDataList m_ancList;
720 #endif // AJA_ANCILLARYLIST_H