summaryrefslogtreecommitdiff
path: root/src/AS_DCP_JP2K.cpp
diff options
context:
space:
mode:
authorJohn Hurst <jhurst@cinecert.com>2021-08-27 07:44:04 -0700
committerGitHub <noreply@github.com>2021-08-27 07:44:04 -0700
commitb8dea7232f134cc54f516e1f0f914d626594eaa4 (patch)
treeab1fcf6f04c89caecb086e2c8964e346425fe6ff /src/AS_DCP_JP2K.cpp
parent9b1a901aef79dfe022c54dfdb1e0c1c1b4a451a8 (diff)
parent404ae7e7645525b0ac846ab1c4f08a2867cfc680 (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-xsrc/AS_DCP_JP2K.cpp56
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;