X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fplayer.h;h=d4fae9fc49ee380dadd2ce9c80a1a4e3f816a716;hb=34520e2f149a82042a8dfc8835b097c6218c1a08;hp=5950b95a39d03ca5b96a1e2b037f150135e0403c;hpb=d9751ad986905095db13cb147010b61c72b4332e;p=dcpomatic.git diff --git a/src/lib/player.h b/src/lib/player.h index 5950b95a3..d4fae9fc4 100644 --- a/src/lib/player.h +++ b/src/lib/player.h @@ -154,6 +154,8 @@ private: dcpomatic::ContentTime dcp_to_content_time (std::shared_ptr piece, dcpomatic::DCPTime t) const; dcpomatic::DCPTime content_time_to_dcp (std::shared_ptr piece, dcpomatic::ContentTime t) const; std::shared_ptr black_player_video_frame (Eyes eyes) const; + void emit_video_until(dcpomatic::DCPTime time); + void insert_video(std::shared_ptr pv, dcpomatic::DCPTime time, dcpomatic::DCPTime end); void video (std::weak_ptr, ContentVideo); void audio (std::weak_ptr, AudioStreamPtr, ContentAudio); @@ -168,8 +170,8 @@ private: std::shared_ptr audio, dcpomatic::DCPTime time, dcpomatic::DCPTime discard_to ) const; boost::optional open_subtitles_for_frame (dcpomatic::DCPTime time) const; - void emit_video (std::shared_ptr pv, dcpomatic::DCPTime time); - void do_emit_video (std::shared_ptr pv, dcpomatic::DCPTime time); + void emit_video(std::shared_ptr pv, dcpomatic::DCPTime time); + void use_video(std::shared_ptr pv, dcpomatic::DCPTime time, dcpomatic::DCPTime end); void emit_audio (std::shared_ptr data, dcpomatic::DCPTime time); std::shared_ptr playlist () const; @@ -210,15 +212,12 @@ private: /** Time of the next video that we will emit, or the time of the last accurate seek */ boost::optional _next_video_time; - /** Eyes of the next video that we will emit */ - boost::optional _next_video_eyes; /** Time of the next audio that we will emit, or the time of the last accurate seek */ boost::optional _next_audio_time; boost::atomic> _dcp_decode_reduction; - typedef std::map, std::shared_ptr, std::owner_less>> LastVideoMap; - LastVideoMap _last_video; + EnumIndexedVector, dcpomatic::DCPTime>, Eyes> _last_video; AudioMerger _audio_merger; std::unique_ptr _shuffler;