summaryrefslogtreecommitdiff
path: root/src/h__Writer.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2006-03-17 00:41:14 +0000
committerjhurst <>2006-03-17 00:41:14 +0000
commitdde89765744dad9a6b9d13126092d9bfc2dbc0d7 (patch)
tree0617ee94752000b5b603145eefb1ccb4e847a13c /src/h__Writer.cpp
parent30d642bd3b8474744dfbdcc2bdc46cdf827102c4 (diff)
release
Diffstat (limited to 'src/h__Writer.cpp')
-rwxr-xr-xsrc/h__Writer.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/h__Writer.cpp b/src/h__Writer.cpp
index 3c2b97b..8fad4ed 100755
--- a/src/h__Writer.cpp
+++ b/src/h__Writer.cpp
@@ -336,7 +336,10 @@ ASDCP::h__Writer::WriteEKLVPacket(const ASDCP::FrameBuffer& FrameBuf, const byte
if ( ASDCP_SUCCESS(result) )
{ // write UL
- Overhead.WriteRaw(Dict::ul(MDD_CryptEssence), SMPTE_UL_LENGTH);
+ if ( m_Info.LabelSetType == LS_MXF_INTEROP )
+ Overhead.WriteRaw(Dict::ul(MDD_MXFInterop_CryptEssence), SMPTE_UL_LENGTH);
+ else
+ Overhead.WriteRaw(Dict::ul(MDD_CryptEssence), SMPTE_UL_LENGTH);
// construct encrypted triplet header
ui32_t ETLength = klv_cryptinfo_size + m_CtFrameBuf.Size();
@@ -430,8 +433,14 @@ ASDCP::h__Writer::WriteMXFFooter()
m_HeaderPart.m_RIP.PairArray.push_back(RIP::Pair(1, here)); // Third RIP Entry
m_HeaderPart.FooterPartition = here;
m_HeaderPart.BodySID = 1;
- // m_HeaderPart.IndexSID = m_FooterPart.IndexSID;
- m_HeaderPart.OperationalPattern = UL(Dict::ul(MDD_OPAtom));
+
+ // re-label the partition
+ UL OPAtomUL(Dict::ul(MDD_OPAtom));
+
+ if ( m_Info.LabelSetType == LS_MXF_INTEROP )
+ OPAtomUL.Set(Dict::ul(MDD_MXFInterop_OPAtom));
+
+ m_HeaderPart.OperationalPattern = OPAtomUL;
m_HeaderPart.m_Preface->OperationalPattern = m_HeaderPart.OperationalPattern;
m_FooterPart.OperationalPattern = m_HeaderPart.OperationalPattern;