diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2017-06-23 14:19:04 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2017-09-18 11:40:53 -0400 |
commit | 79abf3dfa6d649fbf1fb6fd16cd489f434d0b909 (patch) | |
tree | 32ff1d2f37f17c8eb627ac2357dff4aea4e149c7 /libs/ardour/route.cc | |
parent | d4280997fb1764ae0df619fbb34031bebd4b0670 (diff) |
set + store signal chain latency for all processors; DiskWriter sets its capture_offset appropriately
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 352d36a2c5..b7a57fd3f1 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -1806,6 +1806,8 @@ Route::configure_processors_unlocked (ProcessorStreams* err, Glib::Threads::RWLo // TODO check for a potential ReaderLock after ReaderLock ?? Glib::Threads::RWLock::ReaderLock lr (_processor_lock); + framecnt_t chain_latency = _input->latency (); + list< pair<ChanCount,ChanCount> >::iterator c = configuration.begin(); for (ProcessorList::iterator p = _processors.begin(); p != _processors.end(); ++p, ++c) { @@ -1816,6 +1818,10 @@ Route::configure_processors_unlocked (ProcessorStreams* err, Glib::Threads::RWLo lm->acquire (); return -1; } + + (*p)->set_input_latency (chain_latency); + chain_latency += (*p)->signal_latency (); + processor_max_streams = ChanCount::max(processor_max_streams, c->first); processor_max_streams = ChanCount::max(processor_max_streams, c->second); |