X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fh__Writer.cpp;h=69873b65fb59611eff9b62c702e4be0bc20b0044;hb=19bd80c074e1dec35404fd85607a2a68c791b2d9;hp=cb4e4615de96012cc992d7f09337b4cc8bc983cd;hpb=fd73a272189d3d121989b8437b7fbe5402160aaa;p=asdcplib.git diff --git a/src/h__Writer.cpp b/src/h__Writer.cpp index cb4e461..69873b6 100755 --- a/src/h__Writer.cpp +++ b/src/h__Writer.cpp @@ -85,6 +85,7 @@ void AddDMScrypt(Partition& HeaderPart, SourcePackage& Package, WriterInfo& Descr, const UL& WrappingUL, const Dictionary*& Dict) { + assert(Dict); // Essence Track StaticTrack* NewTrack = new StaticTrack(Dict); HeaderPart.AddChildObject(NewTrack); @@ -121,6 +122,7 @@ AddDMScrypt(Partition& HeaderPart, SourcePackage& Package, void ASDCP::h__Writer::InitHeader() { + assert(m_Dict); assert(m_EssenceDescriptor); m_HeaderPart.m_Primer.ClearTagList(); @@ -201,6 +203,7 @@ TrackSet CreateTimecodeTrack(OPAtomHeader& Header, PackageT& Package, const MXF::Rational& EditRate, ui32_t TCFrameRate, ui64_t TCStart, const Dictionary*& Dict) { + assert(Dict); UL TCUL(Dict->ul(MDD_TimecodeDataDef)); TrackSet NewTrack = CreateTrackAndSequence(Header, Package, "Timecode Track", EditRate, TCUL, 1, Dict); @@ -396,6 +399,7 @@ ASDCP::h__Writer::AddEssenceDescriptor(const UL& WrappingUL) // // Essence Descriptors // + assert(m_Dict); UL GenericContainerUL(m_Dict->ul(MDD_GCMulti)); m_HeaderPart.EssenceContainers.push_back(GenericContainerUL); @@ -425,6 +429,7 @@ ASDCP::h__Writer::AddEssenceDescriptor(const UL& WrappingUL) Result_t ASDCP::h__Writer::CreateBodyPart(const MXF::Rational& EditRate, ui32_t BytesPerEditUnit) { + assert(m_Dict); Result_t result = RESULT_OK; // create a body partition if we're writing proper 429-3/OP-Atom @@ -490,6 +495,7 @@ ASDCP::h__Writer::WriteEKLVPacket(const ASDCP::FrameBuffer& FrameBuf, const byte byte_t overhead[128]; Kumu::MemIOWriter Overhead(overhead, 128); + assert(m_Dict); if ( FrameBuf.Size() == 0 ) { @@ -517,10 +523,7 @@ ASDCP::h__Writer::WriteEKLVPacket(const ASDCP::FrameBuffer& FrameBuf, const byte if ( ASDCP_SUCCESS(result) ) { // write UL - if ( m_Info.LabelSetType == LS_MXF_INTEROP ) - Overhead.WriteRaw(m_Dict->ul(MDD_MXFInterop_CryptEssence), SMPTE_UL_LENGTH); - else - Overhead.WriteRaw(m_Dict->ul(MDD_CryptEssence), SMPTE_UL_LENGTH); + Overhead.WriteRaw(m_Dict->ul(MDD_CryptEssence), SMPTE_UL_LENGTH); // construct encrypted triplet header ui32_t ETLength = klv_cryptinfo_size + m_CtFrameBuf.Size(); @@ -616,12 +619,9 @@ ASDCP::h__Writer::WriteMXFFooter() m_HeaderPart.m_RIP.PairArray.push_back(RIP::Pair(0, here)); // Last RIP Entry m_HeaderPart.FooterPartition = here; + assert(m_Dict); // re-label the partition UL OPAtomUL(m_Dict->ul(MDD_OPAtom)); - - if ( m_Info.LabelSetType == LS_MXF_INTEROP ) - OPAtomUL.Set(m_Dict->ul(MDD_MXFInterop_OPAtom)); - m_HeaderPart.OperationalPattern = OPAtomUL; m_HeaderPart.m_Preface->OperationalPattern = m_HeaderPart.OperationalPattern;