diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-07-28 17:53:27 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-07-29 20:04:36 +0100 |
| commit | a0d1dd5d91c81ec9907cbc7b890905c463c18f62 (patch) | |
| tree | 3dc0b2e5b7e3a4e7da7d687c8713e0b461ce2aeb /src/lib/dcpomatic_time.h | |
| parent | 2da067ce01a04964dd5d739ea695504517877507 (diff) | |
Replace Time::frames with Time::frames_round and Time::frames_floor.
I believe both are necessary; doing floor instead of round caused #648.
Diffstat (limited to 'src/lib/dcpomatic_time.h')
| -rw-r--r-- | src/lib/dcpomatic_time.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/dcpomatic_time.h b/src/lib/dcpomatic_time.h index 41339d128..c1d27407a 100644 --- a/src/lib/dcpomatic_time.h +++ b/src/lib/dcpomatic_time.h @@ -132,7 +132,12 @@ public: } template <typename T> - int64_t frames (T r) const { + int64_t frames_round (T r) const { + return llrint (_t * r / HZ); + } + + template <typename T> + int64_t frames_floor (T r) const { return floor (_t * r / HZ); } @@ -143,7 +148,7 @@ public: /* Do this calculation with frames so that we can round to a frame boundary at the start rather than the end. */ - int64_t ff = frames (r); + int64_t ff = frames_round (r); h = ff / (3600 * r); ff -= h * 3600 * r; |
