diff options
Diffstat (limited to 'src')
| -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; } // |
