diff options
| author | milla <marc.illa@dolby.com> | 2021-05-28 11:21:44 +0200 |
|---|---|---|
| committer | milla <marc.illa@dolby.com> | 2021-06-03 14:27:59 +0200 |
| commit | 50aa2b05a11498d5b7b2571249e56187ed368bef (patch) | |
| tree | a06947146a1ee7fff50eede8ce7de11b62d16370 /src/AS_02_IAB.cpp | |
| parent | f9d7fbc33aa571c547d916b145712469efd9f4b8 (diff) | |
Close file if open when doing reset of the reader or destroying the reader
Diffstat (limited to 'src/AS_02_IAB.cpp')
| -rw-r--r-- | src/AS_02_IAB.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/AS_02_IAB.cpp b/src/AS_02_IAB.cpp index aa551d9..206fff8 100644 --- a/src/AS_02_IAB.cpp +++ b/src/AS_02_IAB.cpp @@ -339,7 +339,11 @@ AS_02::IAB::MXFWriter::Reset() { AS_02::IAB::MXFReader::MXFReader() : m_State(ST_READER_BEGIN) {} -AS_02::IAB::MXFReader::~MXFReader() {} +AS_02::IAB::MXFReader::~MXFReader() { + if ( m_Reader && m_Reader->m_File->IsOpen()) { + m_Reader->Close(); + } +} ASDCP::MXF::OP1aHeader& AS_02::IAB::MXFReader::OP1aHeader() const { @@ -620,8 +624,12 @@ AS_02::IAB::MXFReader::DumpIndex(FILE* stream) const { void AS_02::IAB::MXFReader::Reset() { - this->m_Reader.set(NULL); - this->m_State = ST_READER_BEGIN; + if ( m_Reader && m_Reader->m_File->IsOpen()) { + m_Reader->Close(); + } + + this->m_Reader.set(NULL); + this->m_State = ST_READER_BEGIN; } // |
