summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-12-05 14:49:21 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2014-12-05 14:49:30 -0500
commit91d3e8ead0fc19cfec6b157a56b8bb391d3be44d (patch)
tree9e24caf352840c0a2d274595753643d771710d2e /libs
parentcf3faf1b42037b8c545926a4949e206ae01ee682 (diff)
if a Route's processor lock cannot be taken, fill buffers with silence (causing click) rather than abort()
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/route.cc5
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) {