summaryrefslogtreecommitdiff
path: root/src/AS_02_IAB.cpp
diff options
context:
space:
mode:
authorJohn Hurst <jhurst@cinecert.com>2021-08-26 20:50:19 -0700
committerGitHub <noreply@github.com>2021-08-26 20:50:19 -0700
commit9b1a901aef79dfe022c54dfdb1e0c1c1b4a451a8 (patch)
tree6485250809cc10407c03be5e742904edf0e7bc82 /src/AS_02_IAB.cpp
parent3e71fd643d02342ffd7b5fd3b561233b3bb31acc (diff)
parent6f35ffc75569b6a34ec46f4645ad1e601bdeaa80 (diff)
Merge pull request #16 from DolbyLaboratories/dolby/atmos_storage/asdcplib_integration/close_file_depends_on_pluggable_filereader
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.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/AS_02_IAB.cpp b/src/AS_02_IAB.cpp
index 55283ea..0d0ea64 100644
--- a/src/AS_02_IAB.cpp
+++ b/src/AS_02_IAB.cpp
@@ -356,7 +356,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 {
@@ -649,6 +653,10 @@ AS_02::IAB::MXFReader::DumpIndex(FILE* stream) const {
void
AS_02::IAB::MXFReader::Reset() {
+ if ( m_Reader && m_Reader->m_File->IsOpen()) {
+ m_Reader->Close();
+ }
+
this->m_Reader.set(NULL);
this->m_State = ST_READER_BEGIN;
}