From: Carl Hetherington Date: Sun, 14 Jan 2018 00:24:28 +0000 (+0000) Subject: Emit subtitles with correct times when they occur at different times within a frame... X-Git-Tag: v2.11.41~2 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=77b3fe5cb14784c9365792b0c15f8a68d11546dd Emit subtitles with correct times when they occur at different times within a frame period. --- diff --git a/src/lib/dcp_decoder.cc b/src/lib/dcp_decoder.cc index 1a4896fe7..23b834767 100644 --- a/src/lib/dcp_decoder.cc +++ b/src/lib/dcp_decoder.cc @@ -188,12 +188,11 @@ DCPDecoder::pass_subtitles (ContentTime next) true ); - if (!subs.empty ()) { - /* XXX: assuming that all `subs' are at the same time; maybe this is ok */ + BOOST_FOREACH (dcp::SubtitleString i, subs) { subtitle->emit_text ( ContentTimePeriod ( - ContentTime::from_frames (_offset - entry_point, vfr) + ContentTime::from_seconds (subs.front().in().as_seconds ()), - ContentTime::from_frames (_offset - entry_point, vfr) + ContentTime::from_seconds (subs.front().out().as_seconds ()) + ContentTime::from_frames (_offset - entry_point, vfr) + ContentTime::from_seconds (i.in().as_seconds ()), + ContentTime::from_frames (_offset - entry_point, vfr) + ContentTime::from_seconds (i.out().as_seconds ()) ), subs );