+
+ for (PeriodMap::iterator i = _text_subtitles.begin(); i != _text_subtitles.end(); ++i) {
+ i->second.from += offset;
+ i->second.to += offset;
+ }
+}
+
+map<RGBA, RGBA>
+FFmpegSubtitleStream::colours () const
+{
+ return _colours;
+}
+
+void
+FFmpegSubtitleStream::set_colour (RGBA from, RGBA to)
+{
+ _colours[from] = to;
+}
+
+bool
+FFmpegSubtitleStream::has_text () const
+{
+ return !_text_subtitles.empty ();
+}
+
+bool
+FFmpegSubtitleStream::has_image () const
+{
+ return !_image_subtitles.empty ();
+}
+
+void
+FFmpegSubtitleStream::set_subtitle_to (string id, ContentTime to)
+{
+ PeriodMap::iterator i = _image_subtitles.find (id);
+ if (i != _image_subtitles.end ()) {
+ i->second.to = to;
+ } else {
+ i = _text_subtitles.find (id);
+ if (i != _text_subtitles.end ()) {
+ i->second.to = to;
+ } else {
+ DCPOMATIC_ASSERT (false);
+ }
+ }