X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fvideo_examiner.h;h=1ff16a704f233f5cddf27e7f6b826f7b1300e1df;hb=872fb6a1631506246c0fe30cbb12c5463b630631;hp=039c494b52fe98f630798729207b65b26b4d46f3;hpb=9b4910b82a520cf45a4aba6b2486c67524104a8b;p=dcpomatic.git diff --git a/src/lib/video_examiner.h b/src/lib/video_examiner.h index 039c494b5..1ff16a704 100644 --- a/src/lib/video_examiner.h +++ b/src/lib/video_examiner.h @@ -1,31 +1,43 @@ /* - Copyright (C) 2013 Carl Hetherington + Copyright (C) 2013-2016 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ -#include +/** @file src/lib/video_examiner.h + * @brief VideoExaminer class. + */ + #include "types.h" #include "video_content.h" +#include +/** @class VideoExaminer + * @brief Parent for classes which examine video sources and obtain information about them. + */ class VideoExaminer { public: virtual ~VideoExaminer () {} - virtual float video_frame_rate () const = 0; - virtual libdcp::Size video_size () const = 0; - virtual VideoContent::Frame video_length () const = 0; + virtual boost::optional video_frame_rate () const = 0; + virtual dcp::Size video_size () const = 0; + virtual Frame video_length () const = 0; + virtual boost::optional sample_aspect_ratio () const { + return boost::optional (); + } + virtual bool yuv () const = 0; };