From fa71fce41f9fe79ab27a35461d625931d21f588a Mon Sep 17 00:00:00 2001 From: jelkins Date: Fri, 9 Oct 2020 11:45:53 -0700 Subject: add new function to calculate ContainerDuration from IndexTableSegment --- src/MXF.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/MXF.cpp') diff --git a/src/MXF.cpp b/src/MXF.cpp index c5cc07e..813ee15 100755 --- a/src/MXF.cpp +++ b/src/MXF.cpp @@ -1230,6 +1230,25 @@ ASDCP::MXF::OPAtomIndexFooter::GetMDObjectsByType(const byte_t* ObjectID, std::l return m_PacketList->GetMDObjectsByType(ObjectID, ObjectList); } +// +ui64_t +ASDCP::MXF::OPAtomIndexFooter::ContainerDuration() const +{ + ui64_t container_duration = 0; + std::list::iterator li; + for ( li = m_PacketList->m_List.begin(); li != m_PacketList->m_List.end(); li++ ) + { + IndexTableSegment *segment = dynamic_cast(*li); + + if ( segment != 0 ) + { + container_duration += segment->IndexDuration; + } + } + + return container_duration; +} + // ASDCP::Result_t ASDCP::MXF::OPAtomIndexFooter::Lookup(ui32_t frame_num, IndexTableSegment::IndexEntry& Entry) const -- cgit v1.2.3