diff options
author | Robin Gareus <robin@gareus.org> | 2016-11-25 13:26:38 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-11-25 13:26:38 +0100 |
commit | fa642e0e9d415be851f5b60ccd13a40a077d58b8 (patch) | |
tree | fe1d75f88835f7cc6634bdd6fe5a8244279064eb /libs/ardour/delivery.cc | |
parent | e07f46551659a78233a88b23e1fec1e3f8613f21 (diff) |
Fix forwarding of output-buffers.
fbc8504f9eb74 swapped the iterators: Instead of iterating over output
buffers like BufferSet::read_from(), the new code iterates over
the current buffers. In case of 1 in -> 2 out, only the 1st channel
was be copied. Also unlike BufferSet::read_from() the ChanCount was
not updated.
Processors after a Delivery e.g. out-meter, AFL processor did not see
all channels.
Diffstat (limited to 'libs/ardour/delivery.cc')
-rw-r--r-- | libs/ardour/delivery.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc index 569def9669..d95e32a02f 100644 --- a/libs/ardour/delivery.cc +++ b/libs/ardour/delivery.cc @@ -326,13 +326,13 @@ Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, do } if (result_required) { - /* "bufs" are internal, meaning they should never reflect split-cycle offsets. So shift events back in time from where they were for the external buffers associated with Ports. */ - BufferSet& outs (output_buffers()); + const BufferSet& outs (output_buffers()); + bufs.set_count (output_buffers().count ()); for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) { |