o Fixed bugs reported by Dolby:
authorjhurst <jhurst@cinecert.com>
Wed, 3 Oct 2018 18:15:32 +0000 (18:15 +0000)
committerjhurst <>
Wed, 3 Oct 2018 18:15:32 +0000 (18:15 +0000)
    bad assert test when writing GS partition
    unset frame count in ISXD unwrap
    bad UL when writing ISXF content packages

src/AS_02_ISXD.cpp
src/as-02-unwrap.cpp
src/h__Writer.cpp

index b9aaef5fc26a68b31b655c65bf025162b30a3374..55c937d8287724e675a6abd62efafa84672d5be4 100644 (file)
@@ -330,7 +330,7 @@ AS_02::ISXD::MXFWriter::h__Writer::SetSourceStream(const std::string& label, con
        return RESULT_STATE;
     }
 
-  memcpy(m_EssenceUL, m_Dict->ul(MDD_FrameWrappedISXDContainer), SMPTE_UL_LENGTH);
+  memcpy(m_EssenceUL, m_Dict->ul(MDD_FrameWrappedISXDData), SMPTE_UL_LENGTH);
   m_EssenceUL[SMPTE_UL_LENGTH-1] = 1; // first (and only) essence container
   Result_t result = m_State.Goto_READY();
 
index 623d2db8cdddb4d6a222bb10f1e87a23418038e2..f0b3ba355dd6c0198db2a145f8fbbb80b7cc1e54 100755 (executable)
@@ -872,6 +872,7 @@ read_isxd_file(CommandOptions& Options)
   if ( ASDCP_SUCCESS(result) )
     {
       result = FrameBuffer.Capacity(Options.fb_size);
+      frame_count = Reader.AS02IndexReader().GetDuration();
     }
 
   if ( ASDCP_SUCCESS(result) )
index 97c6fc22eec785cf37664e04bd2ed76b1bc4da5b..99d835a449306ec4d8c5bd338cfa4fffa33a485c 100755 (executable)
@@ -193,7 +193,12 @@ ASDCP::AddDmsTrackGenericPartUtf8Text(Kumu::FileWriter& file_writer, MXF::OP1aHe
        }
     }
 
-  assert(max_sid>1);
+  if ( max_sid == 0 )
+    {
+      DefaultLogSink().Error("Unable to add a GS Partition before the essence container has been established.\n");
+      return RESULT_FORMAT;
+    }
+
   rip.PairArray.push_back(RIP::PartitionPair(max_sid + 1, file_writer.Tell()));
 
   // Add new GSTBS linked to DMF