summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-11-04 05:20:14 +0100
committerRobin Gareus <robin@gareus.org>2017-11-04 07:14:12 +0100
commitd26ad5573ca47a851575d9fe3e11e9d5c4b7dd67 (patch)
tree4d95051266e8216b18b8061b3419c41c1f9fe59f /libs/ardour/session.cc
parent5fdd6ca21ecb5dbc3611b2b1c845fb6c3955b01e (diff)
Optimize Delaylines: block-process (not one sample at a time)
This also tweaks fade behavior when the latency changes to prefer a x-fade when possible. This new variant does not support concurrent re-allocation and execution. Hence the auto-connect thread needs to take a lock before updating latencies (actually there's no need for an explicit update with built-in backends, so this case remains to be updated further)
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r--libs/ardour/session.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index ef08eb0bf2..dabd4bc187 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -7353,6 +7353,7 @@ Session::auto_connect_thread_run ()
* modifies the capture-offset, which can be a problem.
*/
while (g_atomic_int_and (&_latency_recompute_pending, 0)) {
+ Glib::Threads::Mutex::Lock lm (AudioEngine::instance()->process_lock ());
update_latency_compensation ();
}
}