Comment.
[dcpomatic.git] / src / lib / ffmpeg_examiner.h
index f5ee95acfe82e10a956df807186646d6fcbf317a..27bff08b47426749eeee7201234a1aed4e955238 100644 (file)
@@ -21,7 +21,7 @@
 #include "video_examiner.h"
 #include <boost/optional.hpp>
 
-class AVStream;
+struct AVStream;
 
 class FFmpegAudioStream;
 class FFmpegSubtitleStream;
@@ -31,10 +31,10 @@ class FFmpegExaminer : public FFmpeg, public VideoExaminer
 public:
        FFmpegExaminer (boost::shared_ptr<const FFmpegContent>, boost::shared_ptr<Job> job = boost::shared_ptr<Job> ());
 
-       boost::optional<float> video_frame_rate () const;
+       boost::optional<double> video_frame_rate () const;
        dcp::Size video_size () const;
        Frame video_length () const;
-       boost::optional<float> sample_aspect_ratio () const;
+       boost::optional<double> sample_aspect_ratio () const;
 
        std::vector<boost::shared_ptr<FFmpegSubtitleStream> > subtitle_streams () const {
                return _subtitle_streams;
@@ -64,6 +64,8 @@ public:
                return video_codec_context()->colorspace;
        }
 
+       int bits_per_pixel () const;
+
 private:
        void video_packet (AVCodecContext *);
        void audio_packet (AVCodecContext *, boost::shared_ptr<FFmpegAudioStream>);
@@ -83,5 +85,6 @@ private:
        Frame _video_length;
        bool _need_video_length;
 
-       boost::optional<ContentTime> _last_subtitle_start;
+       typedef std::map<boost::shared_ptr<FFmpegSubtitleStream>, boost::optional<ContentTime> > LastSubtitleMap;
+       LastSubtitleMap _last_subtitle_start;
 };