Fix forwarding of output-buffers.

fbc8504f9e 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.
This commit is contained in:
Robin Gareus 2016-11-25 13:26:38 +01:00
parent e07f465516
commit fa642e0e9d

View File

@ -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) {