Page MenuHomeSolus

Update soundtouch to 2.3.1

Authored by Desidiosus on Fri, Jun 3, 6:31 AM.



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
Test Plan

Rebuilt ardour, audacity, pcsx2 and gstreamer-1.0-plugins-bad against it

Diff Detail

R2939 soundtouch
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Desidiosus created this revision.Fri, Jun 3, 6:31 AM
Desidiosus requested review of this revision.Fri, Jun 3, 6:31 AM
Desidiosus edited the summary of this revision. (Show Details)Fri, Jun 3, 6:33 AM
Desidiosus edited the summary of this revision. (Show Details)
algent accepted this revision.Sat, Jun 4, 5:59 PM
algent edited the summary of this revision. (Show Details)
algent added a subscriber: algent.

LGTM, thanks!

This revision is now accepted and ready to land.Sat, Jun 4, 5:59 PM
This revision was automatically updated to reflect the committed changes.