diff options
author | Robin Gareus <robin@gareus.org> | 2016-10-17 00:32:35 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-10-17 00:33:02 +0200 |
commit | 466141229f0402c807902f9fc42446bd4416c600 (patch) | |
tree | c05fd8ffe8d8190dba3431484ffd1dd8fb87a42d /libs/ardour/delivery.cc | |
parent | d2835bc8024a12a751d8019db3cba4591ed2a33a (diff) |
ignore send buffers for which there's no return
This fixes an issue with Audio+Midi sends feeding into an audio only return.
Diffstat (limited to 'libs/ardour/delivery.cc')
-rw-r--r-- | libs/ardour/delivery.cc | 4 |
1 files changed, 3 insertions, 1 deletions
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())); } } |