diff options
| author | Pierre-Anthony Lemieux <pal@palemieux.com> | 2020-04-12 13:28:38 -0700 |
|---|---|---|
| committer | Pierre-Anthony Lemieux <pal@palemieux.com> | 2020-04-15 14:35:46 -0700 |
| commit | b15f21a0c760bc8b8b28cd2a04491f4963ac0549 (patch) | |
| tree | db7a09f5c0cbee7f6d7f38ee7b42d0205072bbc7 /src/AS_DCP_internal.h | |
| parent | c13564dfa143310edd7c160a75898af86def24be (diff) | |
Add support for IAB Track File reading and writing
Diffstat (limited to 'src/AS_DCP_internal.h')
| -rwxr-xr-x | src/AS_DCP_internal.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/AS_DCP_internal.h b/src/AS_DCP_internal.h index 57ed006..b7712b1 100755 --- a/src/AS_DCP_internal.h +++ b/src/AS_DCP_internal.h @@ -624,7 +624,7 @@ namespace ASDCP const MXF::RIP& GetRIP() const { return m_RIP; } - void InitHeader(const MXFVersion& mxf_ver) + void InitHeader(const MXFVersion& mxf_ver, const std::vector<ASDCP::UL>* conformsToSpecifications = NULL) { assert(m_Dict); assert(m_EssenceDescriptor); @@ -633,6 +633,16 @@ namespace ASDCP m_HeaderPart.m_Preface = new Preface(m_Dict); m_HeaderPart.AddChildObject(m_HeaderPart.m_Preface); + // add conformsToSpecifications, if it exists + + if (conformsToSpecifications && conformsToSpecifications->size() > 0) { + + m_HeaderPart.m_Preface->ConformsToSpecifications.get().insert( + conformsToSpecifications->begin(), + conformsToSpecifications->end() + ); + } + // Set the Operational Pattern label -- we're just starting and have no RIP or index, // so we tell the world by using OP1a m_HeaderPart.m_Preface->OperationalPattern = UL(m_Dict->ul(MDD_OP1a)); @@ -875,6 +885,13 @@ namespace ASDCP //------------------------------------------------------------------------------------------ // +// state machine for mxf reader + enum ReaderState_t { + ST_BEGIN, // waiting for Open() + ST_READY, // ready to read frames + ST_RUNNING, // one or more frames read + }; + // class h__ASDCPReader : public MXF::TrackFileReader<OP1aHeader, OPAtomIndexFooter> { |
