Add 'starting' option to subtitles_during().
[dcpomatic.git] / src / lib / subrip_decoder.cc
index 3d971fd4b4fe8516ec43d5b7111b9f095b6176be..4bdf06e7c331f050463a60873c19b5f0f7725dac 100644 (file)
@@ -79,16 +79,18 @@ SubRipDecoder::pass ()
        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;
 }