Rationalise #undef-ing of ERROR.
[libdcp.git] / src / stereo_picture_asset_writer.cc
index f4ec7df0c2e383eb9654abee6da44f6a1da91f76..6ee271bcdd572655fab69e3e5ed0c523630b7107 100644 (file)
@@ -72,7 +72,7 @@ StereoPictureAssetWriter::~StereoPictureAssetWriter()
 {
        try {
                /* Last-resort finalization to close the file, at least */
-               if (_started) {
+               if (!_finalized) {
                        _state->mxf_writer.Finalize();
                }
        } catch (...) {}
@@ -100,6 +100,8 @@ StereoPictureAssetWriter::write (uint8_t const * data, int size)
                boost::throw_exception (MiscError ("could not parse J2K frame"));
        }
 
+       _state->frame_buffer.PlaintextOffset(0);
+
        uint64_t const before_offset = _state->mxf_writer.Tell ();
 
        string hash;
@@ -151,7 +153,6 @@ StereoPictureAssetWriter::finalize ()
                if (ASDCP_FAILURE(r)) {
                        boost::throw_exception (MXFFileError("error in finalizing video MXF", _file.string(), r));
                }
-               _started = false;
        }
 
        _picture_asset->_intrinsic_duration = _frames_written;