diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2015-09-14 16:48:38 +1000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2015-09-16 11:22:17 +1000 |
commit | 158c12eb92295509f45b1d868fe9b689d38aa39d (patch) | |
tree | 85d14eecf7d2cc6e4ae46a0ccd11149a5b92971c /libs/ardour/ardour/dsp_load_calculator.h | |
parent | 35a1c3b6a585a33d79704f319b2806e93743b2bf (diff) |
Add DSPLoadCalculator::set_max_time() to set max time based on samplerate and period size
Diffstat (limited to 'libs/ardour/ardour/dsp_load_calculator.h')
-rw-r--r-- | libs/ardour/ardour/dsp_load_calculator.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/libs/ardour/ardour/dsp_load_calculator.h b/libs/ardour/ardour/dsp_load_calculator.h index 1da9786d36..7ee741aceb 100644 --- a/libs/ardour/ardour/dsp_load_calculator.h +++ b/libs/ardour/ardour/dsp_load_calculator.h @@ -36,6 +36,10 @@ public: } + void set_max_time(double samplerate, uint32_t period_size) { + m_max_time_us = (1e6 / samplerate) * period_size; + } + void set_max_time_us(uint64_t max_time_us) { assert(max_time_us != 0); m_max_time_us = max_time_us; @@ -60,7 +64,7 @@ public: */ if (m_start_timestamp_us < 0 || m_stop_timestamp_us < 0 || m_start_timestamp_us > m_stop_timestamp_us || - elapsed_time_us() > max_timer_error()) { + elapsed_time_us() > max_timer_error_us()) { return; } @@ -98,8 +102,11 @@ public: return m_dsp_load; } -private: // methods - int64_t max_timer_error () { return 4 * m_max_time_us; } + /** + * The maximum error in timestamp values that will be tolerated before the + * current dsp load sample will be ignored + */ + int64_t max_timer_error_us() { return 4 * m_max_time_us; } private: // data int64_t m_max_time_us; |