summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/audioengine.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index b82b9628f8..c525c33fd4 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -288,9 +288,12 @@ AudioEngine::process_callback (pframes_t nframes)
--_init_countdown;
/* Warm up caches */
PortManager::cycle_start (nframes);
- PortManager::silence (nframes);
_session->process (nframes);
+ PortManager::silence (nframes);
PortManager::cycle_end (nframes);
+ if (_init_countdown == 0) {
+ _session->reset_xrun_count();
+ }
return 0;
}
@@ -723,7 +726,7 @@ AudioEngine::set_session (Session *s)
SessionHandlePtr::set_session (s);
if (_session) {
- _init_countdown = 8;
+ _init_countdown = std::max (8, (int)(_backend->sample_rate () / _backend->buffer_size ()) / 2);
}
}