Another macOS std::list boost::thread SNAFU.
[dcpomatic.git] / src / lib / ffmpeg_examiner.h
index a511a2fc1fd20360eab70dbbffaeed4f7efa19bc..9ffb8421b0ec91c826701b37751d685413c8740b 100644 (file)
@@ -49,10 +49,12 @@ public:
                return _audio_streams;
        }
 
-       boost::optional<ContentTime> first_video () const {
+       boost::optional<dcpomatic::ContentTime> first_video () const {
                return _first_video;
        }
 
+       VideoRange range () const;
+
        AVColorRange color_range () const {
                return video_codec_context()->color_range;
        }
@@ -69,7 +71,17 @@ public:
                return video_codec_context()->colorspace;
        }
 
-       int bits_per_pixel () const;
+       boost::optional<int> bits_per_pixel () const;
+
+       boost::optional<double> rotation () const {
+               return _rotation;
+       }
+
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+       boost::optional<std::string> id () const {
+               return _id;
+       }
+#endif
 
 private:
        void video_packet (AVCodecContext *);
@@ -77,20 +89,26 @@ private:
 
        std::string stream_name (AVStream* s) const;
        std::string subtitle_stream_name (AVStream* s) const;
-       boost::optional<ContentTime> frame_time (AVStream* s) const;
+       boost::optional<dcpomatic::ContentTime> frame_time (AVStream* s) const;
 
        std::vector<boost::shared_ptr<FFmpegSubtitleStream> > _subtitle_streams;
        std::vector<boost::shared_ptr<FFmpegAudioStream> > _audio_streams;
-       boost::optional<ContentTime> _first_video;
+       boost::optional<dcpomatic::ContentTime> _first_video;
        /** Video length, either obtained from the header or derived by running
         *  through the whole file.
         */
        Frame _video_length;
        bool _need_video_length;
 
+       boost::optional<double> _rotation;
+
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+       boost::optional<std::string> _id;
+#endif
+
        struct SubtitleStart
        {
-               SubtitleStart (std::string id_, bool image_, ContentTime time_)
+               SubtitleStart (std::string id_, bool image_, dcpomatic::ContentTime time_)
                        : id (id_)
                        , image (image_)
                        , time (time_)
@@ -99,7 +117,7 @@ private:
                std::string id;
                /** true if it's an image subtitle, false for text */
                bool image;
-               ContentTime time;
+               dcpomatic::ContentTime time;
        };
 
        typedef std::map<boost::shared_ptr<FFmpegSubtitleStream>, boost::optional<SubtitleStart> > LastSubtitleMap;