diff options
| author | John Hurst <jhurst@cinecert.com> | 2021-08-27 07:44:04 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-27 07:44:04 -0700 |
| commit | b8dea7232f134cc54f516e1f0f914d626594eaa4 (patch) | |
| tree | ab1fcf6f04c89caecb086e2c8964e346425fe6ff /src/AS_DCP_JP2K.cpp | |
| parent | 9b1a901aef79dfe022c54dfdb1e0c1c1b4a451a8 (diff) | |
| parent | 404ae7e7645525b0ac846ab1c4f08a2867cfc680 (diff) | |
Merge pull request #2 from DolbyLaboratories/dolby/atmos_storage/asdcplib_integration/as02info_as02unwrap_iab
Merge dolby/atmos_storage/asdcplib_integration/as02info_as02unwrap_iab (contains also FileReader pluggable at runtime) to master
Diffstat (limited to 'src/AS_DCP_JP2K.cpp')
| -rwxr-xr-x | src/AS_DCP_JP2K.cpp | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/AS_DCP_JP2K.cpp b/src/AS_DCP_JP2K.cpp index 73b0494..06f86cd 100755 --- a/src/AS_DCP_JP2K.cpp +++ b/src/AS_DCP_JP2K.cpp @@ -530,8 +530,8 @@ class lh__Reader : public ASDCP::h__ASDCPReader public: PictureDescriptor m_PDesc; // codestream parameter list - lh__Reader(const Dictionary *d) : - ASDCP::h__ASDCPReader(d), m_EssenceDescriptor(0), m_EssenceSubDescriptor(0), m_Format(ESS_UNKNOWN) {} + lh__Reader(const Dictionary *d, const Kumu::IFileReaderFactory& fileReaderFactory) : + ASDCP::h__ASDCPReader(d, fileReaderFactory), m_EssenceDescriptor(0), m_EssenceSubDescriptor(0), m_Format(ESS_UNKNOWN) {} virtual ~lh__Reader() {} @@ -706,7 +706,7 @@ ASDCP::Result_t lh__Reader::ReadFrame(ui32_t FrameNum, JP2K::FrameBuffer& FrameBuf, AESDecContext* Ctx, HMACContext* HMAC) { - if ( ! m_File.IsOpen() ) + if ( ! m_File->IsOpen() ) return RESULT_INIT; assert(m_Dict); @@ -721,7 +721,7 @@ class ASDCP::JP2K::MXFReader::h__Reader : public lh__Reader h__Reader(); public: - h__Reader(const Dictionary *d) : lh__Reader(d) {} + h__Reader(const Dictionary *d, const Kumu::IFileReaderFactory& fileReaderFactory) : lh__Reader(d, fileReaderFactory) {} }; @@ -747,15 +747,15 @@ ASDCP::JP2K::FrameBuffer::Dump(FILE* stream, ui32_t dump_len) const //------------------------------------------------------------------------------------------ -ASDCP::JP2K::MXFReader::MXFReader() +ASDCP::JP2K::MXFReader::MXFReader(const Kumu::IFileReaderFactory& fileReaderFactory) { - m_Reader = new h__Reader(&DefaultCompositeDict()); + m_Reader = new h__Reader(&DefaultCompositeDict(), fileReaderFactory); } ASDCP::JP2K::MXFReader::~MXFReader() { - if ( m_Reader && m_Reader->m_File.IsOpen() ) + if ( m_Reader && m_Reader->m_File->IsOpen() ) m_Reader->Close(); } @@ -817,7 +817,7 @@ ASDCP::Result_t ASDCP::JP2K::MXFReader::ReadFrame(ui32_t FrameNum, FrameBuffer& FrameBuf, AESDecContext* Ctx, HMACContext* HMAC) const { - if ( m_Reader && m_Reader->m_File.IsOpen() ) + if ( m_Reader && m_Reader->m_File->IsOpen() ) return m_Reader->ReadFrame(FrameNum, FrameBuf, Ctx, HMAC); return RESULT_INIT; @@ -835,7 +835,7 @@ ASDCP::JP2K::MXFReader::LocateFrame(ui32_t FrameNum, Kumu::fpos_t& streamOffset, ASDCP::Result_t ASDCP::JP2K::MXFReader::FillPictureDescriptor(PictureDescriptor& PDesc) const { - if ( m_Reader && m_Reader->m_File.IsOpen() ) + if ( m_Reader && m_Reader->m_File->IsOpen() ) { PDesc = m_Reader->m_PDesc; return RESULT_OK; @@ -850,7 +850,7 @@ ASDCP::JP2K::MXFReader::FillPictureDescriptor(PictureDescriptor& PDesc) const ASDCP::Result_t ASDCP::JP2K::MXFReader::FillWriterInfo(WriterInfo& Info) const { - if ( m_Reader && m_Reader->m_File.IsOpen() ) + if ( m_Reader && m_Reader->m_File->IsOpen() ) { Info = m_Reader->m_Info; return RESULT_OK; @@ -863,7 +863,7 @@ ASDCP::JP2K::MXFReader::FillWriterInfo(WriterInfo& Info) const void ASDCP::JP2K::MXFReader::DumpHeaderMetadata(FILE* stream) const { - if ( m_Reader->m_File.IsOpen() ) + if ( m_Reader->m_File->IsOpen() ) m_Reader->m_HeaderPart.Dump(stream); } @@ -872,7 +872,7 @@ ASDCP::JP2K::MXFReader::DumpHeaderMetadata(FILE* stream) const void ASDCP::JP2K::MXFReader::DumpIndex(FILE* stream) const { - if ( m_Reader->m_File.IsOpen() ) + if ( m_Reader->m_File->IsOpen() ) m_Reader->m_IndexAccess.Dump(stream); } @@ -880,7 +880,7 @@ ASDCP::JP2K::MXFReader::DumpIndex(FILE* stream) const ASDCP::Result_t ASDCP::JP2K::MXFReader::Close() const { - if ( m_Reader && m_Reader->m_File.IsOpen() ) + if ( m_Reader && m_Reader->m_File->IsOpen() ) { m_Reader->Close(); return RESULT_OK; @@ -898,7 +898,7 @@ class ASDCP::JP2K::MXFSReader::h__SReader : public lh__Reader ui32_t m_StereoFrameReady; public: - h__SReader(const Dictionary *d) : lh__Reader(d), m_StereoFrameReady(0xffffffff) {} + h__SReader(const Dictionary *d, const Kumu::IFileReaderFactory& fileReaderFactory) : lh__Reader(d, fileReaderFactory), m_StereoFrameReady(0xffffffff) {} // Result_t ReadFrame(ui32_t FrameNum, StereoscopicPhase_t phase, FrameBuffer& FrameBuf, @@ -921,7 +921,7 @@ public: if ( FilePosition != m_LastPosition ) { m_LastPosition = FilePosition; - result = m_File.Seek(FilePosition); + result = m_File->Seek(FilePosition); } // the call to ReadEKLVPacket() will leave the file on an R frame @@ -936,17 +936,17 @@ public: if ( FilePosition != m_LastPosition ) { m_LastPosition = FilePosition; - result = m_File.Seek(FilePosition); + result = m_File->Seek(FilePosition); } KLReader Reader; - result = Reader.ReadKLFromFile(m_File); + result = Reader.ReadKLFromFile(*m_File); if ( ASDCP_SUCCESS(result) ) { // skip over the companion SP_LEFT frame Kumu::fpos_t new_pos = FilePosition + SMPTE_UL_LENGTH + Reader.KLLength() + Reader.Length(); - result = m_File.Seek(new_pos); + result = m_File->Seek(new_pos); } } @@ -973,15 +973,15 @@ public: -ASDCP::JP2K::MXFSReader::MXFSReader() +ASDCP::JP2K::MXFSReader::MXFSReader(const Kumu::IFileReaderFactory& fileReaderFactory) { - m_Reader = new h__SReader(&DefaultCompositeDict()); + m_Reader = new h__SReader(&DefaultCompositeDict(), fileReaderFactory); } ASDCP::JP2K::MXFSReader::~MXFSReader() { - if ( m_Reader && m_Reader->m_File.IsOpen() ) + if ( m_Reader && m_Reader->m_File->IsOpen() ) m_Reader->Close(); } @@ -1044,7 +1044,7 @@ ASDCP::JP2K::MXFSReader::ReadFrame(ui32_t FrameNum, SFrameBuffer& FrameBuf, AESD { Result_t result = RESULT_INIT; - if ( m_Reader && m_Reader->m_File.IsOpen() ) + if ( m_Reader && m_Reader->m_File->IsOpen() ) { result = m_Reader->ReadFrame(FrameNum, SP_LEFT, FrameBuf.Left, Ctx, HMAC); @@ -1060,7 +1060,7 @@ ASDCP::Result_t ASDCP::JP2K::MXFSReader::ReadFrame(ui32_t FrameNum, StereoscopicPhase_t phase, FrameBuffer& FrameBuf, AESDecContext* Ctx, HMACContext* HMAC) const { - if ( m_Reader && m_Reader->m_File.IsOpen() ) + if ( m_Reader && m_Reader->m_File->IsOpen() ) return m_Reader->ReadFrame(FrameNum, phase, FrameBuf, Ctx, HMAC); return RESULT_INIT; @@ -1077,7 +1077,7 @@ ASDCP::JP2K::MXFSReader::LocateFrame(ui32_t FrameNum, Kumu::fpos_t& streamOffset ASDCP::Result_t ASDCP::JP2K::MXFSReader::FillPictureDescriptor(PictureDescriptor& PDesc) const { - if ( m_Reader && m_Reader->m_File.IsOpen() ) + if ( m_Reader && m_Reader->m_File->IsOpen() ) { PDesc = m_Reader->m_PDesc; return RESULT_OK; @@ -1092,7 +1092,7 @@ ASDCP::JP2K::MXFSReader::FillPictureDescriptor(PictureDescriptor& PDesc) const ASDCP::Result_t ASDCP::JP2K::MXFSReader::FillWriterInfo(WriterInfo& Info) const { - if ( m_Reader && m_Reader->m_File.IsOpen() ) + if ( m_Reader && m_Reader->m_File->IsOpen() ) { Info = m_Reader->m_Info; return RESULT_OK; @@ -1105,7 +1105,7 @@ ASDCP::JP2K::MXFSReader::FillWriterInfo(WriterInfo& Info) const void ASDCP::JP2K::MXFSReader::DumpHeaderMetadata(FILE* stream) const { - if ( m_Reader->m_File.IsOpen() ) + if ( m_Reader->m_File->IsOpen() ) m_Reader->m_HeaderPart.Dump(stream); } @@ -1114,7 +1114,7 @@ ASDCP::JP2K::MXFSReader::DumpHeaderMetadata(FILE* stream) const void ASDCP::JP2K::MXFSReader::DumpIndex(FILE* stream) const { - if ( m_Reader->m_File.IsOpen() ) + if ( m_Reader->m_File->IsOpen() ) m_Reader->m_IndexAccess.Dump(stream); } @@ -1122,7 +1122,7 @@ ASDCP::JP2K::MXFSReader::DumpIndex(FILE* stream) const ASDCP::Result_t ASDCP::JP2K::MXFSReader::Close() const { - if ( m_Reader && m_Reader->m_File.IsOpen() ) + if ( m_Reader && m_Reader->m_File->IsOpen() ) { m_Reader->Close(); return RESULT_OK; |
