}
text_subtitle (out);
- _next++;
+ ++_next;
return false;
}
-bool
-SubRipDecoder::has_subtitle_during (ContentTimePeriod p) const
+list<ContentTimePeriod>
+SubRipDecoder::subtitles_during (ContentTimePeriod p, bool starting) const
{
/* XXX: inefficient */
+ list<ContentTimePeriod> d;
+
for (vector<SubRipSubtitle>::const_iterator i = _subtitles.begin(); i != _subtitles.end(); ++i) {
- if (p.overlaps (i->period)) {
- return true;
+ if ((starting && p.contains (i->period.from)) || (!starting && p.overlaps (i->period))) {
+ d.push_back (i->period);
}
}
- return false;
+ return d;
}