X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fplayer.h;h=20d9c9388b33fa00464aa06609a836514220571e;hb=c180f317d5a8b27dd191c1f2228ceb6fc4039393;hp=ffc578c711fffe50410231b07042695dcaa7f8a2;hpb=97632e5e91fc0e2c0a3dd84ed9a167f79e4bd14d;p=dcpomatic.git diff --git a/src/lib/player.h b/src/lib/player.h index ffc578c71..20d9c9388 100644 --- a/src/lib/player.h +++ b/src/lib/player.h @@ -45,7 +45,6 @@ class Playlist; class Font; class AudioBuffers; class ReferencedReelAsset; -class Resampler; /** @class Player * @brief A class which can `play' a Playlist. @@ -63,7 +62,6 @@ public: void set_video_container_size (dcp::Size); void set_ignore_video (); - void set_enable_subtitles (bool enable); void set_always_burn_subtitles (bool burn); void set_fast (); void set_play_referenced (); @@ -108,16 +106,15 @@ private: void image_subtitle_start (boost::weak_ptr, ContentImageSubtitle); void text_subtitle_start (boost::weak_ptr, ContentTextSubtitle); void subtitle_stop (boost::weak_ptr, ContentTime); - boost::shared_ptr resampler (boost::shared_ptr content, AudioStreamPtr stream, bool create); DCPTime one_video_frame () const; void fill_audio (DCPTimePeriod period); - void audio_flush (boost::shared_ptr, AudioStreamPtr stream); void audio_transform (boost::shared_ptr content, AudioStreamPtr stream, ContentAudio content_audio, DCPTime time); std::pair, DCPTime> discard_audio ( boost::shared_ptr audio, DCPTime time, DCPTime discard_to ) const; boost::optional subtitles_for_frame (DCPTime time) const; void emit_video (boost::shared_ptr pv, DCPTime time); + void emit_audio (boost::shared_ptr data, DCPTime time); boost::shared_ptr _film; boost::shared_ptr _playlist; @@ -143,14 +140,13 @@ private: /** true if we should `play' (i.e output) referenced DCP data (e.g. for preview) */ bool _play_referenced; - /** Last PlayerVideo that was emitted */ - boost::shared_ptr _last_video; - /** Time just after the last video frame we emitted, or empty if we have just seeked */ + /** Time just after the last video frame we emitted, or the time of the last accurate seek */ boost::optional _last_video_time; - /** Time just after the last audio frame we emitted, or empty if we have just seeked */ + /** Time just after the last audio frame we emitted, or the time of the last accurate seek */ boost::optional _last_audio_time; - boost::optional _last_seek_time; - bool _last_seek_accurate; + + typedef std::map, boost::shared_ptr > LastVideoMap; + LastVideoMap _last_video; AudioMerger _audio_merger; @@ -174,8 +170,6 @@ private: ActiveSubtitles _active_subtitles; boost::shared_ptr _audio_processor; - typedef std::map, AudioStreamPtr>, boost::shared_ptr > ResamplerMap; - ResamplerMap _resamplers; boost::signals2::scoped_connection _film_changed_connection; boost::signals2::scoped_connection _playlist_changed_connection;