PluginInsert match I/O: skip div by zero

This commit is contained in:
Robin Gareus 2024-03-20 23:12:00 +01:00
parent 92183430b9
commit df8106bd85
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
1 changed files with 2 additions and 2 deletions

View File

@ -2334,7 +2334,7 @@ PluginInsert::internal_can_support_io_configuration (ChanCount const & inx, Chan
uint32_t f = 1; // at least one. e.g. control data filters, no in, no out.
for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) {
uint32_t nout = outputs.get (*t);
if (nout == 0 || inx.get(*t) == 0) { continue; }
if (nout == 0 || inx.get(*t) == 0 || nout == 0) { continue; }
f = max (f, (uint32_t) ceil (inx.get(*t) / (float)nout));
}
out = inx;
@ -2386,7 +2386,7 @@ PluginInsert::internal_can_support_io_configuration (ChanCount const & inx, Chan
for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) {
uint32_t nin = ns_inputs.get (*t);
uint32_t nout = outputs.get (*t);
if (nin == 0 || inx.get(*t) == 0) { continue; }
if (nin == 0 || inx.get(*t) == 0 || nout == 0) { continue; }
// prefer floor() so the count won't overly increase IFF (nin < nout)
f = max (f, (uint32_t) floor (inx.get(*t) / (float)nout));
}