13
0

PI: Leave unconnected buffers when split processing

Otherwise a stereo plugin on a mono bus will still
have two valid input buffers, and a map saying so
during process().
This commit is contained in:
Robin Gareus 2023-03-17 05:48:32 +01:00
parent f8557cc00f
commit 05a13e151e
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -897,10 +897,10 @@ PluginInsert::connect_and_run (BufferSet& bufs, samplepos_t start, samplepos_t e
}
if (_match.method == Split && !no_inplace) {
// TODO: also use this optimization if one source-buffer
// feeds _all_ *connected* inputs.
// currently this is *first* buffer to all only --
// see PluginInsert::check_inplace
/* This allows in-place processing. Copying a single source-port
* to all the input pins of a plugin, using a dedicated buffer for each.
* see PluginInsert::check_inplace
*/
for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) {
if (_configured_internal.get (*t) == 0) {
continue;
@ -917,8 +917,6 @@ PluginInsert::connect_and_run (BufferSet& bufs, samplepos_t start, samplepos_t e
}
}
}
/* the copy operation produces a linear monotonic input map */
in_map[0] = ChanMapping (natural_input_streams ());
}
bufs.set_count(ChanCount::max(bufs.count(), _configured_internal));