Release 2.1 ----------- Build-system fixups to install more headers, add a missing absl dependency, and forward port some missing patches to fix Windows builds. Release 2.0 ----------- Bump to code from WebRTC M131 version. Changes include: * Minor (breaking) API changes upstream * Various improvements to the AEC implementation * Transient suppression is removed * ExperimentalAgc and ExperimentalNs are removed * iSAC and the webrtc-audio-coding library were removed * abseil-cpp dependency bumped to 20240722 * NEON runtime detection dropped following upstream * Fixes for building on i686 and MIPS * Support for BSDs is added * Other build-system cleanups * Patches to upstream are now also tracked in patches/ Release 1.3 ----------- Fix for generate pkg-config file. Release 1.2 ----------- Improvements for building with abseil-cpp as a subproject, and pkg-config improvements for abseil dependency detection. Release 1.1 ----------- Build fixes for various platforms. Release 1.0 ----------- This is an API breaking release (as a reminder, the AudioProcessing module does not provide a stable public API, so we expose whatever API exists in the upstream project). In order to make package management easier with these inevitable breakages, the package is now suffixed with a version (currently it is webrtc-audio-processing-1). When the next API break happens, we will bump the major version, allowing incompatible versions to coexist. This also means that the previous version can also coexist with this one. Non-breaking changes will see a minor version update only. Changes: * The code base is now updated to correspond to the version shipping with the Chromium 88.0.4290.1 tag * There are a very large number changes to the underlying AEC implementation since the last update was a while ago. Most visibly the use of the AEC3 canceller by default, the deletion of the beamformer code * The autotools build system is replaced by meson * The pkg-config name is changed as described above Release 0.3 ----------- Minor build fixes. Release 0.2 ----------- Updated AudioProcessing code to be more current. Contains API breaking changes. Upstream changes include: * Rewritten AGC and voice activity detection * Intelligibility enhancer * Extended AEC filter * Beamformer * Transient suppressor * ARM, NEON and MIPS optimisations (MIPS optimisations are not hooked up) API changes: * We no longer include a top-level audio_processing.h. The webrtc tree format is used, so use webrtc/modules/audio_processing/include/audio_processing.h * The top-level module_common_types.h has also been moved to webrtc/modules/interface/module_common_types.h * C++11 support is now required while compiling client code * AudioProcessing::Create() does not take any arguments any more * AudioProcessing::Destroy() is gone, use standard C++ "delete" instead * Stream parameters are now configured via StreamConfig and ProcessingConfig rather than set_sample_rate(), set_num_channels(), etc. * AudioFrame field names have changed * Use config API for newer audio processing options * Use ProcessReverseStream() instead of AnalyzeReverseStream(), particularly when using the intelligibility enhancer * GainControl::set_analog_level_limits() is broken. The AGC implementation hard codes 0-255 as the volume range Other notes: * The new audio processing parameters are not all tested, and a few are not enabled upstream (in Chromium) either * The rewritten AGC appears to be less sensitive, and it might make sense to initialise the capture volume to something reasonable (33% or 50%, for example) to make sure there is sufficient energy in the stream to trigger the AGC mechanism Release 0.1 ----------- Initial release, consisting of the WebRTC AudioProcessing module with a distributor-friendly build system.