From: Stuart Henderson Subject: Re: UPDATE: OpenAL 1.24.3 To: Brad Smith Cc: ports@openbsd.org Date: Tue, 19 Aug 2025 12:24:00 +0100 the TLS cert expired 19 June. On 2025/07/15 23:15, Brad Smith wrote: > Here is an update to OpenAL 1.24.3. > > > openal-soft-1.24.3: > > 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. > > Tested on aarch64 and build tested with GCC 8. > > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/audio/openal/Makefile,v > retrieving revision 1.69 > diff -u -p -u -p -r1.69 Makefile > --- Makefile 29 Apr 2025 12:50:31 -0000 1.69 > +++ Makefile 16 Jul 2025 03:07:06 -0000 > @@ -1,10 +1,9 @@ > COMMENT = cross-platform 3D audio API > > -V = 1.24.2 > +V = 1.24.3 > DISTNAME = openal-soft-$V > PKGNAME = openal-$V > EPOCH = 0 > -REVISION = 1 > CATEGORIES = audio > > SHARED_LIBS = openal 6.0 > Index: distinfo > =================================================================== > RCS file: /cvs/ports/audio/openal/distinfo,v > retrieving revision 1.17 > diff -u -p -u -p -r1.17 distinfo > --- distinfo 29 Jan 2025 10:59:26 -0000 1.17 > +++ distinfo 16 Jul 2025 03:07:06 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (openal-soft-1.24.2.tar.bz2) = zUyIybcxHLZ4XbccDtZPVDDJ1bNFTgFYMUsu8lrOPmE= > -SIZE (openal-soft-1.24.2.tar.bz2) = 1020760 > +SHA256 (openal-soft-1.24.3.tar.bz2) = y15hl6HA2g7c8qgQJJU8yPqFRcO5R05IyFKvcJ1YeJI= > +SIZE (openal-soft-1.24.3.tar.bz2) = 1025568 > Index: patches/patch-CMakeLists_txt > =================================================================== > RCS file: /cvs/ports/audio/openal/patches/patch-CMakeLists_txt,v > retrieving revision 1.16 > diff -u -p -u -p -r1.16 patch-CMakeLists_txt > --- patches/patch-CMakeLists_txt 29 Apr 2025 12:50:31 -0000 1.16 > +++ patches/patch-CMakeLists_txt 16 Jul 2025 03:07:06 -0000 > @@ -1,7 +1,7 @@ > Index: CMakeLists.txt > --- CMakeLists.txt.orig > +++ CMakeLists.txt > -@@ -149,7 +149,7 @@ endif() > +@@ -165,7 +165,7 @@ add_subdirectory(fmt-11.1.1 EXCLUDE_FROM_ALL) > set(CPP_DEFS ) # C pre-processor, not C++ > set(INC_PATHS ) > set(C_FLAGS ) > @@ -10,7 +10,7 @@ Index: CMakeLists.txt > set(LINKER_FLAGS_DEBUG ) > set(LINKER_FLAGS_RELEASE ) > set(EXTRA_LIBS ) > -@@ -1375,7 +1375,7 @@ target_include_directories(alsoft.common PRIVATE ${Ope > +@@ -1402,7 +1402,7 @@ target_include_directories(alsoft.common PRIVATE ${Ope > PUBLIC ${OpenAL_BINARY_DIR} ${OpenAL_SOURCE_DIR}/common) > target_compile_definitions(alsoft.common PRIVATE ${CPP_DEFS}) > target_compile_options(alsoft.common PRIVATE ${C_FLAGS}) > @@ -19,7 +19,7 @@ Index: CMakeLists.txt > set_target_properties(alsoft.common PROPERTIES ${ALSOFT_STD_VERSION_PROPS} > POSITION_INDEPENDENT_CODE TRUE) > > -@@ -1649,7 +1649,7 @@ endif() > +@@ -1676,7 +1676,7 @@ endif() > > if(ALSOFT_INSTALL_CONFIG) > install(FILES alsoftrc.sample > Index: patches/patch-al_auxeffectslot_cpp > =================================================================== > RCS file: /cvs/ports/audio/openal/patches/patch-al_auxeffectslot_cpp,v > retrieving revision 1.1 > diff -u -p -u -p -r1.1 patch-al_auxeffectslot_cpp > --- patches/patch-al_auxeffectslot_cpp 29 Apr 2025 12:50:31 -0000 1.1 > +++ patches/patch-al_auxeffectslot_cpp 16 Jul 2025 03:07:06 -0000 > @@ -3,7 +3,7 @@ gcc8: error: expression ' Index: al/auxeffectslot.cpp > --- al/auxeffectslot.cpp.orig > +++ al/auxeffectslot.cpp > -@@ -242,9 +242,10 @@ constexpr auto EffectSlotTypeFromEnum(ALenum type) noe > +@@ -241,9 +241,10 @@ constexpr auto EffectSlotTypeFromEnum(ALenum type) noe > case AL_EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT: return EffectSlotType::Dedicated; > case AL_EFFECT_DEDICATED_DIALOGUE: return EffectSlotType::Dedicated; > case AL_EFFECT_CONVOLUTION_SOFT: return EffectSlotType::Convolution; > Index: patches/patch-al_effects_chorus_cpp > =================================================================== > RCS file: /cvs/ports/audio/openal/patches/patch-al_effects_chorus_cpp,v > retrieving revision 1.1 > diff -u -p -u -p -r1.1 patch-al_effects_chorus_cpp > --- patches/patch-al_effects_chorus_cpp 29 Apr 2025 12:50:31 -0000 1.1 > +++ patches/patch-al_effects_chorus_cpp 16 Jul 2025 03:07:06 -0000 > @@ -3,7 +3,7 @@ gcc8: error: expression ' Index: al/effects/chorus.cpp > --- al/effects/chorus.cpp.orig > +++ al/effects/chorus.cpp > -@@ -42,9 +42,10 @@ constexpr ALenum EnumFromWaveform(ChorusWaveform type) > +@@ -43,9 +43,10 @@ constexpr ALenum EnumFromWaveform(ChorusWaveform type) > { > case ChorusWaveform::Sinusoid: return AL_CHORUS_WAVEFORM_SINUSOID; > case ChorusWaveform::Triangle: return AL_CHORUS_WAVEFORM_TRIANGLE; > Index: patches/patch-al_state_cpp > =================================================================== > RCS file: /cvs/ports/audio/openal/patches/patch-al_state_cpp,v > retrieving revision 1.1 > diff -u -p -u -p -r1.1 patch-al_state_cpp > --- patches/patch-al_state_cpp 29 Apr 2025 12:50:31 -0000 1.1 > +++ patches/patch-al_state_cpp 16 Jul 2025 03:07:06 -0000 > @@ -3,7 +3,7 @@ gcc8: error: expression ' Index: al/state.cpp > --- al/state.cpp.orig > +++ al/state.cpp > -@@ -140,8 +140,9 @@ constexpr auto ALenumFromDistanceModel(DistanceModel m > +@@ -146,8 +146,9 @@ constexpr auto ALenumFromDistanceModel(DistanceModel m > case DistanceModel::LinearClamped: return AL_LINEAR_DISTANCE_CLAMPED; > case DistanceModel::Exponent: return AL_EXPONENT_DISTANCE; > case DistanceModel::ExponentClamped: return AL_EXPONENT_DISTANCE_CLAMPED; > Index: patches/patch-alc_alu_cpp > =================================================================== > RCS file: patches/patch-alc_alu_cpp > diff -N patches/patch-alc_alu_cpp > --- patches/patch-alc_alu_cpp 29 Apr 2025 12:50:31 -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,16 +0,0 @@ > -gcc8 is too old for std::for_each_n > - > -Index: alc/alu.cpp > ---- alc/alu.cpp.orig > -+++ alc/alu.cpp > -@@ -2155,7 +2155,9 @@ void Write(const al::span InBuf > - out[c] = SampleConv(s); > - out += ptrdiff_t(FrameStep); > - }; > -- std::for_each_n(inbuf.cbegin(), SamplesToDo, conv_sample); > -+ auto first = inbuf.cbegin(); > -+ auto last = first + SamplesToDo; > -+ std::for_each(first, last, conv_sample); > - ++c; > - } > - if(const size_t extra{FrameStep - c}) > Index: patches/patch-utils_makemhr_loaddef_cpp > =================================================================== > RCS file: patches/patch-utils_makemhr_loaddef_cpp > diff -N patches/patch-utils_makemhr_loaddef_cpp > --- patches/patch-utils_makemhr_loaddef_cpp 29 Jan 2025 10:59:26 -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,17 +0,0 @@ > -Fix some casts for some 32-bit platforms > -9fdf662bcbd86cf26202f8718d6c5ca24655652e > - > -Index: utils/makemhr/loaddef.cpp > ---- utils/makemhr/loaddef.cpp.orig > -+++ utils/makemhr/loaddef.cpp > -@@ -209,8 +209,8 @@ auto TrLoad(TokenReaderT *tr) -> int > - // Load TRLoadSize (or less if at the end of the file) per read. > - toLoad = TRLoadSize; > - > -- const auto in = tr->mIn&TRRingMask; > -- std::streamsize count{TRRingSize - in}; > -+ const auto in = tr->mIn & std::streamsize{TRRingMask}; > -+ const auto count = std::streamsize{TRRingSize} - in; > - if(count < toLoad) > - { > - istream.read(al::to_address(tr->mRing.begin() + in), count); >