From 466141229f0402c807902f9fc42446bd4416c600 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 17 Oct 2016 00:32:35 +0200 Subject: ignore send buffers for which there's no return This fixes an issue with Audio+Midi sends feeding into an audio only return. --- libs/ardour/delivery.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libs') diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc index 35c4f9ad80..569def9669 100644 --- a/libs/ardour/delivery.cc +++ b/libs/ardour/delivery.cc @@ -337,8 +337,10 @@ Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, do for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) { uint32_t n = 0; - for (BufferSet::iterator b = bufs.begin (*t); b != bufs.end (*t); ++b) { + if (outs.count ().get (*t) <= n) { + continue; + } b->read_from (outs.get (*t, n++), nframes, (*t == DataType::AUDIO ? 0 : -Port::port_offset())); } } -- cgit v1.2.3