Support SSA subtitles embedded within FFmpeg files.
[dcpomatic.git] / src / lib / ffmpeg_content.cc
index b47116bdcbb87f17761141e42521defb1888a00b..5cd5d3729b9ef9fdafa0d3cf8bf1c6b471b8841a 100644 (file)
@@ -322,26 +322,49 @@ FFmpegContent::identifier () const
 }
 
 list<ContentTimePeriod>
-FFmpegContent::subtitles_during (ContentTimePeriod period, bool starting) const
+FFmpegContent::image_subtitles_during (ContentTimePeriod period, bool starting) const
 {
        shared_ptr<FFmpegSubtitleStream> stream = subtitle_stream ();
        if (!stream) {
                return list<ContentTimePeriod> ();
        }
 
-       return stream->subtitles_during (period, starting);
+       return stream->image_subtitles_during (period, starting);
+}
+
+list<ContentTimePeriod>
+FFmpegContent::text_subtitles_during (ContentTimePeriod period, bool starting) const
+{
+       shared_ptr<FFmpegSubtitleStream> stream = subtitle_stream ();
+       if (!stream) {
+               return list<ContentTimePeriod> ();
+       }
+
+       return stream->text_subtitles_during (period, starting);
 }
 
 bool
-FFmpegContent::has_text_subtitles () const
+FFmpegContent::has_image_subtitles () const
 {
+       BOOST_FOREACH (shared_ptr<FFmpegSubtitleStream> i, subtitle_streams()) {
+               if (i->has_image_subtitles()) {
+                       return true;
+               }
+       }
+
        return false;
 }
 
 bool
-FFmpegContent::has_image_subtitles () const
+FFmpegContent::has_text_subtitles () const
 {
-       return !subtitle_streams().empty ();
+       BOOST_FOREACH (shared_ptr<FFmpegSubtitleStream> i, subtitle_streams()) {
+               if (i->has_text_subtitles()) {
+                       return true;
+               }
+       }
+
+       return false;
 }
 
 void