From 77b3fe5cb14784c9365792b0c15f8a68d11546dd Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 14 Jan 2018 00:24:28 +0000 Subject: Emit subtitles with correct times when they occur at different times within a frame period. --- src/lib/dcp_decoder.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/lib/dcp_decoder.cc') 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 ); -- cgit v1.2.3