From f06c5136e7d3cd0a8e1814763c7774859998efe4 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 9 Mar 2020 22:05:34 +0100 Subject: [PATCH] Coalesce short reels. --- src/lib/film.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lib/film.cc b/src/lib/film.cc index 5531a198c..ed2c5a372 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -1643,13 +1643,17 @@ Film::reels () const split_points.sort (); split_points.unique (); - /* Make them into periods */ + /* Make them into periods, coalescing any that are less than 1 second long */ optional last; BOOST_FOREACH (DCPTime t, split_points) { - if (last) { + if (last && (t - *last) >= DCPTime::from_seconds(1)) { + /* Period from *last to t is long enough; use it and start a new one */ p.push_back (DCPTimePeriod(*last, t)); + last = t; + } else if (!last) { + /* That was the first time, so start a new period */ + last = t; } - last = t; } break; } -- 2.30.2