Merge master.
[dcpomatic.git] / src / lib / dcp_examiner.h
index a2793c7880ca907b99ddb8d242e2736e4ea16c40..5b510743b73c8ce8ba2a876c84e8fe5ae4d71b11 100644 (file)
 */
 
 #include "video_examiner.h"
+#include "audio_examiner.h"
 
 class DCPContent;
 
-class DCPExaminer : public VideoExaminer
+class DCPExaminer : public VideoExaminer, public AudioExaminer
 {
 public:
        DCPExaminer (boost::shared_ptr<const DCPContent>);
@@ -42,12 +43,29 @@ public:
                return _name;
        }
 
+       bool has_subtitles () const {
+               return _has_subtitles;
+       }
+
+       int audio_channels () const {
+               return _audio_channels.get_value_or (0);
+       }
+       
+       ContentTime audio_length () const {
+               return _audio_length;
+       }
+       
+       int audio_frame_rate () const {
+               return _audio_frame_rate.get_value_or (48000);
+       }
+
 private:
        boost::optional<float> _video_frame_rate;
        boost::optional<dcp::Size> _video_size;
        ContentTime _video_length;
-       /* XXX: used? */
        boost::optional<int> _audio_channels;
        boost::optional<int> _audio_frame_rate;
+       ContentTime _audio_length;
        std::string _name;
+       bool _has_subtitles;
 };