summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2019-12-16 16:13:27 -0700
committerPaul Davis <paul@linuxaudiosystems.com>2019-12-16 16:13:39 -0700
commitcd78a168b2a9bf0ea74f5a6b6dfd51beed4c2df1 (patch)
tree9d7aa5ec302accf6396e6a4abb3e3dd3da49b923 /libs/ardour/session.cc
parentcafd1b792c26397202f77a25e7c3085cebe065bc (diff)
reinstate missing latency initialization code
Removed (mistakenly) during work on transportFSM
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r--libs/ardour/session.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 31a57b3b1c..09e5634f5e 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -492,6 +492,10 @@ Session::immediately_post_engine ()
_process_graph.reset (new Graph (*this));
}
+ /* every time we reconnect, recompute worst case output latencies */
+
+ _engine.Running.connect_same_thread (*this, boost::bind (&Session::initialize_latencies, this));
+
/* Restart transport FSM */
_transport_fsm->start ();
@@ -6329,6 +6333,18 @@ Session::unknown_processors () const
}
void
+Session::initialize_latencies ()
+{
+ {
+ Glib::Threads::Mutex::Lock lm (_engine.process_lock());
+ update_latency (false);
+ update_latency (true);
+ }
+
+ set_worst_io_latencies ();
+}
+
+void
Session::set_worst_io_latencies_x (IOChange, void *)
{
set_worst_io_latencies ();