+ /** Our pieces are ready to go; if this is false the pieces must be (re-)created before they are used */
+ bool _have_valid_pieces;
+ std::list<boost::shared_ptr<Piece> > _pieces;
+
+ /** The time after the last video that we emitted */
+ Time _video_position;
+ /** The time after the last audio that we emitted */
+ Time _audio_position;
+
+ AudioMerger<Time, AudioContent::Frame> _audio_merger;
+
+ libdcp::Size _video_container_size;
+ boost::shared_ptr<PlayerVideoFrame> _black_frame;
+ std::map<boost::shared_ptr<AudioContent>, boost::shared_ptr<Resampler> > _resamplers;
+
+ std::list<Subtitle> _subtitles;
+
+#ifdef DCPOMATIC_DEBUG
+ boost::shared_ptr<Content> _last_video;
+#endif
+
+ bool _last_emit_was_black;
+
+ IncomingVideo _last_incoming_video;