X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsubtitle.cc;h=37c372c20548f2f01508ead78346daf363494afc;hb=44b57d623dec97a3f9955082f0b8a7a8d27b7518;hp=451d836913f5a07e4476d0dd3c50de29e98e9723;hpb=5d2ba0d2f7855ffe18ff8e5a96156ca17e50cd2b;p=dcpomatic.git diff --git a/src/lib/subtitle.cc b/src/lib/subtitle.cc index 451d83691..37c372c20 100644 --- a/src/lib/subtitle.cc +++ b/src/lib/subtitle.cc @@ -32,11 +32,14 @@ using namespace boost; /** Construct a TimedSubtitle. This is a subtitle image, position, * and a range of time over which it should be shown. * @param sub AVSubtitle to read. + * @param c Fractional seconds that should be subtracted from the AVSubtitle's PTS. */ -TimedSubtitle::TimedSubtitle (AVSubtitle const & sub) +TimedSubtitle::TimedSubtitle (AVSubtitle const & sub, double c) { + assert (sub.rects > 0); + /* subtitle PTS in seconds */ - float const packet_time = (sub.pts / AV_TIME_BASE) + float (sub.pts % AV_TIME_BASE) / 1e6; + double const packet_time = ((sub.pts / AV_TIME_BASE) + float (sub.pts % AV_TIME_BASE) / 1e6) - c; /* hence start time for this sub */ _from = packet_time + (double (sub.start_display_time) / 1e3);