From 4330db1aa77b71f7b3071f6b72f24f4a1e64aef3 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 12 Sep 2015 12:34:10 +1000 Subject: Update timestamp types in CycleTimer class to be signed --- libs/backends/portaudio/cycle_timer.h | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'libs/backends') diff --git a/libs/backends/portaudio/cycle_timer.h b/libs/backends/portaudio/cycle_timer.h index 95811ae1ca..6fe665568c 100644 --- a/libs/backends/portaudio/cycle_timer.h +++ b/libs/backends/portaudio/cycle_timer.h @@ -55,7 +55,7 @@ public: // rint?? that may round to sample outside of cycle? // max(0, value)? - uint32_t samples_since_cycle_start (uint64_t timer_val) const + uint32_t samples_since_cycle_start (int64_t timer_val) const { if (timer_val < m_cycle_start) { return 0; @@ -63,38 +63,39 @@ public: return std::max((double)0, (timer_val - get_start ()) / get_sample_length_us ()); } - uint64_t timestamp_from_sample_offset (uint32_t sample_offset) + int64_t timestamp_from_sample_offset (uint32_t sample_offset) { return m_cycle_start + get_sample_length_us () * sample_offset; } bool valid () const { return m_samples_per_cycle && m_samplerate; } - bool in_cycle (uint64_t timer_value_us) const - { return (timer_value_us >= get_start()) && (timer_value_us < get_next_start()); + bool in_cycle(int64_t timer_value_us) const + { + return (timer_value_us >= get_start()) && (timer_value_us < get_next_start()); } - void reset_start (uint64_t timestamp) { m_cycle_start = timestamp; } + void reset_start (int64_t timestamp) { m_cycle_start = timestamp; } - uint64_t get_start () const { return m_cycle_start; } + int64_t get_start () const { return m_cycle_start; } - uint64_t microseconds_since_start (uint64_t timestamp) const + int64_t microseconds_since_start (int64_t timestamp) const { return timestamp - m_cycle_start; } - uint64_t microseconds_since_start (uint32_t samples) const + int64_t microseconds_since_start (uint32_t samples) const { return m_cycle_start + samples * get_sample_length_us (); } - uint64_t get_next_start () const + int64_t get_next_start () const { return m_cycle_start + rint (get_length_us ()); } private: - uint64_t m_cycle_start; + int64_t m_cycle_start; uint32_t m_samplerate; uint32_t m_samples_per_cycle; -- cgit v1.2.3