diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-07-20 21:48:40 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-07-20 21:48:40 +0100 |
| commit | 5a2aaaa015d092beb787eae50731d2f7fc6cbb7f (patch) | |
| tree | 670580931b3ea9c579dd9c3b207510aa82736c3b | |
| parent | 093e2c266a9801ac8b5dcf709409bf4998fda970 (diff) | |
Round up in Time::as_editable_units.
| -rw-r--r-- | src/dcp_time.cc | 6 | ||||
| -rw-r--r-- | test/write_subtitle_test.cc | 3 |
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> () ); } - |
