X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fhints.h;h=985fa1910d9b10733b88a4f827687bf11de9455a;hb=ff639b3cf30afcc097bfd21d39c8d15f466cadd6;hp=c692f6fcaf36e977312dee21fc940d11684ced3a;hpb=3a141d70f95dc447644197832f56c04e83cd49cb;p=dcpomatic.git diff --git a/src/lib/hints.h b/src/lib/hints.h index c692f6fca..985fa1910 100644 --- a/src/lib/hints.h +++ b/src/lib/hints.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2016-2020 Carl Hetherington + Copyright (C) 2016-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,6 +18,8 @@ */ + +#include "audio_analyser.h" #include "signaller.h" #include "player_text.h" #include "types.h" @@ -49,16 +51,21 @@ public: /* For tests only */ void join (); + void disable_audio_analysis () { + _disable_audio_analysis = true; + } private: friend struct hint_subtitle_too_early; void thread (); void hint (std::string h); + void audio (std::shared_ptr audio, dcpomatic::DCPTime time); void text (PlayerText text, TextType type, boost::optional track, dcpomatic::DCPTimePeriod period); void closed_caption (PlayerText text, dcpomatic::DCPTimePeriod period); void open_subtitle (PlayerText text, dcpomatic::DCPTimePeriod period); + void check_certificates (); void check_interop (); void check_big_font_files (); void check_few_audio_channels (); @@ -71,10 +78,11 @@ 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 (); + void check_audio_language (); boost::thread _thread; /** This is used to make a partial DCP containing only the subtitles and closed captions that @@ -83,6 +91,8 @@ private: */ std::shared_ptr _writer; + AudioAnalyser _analyser; + bool _long_ccap = false; bool _overlap_ccap = false; bool _too_many_ccap_lines = false; @@ -97,4 +107,6 @@ private: boost::optional _last_subtitle; boost::atomic _stop; + + bool _disable_audio_analysis = false; };