Extract common code out into kdm_for_screen()
[dcpomatic.git] / src / lib / video_examiner.h
index 1ff16a704f233f5cddf27e7f6b826f7b1300e1df..4e5c6dc0a322c3fd57c024aa6611775178a68226 100644 (file)
@@ -33,11 +33,20 @@ class VideoExaminer
 {
 public:
        virtual ~VideoExaminer () {}
+
+       virtual bool has_video () const = 0;
+
+       /** @return video frame rate (if known); must not be called if has_video() == false */
        virtual boost::optional<double> video_frame_rate () const = 0;
+       /** @return video size; must not be called if has_video() == false */
        virtual dcp::Size video_size () const = 0;
+       /** @return video length in frames; must not be called if has_video() == false */
        virtual Frame video_length () const = 0;
+       /** @return video sample aspect ratio (if known); must not be called if has_video() == false */
        virtual boost::optional<double> sample_aspect_ratio () const {
                return boost::optional<double> ();
        }
+       /** @return true if this video is in YUV; must not be called if has_video() == false */
        virtual bool yuv () const = 0;
+       virtual VideoRange range () const = 0;
 };