Emit no audio from DCPs if none is mapped
[dcpomatic.git] / src / lib / player.h
index 5950b95a39d03ca5b96a1e2b037f150135e0403c..48f6f97ca2b6a542cb9d5b39afcde5a657527058 100644 (file)
@@ -90,6 +90,8 @@ public:
 
        bool pass ();
        void seek (dcpomatic::DCPTime time, bool accurate);
+       Frame frames_done() const;
+       float progress() const;
 
        std::vector<std::shared_ptr<dcpomatic::Font>> get_subtitle_fonts ();
 
@@ -105,6 +107,7 @@ public:
        void set_fast ();
        void set_play_referenced ();
        void set_dcp_decode_reduction (boost::optional<int> reduction);
+       void set_disable_audio_processor();
 
        boost::optional<dcpomatic::DCPTime> content_time_to_dcp (std::shared_ptr<const Content> content, dcpomatic::ContentTime t) const;
        boost::optional<dcpomatic::ContentTime> dcp_to_content_time (std::shared_ptr<const Content> content, dcpomatic::DCPTime t) const;
@@ -154,6 +157,7 @@ private:
        dcpomatic::ContentTime dcp_to_content_time (std::shared_ptr<const Piece> piece, dcpomatic::DCPTime t) const;
        dcpomatic::DCPTime content_time_to_dcp (std::shared_ptr<const Piece> piece, dcpomatic::ContentTime t) const;
        std::shared_ptr<PlayerVideo> black_player_video_frame (Eyes eyes) const;
+       std::pair<std::shared_ptr<Piece>, boost::optional<dcpomatic::DCPTime>> earliest_piece_and_time() const;
 
        void video (std::weak_ptr<Piece>, ContentVideo);
        void audio (std::weak_ptr<Piece>, AudioStreamPtr, ContentAudio);
@@ -243,6 +247,7 @@ private:
 
        EnumIndexedVector<ActiveText, TextType> _active_texts;
        std::shared_ptr<AudioProcessor> _audio_processor;
+       bool _disable_audio_processor = false;
 
        boost::atomic<dcpomatic::DCPTime> _playback_length;