diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-12-05 14:49:21 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-12-05 14:49:30 -0500 |
commit | 91d3e8ead0fc19cfec6b157a56b8bb391d3be44d (patch) | |
tree | 9e24caf352840c0a2d274595753643d771710d2e | |
parent | cf3faf1b42037b8c545926a4949e206ae01ee682 (diff) |
if a Route's processor lock cannot be taken, fill buffers with silence (causing click) rather than abort()
-rw-r--r-- | libs/ardour/route.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index e6ab6fb6fc..a93a6a1bf8 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -433,7 +433,10 @@ Route::process_output_buffers (BufferSet& bufs, assert (!AudioEngine::instance()->process_lock().trylock()); Glib::Threads::RWLock::ReaderLock lm (_processor_lock, Glib::Threads::TRY_LOCK); - assert(lm.locked()); + if (!lm.locked()) { + bufs.silence (nframes, 0); + return; + } /* figure out if we're going to use gain automation */ if (gain_automation_ok) { |