Add some possibly-useful markers for debugging threads from coredumps.
[dcpomatic.git] / src / lib / hints.h
index a7e476b2c738aa3e58f33a0524c307b7538bfc24..06155f43449f687da0cc43b8d4cdf14df98130d5 100644 (file)
@@ -18,6 +18,7 @@
 
 */
 
+#include "audio_analyser.h"
 #include "signaller.h"
 #include "player_text.h"
 #include "types.h"
@@ -55,6 +56,7 @@ private:
 
        void thread ();
        void hint (std::string h);
+       void audio (std::shared_ptr<AudioBuffers> audio, dcpomatic::DCPTime time);
        void text (PlayerText text, TextType type, boost::optional<DCPTextTrack> track, dcpomatic::DCPTimePeriod period);
        void closed_caption (PlayerText text, dcpomatic::DCPTimePeriod period);
        void open_subtitle (PlayerText text, dcpomatic::DCPTimePeriod period);
@@ -71,7 +73,7 @@ private:
        void check_speed_up ();
        void check_vob ();
        void check_3d_in_2d ();
-       void check_loudness ();
+       bool check_loudness ();
        void check_ffec_and_ffmc_in_smpte_feature ();
        void check_out_of_range_markers ();
        void check_text_languages ();
@@ -83,16 +85,19 @@ private:
         */
        std::shared_ptr<Writer> _writer;
 
-       bool _long_ccap;
-       bool _overlap_ccap;
-       bool _too_many_ccap_lines;
+       AudioAnalyser _analyser;
+
+       bool _long_ccap = false;
+       bool _overlap_ccap = false;
+       bool _too_many_ccap_lines = false;
        boost::optional<dcpomatic::DCPTimePeriod> _last_ccap;
 
-       bool _early_subtitle;
-       bool _short_subtitle;
-       bool _subtitles_too_close;
-       bool _too_many_subtitle_lines;
-       bool _long_subtitle;
+       bool _early_subtitle = false;
+       bool _short_subtitle = false;
+       bool _subtitles_too_close = false;
+       bool _too_many_subtitle_lines = false;
+       bool _long_subtitle = false;
+       bool _very_long_subtitle = false;
        boost::optional<dcpomatic::DCPTimePeriod> _last_subtitle;
 
        boost::atomic<bool> _stop;