diff options
| author | jhurst <jhurst@cinecert.com> | 2013-12-15 23:34:13 +0000 |
|---|---|---|
| committer | jhurst <> | 2013-12-15 23:34:13 +0000 |
| commit | 7f373b689817ee70fbe5d6a14cb0512b5260f77c (patch) | |
| tree | 0b182f46691f1420e18be08ea1952a818c546f94 /src/h__02_Writer.cpp | |
| parent | 1f41555bcf96369227cda526e36196fe512f464e (diff) | |
o Added preliminary support for timed-text wrapping for AS-02. This
work will require changes in SMPTE ST 429-5 and perhaps other
standards work, so files created with this implementation are
"speculative". Publication of the revised ST 429-5 may not occur
until early 2015.
o Moved LocalFilenameResolver into the AS_DCP public API so that it
can be used by other modules including AS-02.
o Fixed wave wrapping UL in clip-wrapped AS-02 files. Renamed some
UL constants to reflect "clip" or "frame" wrapping.
o Re-factored JP2K_PDesc_to_MD() and MD_to_JP2K_PDesc() to work
with GenericPictureEssenceDescriptor objects.
o Fixed a bug that was suppressing PictureComponentSizing,
CodingStyleDefault and QuantizationDefault when writing the
essence descriptor in a JP2K file (AS-DCP and AS-02).
o Fixed the version byte on the following UL values:
StereoscopicPictureSubDescriptor
GenericPictureEssenceDescriptor_ColorPrimaries
GenericPictureEssenceDescriptor_ActiveHeight
GenericPictureEssenceDescriptor_ActiveWidth
GenericPictureEssenceDescriptor_ActiveXOffset
GenericPictureEssenceDescriptor_ActiveYOffset
o Added some essence descriptor options to as-02-wrap.
o Added TTML timed-text wrapping option to as-02-wrap.
o Changed bit rate display in asdcp-info from mebi-bits/s to
mega-bits/s.
o Added "SMPTE" / "Interop" format type display to asdcp-info.
o Modified asdcp-wrap to assume -L when wrapping timed-text (since
there is no MXF text wrapping for Interop.)
o Fixed missing-index-partion bugs for AS-02 files.
Diffstat (limited to 'src/h__02_Writer.cpp')
| -rw-r--r-- | src/h__02_Writer.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/h__02_Writer.cpp b/src/h__02_Writer.cpp index a121142..c81da5c 100644 --- a/src/h__02_Writer.cpp +++ b/src/h__02_Writer.cpp @@ -122,23 +122,25 @@ AS_02::MXF::AS02IndexWriter::Dump(FILE* stream) Partition::Dump(stream); std::list<InterchangeObject*>::iterator i = m_PacketList->m_List.begin(); - for ( ; i != m_PacketList->m_List.end(); i++ ) - (*i)->Dump(stream); + for ( ; i != m_PacketList->m_List.end(); ++i ) + { + (*i)->Dump(stream); + } } // ui32_t AS_02::MXF::AS02IndexWriter::GetDuration() const { - ui32_t duration; + ui32_t duration = 0; std::list<InterchangeObject*>::const_iterator i; for ( i = m_PacketList->m_List.begin(); i != m_PacketList->m_List.end(); ++i ) { - if ( (*i)->IsA(OBJ_TYPE_ARGS(IndexTableSegment)) ) + IndexTableSegment* segment = dynamic_cast<IndexTableSegment*>(*i); + if ( segment != 0 ) { - IndexTableSegment& Segment = *(IndexTableSegment*)*i; - duration += Segment.IndexDuration; + duration += segment->IndexEntryArray.size(); } } @@ -380,7 +382,6 @@ AS_02::h__AS02Writer::FinalizeClip(ui32_t bytes_per_frame) Result_t AS_02::h__AS02Writer::WriteAS02Footer() { - if ( m_IndexWriter.GetDuration() > 0 ) { m_IndexWriter.ThisPartition = m_File.Tell(); |
