summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-07-20 21:48:40 +0100
committerCarl Hetherington <cth@carlh.net>2015-07-20 21:48:40 +0100
commit5a2aaaa015d092beb787eae50731d2f7fc6cbb7f (patch)
tree670580931b3ea9c579dd9c3b207510aa82736c3b
parent093e2c266a9801ac8b5dcf709409bf4998fda970 (diff)
Round up in Time::as_editable_units.
-rw-r--r--src/dcp_time.cc6
-rw-r--r--test/write_subtitle_test.cc3
2 files changed, 4 insertions, 5 deletions
diff --git a/src/dcp_time.cc b/src/dcp_time.cc
index 8101bed1..5e2e3121 100644
--- a/src/dcp_time.cc
+++ b/src/dcp_time.cc
@@ -263,13 +263,13 @@ Time::as_string () const
}
/** @param tcr_ Timecode rate with which the return value should be counted.
- * @return the total number of editable units that this time consists of at the specified timecode rate.
- * For example, as_editable_units (24) returns the total time in frames at 24fps.
+ * @return the total number of editable units that this time consists of at the specified timecode rate, rounded up
+ * to the nearest editable unit. For example, as_editable_units (24) returns the total time in frames at 24fps.
*/
int64_t
Time::as_editable_units (int tcr_) const
{
- return (int64_t(e) * float (tcr_ / tcr)) + int64_t(s) * tcr_ + int64_t(m) * 60 * tcr_ + int64_t(h) * 60 * 60 * tcr_;
+ return ceil (int64_t(e) * double (tcr_) / tcr) + int64_t(s) * tcr_ + int64_t(m) * 60 * tcr_ + int64_t(h) * 60 * 60 * tcr_;
}
/** @return the total number of seconds that this time consists of */
diff --git a/test/write_subtitle_test.cc b/test/write_subtitle_test.cc
index d2402262..faf5cee2 100644
--- a/test/write_subtitle_test.cc
+++ b/test/write_subtitle_test.cc
@@ -91,7 +91,7 @@ BOOST_AUTO_TEST_CASE (write_subtitle_test)
" </Subtitle>\n"
" </Font>\n"
" <Font Italic=\"yes\" Color=\"FF800040\" Size=\"91\" Effect=\"border\" EffectColor=\"FF010203\" Script=\"normal\" Underlined=\"no\" Weight=\"normal\">\n"
- " <Subtitle SpotNumber=\"2\" TimeIn=\"05:41:00:219\" TimeOut=\"06:12:15:219\" FadeUpTime=\"930790\" FadeDownTime=\"4591830\">\n"
+ " <Subtitle SpotNumber=\"2\" TimeIn=\"05:41:00:219\" TimeOut=\"06:12:15:219\" FadeUpTime=\"930792\" FadeDownTime=\"4591834\">\n"
" <Text VAlign=\"bottom\" VPosition=\"40\">What's going on</Text>\n"
" </Subtitle>\n"
" </Font>\n"
@@ -99,4 +99,3 @@ BOOST_AUTO_TEST_CASE (write_subtitle_test)
list<string> ()
);
}
-