fixed PackageUID
authorjhurst <jhurst@cinecert.com>
Tue, 12 Jun 2007 05:28:29 +0000 (05:28 +0000)
committerjhurst <>
Tue, 12 Jun 2007 05:28:29 +0000 (05:28 +0000)
src/AS_DCP_TimedText.cpp
src/AS_DCP_internal.h
src/h__Writer.cpp

index 3e6108c005596c672d6e19d76ff87f95b2063c14..f5fcdb880d4c72056b8bd25cba4d4f815a9c5d41 100644 (file)
@@ -185,6 +185,9 @@ ASDCP::TimedText::MXFReader::h__Reader::OpenRead(char const* filename)
   if( ASDCP_SUCCESS(result) )
     result = InitInfo();
 
+  if( ASDCP_SUCCESS(result) )
+    memcpy(m_TDesc.AssetID, m_Info.AssetUUID, UUIDlen);
+
   return result;
 }
 
@@ -225,10 +228,9 @@ ASDCP::TimedText::MXFReader::h__Reader::ReadAncillaryResource(const byte_t* uuid
       RIP::Pair TmpPair;
       ui32_t sequence = 1;
 
-      // look up the partition start in the RIP using the SID
-      // count the distance in because this is the sequence value needed to 
-      // complete the HMAC
-      //      result = m_HeaderPart.m_RIP.GetPairBySID(DescObject->ResourceSID, TmpPair);
+      // Look up the partition start in the RIP using the SID.
+      // Count the sequence length in because this is the sequence
+      // value needed to  complete the HMAC.
       for ( pi = m_HeaderPart.m_RIP.PairArray.begin(); pi != m_HeaderPart.m_RIP.PairArray.end(); pi++, sequence++ )
        {
          if ( (*pi).BodySID == DescObject->ResourceSID )
@@ -415,7 +417,6 @@ ASDCP::Result_t
 ASDCP::TimedText::MXFWriter::h__Writer::TimedText_TDesc_to_MD(TimedText::TimedTextDescriptor& TDesc)
 {
   assert(m_EssenceDescriptor);
-  //  assert(m_EssenceSubDescriptor);
   MXF::DCTimedTextDescriptor* TDescObj = (MXF::DCTimedTextDescriptor*)m_EssenceDescriptor;
 
   TDescObj->SampleRate = TDesc.EditRate;
@@ -471,9 +472,12 @@ ASDCP::TimedText::MXFWriter::h__Writer::SetSourceStream(ASDCP::TimedText::TimedT
 
   if ( ASDCP_SUCCESS(result) )
     {
+      UMID SourcePackageUMID;
+      SourcePackageUMID.MakeUMID(0x0f, m_TDesc.AssetID);
+
       InitHeader();
       AddDMSegment(m_TDesc.EditRate, 24, TIMED_TEXT_DEF_LABEL,
-                  UL(Dict::ul(MDD_PictureDataDef)), TIMED_TEXT_PACKAGE_LABEL);
+                  UL(Dict::ul(MDD_PictureDataDef)), TIMED_TEXT_PACKAGE_LABEL, SourcePackageUMID);
 
       AddEssenceDescriptor(UL(Dict::ul(MDD_DCTimedTextWrapping)));
 
index ff86d4022c65d377353e7a44fbc927621fbbdac9..7242ef8ae178e1f86b5f4ef9aebe08574b474297 100755 (executable)
@@ -195,7 +195,7 @@ namespace ASDCP
                         const std::string& PackageLabel);
       void AddDMSegment(const MXF::Rational& EditRate, ui32_t TCFrameRate,
                         const std::string& TrackName, const UL& DataDefinition,
-                        const std::string& PackageLabel);
+                       const std::string& PackageLabel, const UMID& PackageUID);
       void AddEssenceDescriptor(const UL& WrappingUL);
       Result_t CreateBodyPart(const MXF::Rational& EditRate, ui32_t BytesPerEditUnit = 0);
 
index 1bada6b070a20d2640872ab47c2d978ee243b89c..76d657b4fc5ace8542460f96dc883bd8f3bb1e9e 100755 (executable)
@@ -45,8 +45,6 @@ using namespace ASDCP::MXF;
 //
 ASDCP::h__Writer::h__Writer() :
   m_HeaderSize(0), m_EssenceStart(0),
-  //  m_MaterialPackage(0), m_MPTCSequence(0), m_MPTimecode(0), m_MPClSequence(0), m_MPClip(0),
-  //  m_FilePackage(0), m_FPTCSequence(0), m_FPTimecode(0), m_FPClSequence(0), m_FPClip(0),
   m_EssenceDescriptor(0), m_FramesWritten(0), m_StreamOffset(0)
 {
 }
@@ -274,7 +272,7 @@ ASDCP::h__Writer::AddSourceClip(const MXF::Rational& EditRate, ui32_t TCFrameRat
 void
 ASDCP::h__Writer::AddDMSegment(const MXF::Rational& EditRate, ui32_t TCFrameRate,
                                const std::string& TrackName, const UL& DataDefinition,
-                               const std::string& PackageLabel)
+                              const std::string& PackageLabel, const UMID& SourcePackageUMID)
 {
   //
   ContentStorage* Storage = new ContentStorage;
@@ -287,9 +285,9 @@ ASDCP::h__Writer::AddDMSegment(const MXF::Rational& EditRate, ui32_t TCFrameRate
   ECD->IndexSID = 129;
   ECD->BodySID = 1;
 
-  UUID assetUUID(m_Info.AssetUUID);
-  UMID SourcePackageUMID, MaterialPackageUMID;
-  SourcePackageUMID.MakeUMID(0x0f, assetUUID);
+  //  UUID assetUUID(m_Info.AssetUUID);
+  UMID MaterialPackageUMID;
+  //  SourcePackageUMID.MakeUMID(0x0f, assetUUID);
   MaterialPackageUMID.MakeUMID(0x0f); // unidentified essence
 
   //