summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_subtitle_stream.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-02-15 08:40:14 +0000
committerCarl Hetherington <cth@carlh.net>2016-02-15 22:34:57 +0000
commit54d17e98a597334bf1ba2615e3eb6191088f606f (patch)
tree83a4f0c1acb2aab41a9cf279bc949474a214951a /src/lib/ffmpeg_subtitle_stream.h
parent57c49675889c0e0ad8cebece7a60bba08ba782d2 (diff)
Support SSA subtitles embedded within FFmpeg files.
Diffstat (limited to 'src/lib/ffmpeg_subtitle_stream.h')
-rw-r--r--src/lib/ffmpeg_subtitle_stream.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/lib/ffmpeg_subtitle_stream.h b/src/lib/ffmpeg_subtitle_stream.h
index 6cd5318d0..688aaa993 100644
--- a/src/lib/ffmpeg_subtitle_stream.h
+++ b/src/lib/ffmpeg_subtitle_stream.h
@@ -31,11 +31,27 @@ public:
void as_xml (xmlpp::Node *) const;
- void add_subtitle (std::string id, ContentTimePeriod period);
- std::list<ContentTimePeriod> subtitles_during (ContentTimePeriod period, bool starting) const;
+ void add_image_subtitle (std::string id, ContentTimePeriod period);
+ void add_text_subtitle (std::string id, ContentTimePeriod period);
+ std::list<ContentTimePeriod> image_subtitles_during (ContentTimePeriod period, bool starting) const;
+ std::list<ContentTimePeriod> text_subtitles_during (ContentTimePeriod period, bool starting) const;
ContentTime find_subtitle_to (std::string id) const;
void add_offset (ContentTime offset);
+ bool has_image_subtitles () const {
+ return !_image_subtitles.empty ();
+ }
+ bool has_text_subtitles () const {
+ return !_text_subtitles.empty ();
+ }
+
private:
- std::map<std::string, ContentTimePeriod> _subtitles;
+
+ typedef std::map<std::string, ContentTimePeriod> PeriodMap;
+
+ void as_xml (xmlpp::Node *, PeriodMap const & subs, std::string node) const;
+ std::list<ContentTimePeriod> subtitles_during (ContentTimePeriod period, bool starting, PeriodMap const & subs) const;
+
+ PeriodMap _image_subtitles;
+ PeriodMap _text_subtitles;
};