summaryrefslogtreecommitdiff
path: root/src/AS_02_IAB.cpp
diff options
context:
space:
mode:
authormilla <marc.illa@dolby.com>2021-05-28 11:21:44 +0200
committermilla <marc.illa@dolby.com>2021-06-03 14:27:59 +0200
commit50aa2b05a11498d5b7b2571249e56187ed368bef (patch)
treea06947146a1ee7fff50eede8ce7de11b62d16370 /src/AS_02_IAB.cpp
parentf9d7fbc33aa571c547d916b145712469efd9f4b8 (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.cpp14
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;
}
//