Hand-apply 63b62aa703c2628b27b577114081b265f237dadb from master;
[dcpomatic.git] / src / lib / dcp_examiner.h
index c8b0ef7da37073b07f4f31abc8b14ee85674753b..03d43d0f6c9f7a270ab2f2b16d147c4389ec289d 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>);
@@ -38,10 +39,43 @@ public:
                return _video_length;
        }
 
+       std::string name () const {
+               return _name;
+       }
+
+       bool has_subtitles () const {
+               return _has_subtitles;
+       }
+
+       bool encrypted () const {
+               return _encrypted;
+       }
+
+       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);
+       }
+
+       bool kdm_valid () const {
+               return _kdm_valid;
+       }
+
 private:
        boost::optional<float> _video_frame_rate;
        boost::optional<dcp::Size> _video_size;
        ContentTime _video_length;
        boost::optional<int> _audio_channels;
        boost::optional<int> _audio_frame_rate;
+       ContentTime _audio_length;
+       std::string _name;
+       bool _has_subtitles;
+       bool _encrypted;
+       bool _kdm_valid;
 };