Extract audio/subtitle language from imported DCPs.
[dcpomatic.git] / src / lib / dcp_examiner.h
index 3fedaca06aded36f75f4beacd85de8ef2fd954ee..66f694f729c70aac2a92f66ed77c6dac2c3c0209 100644 (file)
@@ -90,6 +90,10 @@ public:
                return _audio_frame_rate.get_value_or (48000);
        }
 
+       boost::optional<dcp::LanguageTag> audio_language () const {
+               return _audio_language;
+       }
+
        /** @param type TEXT_OPEN_SUBTITLE or TEXT_CLOSED_CAPTION.
         *  @return Number of assets of this type in this DCP.
         */
@@ -97,6 +101,10 @@ public:
                return _text_count[static_cast<int>(type)];
        }
 
+       boost::optional<dcp::LanguageTag> open_subtitle_language () const {
+               return _open_subtitle_language;
+       }
+
        DCPTextTrack dcp_text_track (int i) const {
                DCPOMATIC_ASSERT (i >= 0 && i < static_cast<int>(_dcp_text_tracks.size()));
                return _dcp_text_tracks[i];
@@ -162,8 +170,10 @@ private:
        bool _has_video = false;
        /** true if this DCP has audio content (but false if it has unresolved references to audio content) */
        bool _has_audio = false;
+       boost::optional<dcp::LanguageTag> _audio_language;
        /** number of different assets of each type (OCAP/CCAP) */
        int _text_count[static_cast<int>(TextType::COUNT)];
+       boost::optional<dcp::LanguageTag> _open_subtitle_language;
        /** the DCPTextTracks for each of our CCAPs */
        std::vector<DCPTextTrack> _dcp_text_tracks;
        bool _encrypted = false;