Releases: kcat/openal-soft
Releases · kcat/openal-soft
[2026-03-05] utils-r10456@42b56d7
Commits
- a51260c: Fix a cast when compiling against PipeWire 0.3.50 headers (Chris Robinson)
- 8780402: Add an ubuntu-22.04 build to CI (Chris Robinson)
- 810c8b1: Remove constexpr from a function that can't be (Chris Robinson)
- b48db84: Try to workaround a GCC 11 issue with string_view construction (Chris Robinson)
- bb2f88e: Try to work around more older GCC issues (Chris Robinson)
- 2b38916: Changes to support arm64ec on msvc. (#1250) (aalekhm) #1250
- 1c31c0f: Check for NEON first (Chris Robinson)
- 00fed14: Use GCC 12 for the Ubuntu 22.04 CI build (Chris Robinson)
- 53db0bf: Cast a value to what it's being accumulated into (Chris Robinson)
- 8edf24b: Remove -Warith-conversion (Chris Robinson)
- 6f39e42: Rename make_from to from (Chris Robinson)
- bbe3466: Support ops between strong and compatible weak number types (Chris Robinson)
- 21a1abc: Add a -tune option to alffplay (Chris Robinson)
- 3eb2da7: Rename UInt and make it an alias (Chris Robinson)
- 42b56d7: Avoid some explicit template parameters (Chris Robinson)
OpenAL Soft v1.25.1-a51260cd
Commits
- a51260c: Fix a cast when compiling against PipeWire 0.3.50 headers (Chris Robinson)
OpenAL Soft v1.25.1
What's Changed
- Fixed the OpenSL and JACK backends.
- Fixed WASAPI and CoreAudio capture.
- Fixed building the OSS backend with OSS v4.
- Fixed a debug assertion with HRTF enabled.
- Fixed an STL hardening assertion in the polyphase resampler with certain resampling ratios.
- Added a new stereo-encoding option for Tetraphonic Surround Matrix Encoding.
New Contributors
- @heitbaum made their first contribution in #1214
- @enginmanap made their first contribution in #1226
- @MineCake147E made their first contribution in #1230
Full Changelog: 1.25.0...1.25.1
OpenAL Soft v1.25.0
What's Changed
- Updated library codebase to C++20.
- Fixed alcIsExtensionPresent to do a case-insensitive compare.
- Fixed potential noise when switching reverbs.
- Fixed reverb panning with certain output modes.
- Fixed retrieving the alGetProcAddressDirect extension function.
- Fixed negative source offsets with a callback buffer.
- Fixed a memory issue that could occur in rare situations with looping sources.
- Fixed compiling for and running on older macOS versions.
- Fixed using unicode in environment variable values on Windows.
- Fixed memory alignment issues with 32-bit MinGW builds.
- Fixed a crash in sofa-info with SOFA files that have null strings.
- Updated alsoft-config to Qt6.
- Added build options for STL hardening. Performant checks meant for production are enabled by default.
- Added support for fourth-order ambisonics.
- Added support for CAF files to the Wave Writer backend.
- Added optional support for C++20 modules.
These are intended to be copied into projects wishing to use them, since modules depend on being built with compatible compile flags as the sources they're imported into. - Added a .note.dlopen section to ELF shared library builds to record dynamic dependencies for build maintainers.
- Converted the headers to XML files, which are used to generate the headers (and modules) with a script.
Other scripts can be made to generate bindings for various other languages. - Changed AL_PANNING_ENABLED_SOFT to allow being toggled on playing sources.
- Changed the default period size to 512 sample frames.
- Changed the default Super Stereo width to 0.46.
New Contributors
- @dseomn made their first contribution in #1129
- @a17r made their first contribution in #1132
- @petk made their first contribution in #1184
- @Perksey made their first contribution in #1183
- @fabiangreffrath made their first contribution in #1189
- @MAJigsaw77 made their first contribution in #1201
- @rh101 made their first contribution in #1204
Full Changelog: 1.24.3...1.25.0
OpenAL Soft v1.24.3
A point release largely addressing build problems related to fmtlib integration, along with dynamic WASAPI device enumeration fixes and resampler improvements.
- Fixed using as a static library when linked into another project that uses fmtlib.
- Fixed building with static VC runtimes.
- Fixed building with Windows headers that default to older targets.
- Fixed building on 32-bit targets that use 32-bit file offsets.
- Fixed handling WASAPI enumerated device changes.
- Fixed a crash with UWP builds when __wargv is null.
- Fixed using AL_FORMAT_BFORMAT3D_I32.
- Improved the bsinc resamplers' cutoff frequencies.
- Slightly reduced the aliasing noise in the cubic spline resampler.
- Added new bsinc48 and fast_bsinc48 resampler options.
- Added support for 16KB page sizes on Android.
- Added support for using NFC filters with UHJ output.
Full Changelog: 1.24.2...1.24.3
OpenAL Soft v1.24.2
A point release to address some build compatibility problems, missing features, and bug fixes.
- Implemented the AL_SOFT_bformat_hoa extension.
- Implemented default device change events for the PulseAudio backend.
- Implemented an option for WASAPI exclusive mode playback.
- Fixed reverb being too quiet for sounds from different directions.
- Fixed compiling with certain versions of Clang.
- Fixed compiling for some older macOS versions.
- Fixed building alffplay on systems without pkg-config.
- Improved output format detection for CoreAudio.
- Changed the default resampler back to Cubic Spline.
- Added an SDL3 playback backend. Disabled by default to avoid a runtime dependency and for compatibility; a single process can't safely use SDL2 and SDL3 together on some OSs, so enable with care.
- Converted examples from SDL2 to SDL3.
- Integrated fmtlib into the main library and router for logging and string formatting.
Full Changelog: 1.24.1...1.24.2
OpenAL Soft v1.24.1
A point release to address a runtime error and some build problems.
- Fixed compilation on PowerPC.
- Fixed compilation on some targets that lack lock-free 64-bit atomics.
- Fixed a crash when parsing certain option values.
- Fixed applying noexcept in the public headers with MSVC.
- Fixed building for UWP with vcpkg.
- Improved compatibility when compiling as C++20 or later.
- Integrated fmtlib for some examples and utilities.
Full Changelog: 1.24.0...1.24.1
OpenAL Soft v1.24.0
A long overdue release. This release's highlights include:
- Updated library codebase to C++17.
- Implemented the ALC_SOFT_system_events extension.
- Implemented the AL_EXT_debug extension.
- Implemented the AL_EXT_direct_context extension.
- Implemented speaker configuration and headphones detection on CoreAudio.
- Fixed a potential crash with some extension functions on 32-bit Windows.
- Fixed a crash that can occur when stopping playback with the Oboe backend.
- Fixed calculating the reverb room rolloff.
- Fixed EAX occlusion, obstruction, and exclusion low-pass filter strength.
- Fixed EAX distance factor calculations.
- Fixed querying AL_EFFECTSLOT_EFFECT on auxiliary effect slots.
- Fixed compilation on some macOS systems that lack libdispatch.
- Fixed compilation as a subproject with MinGW.
- Changed the context error state to be thread-local. This is technically out of spec, but necessary to avoid race conditions with multi-threaded use.
- Split the cubic resampler into 4-point spline and gaussian variants. The latter prioritizing the suppression of aliasing distortion and harmonics, the former not reducing high frequencies as much.
- Improved timing precision of starting delayed sources.
- Improved ring modulator quality.
- Improved performance of convolution reverb.
- Improved WASAPI device enumeration performance.
- Added UWP support.
- Added 'noexcept' to functions and function types when compiled as C++. As a C API, OpenAL can't be expected to throw C++ exceptions, nor can it handle them if they leave a callback.
- Added an experimental config option for using WASAPI spatial audio output.
- Added enumeration support to the PortAudio backend.
- Added compatibility options to override the AL_VENDOR, AL_VERSION, and AL_RENDERER strings.
- Added an example to play LAF files.
- Disabled real-time mixing by default for PipeWire playback.
- Disabled the SndIO backend by default on non-BSD targets.
Full Changelog: 1.23.1...1.24.0
1.23.1 Release
Originally released April 11, 2023
1.22.2 Release
Originally released June 27, 2022.