#include "colour_conversion.h"
#include "content_part.h"
+#include "crop.h"
#include "dcpomatic_time.h"
#include "pixel_quanta.h"
-#include "types.h"
#include "user_property.h"
+#include "video_frame_type.h"
+#include "video_range.h"
+#include "types.h"
#include <dcp/language_tag.h>
#include <boost/thread/mutex.hpp>
return _length;
}
- dcp::Size size () const {
+ boost::optional<dcp::Size> size () const {
boost::mutex::scoped_lock lm (_mutex);
return _size;
}
/* XXX: names for these? */
- dcp::Size size_after_3d_split () const;
- dcp::Size size_after_crop () const;
- dcp::Size scaled_size (dcp::Size container_size);
+ boost::optional<dcp::Size> size_after_3d_split() const;
+ boost::optional<dcp::Size> size_after_crop() const;
+ boost::optional<dcp::Size> scaled_size(dcp::Size container_size);
boost::optional<double> fade (std::shared_ptr<const Film> film, Frame) const;
void set_length (Frame);
- void take_from_examiner (std::shared_ptr<VideoExaminer>);
+ void take_from_examiner(std::shared_ptr<const Film> film, std::shared_ptr<VideoExaminer>);
void add_properties (std::list<UserProperty> &) const;
void modify_position (std::shared_ptr<const Film> film, dcpomatic::DCPTime& pos) const;
void modify_trim_start (dcpomatic::ContentTime& pos) const;
+ void rotate_size();
+
static std::shared_ptr<VideoContent> from_xml (Content* parent, cxml::ConstNodePtr node, int version, VideoRange video_range_hint);
private:
bool _use;
Frame _length;
boost::optional<ColourConversion> _colour_conversion;
- dcp::Size _size;
+ boost::optional<dcp::Size> _size;
VideoFrameType _frame_type;
Crop _crop;
/** ratio to scale cropped image to (or none to guess); i.e. if set, scale to _custom_ratio:1 */