+PlayerVideo::prepare (function<AVPixelFormat (AVPixelFormat)> pixel_format, VideoRange video_range, Image::Alignment alignment, bool fast, bool proxy_only)
+{
+ _in->prepare (alignment, _inter_size);
+ boost::mutex::scoped_lock lm (_mutex);
+ if (!_image && !proxy_only) {
+ make_image (pixel_format, video_range, fast);
+ }
+}
+
+size_t
+PlayerVideo::memory_used () const
+{
+ return _in->memory_used();
+}
+
+/** @return Shallow copy of this; _in and _text are shared between the original and the copy */
+shared_ptr<PlayerVideo>
+PlayerVideo::shallow_copy () const
+{
+ return std::make_shared<PlayerVideo>(
+ _in,
+ _crop,
+ _fade,
+ _inter_size,
+ _out_size,
+ _eyes,
+ _part,
+ _colour_conversion,
+ _video_range,
+ _content,
+ _video_frame,
+ _error
+ );
+}
+
+/** Re-read crop, fade, inter/out size, colour conversion and video range from our content.
+ * @return true if this was possible, false if not.
+ */
+bool
+PlayerVideo::reset_metadata (shared_ptr<const Film> film, dcp::Size player_video_container_size)