summaryrefslogtreecommitdiff
path: root/src/h__Writer.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2006-10-05 20:31:27 +0000
committerjhurst <>2006-10-05 20:31:27 +0000
commit33e54d79badffc06cb5344a906e765c8bcffbbcf (patch)
treea3b2e9eb4bed404acd65b8b0f99c9d1b96322ff7 /src/h__Writer.cpp
parentf03fdc18bdf7d3f3b4141024de01d0538f2b224d (diff)
oops
Diffstat (limited to 'src/h__Writer.cpp')
-rwxr-xr-xsrc/h__Writer.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/h__Writer.cpp b/src/h__Writer.cpp
index a3b9457..32568c4 100755
--- a/src/h__Writer.cpp
+++ b/src/h__Writer.cpp
@@ -55,7 +55,6 @@ ASDCP::h__Writer::~h__Writer()
{
}
-
//
// add DMS CryptographicFramework entry to source package
void
@@ -275,22 +274,24 @@ ASDCP::h__Writer::WriteMXFHeader(const std::string& PackageLabel, const UL& Wrap
m_HeaderPart.m_Preface->EssenceContainers = m_HeaderPart.EssenceContainers;
m_HeaderPart.AddChildObject(m_EssenceDescriptor);
+
+ std::list<FileDescriptor*>::iterator sdli = m_EssenceSubDescriptorList.begin();
+ for ( ; sdli != m_EssenceSubDescriptorList.end(); sdli++ )
+ m_HeaderPart.AddChildObject(*sdli);
+
m_FilePackage->Descriptor = m_EssenceDescriptor->InstanceUID;
// Write the header partition
Result_t result = m_HeaderPart.WriteToFile(m_File, m_HeaderSize);
- if ( ASDCP_SUCCESS(result) )
+ // create a body partition of we're writing proper 429-3/OP-Atom
+ if ( ASDCP_SUCCESS(result) && m_Info.LabelSetType == LS_MXF_SMPTE )
{
// Body Partition
m_BodyPart.EssenceContainers = m_HeaderPart.EssenceContainers;
m_BodyPart.ThisPartition = m_File.Tell();
m_BodyPart.BodySID = 1;
UL OPAtomUL(Dict::ul(MDD_OPAtom));
-
- if ( m_Info.LabelSetType == LS_MXF_INTEROP )
- OPAtomUL.Set(Dict::ul(MDD_MXFInterop_OPAtom));
-
m_BodyPart.OperationalPattern = OPAtomUL;
m_HeaderPart.m_RIP.PairArray.push_back(RIP::Pair(1, m_BodyPart.ThisPartition)); // Second RIP Entry