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);
111 static AJAStatus ClearAnalogAncillaryDataTypeMap (
void);
146 static AJAAncDataType GetAnalogAncillaryDataTypeForLine (
const uint16_t inLineNum);
153 static void SetIncludeZeroLengthPackets (
const bool inExclude);
154 static uint32_t GetExcludedZeroLengthPacketCount (
void);
155 static void ResetExcludedZeroLengthPacketCount (
void);
156 static bool IsIncludingZeroLengthPackets (
void);
192 virtual inline bool IsEmpty (
void)
const {
return !CountAncillaryData();}
200 virtual AJAAncillaryData * GetAncillaryDataAtIndex (
const uint32_t inIndex)
const;
207 virtual uint32_t CountAncillaryDataWithType (
const AJAAncDataType inMatchType)
const;
224 virtual uint32_t CountAncillaryDataWithID (
const uint8_t inDID,
const uint8_t inSID)
const;
234 virtual AJAAncillaryData * GetAncillaryDataWithID (
const uint8_t inDID,
const uint8_t inSID,
const uint32_t inIndex = 0)
const;
311 virtual AJAStatus SortListByLocation (
void);
321 virtual AJAStatus Compare (
const AJAAncillaryList & inCompareList,
const bool inIgnoreLocation =
true,
const bool inIgnoreChecksum =
true)
const;
333 virtual std::string CompareWithInfo (
const AJAAncillaryList & inCompareList,
const bool inIgnoreLocation =
true,
const bool inIgnoreChecksum =
true)
const;
344 virtual bool CompareWithInfo (std::vector<std::string> & outDiffs,
const AJAAncillaryList & inCompareList,
const bool inIgnoreLocation =
true,
const bool inIgnoreChecksum =
true)
const;
361 virtual AJAStatus GetAncillaryDataTransmitSize (
const bool inIsProgressive,
const uint32_t inF2StartLine,
362 uint32_t & outF1ByteCount, uint32_t & outF2ByteCount);
378 virtual AJAStatus GetAncillaryDataTransmitData (
const bool inIsProgressive,
const uint32_t inF2StartLine,
379 uint8_t * pOutF1AncData,
const uint32_t inF1ByteCountMax,
380 uint8_t * pOutF2AncData,
const uint32_t inF2ByteCountMax);
395 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0);
398 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0)
399 {
return GetTransmitData(F1Buffer, F2Buffer, inIsProgressive, inF2StartLine);}
426 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0);
438 virtual AJAStatus GetIPTransmitDataLength (uint32_t & outF1ByteCount, uint32_t & outF2ByteCount,
439 const bool inIsProgressive =
true,
const uint32_t inF2StartLine = 0);
474 virtual AJAStatus AddReceivedAncillaryData (
const uint8_t * pInReceivedData,
const uint32_t inByteCount,
const uint32_t inFrameNum = 0);
500 const uint32_t inFrameNum = 0);
535 virtual AJAStatus ParseAllAncillaryData (
void);
550 virtual std::ostream & Print (std::ostream & inOutStream,
const bool inDetailed =
true)
const;
557 #if defined(AJAANCLISTIMPL_VECTOR)
567 static bool BufferHasGUMPData (
const NTV2Buffer & inBuffer);
579 const uint32_t inFrameNum = 0);
597 const bool inIsProgressive,
598 const uint32_t inF2StartLine);
613 uint32_t & outBytesWritten,
617 const bool inIsProgressive);
620 AJAAncillaryDataList m_ancList;
652 #endif // AJA_ANCILLARYLIST_H