summaryrefslogtreecommitdiff
path: root/src/AS_02_internal.h
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2018-08-06 22:07:03 +0000
committerjhurst <>2018-08-06 22:07:03 +0000
commitf4061a21fffad4fdf8dbb2f193f0f0960b25421c (patch)
treec66e09ce3c57e263690bc0c0f37d37e9a3aa75f8 /src/AS_02_internal.h
parent38954bfe8dd72a817fb070c58327cd111b9bd282 (diff)
o Added support for SMPTE RDD 47 "ISXD Track File"
o Added generic support for SMPTE RP 2057 "Text-Based Metadata Carriage in MXF" o Re-factored AS-02 frame-wrap index write to use a common implementation o Re-factored support for SMPTE ST 410 to use a common implementation (affects o AS-DCP and AS-02 timed-text MXF (SMPTE 429-5) o Patched several ambiguous integer casts. o Added new essence type identifiers ESS_AS02_ISXD and ESS_AS02_ACES o Fixed a bug wherein the Generic Container data tarck clip was instead being o written as a DM track o Fixed UL values DCDataDescriptor and ContainerConstraintSubDescriptor to have o a byte 6 value of 0x53 (Tag Set) instead of 0x07 (coding sentinel) o Added UL values 492 - 511 to the dictionary o Added ApplicationSchemes and ConformsToSpecifications to the Preface set o Added default initializer to MXF::LineMapPair o Added sets DescriptiveFramework, DescriptiveObject, TextBasedDMFramework, o TextBasedObject, GenericStreamTextBasedSet and ISXDDataEssenceDescriptor o Added ISXD support and options '-G', '-u' to as-02-wrap o Added ISXD support and option '-g' to as-02-unwrap
Diffstat (limited to 'src/AS_02_internal.h')
-rw-r--r--src/AS_02_internal.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/AS_02_internal.h b/src/AS_02_internal.h
index 560fb6c..e068f8d 100644
--- a/src/AS_02_internal.h
+++ b/src/AS_02_internal.h
@@ -1,5 +1,5 @@
/*
-Copyright (c) 2011-2016, Robert Scheler, Heiko Sparenberg Fraunhofer IIS,
+Copyright (c) 2011-2018, Robert Scheler, Heiko Sparenberg Fraunhofer IIS,
John Hurst
All rights reserved.
@@ -188,7 +188,7 @@ namespace AS_02
if ( KM_SUCCESS(result) )
{
- this->m_PartitionSpace *= floor( EditRate.Quotient() + 0.5 ); // convert seconds to edit units
+ this->m_PartitionSpace *= (ui32_t)floor( EditRate.Quotient() + 0.5 ); // convert seconds to edit units
this->m_ECStart = this->m_File.Tell();
this->m_IndexWriter.IndexSID = 129;
@@ -207,9 +207,7 @@ namespace AS_02
return result;
}
- // standard method of writing the header and footer of a completed AS-02 file
- //
- Result_t WriteAS02Footer()
+ void FlushIndexPartition()
{
if ( this->m_IndexWriter.GetDuration() > 0 )
{
@@ -217,7 +215,14 @@ namespace AS_02
this->m_IndexWriter.WriteToFile(this->m_File);
this->m_RIP.PairArray.push_back(RIP::PartitionPair(0, this->m_IndexWriter.ThisPartition));
}
-
+ }
+
+ // standard method of writing the header and footer of a completed AS-02 file
+ //
+ Result_t WriteAS02Footer()
+ {
+ this->FlushIndexPartition();
+
// update all Duration properties
ASDCP::MXF::Partition footer_part(this->m_Dict);
DurationElementList_t::iterator dli = this->m_DurationUpdateList.begin();