From 7e858b9bdaa1603ef7c7eb9057813d082025c418 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 26 Jun 2021 12:32:17 -0600 Subject: [PATCH] portaudio: add standardized DSP statistics to portaudio backend (uncompiled) --- libs/backends/portaudio/portaudio_backend.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/backends/portaudio/portaudio_backend.cc b/libs/backends/portaudio/portaudio_backend.cc index fcfaa11914..b8a88e4d39 100644 --- a/libs/backends/portaudio/portaudio_backend.cc +++ b/libs/backends/portaudio/portaudio_backend.cc @@ -734,6 +734,9 @@ PortAudioBackend::process_callback(const float* input, const PaStreamCallbackTimeInfo* timeInfo, PaStreamCallbackFlags statusFlags) { + WaitTimerRAII tr (dsp_stats[DeviceWait]); + TimerRAII tr2 (dsp_stats[RunLoop]); + _active = true; _dsp_calc.set_start_timestamp_us (PBD::get_microseconds()); @@ -1485,7 +1488,10 @@ PortAudioBackend::blocking_process_thread () if (!_freewheel) { - switch (_pcmio->next_cycle (_samples_per_period)) { + dsp_stats[DeviceWait].start(); + int r = _pcmio->next_cycle (_samples_per_period); + dsp_stats[DeviceWait].update(); + switch (r) { case 0: // OK break; case 1: @@ -1529,6 +1535,7 @@ bool PortAudioBackend::blocking_process_main(const float* interleaved_input_data, float* interleaved_output_data) { + PBD::TimerRAII tr (dsp_stats[RunLoop]); uint32_t i = 0; int64_t min_elapsed_us = 1000000; int64_t max_elapsed_us = 0;