X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fencoder.h;h=78c1f99088b46aae6506c561912647938143ed01;hp=79ad0ab4427b7cf6eb98c3fa7d797aade01be38b;hb=dd9be86db6cde0afa5da0d1d1ac43b42e05dca26;hpb=d8ea1796f34ff894b148a0af78c0a547e0496ee1 diff --git a/src/lib/encoder.h b/src/lib/encoder.h index 79ad0ab44..78c1f9908 100644 --- a/src/lib/encoder.h +++ b/src/lib/encoder.h @@ -22,8 +22,8 @@ #define DCPOMATIC_ENCODER_H #include "types.h" -#include "player_subtitles.h" -#include +#include "player_text.h" +#include class Film; class Encoder; @@ -36,25 +36,24 @@ class AudioBuffers; class Encoder : public boost::noncopyable { public: - Encoder (boost::shared_ptr film, boost::weak_ptr job); + Encoder (std::shared_ptr film, std::weak_ptr job); virtual ~Encoder () {} virtual void go () = 0; /** @return the current frame rate over the last short while */ - virtual float current_rate () const = 0; + virtual boost::optional current_rate () const { + return boost::optional(); + } + /** @return the number of frames that are done */ virtual Frame frames_done () const = 0; virtual bool finishing () const = 0; protected: - virtual void video (boost::shared_ptr, DCPTime) = 0; - virtual void audio (boost::shared_ptr, DCPTime) = 0; - virtual void subtitle (PlayerSubtitles, DCPTimePeriod) = 0; - - boost::shared_ptr _film; - boost::weak_ptr _job; - boost::shared_ptr _player; + std::shared_ptr _film; + std::weak_ptr _job; + std::shared_ptr _player; }; #endif