X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsubtitle_decoder.cc;h=a7da626b7665fb6d1af02908d7aaccb1c358f7eb;hb=526fd6de4c80a7ac9614a1cb0209efff7b171cd5;hp=dd2558505d8d460ca3b1ba0e85eae4b2207e2ebc;hpb=e60bb3e51bd1508b149e6b8f6608f09b5196ae26;p=dcpomatic.git diff --git a/src/lib/subtitle_decoder.cc b/src/lib/subtitle_decoder.cc index dd2558505..a7da626b7 100644 --- a/src/lib/subtitle_decoder.cc +++ b/src/lib/subtitle_decoder.cc @@ -17,9 +17,11 @@ */ -#include #include "subtitle_decoder.h" #include "subtitle_content.h" +#include +#include +#include using std::list; using std::cout; @@ -46,9 +48,9 @@ SubtitleDecoder::image_subtitle (ContentTimePeriod period, shared_ptr ima } void -SubtitleDecoder::text_subtitle (list s) +SubtitleDecoder::text_subtitle (ContentTimePeriod period, list s) { - _decoded_text_subtitles.push_back (ContentTextSubtitle (s)); + _decoded_text_subtitles.push_back (ContentTextSubtitle (period, s)); } /** @param sp Full periods of subtitles that are showing or starting during the specified period */ @@ -61,8 +63,8 @@ SubtitleDecoder::get (list const & subs, list const & sp, return list (); } - /* Seek if what we want is before what we have, or more than a reasonable amount after */ - if (subs.empty() || sp.back().to < subs.front().period().from || sp.front().from > (subs.back().period().to + ContentTime::from_seconds (5))) { + /* Seek if what we want is before what we have, or a more than a little bit after */ + if (subs.empty() || sp.back().to < subs.front().period().from || sp.front().from > (subs.back().period().to + ContentTime::from_seconds (1))) { seek (sp.front().from, true); }