summaryrefslogtreecommitdiff
path: root/libs/ardour/session_process.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-01-29 18:57:01 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-01-29 22:00:05 -0500
commitbdfe32c08634f505bd7f782b8d0df69bdaa5c4e6 (patch)
tree1d46601f3e50e34fd884e8cb7542b803deacacb4 /libs/ardour/session_process.cc
parentde8a8272bc0de7bab35aab75a6ba515d0c6c722b (diff)
stop transport when process_routes fails, even when using the parallel graph execution model
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r--libs/ardour/session_process.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc
index efe9ffb351..86f427f792 100644
--- a/libs/ardour/session_process.cc
+++ b/libs/ardour/session_process.cc
@@ -159,7 +159,10 @@ Session::process_routes (pframes_t nframes, bool& need_butler)
if (_process_graph) {
DEBUG_TRACE(DEBUG::ProcessThreads,"calling graph/process-routes\n");
- _process_graph->process_routes (nframes, start_frame, end_frame, declick, need_butler);
+ if (_process_graph->process_routes (nframes, start_frame, end_frame, declick, need_butler) < 0) {
+ stop_transport ();
+ return -1;
+ }
} else {
for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {