Hand-apply 6a3cd511559433554ab40ed72ff94b7d8dc2c5bd from master;
[dcpomatic.git] / src / lib / ffmpeg_content.h
index 367c30103e77812927878d0f2f31062e995cc647..fca3bf8beb3e52afff2494b0b5addbdfd198c2fd 100644 (file)
@@ -33,7 +33,7 @@ struct AVStream;
 class Filter;
 class FFmpegSubtitleStream;
 class FFmpegAudioStream;
-class ffmpeg_pts_offset_test;
+struct ffmpeg_pts_offset_test;
 
 class FFmpegContentProperty : public VideoContentProperty
 {
@@ -56,7 +56,7 @@ public:
                return boost::dynamic_pointer_cast<FFmpegContent> (Content::shared_from_this ());
        }
        
-       void examine (boost::shared_ptr<Job>);
+       void examine (boost::shared_ptr<Job>, bool calculate_digest);
        std::string summary () const;
        std::string technical_summary () const;
        std::string information () const;
@@ -73,6 +73,9 @@ public:
        void set_audio_mapping (AudioMapping);
        boost::filesystem::path audio_analysis_path () const;
 
+       /* SubtitleContent */
+       bool has_subtitles () const;
+
        void set_filters (std::vector<Filter const *> const &);
        
        std::vector<boost::shared_ptr<FFmpegSubtitleStream> > subtitle_streams () const {
@@ -108,10 +111,10 @@ public:
                return _first_video;
        }
 
-       bool has_subtitle_during (ContentTimePeriod) const;
+       std::list<ContentTimePeriod> subtitles_during (ContentTimePeriod, bool starting) const;
 
 private:
-       friend class ffmpeg_pts_offset_test;
+       friend struct ffmpeg_pts_offset_test;
        
        std::vector<boost::shared_ptr<FFmpegSubtitleStream> > _subtitle_streams;
        boost::shared_ptr<FFmpegSubtitleStream> _subtitle_stream;