summaryrefslogtreecommitdiff
path: root/src/PCM_Parser.cpp
diff options
context:
space:
mode:
authormilla <marc.illa@dolby.com>2021-05-26 13:32:55 +0200
committermilla <marc.illa@dolby.com>2021-06-03 13:50:11 +0200
commitfacf4f4c7a8ed65d59baed9020d5fa061b952874 (patch)
tree8c718f4b7690db47315ebf70b6443f3fba540cf7 /src/PCM_Parser.cpp
parent7a085ad0d445ffc63ec42a2faa69a82138931575 (diff)
FileReader pluggable at runtime
Diffstat (limited to 'src/PCM_Parser.cpp')
-rwxr-xr-xsrc/PCM_Parser.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/PCM_Parser.cpp b/src/PCM_Parser.cpp
index 072c235..43111fd 100755
--- a/src/PCM_Parser.cpp
+++ b/src/PCM_Parser.cpp
@@ -45,14 +45,14 @@ using namespace ASDCP::RF64;
//
class ASDCP::PCM::WAVParser::h__WAVParser
{
- Kumu::FileReader m_FileReader;
- bool m_EOF;
- ui32_t m_DataStart;
- ui64_t m_DataLength;
- ui64_t m_ReadCount;
- ui32_t m_FrameBufferSize;
- ui32_t m_FramesRead;
- Rational m_PictureRate;
+ Kumu::IFileReader* m_FileReader;
+ bool m_EOF;
+ ui32_t m_DataStart;
+ ui64_t m_DataLength;
+ ui64_t m_ReadCount;
+ ui32_t m_FrameBufferSize;
+ ui32_t m_FramesRead;
+ Rational m_PictureRate;
ASDCP_NO_COPY_CONSTRUCT(h__WAVParser);
@@ -81,14 +81,14 @@ public:
void
ASDCP::PCM::WAVParser::h__WAVParser::Close()
{
- m_FileReader.Close();
+ m_FileReader->Close();
}
//
void
ASDCP::PCM::WAVParser::h__WAVParser::Reset()
{
- m_FileReader.Seek(m_DataStart);
+ m_FileReader->Seek(m_DataStart);
m_FramesRead = 0;
m_ReadCount = 0;
}
@@ -97,12 +97,12 @@ ASDCP::PCM::WAVParser::h__WAVParser::Reset()
ASDCP::Result_t
ASDCP::PCM::WAVParser::h__WAVParser::OpenRead(const std::string& filename, const Rational& PictureRate)
{
- Result_t result = m_FileReader.OpenRead(filename);
+ Result_t result = m_FileReader->OpenRead(filename);
if ( ASDCP_SUCCESS(result) )
{
SimpleWaveHeader WavHeader;
- result = WavHeader.ReadFromFile(m_FileReader, &m_DataStart);
+ result = WavHeader.ReadFromFile(*m_FileReader, &m_DataStart);
if ( ASDCP_SUCCESS(result) )
{
@@ -116,9 +116,9 @@ ASDCP::PCM::WAVParser::h__WAVParser::OpenRead(const std::string& filename, const
else
{
ASDCP::AIFF::SimpleAIFFHeader AIFFHeader;
- m_FileReader.Seek(0);
+ m_FileReader->Seek(0);
- result = AIFFHeader.ReadFromFile(m_FileReader, &m_DataStart);
+ result = AIFFHeader.ReadFromFile(*m_FileReader, &m_DataStart);
if ( ASDCP_SUCCESS(result) )
{
@@ -132,8 +132,8 @@ ASDCP::PCM::WAVParser::h__WAVParser::OpenRead(const std::string& filename, const
else
{
SimpleRF64Header RF64Header;
- m_FileReader.Seek(0);
- result = RF64Header.ReadFromFile(m_FileReader, &m_DataStart);
+ m_FileReader->Seek(0);
+ result = RF64Header.ReadFromFile(*m_FileReader, &m_DataStart);
if ( ASDCP_SUCCESS(result) )
{
@@ -170,7 +170,7 @@ ASDCP::PCM::WAVParser::h__WAVParser::ReadFrame(FrameBuffer& FB)
}
ui32_t read_count = 0;
- Result_t result = m_FileReader.Read(FB.Data(), m_FrameBufferSize, &read_count);
+ Result_t result = m_FileReader->Read(FB.Data(), m_FrameBufferSize, &read_count);
if ( result == RESULT_ENDOFFILE )
{
@@ -202,7 +202,7 @@ ASDCP::Result_t ASDCP::PCM::WAVParser::h__WAVParser::Seek(ui32_t frame_number)
{
m_FramesRead = frame_number - 1;
m_ReadCount = 0;
- return m_FileReader.Seek(m_DataStart + m_FrameBufferSize * frame_number);
+ return m_FileReader->Seek(m_DataStart + m_FrameBufferSize * frame_number);
}