diff options
| author | John Hurst <jhurst@cinecert.com> | 2020-07-07 10:48:29 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-07 10:48:29 -0700 |
| commit | 3562c679bc8fd59ac91541bba2144a778bfdbf02 (patch) | |
| tree | e7a53012d45461876839fdc480aee939ab6d8cb1 /src/AS_DCP_internal.h | |
| parent | dc74dc00c2f225344f14c39969bd6b66664b4fd4 (diff) | |
| parent | f421cbb767e0437458332200e3f8537064feaaa8 (diff) | |
Merge pull request #45 from cinecert/iab-labels
Add support for IAB Track Files (SMPTE ST 2067-201)
Diffstat (limited to 'src/AS_DCP_internal.h')
| -rwxr-xr-x | src/AS_DCP_internal.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/AS_DCP_internal.h b/src/AS_DCP_internal.h index a684ba5..7162368 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,18 @@ 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.set_has_value(); + + 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)); @@ -881,6 +893,13 @@ namespace ASDCP //------------------------------------------------------------------------------------------ // +// state machine for mxf reader + enum ReaderState_t { + ST_READER_BEGIN, // waiting for Open() + ST_READER_READY, // ready to read frames + ST_READER_RUNNING, // one or more frames read + }; + // class h__ASDCPReader : public MXF::TrackFileReader<OP1aHeader, OPAtomIndexFooter> { |
