diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2019-10-28 16:55:29 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2019-10-28 16:55:29 -0600 |
commit | b97e2d5013c9314cfec7d5e42862c836e907f3f1 (patch) | |
tree | c6956a8e583d5e08762e53005c9b4db8c54031a2 /libs/ardour/session.cc | |
parent | 6b654039fbc0f8e35973b25ee6da804c3aae226e (diff) |
to avoid deadlock in JACK1 scenarios, do not invoke AudioEngine::update_latencies() from update_latency_compensation() if called from a process thread
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index fdfd7bf9d7..44646aa7f9 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -6534,6 +6534,9 @@ Session::update_latency_compensation (bool force_whole_graph) * those cases this call will return until the backend latency * callback is complete. */ + if (!AudioEngine::instance()->in_process_thread()) { + _engine.update_latencies (); + } } else { DEBUG_TRACE (DEBUG::LatencyCompensation, "update_latency_compensation: directly apply to routes\n"); boost::shared_ptr<RouteList> r = routes.reader (); |