/*
-Copyright (c) 2011-2013, Robert Scheler, Heiko Sparenberg Fraunhofer IIS,
+Copyright (c) 2011-2018, Robert Scheler, Heiko Sparenberg Fraunhofer IIS,
John Hurst
All rights reserved.
Result_t
AS_02::JP2K::MXFReader::h__Reader::OpenRead(const std::string& filename)
{
- Result_t result = OpenMXFRead(filename.c_str());
+ Result_t result = OpenMXFRead(filename);
if( KM_SUCCESS(result) )
{
return RESULT_INIT;
}
+//
+void
+AS_02::JP2K::MXFReader::DumpHeaderMetadata(FILE* stream) const
+{
+ if ( m_Reader && m_Reader->m_File.IsOpen() )
+ {
+ m_Reader->m_HeaderPart.Dump(stream);
+ }
+}
+
+
+//
+void
+AS_02::JP2K::MXFReader::DumpIndex(FILE* stream) const
+{
+ if ( m_Reader && m_Reader->m_File.IsOpen() )
+ {
+ m_Reader->m_IndexAccess.Dump(stream);
+ }
+}
//------------------------------------------------------------------------------------------
if ( KM_SUCCESS(result) )
{
- result = WriteAS02Header(label, UL(m_Dict->ul(MDD_JPEG_2000WrappingFrame)),
+ UL wrapping_label = UL(m_Dict->ul(MDD_MXFGCP1FrameWrappedPictureElement));
+
+ CDCIEssenceDescriptor *cdci_descriptor = dynamic_cast<CDCIEssenceDescriptor*>(m_EssenceDescriptor);
+ if ( cdci_descriptor )
+ {
+ if ( cdci_descriptor->FrameLayout ) // 0 == progressive, 1 == interlace
+ {
+ wrapping_label = UL(m_Dict->ul(MDD_MXFGCI1FrameWrappedPictureElement));
+ }
+ }
+
+ result = WriteAS02Header(label, wrapping_label,
PICT_DEF_LABEL, UL(m_EssenceUL), UL(m_Dict->ul(MDD_PictureDataDef)),
edit_rate, derive_timecode_rate_from_edit_rate(edit_rate));
if ( KM_SUCCESS(result) )
{
this->m_IndexWriter.SetPrimerLookup(&this->m_HeaderPart.m_Primer);
+ this->m_IndexWriter.SetEditRate(m_EssenceDescriptor->SampleRate);
}
}
if ( KM_SUCCESS(result) )
{
- result = WriteEKLVPacket(FrameBuf, m_EssenceUL, Ctx, HMAC);
+ result = WriteEKLVPacket(FrameBuf, m_EssenceUL, MXF_BER_LENGTH, Ctx, HMAC);
m_FramesWritten++;
}