Add PCMParserList.h to list of extra exported headers.
[asdcplib.git] / src / h__Writer.cpp
index 1bada6b070a20d2640872ab47c2d978ee243b89c..451796654be01e5e0acd649aed43549015cdbf0e 100755 (executable)
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2004-2006, John Hurst
+Copyright (c) 2004-2008, John Hurst
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -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)
 {
   //
   ContentStorage* Storage = new ContentStorage;
@@ -360,8 +358,11 @@ ASDCP::h__Writer::AddEssenceDescriptor(const UL& WrappingUL)
   m_HeaderPart.m_Preface->PrimaryPackage = m_FilePackage->InstanceUID;
 
   //
-  // Encryption Descriptor
+  // Essence Descriptors
   //
+  UL GenericContainerUL(Dict::ul(MDD_GCMulti));
+  m_HeaderPart.EssenceContainers.push_back(GenericContainerUL);
+
   if ( m_Info.EncryptedEssence )
     {
       UL CryptEssenceUL(Dict::ul(MDD_EncryptedContainerLabel));
@@ -371,14 +372,13 @@ ASDCP::h__Writer::AddEssenceDescriptor(const UL& WrappingUL)
     }
   else
     {
-      m_HeaderPart.EssenceContainers.push_back(UL(Dict::ul(MDD_GCMulti)));
       m_HeaderPart.EssenceContainers.push_back(WrappingUL);
     }
 
   m_HeaderPart.m_Preface->EssenceContainers = m_HeaderPart.EssenceContainers;
   m_HeaderPart.AddChildObject(m_EssenceDescriptor);
 
-  std::list<FileDescriptor*>::iterator sdli = m_EssenceSubDescriptorList.begin();
+  std::list<InterchangeObject*>::iterator sdli = m_EssenceSubDescriptorList.begin();
   for ( ; sdli != m_EssenceSubDescriptorList.end(); sdli++ )
       m_HeaderPart.AddChildObject(*sdli);