Allow DCPContent to recover and serialise marker positions.
[dcpomatic.git] / src / lib / dcp_examiner.cc
index 9bf401125dda6dea75e3a880541603256588e079..a7d451eca75e14d326ea82d527a5e090b30e1782 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2014-2019 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2014-2020 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -40,6 +40,7 @@
 #include <dcp/subtitle_asset.h>
 #include <dcp/reel_subtitle_asset.h>
 #include <dcp/reel_closed_caption_asset.h>
+#include <dcp/reel_markers_asset.h>
 #include <dcp/sound_asset.h>
 #include <boost/foreach.hpp>
 #include <iostream>
@@ -49,6 +50,7 @@
 using std::list;
 using std::cout;
 using std::runtime_error;
+using std::map;
 using boost::shared_ptr;
 using boost::dynamic_pointer_cast;
 
@@ -183,6 +185,11 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
                        _text_count[TEXT_CLOSED_CAPTION]++;
                }
 
+               if (i->main_markers ()) {
+                       map<dcp::Marker, dcp::Time> rm = i->main_markers()->get();
+                       _markers.insert (rm.begin(), rm.end());
+               }
+
                if (i->main_picture()) {
                        _reel_lengths.push_back (i->main_picture()->actual_duration());
                } else if (i->main_sound()) {