summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/dsp_load_calculator.h
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-09-14 16:48:38 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-09-16 11:22:17 +1000
commit158c12eb92295509f45b1d868fe9b689d38aa39d (patch)
tree85d14eecf7d2cc6e4ae46a0ccd11149a5b92971c /libs/ardour/ardour/dsp_load_calculator.h
parent35a1c3b6a585a33d79704f319b2806e93743b2bf (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.h13
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;