- /** The time after the last video that we emitted */
- DCPTime _video_position;
- /** The time after the last audio that we emitted */
- DCPTime _audio_position;
-
- AudioMerger<DCPTime, AudioFrame> _audio_merger;
-
- libdcp::Size _video_container_size;
- boost::shared_ptr<PlayerImage> _black_frame;
-
- struct {
- boost::weak_ptr<Piece> piece;
- boost::shared_ptr<DecodedImageSubtitle> subtitle;
- } _image_subtitle;
-
- struct {
- boost::weak_ptr<Piece> piece;
- boost::shared_ptr<DecodedTextSubtitle> subtitle;
- } _text_subtitle;
-
- struct {
- Position<int> position;
- boost::shared_ptr<Image> image;
- DCPTime from;
- DCPTime to;
- } _out_subtitle;
-
-#ifdef DCPOMATIC_DEBUG
- boost::shared_ptr<Content> _last_video;
-#endif
-
- bool _last_emit_was_black;
-
- struct {
- boost::weak_ptr<Piece> weak_piece;
- boost::shared_ptr<DecodedVideo> video;
- } _last_incoming_video;
-
- bool _just_did_inaccurate_seek;
- bool _approximate_size;
-
- PlayerStatistics _statistics;
+ /** Size of the image in the DCP (e.g. 1990x1080 for flat) */
+ dcp::Size _video_container_size;
+ boost::shared_ptr<Image> _black_image;
+
+ /** true if the player should ignore all video; i.e. never produce any */
+ bool _ignore_video;
+ /** true if the player should ignore all audio; i.e. never produce any */
+ bool _ignore_audio;
+ /** true if the player should always burn subtitles into the video regardless
+ of content settings
+ */
+ bool _always_burn_subtitles;
+ /** true if we should try to be fast rather than high quality */
+ bool _fast;
+ /** true if we should `play' (i.e output) referenced DCP data (e.g. for preview) */
+ bool _play_referenced;
+
+ boost::shared_ptr<AudioProcessor> _audio_processor;