summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_content.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-07-02 18:10:58 +0100
committerCarl Hetherington <cth@carlh.net>2014-07-02 18:10:58 +0100
commitc88a8a6ec6b396dc90d40a4843160d616a45db76 (patch)
treeb58c18fdb6c7946446ae244747fa7b4461fd9661 /src/lib/ffmpeg_content.cc
parent712f8144f1992364d79a80b2b586248423f7ac11 (diff)
Hopefully improve subtitle decoder seeking etc.
Diffstat (limited to 'src/lib/ffmpeg_content.cc')
-rw-r--r--src/lib/ffmpeg_content.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc
index a12f45a30..f97e324bb 100644
--- a/src/lib/ffmpeg_content.cc
+++ b/src/lib/ffmpeg_content.cc
@@ -396,20 +396,22 @@ FFmpegContent::audio_analysis_path () const
return p;
}
-bool
-FFmpegContent::has_subtitle_during (ContentTimePeriod period) const
+list<ContentTimePeriod>
+FFmpegContent::subtitles_during (ContentTimePeriod period) const
{
+ list<ContentTimePeriod> d;
+
shared_ptr<FFmpegSubtitleStream> stream = subtitle_stream ();
if (!stream) {
- return false;
+ return d;
}
/* XXX: inefficient */
for (vector<ContentTimePeriod>::const_iterator i = stream->periods.begin(); i != stream->periods.end(); ++i) {
- if (i->from <= period.to && i->to >= period.from) {
- return true;
+ if (period.overlaps (*i)) {
+ d.push_back (*i);
}
}
- return false;
+ return d;
}