X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fdcp_encoder.h;h=e5df30fb524ac9cb897883bdfe1addb610f65310;hb=60adc5a3312a9412b8988a0e2e82724779b5b84e;hp=38792197243a0bb4adc02ae1c9761ec25ef6d30d;hpb=d8ea1796f34ff894b148a0af78c0a547e0496ee1;p=dcpomatic.git diff --git a/src/lib/dcp_encoder.h b/src/lib/dcp_encoder.h index 387921972..e5df30fb5 100644 --- a/src/lib/dcp_encoder.h +++ b/src/lib/dcp_encoder.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2017 Carl Hetherington + Copyright (C) 2012-2020 Carl Hetherington This file is part of DCP-o-matic. @@ -18,9 +18,12 @@ */ +#include "atmos_metadata.h" #include "types.h" -#include "player_subtitles.h" +#include "player_text.h" +#include "dcp_text_track.h" #include "encoder.h" +#include #include class Film; @@ -36,10 +39,11 @@ class DCPEncoder : public Encoder { public: DCPEncoder (boost::shared_ptr film, boost::weak_ptr job); + ~DCPEncoder (); void go (); - float current_rate () const; + boost::optional current_rate () const; Frame frames_done () const; /** @return true if we are in the process of calling Encoder::process_end */ @@ -49,12 +53,18 @@ public: private: - void video (boost::shared_ptr, DCPTime); - void audio (boost::shared_ptr, DCPTime); - void subtitle (PlayerSubtitles, DCPTimePeriod); + void video (boost::shared_ptr, dcpomatic::DCPTime); + void audio (boost::shared_ptr, dcpomatic::DCPTime); + void text (PlayerText, TextType, boost::optional, dcpomatic::DCPTimePeriod); + void atmos (boost::shared_ptr, dcpomatic::DCPTime, AtmosMetadata metadata); boost::shared_ptr _writer; boost::shared_ptr _j2k_encoder; bool _finishing; bool _non_burnt_subtitles; + + boost::signals2::scoped_connection _player_video_connection; + boost::signals2::scoped_connection _player_audio_connection; + boost::signals2::scoped_connection _player_text_connection; + boost::signals2::scoped_connection _player_atmos_connection; };