Change how video timing is done.
[dcpomatic.git] / src / lib / video_mxf_decoder.cc
index d3fe2b897355ce8e71af8d680848024ed6e1854b..911b8c0bb06c290f0bba9ee9a6fa679664437282 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2016-2017 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2016-2021 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -67,9 +67,11 @@ VideoMXFDecoder::VideoMXFDecoder (shared_ptr<const Film> film, shared_ptr<const
 
        if (mono) {
                _mono_reader = mono->start_read ();
+               _mono_reader->set_check_hmac (false);
                _size = mono->size ();
        } else {
                _stereo_reader = stereo->start_read ();
+               _stereo_reader->set_check_hmac (false);
                _size = stereo->size ();
        }
 }
@@ -89,18 +91,18 @@ VideoMXFDecoder::pass ()
                video->emit (
                        film(),
                        std::make_shared<J2KImageProxy>(_mono_reader->get_frame(frame), _size, AV_PIX_FMT_XYZ12LE, optional<int>()),
-                       frame
+                       _next
                        );
        } else {
                video->emit (
                        film(),
                        std::make_shared<J2KImageProxy>(_stereo_reader->get_frame(frame), _size, dcp::Eye::LEFT, AV_PIX_FMT_XYZ12LE, optional<int>()),
-                       frame
+                       _next
                        );
                video->emit (
                        film(),
                        std::make_shared<J2KImageProxy>(_stereo_reader->get_frame(frame), _size, dcp::Eye::RIGHT, AV_PIX_FMT_XYZ12LE, optional<int>()),
-                       frame
+                       _next
                        );
        }