Disable non-essential modules with --disable-all even if doesn't have
external dependencies and thus has been built unconditionally until
now. Individual files can then be re-enabled with --enable-file=src1,src2
option.
The option will likely not be used alone but rather implicitly by
--disable-all and it can be used to speed-up the compilation if reflector
is not needed (and maybe also if its compilation is failing).
Prevent integer overflow on big (perhaps wrong) values, eg. 2E9 channels:
`uv -s testcard -a ch=2000000000`
+ check memory data allocations with assert where there is no overflow
but out-of-memory (eg. `ch=1024:s=16777216:bps=16` requires 32 GiB RAM)
Since 2022-06-18 (commit cbc548d3), dynamic rate limiter allows
overshooting one frame by the factor of 50% so we can safely set the
default factor to 1.5 now.
see also GH-114
Decrease log level for implicit options returning E_NOTIMPL to info -
perhaps not important at all (like passthrough on old devices) and we
do not want to decrease user attention to warning.s
It doesn't seem to be restricted by API version, eg. on an Intensity Pro,
16 works for both SDK 11.6 and 12 (second advertises 32/64 channels in
SDK doc, first not), although it has only 2 channels (attrs mach/aach/iach).
32 channels is refused by both SDK versions, so doesn't necessarily need
to be related to version.
Since this setting is on the sender, we do not need to check the validity
since if invalid, it would fail later, anyways.
Not needed to store separately "current" buffer packets since it is
already stored in cumulative, it is just needed to store the current
buffer number.
It needs to be enabled explicitly, anyways - at least Opus won't work
with former UG versions. For 40 ms frame, it produces 2 packets. When
merged into one packet, the decoder is unable to decompress.
Send channels sequentially with a new function to simplify the code.
Also removed the the cumbersome multiplier packet interleaving - not
sure if it worked as expected (having sliding n-packet interleave window
for n-multiplied stream).
Now we simply send all packets of the frame as without multiplication
and then repeated with M-bit set to the latest packet. It is much easier
and it is supposed to work approximately the same or even better.