+ boost::optional<PositionImage> _text;
+ /** Content that we came from. This is so that reset_metadata() can work, and also
+ * for variant:swaroop's non-skippable ads.
+ */
+ boost::weak_ptr<Content> _content;
+ /** Video frame that we came from. Again, this is for reset_metadata() */
+ boost::optional<Frame> _video_frame;
+
+ mutable boost::mutex _mutex;
+ mutable boost::shared_ptr<Image> _image;
+ /** _crop that was used to make _image */
+ mutable Crop _image_crop;
+ /** _inter_size that was used to make _image */
+ mutable dcp::Size _image_inter_size;
+ /** _out_size that was used to make _image */
+ mutable dcp::Size _image_out_size;
+ /** _fade that was used to make _image */
+ mutable boost::optional<double> _image_fade;