virtual void set_default_colour_conversion ();
+ /** @return points at which to split this content when
+ * REELTYPE_BY_VIDEO_CONTENT is in use.
+ */
+ virtual std::list<DCPTime> reel_split_points () const;
+
Frame video_length () const {
boost::mutex::scoped_lock lm (_mutex);
return _video_length;
return _video_size;
}
- float video_frame_rate () const {
+ double video_frame_rate () const;
+
+ /** @return true if this content has a specific video frame rate, false
+ * if it should use the DCP's rate.
+ */
+ bool has_own_video_frame_rate () const {
boost::mutex::scoped_lock lm (_mutex);
- return _video_frame_rate;
+ return static_cast<bool>(_video_frame_rate);
}
void set_video_frame_type (VideoFrameType);
- void set_video_frame_rate (float);
+ void set_video_frame_rate (double);
void set_left_crop (int);
void set_right_crop (int);
void set_bottom_crop (int);
void set_scale (VideoContentScale);
- void unset_colour_conversion (bool signal = true);
+ void unset_colour_conversion ();
void set_colour_conversion (ColourConversion);
void set_fade_in (Frame);
return _colour_conversion;
}
- boost::optional<float> sample_aspect_ratio () const {
+ boost::optional<double> sample_aspect_ratio () const {
boost::mutex::scoped_lock lm (_mutex);
return _sample_aspect_ratio;
}
+ bool yuv () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _yuv;
+ }
+
Frame fade_in () const {
boost::mutex::scoped_lock lm (_mutex);
return _fade_in;
ContentTime dcp_time_to_content_time (DCPTime) const;
- boost::optional<float> fade (Frame) const;
+ boost::optional<double> fade (Frame) const;
void scale_and_crop_to_fit_width ();
void scale_and_crop_to_fit_height ();
protected:
void take_from_video_examiner (boost::shared_ptr<VideoExaminer>);
+ void add_properties (std::list<std::pair<std::string, std::string> > &) const;
Frame _video_length;
- float _video_frame_rate;
+ /** Video frame rate, or not set if this content should use the DCP's frame rate */
+ boost::optional<double> _video_frame_rate;
boost::optional<ColourConversion> _colour_conversion;
private:
/** Sample aspect ratio obtained from the content file's header,
if there is one.
*/
- boost::optional<float> _sample_aspect_ratio;
+ boost::optional<double> _sample_aspect_ratio;
+ bool _yuv;
Frame _fade_in;
Frame _fade_out;
};