Resolves CVE-2018-17096, CVE-2018-17097 and CVE-2018-17098
Summarized changelog:
- Disable setting "SOUNDTOUCH_ALLOW_NONEXACT_SIMD_OPTIMIZATION" by default. The original purpose of this setting was to avoid performance penalty due to unaligned SIMD memory accesses in old CPUs, but that is not any more issue in concurrent CPU SIMD implementations and having this setting enabled can cause slight compromise in result quality.
- Bugfix: soundtouch.clear() to really clear whole processing pipeline state. Earlier individual variables were left uncleared, which caused slightly different result if the same audio stream were processed again after calling clear().
- Bugfix: TDstretch to align initial offset position to be in middle of correlation search window. This ensures that with zero tempo change the output will be same as input.
- Bugfix: Fix a bug in TDstrectch with too small initial skipFract value that occurred with certain processing parameter settings: Replace assert with assignment that corrects the situation.
- Bugfix: Resolved bad sound quality when using integer sample types in non-x86 CPU
- Bugfix: Fixed possible reading past end of array in BPM peak detection algorithm
- Bugfixes: Fixed potential buffer overwrite bugs in WavFile routines. Replaced asserts with runtime exceptions.
- Android: Migrated the SoundTouch Android example to new Android Studio
- Automake: unset ACLOCAL in bootstrap script in case earlier build script has set it