/*
- Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2015 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
class PlayerVideo;
class ImageProxy;
class Font;
-
+
class PlayerStatistics
{
public:
, good (0)
, skip (0)
{}
-
+
int black;
int repeat;
int good;
, good (0)
, skip (0)
{}
-
+
DCPTime silence;
int64_t good;
int64_t skip;
std::list<boost::shared_ptr<PlayerVideo> > get_video (DCPTime time, bool accurate);
boost::shared_ptr<AudioBuffers> get_audio (DCPTime time, DCPTime length, bool accurate);
- PlayerSubtitles get_subtitles (DCPTime time, DCPTime length, bool starting);
+ PlayerSubtitles get_subtitles (DCPTime time, DCPTime length, bool starting, bool burnt);
std::list<boost::shared_ptr<Font> > get_subtitle_fonts ();
void set_video_container_size (dcp::Size);
void set_ignore_video ();
void set_enable_subtitles (bool enable);
- void set_burn_subtitles (bool burn);
+ void set_always_burn_subtitles (bool burn);
PlayerStatistics const & statistics () const;
-
+
/** Emitted when something has changed such that if we went back and emitted
* the last frame again it would look different. This is not emitted after
* a seek.
overlaps.push_back (*i);
}
}
-
+
return overlaps;
}
-
+
boost::shared_ptr<const Film> _film;
/** Our pieces are ready to go; if this is false the pieces must be (re-)created before they are used */
/** true if the player should ignore all video; i.e. never produce any */
bool _ignore_video;
- /** true if the player should burn subtitles into the video */
- bool _burn_subtitles;
+ /** true if the player should always burn subtitles into the video regardless
+ of content settings
+ */
+ bool _always_burn_subtitles;
boost::shared_ptr<AudioProcessor> _audio_processor;