diff options
| author | jhurst <jhurst@cinecert.com> | 2018-08-06 22:07:03 +0000 |
|---|---|---|
| committer | jhurst <> | 2018-08-06 22:07:03 +0000 |
| commit | f4061a21fffad4fdf8dbb2f193f0f0960b25421c (patch) | |
| tree | c66e09ce3c57e263690bc0c0f37d37e9a3aa75f8 /src/AS_02_PHDR.cpp | |
| parent | 38954bfe8dd72a817fb070c58327cd111b9bd282 (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_PHDR.cpp')
| -rw-r--r-- | src/AS_02_PHDR.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/AS_02_PHDR.cpp b/src/AS_02_PHDR.cpp index 94b973d..61795a3 100644 --- a/src/AS_02_PHDR.cpp +++ b/src/AS_02_PHDR.cpp @@ -594,9 +594,8 @@ AS_02::PHDR::MXFWriter::h__Writer::WriteFrame(const AS_02::PHDR::FrameBuffer& Fr if ( m_FramesWritten > 1 && ( ( m_FramesWritten + 1 ) % m_PartitionSpace ) == 0 ) { - m_IndexWriter.ThisPartition = m_File.Tell(); - m_IndexWriter.WriteToFile(m_File); - m_RIP.PairArray.push_back(RIP::PartitionPair(0, m_IndexWriter.ThisPartition)); + assert(m_IndexWriter.GetDuration() > 0); + FlushIndexPartition(); UL body_ul(m_Dict->ul(MDD_ClosedCompleteBodyPartition)); Partition body_part(m_Dict); @@ -627,18 +626,16 @@ Result_t AS_02::PHDR::MXFWriter::h__Writer::Finalize(const std::string& PHDR_master_metadata) { if ( ! m_State.Test_RUNNING() ) - return RESULT_STATE; + { + KM_RESULT_STATE_HERE(); + return RESULT_STATE; + } Result_t result = m_State.Goto_FINAL(); if ( KM_SUCCESS(result) ) { - if ( m_IndexWriter.GetDuration() > 0 ) - { - m_IndexWriter.ThisPartition = this->m_File.Tell(); - m_IndexWriter.WriteToFile(this->m_File); - m_RIP.PairArray.push_back(RIP::PartitionPair(0, this->m_IndexWriter.ThisPartition)); - } + FlushIndexPartition(); if ( ! PHDR_master_metadata.empty() ) { |
