From 530abdc4a2910673e98c145a58988941e35dadb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Wed, 7 Jun 2023 08:16:29 +0200 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 openal-soft revision 5fbe441cf1a4b586f2464dbbe6e41c1c --- .gitattributes | 23 ++ baselibs.conf | 5 + libopenalcompat.c | 10 + openal-no-autospawn.diff | 25 ++ openal-soft-1.22.2.tar.bz2 | 3 + openal-soft.changes | 763 +++++++++++++++++++++++++++++++++++++ openal-soft.spec | 212 +++++++++++ 7 files changed, 1041 insertions(+) create mode 100644 .gitattributes create mode 100644 baselibs.conf create mode 100644 libopenalcompat.c create mode 100644 openal-no-autospawn.diff create mode 100644 openal-soft-1.22.2.tar.bz2 create mode 100644 openal-soft.changes create mode 100644 openal-soft.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..da99b4e --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,5 @@ +libopenal0 +libopenal1 +openal-soft-devel + requires -openal-soft- + requires "libopenal1- = " diff --git a/libopenalcompat.c b/libopenalcompat.c new file mode 100644 index 0000000..cedce5e --- /dev/null +++ b/libopenalcompat.c @@ -0,0 +1,10 @@ +#if 0 +set -- gcc -W -Wall -g -O2 -shared -nostdlib -Wl,-f,libopenal.so.1 -Wl,-soname,libopenal.so.0 -fPIC -DPIC -o libopenal.so.0 libopenalcompat.c +echo "$@" +exec "$@" +exit 1 +#endif +#if 0 +void* alcOpenDevice (void* p) { return (void*)0; } +#endif +void _openal_soft_dummy_ () { } diff --git a/openal-no-autospawn.diff b/openal-no-autospawn.diff new file mode 100644 index 0000000..0f88561 --- /dev/null +++ b/openal-no-autospawn.diff @@ -0,0 +1,25 @@ +From b5911219a2770c0ceb982ee8c98e954b8c5a5f0e Mon Sep 17 00:00:00 2001 +From: Ludwig Nussel +Date: Tue, 4 Feb 2020 15:24:47 +0100 +Subject: [PATCH] Disable pulseaudio auto spawning + +--- + alc/backends/pulseaudio.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/alc/backends/pulseaudio.cpp b/alc/backends/pulseaudio.cpp +index be4e742c..376af844 100644 +--- a/alc/backends/pulseaudio.cpp ++++ b/alc/backends/pulseaudio.cpp +@@ -1449,7 +1449,7 @@ bool PulseBackendFactory::init() + #endif /* HAVE_DYNLOAD */ + + pulse_ctx_flags = PA_CONTEXT_NOFLAGS; +- if(!GetConfigValueBool(nullptr, "pulse", "spawn-server", 1)) ++ if(!GetConfigValueBool(nullptr, "pulse", "spawn-server", 0)) + pulse_ctx_flags |= PA_CONTEXT_NOAUTOSPAWN; + + try { +-- +2.16.4 + diff --git a/openal-soft-1.22.2.tar.bz2 b/openal-soft-1.22.2.tar.bz2 new file mode 100644 index 0000000..15e7e61 --- /dev/null +++ b/openal-soft-1.22.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae94cc95cda76b7cc6e92e38c2531af82148e76d3d88ce996e2928a1ea7c3d20 +size 606151 diff --git a/openal-soft.changes b/openal-soft.changes new file mode 100644 index 0000000..08711b4 --- /dev/null +++ b/openal-soft.changes @@ -0,0 +1,763 @@ +------------------------------------------------------------------- +Tue Aug 16 19:42:58 UTC 2022 - Dirk Müller + +- disable pipewire backend to avoid buildcycle + ffmpeg-4, libopenmpt, mpg123, openal-soft, pipewire + +------------------------------------------------------------------- +Mon Aug 1 22:21:48 UTC 2022 - Dirk Müller + +- update to 1.22.2: + * Fixed PipeWire version check. + * Fixed building with PipeWire versions before 0.3.33. + * Fixed CoreAudio capture. + * Fixed air absorption strength. + * Fixed ALSA not being used on some systems without PipeWire and PulseAudio. + * Fixed OpenSL capturing noise. + * Fixed Oboe capture failing with some buffer sizes. + * Added checks for the runtime PipeWire version. + * The same or newer version than is used for building will be needed at + runtime for the backend to work. + * Separated 3D7.1 into its own speaker configuration. + * Implemented the ALC_SOFT_reopen_device extension. + * This allows for moving devices to different outputs without losing object state. + * Implemented the ALC_SOFT_output_mode extension. + * Implemented the AL_SOFT_callback_buffer extension. + * Implemented the AL_SOFT_UHJ extension. + * This supports native UHJ buffer formats and Super Stereo processing. + * Implemented the legacy EAX extensions. + * Enabled by default only on Windows. + * Improved sound positioning stability when a source is near the listener. + * Improved the default 5.1 output decoder. + * Improved the high frequency response for the HRTF second-order ambisonic decoder. + * Improved SoundIO capture behavior. + * Fixed UHJ output on NEON-capable CPUs. + * Fixed redundant effect updates when setting an effect property to the current value. + * Fixed WASAPI capture using really low sample rates, and sources with very + high pitch shifts when using a bsinc resampler. + * Added a PipeWire backend. + * Added enumeration for the JACK and CoreAudio backends. + * Added optional support for RTKit to get real-time priority. + * Added an option for JACK playback to render directly in the real-time processing callback. + * Added an option for custom JACK devices. + * Added utilities to encode and decode UHJ audio files. + * Added an in-progress extension to hold sources in a playing state when a device disconnects. + * Lowered the priority of the JACK backend. +- drop openal-soft-gcc11.diff (obsolete) + +------------------------------------------------------------------- +Mon Jul 4 22:43:06 UTC 2022 - Jan Engelhardt + +- Remove -msse2 from the i586 gcc command lines. + +------------------------------------------------------------------- +Wed Feb 17 15:49:21 UTC 2021 - Ludwig Nussel + +- fix gcc11 build (openal-soft-gcc11.diff) + +------------------------------------------------------------------- +Tue Feb 9 23:31:33 UTC 2021 - Dirk Müller + +- update to 1.21.1: + * Improved alext.h's detection of standard types. + * Improved slightly the local source position when the listener and source + are near each other. + * Improved click/pop prevention for sounds that stop prematurely. + * Fixed compilation for Windows ARM targets with MSVC. + * Fixed ARM NEON detection on Windows. + * Fixed CoreAudio capture when the requested sample rate doesn't match the + system configuration. + * Fixed OpenSL capture desyncing from the internal capture buffer. + * Fixed sources missing a batch update when applied after quickly restarting + the source. + * Fixed missing source stop events when stopping a paused source. + * Added capture support to the experimental Oboe backend. + +------------------------------------------------------------------- +Sat Jan 16 21:46:31 UTC 2021 - Matthias Mailänder + +- new version 1.21.0 + * Updated library codebase to C++14. + * Implemented the AL_SOFT_effect_target extension. + * Implemented the AL_SOFT_events extension. + * Implemented the ALC_SOFT_loopback_bformat extension. + * Improved memory use for mixing voices. + * Improved detection of NEON capabilities. + * Improved handling of PulseAudio devices that lack manual start control. + * Improved mixing performance with PulseAudio. + * Improved high-frequency scaling quality for the HRTF B-Format decoder. + * Improved makemhr's HRIR delay calculation. + * Improved WASAPI capture of mono formats with multichannel input. + * Reimplemented the modulation stage for reverb. + * Enabled real-time mixing priority by default, for backends that use the setting. It can still be disabled in the config file. + * Enabled dual-band processing for the built-in quad and 7.1 output decoders. + * Fixed a potential crash when deleting an effect slot immediately after the last source using it stops. + * Fixed building with the static runtime on MSVC. + * Fixed using source stereo angles outside of -pi...+pi. + * Fixed the buffer processed event count for sources that start with empty buffers. + * Fixed trying to open an unopenable WASAPI device causing all devices to stop working. + * Fixed stale devices when re-enumerating WASAPI devices. + * Fixed using unicode paths with the log file on Windows. + * Fixed DirectSound capture reporting bad sample counts or erroring when reading samples. + * Added an in-progress extension for a callback-driven buffer type. + * Added an in-progress extension for higher-order B-Format buffers. + * Added an in-progress extension for convolution reverb. + * Added an experimental Oboe backend for Android playback. This requires the Oboe sources at build time, so that it's built as a static library included in libopenal. + * Added an option for auto-connecting JACK ports. + * Added greater-than-stereo support to the SoundIO backend. + * Modified the mixer to be fully asynchronous with the external API, and should now be real-time safe. Although alcRenderSamplesSOFT is not due to locking to check the device handle validity. + * Modified the UHJ encoder to use an all-pass FIR filter that's less harmful to non-filtered signal phase. + * Converted examples from SDL_sound to libsndfile. To avoid issues when combining SDL2 and SDL_sound. + * Worked around a 32-bit GCC/MinGW bug with TLS destructors. See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83562 + * Reduced the maximum number of source sends from 16 to 6. + * Removed the QSA backend. It's been broken for who knows how long. + * Got rid of the compile-time native-tools targets, using cmake and global initialization instead. This should make cross-compiling less troublesome. + +------------------------------------------------------------------- +Sat Jul 4 14:32:43 UTC 2020 - Matthias Mailänder + +- Add SDL2 and PortAudio backends + +------------------------------------------------------------------- +Tue Feb 4 14:17:16 UTC 2020 - Ludwig Nussel + +- new version 1.20.1 + + The changes from 1.20.0 include: + + * Implemented the AL_SOFT_direct_channels_remix extension. + * This extends AL_DIRECT_CHANNELS_SOFT to optionally remix input channels that don't have a matching output channel. + * Implemented the AL_SOFT_bformat_ex extension. + * This extends B-Format buffer support for N3D or SN3D scaling, or ACN channel ordering. + * Fixed a potential voice leak when a source is started and stopped or restarted in quick succession. + * Fixed a potential device reset failure with JACK. + * Improved handling of unsupported channel configurations with WASAPI. + * Such setups will now try to output at least a stereo mix. + * Improved clarity a bit for the HRTF second-order ambisonic decoder. + * Improved detection of compatible layouts for SOFA files in makemhr and sofa-info. + * Added the ability to resample HRTFs on load. + * MHR files no longer need to match the device sample rate to be usable. + * Added an option to limit the HRTF's filter length. + + The changes from 1.19.1 include: + + * Converted the library codebase to C++11. + * A lot of hacks and custom structures have been replaced with standard or cleaner implementations. + * Partially implemented the Vocal Morpher effect. + * Fixed the bsinc SSE resamplers on non-GCC compilers. + * Fixed OpenSL capture. + * Fixed support for extended capture formats with OpenSL. + * Fixed handling of WASAPI not reporting a default device. + * Fixed performance problems relating to semaphores on macOS. + * Modified the bsinc12 resampler's transition band to better avoid aliasing noise. + * Modified alcResetDeviceSOFT to attempt recovery of disconnected devices. + * Modified the virtual speaker layout for HRTF B-Format decoding. + * Modified the PulseAudio backend to use a custom processing loop. + * Renamed the makehrtf utility to makemhr. + * Improved the efficiency of the bsinc resamplers when up-sampling. + * Improved the quality of the bsinc resamplers slightly. + * Improved the efficiency of the HRTF filters. + * Improved the HRTF B-Format decoder coefficient generation. + * Improved reverb feedback fading to be more consistent with pan fading. + * Improved handling of sources that end prematurely, avoiding loud clicks. + * Improved the performance of some reverb processing loops. + * Added fast_bsinc12 and 24 resamplers that improve efficiency at the cost of some quality. + * Notably, down-sampling has less smooth pitch ramping. + * Added support for SOFA input files with makemhr. + * Added a build option to use pre-built native tools. + * For cross-compiling, use with caution and ensure the native tools' binaries are kept up-to-date. + * Added an adjust-latency config option for the PulseAudio backend. + * Added basic support for multi-field HRTFs. + * Added an option for mixing first- or second-order B-Format with HRTF output. + * This can improve HRTF performance given a number of sources. + * Added an RC file for proper DLL version information. + * Disabled some old KDE workarounds by default. + * Specifically, PulseAudio streams can now be moved (KDE may try to move them after opening). +- makehrtf tool was renamed to makemhr +- disable jack backend as it doesn't work due to missing jack_error_callback + +------------------------------------------------------------------- +Wed May 29 08:01:46 UTC 2019 - Martin Pluskal + +- Use more of macros for building +- Build gui config tool as well + +------------------------------------------------------------------- +Sat Apr 6 11:32:59 UTC 2019 - Jan Engelhardt + +- Trim bias from description, trim metadata duplication from + description, trim main description repetition in lesser + subpackages' description. Spruce up summaries. Fix SRPM group. +- Add missing Requires inside baselibs.conf. +- Remove insatisfiable Recommends. Add Provides/Conflicts + for the move of makehrtf. + +------------------------------------------------------------------- +Thu Mar 21 20:24:45 UTC 2019 - Stefan Brüns + +- Packaging changes: + * Move makehrtf from the devel package to a separate package, as + it is the only part not under LGPL (or MIT). + * Move the remaining tools and data files to separate packages, + to get the License tag correct, and make the data files noarch. + * Use https in Url and Source tags. +- Update to 1.19.1 + * The changes from 1.19.0 include: + - Implemented capture support for the SoundIO backend. + - Fixed source buffer queues potentially not playing properly when + a queue entry completes. + - Fixed possible unexpected failures when generating auxiliary + effect slots. + - Fixed a crash with certain reverb or device settings. + - Fixed OpenSL capture. + - Improved output limiter response, better ensuring the sample + amplitude is clamped for output. + * The changes from 1.18.2 include: + - Implemented the ALC_SOFT_device_clock extension. + - Implemented the Pitch Shifter, Frequency Shifter, and Autowah + effects. + - Fixed compiling on FreeBSD systems that use freebsd-lib 9.1. + - Fixed compiling on NetBSD. + - Fixed the reverb effect's density scale and panning parameters. + - Fixed use of the WASAPI backend with certain games, which caused + odd COM initialization errors. + - Increased the number of virtual channels for decoding Ambisonics + to HRTF output. + - Changed 32-bit x86 builds to use SSE2 math by default for + performance. Build-time options are available to use just SSE1 + or x87 instead. + - Replaced the 4-point Sinc resampler with a more efficient cubic + resampler. + - Renamed the MMDevAPI backend to WASAPI. + - Added support for 24-bit, dual-ear HRTF data sets. The built-in + data set has been updated to 24-bit. + - Added a 24- to 48-point band-limited Sinc resampler. + - Added an SDL2 playback backend. Disabled by default to avoid a + dependency on SDL2. + - Improved the performance and quality of the Chorus and Flanger + effects. + - Improved the efficiency of the band-limited Sinc resampler. + - Improved the Sinc resampler's transition band to avoid + over-attenuating higher frequencies. + - Improved the performance of some filter operations. + - Improved the efficiency of object ID lookups. + - Improved the efficienty of internal voice/source synchronization. + - Improved AL call error logging with contextualized messages. + - Removed the reverb effect's modulation stage. Due to the lack of + reference for its intended behavior and strength. + +------------------------------------------------------------------- +Thu Feb 8 16:27:35 UTC 2018 - dmueller@suse.com + +- remove file that has conflicting license in %prep + +------------------------------------------------------------------- +Sat Nov 11 16:40:43 UTC 2017 - aavindraa@gmail.com + +- Update to 1.18.2 + * Fixed a crash with the JACK backend when using JACK1. + * FreeBSD: Fixed building with an older freebsd-lib. + * NetBSD: Fixed use of pthread_setnane_np + * NetBSD: OSS now links with libossaudio if found at build time + * Windows: Fixed resetting the FPU rounding mode after some calls + * Windows: Fixed use of SSE intrinsics when building with Clang +- Changes for 1.18.1 + * Fixed bug where resuming a source may not work + * Fixed PulseAudio playback when the configured stream length is + much less than the requested length. + * Fixed MMDevAPI capture with sample rates not matching the backing + device. + * Fixed int32 output for the Wave Writer. + * Fixed enumeration of OSS devices that are missing device files. + * Added correct retrieval of the executable's path on FreeBSD. + * Added a config option to specify the dithering depth. + * Added a 5.1 decoder preset that excludes front-center output. +- Changes for 1.18.0 + * Added a build option to embed the default HRTFs into the lib. + * New extensions (AL_EXT_STEREO_ANGLES, AL_EXT_SOURCE_RADIUS, + AL_SOFT_gain_clamp_ex, AL_SOFT_source_resampler, + AL_SOFT_source_spatialize, and ALC_SOFT_output_limiter) + * Implemented 3D processing for Reverb, Compressor, Equalizer, and + Ring Modulator. + * Implemented 2-channel UHJ output encoding (needs to be enabled + with a config option to be used) + * Implemented dual-band processing for high-quality ambisonic decoding. + * Implemented distance-compensation for surround sound output. + * Implemented near-field emulation and compensation with ambisonic + rendering. Currently only applies when using the high-quality ambisonic + decoder or ambisonic output, with appropriate config options. + * Implemented an output limiter to reduce the amount of distortion from + clipping. + * Implemented dithering for 8-bit and 16-bit output. + * Implemented a config option to select a preferred HRTF. + * Implemented a run-time check for NEON extensions using /proc/cpuinfo. + * Implemented experimental capture support for the OpenSL backend. + * Fixed building on compilers with NEON support but don't default + to having NEON enabled. + * Fixed starting a source while alcSuspendContext is in effect. + * Fixed detection of headsets as headphones, with MMDevAPI. + * Added support for AmbDec config files, for custom ambisonic decoder + configurations. Version 3 files only. + * Added backend-specific options to alsoft-config. + * Added first-, second-, and third-order ambisonic output formats. Currently + only works with backends that don't rely on channel labels, like JACK, + ALSA, and OSS. + * Added AmbDec presets to enable high-quality ambisonic decoding. + * Added an AmbDec preset for 3D7.1 speaker setups. + * Added documentation regarding Ambisonics, 3D7.1, AmbDec config files, and + the provided ambdec presets. + * Added the ability for MMDevAPI to open devices given a Device ID or GUID + string. + * Added an option to the example apps to open a specific device. + * Increased the maximum auxiliary send limit to 16 (up from 4). Requires + requesting them with the ALC_MAX_AUXILIARY_SENDS context creation + attribute. + * Increased the default auxiliary effect slot count to 64 (up from 4). + * Reduced the default period count to 3 (down from 4). + * Slightly improved automatic naming for enumerated HRTFs. + * Improved B-Format decoding with HRTF output. + * Improved internal property handling for better batching behavior. + * Improved performance of certain filter uses. + * Removed support AL_SOFT_buffer_samples and AL_SOFT_buffer_sub_data. + This is due to conflicts with AL_EXT_SOURCE_RADIUS. + * Windows: Fixed support for JACK +- cleanup with spec-cleaner + +------------------------------------------------------------------- +Wed Nov 16 06:33:19 UTC 2016 - virtuousfox@gmail.com + +- Add missing dependency for JACK backend + +------------------------------------------------------------------- +Thu Feb 11 18:28:22 UTC 2016 - mpluskal@suse.com + +- Update to 1.17.2 + * Implemented device enumeration for OSSv4. + * Fixed building on non-Windows systems without POSIX-2008. + * Fixed Dedicated Dialog and Dedicated LFE effect output. + * Added a build option to override the share install dir. + * Added a build option to static-link libgcc for MinGW. +- Changes for 1.17.1 + * Fixed building with JACK and without PulseAudio. + * Fixed building on FreeBSD. + * Fixed the ALSA backend's allow-resampler option. + * Fixed handling of inexact ALSA period counts. + * Altered device naming scheme on Windows backends to better + match other drivers. + * Updated the CoreAudio backend to use the AudioComponent API. + This clears up deprecation warnings for OSX 10.11, although + requires OSX 10.6 or newer. +- Changes for 1.17.0 + * Implemented a JACK playback backend. + * Implemented the AL_EXT_BFORMAT and AL_EXT_MULAW_BFORMAT + extensions. + * Implemented the ALC_SOFT_HRTF extension. + * Implemented C, SSE3, and SSE4.1 based 4- and 8-point Sinc + resamplers. + * Implemented a C and SSE based band-limited Sinc resampler. + This does 12- to 24-point Sinc resampling, and performs + anti-aliasing. + * Implemented B-Format output support for the wave file writer. + This creates FuMa-style first-order Ambisonics wave files + (AMB format). + * Implemented a stereo-mode config option for treating stereo + modes as either speakers or headphones. + * Implemented per-device configuration options. + * Fixed handling of PulseAudio and MMDevAPI devices that have + identical descriptions. + * Fixed a potential lockup when stopping playback of suspended + PulseAudio devices. + * Fixed logging of Unicode characters on Windows. + * Fixed 5.1 surround sound channels. By default it will now + use the side channels for the surround output. A + configuration using rear channels is still available. + * Fixed the QSA backend potentially altering the capture + format. +- Update project and download url +- Dropped upstreamed fix-neon-build.patch +- Refreshed openal-no-autospawn.diff + +------------------------------------------------------------------- +Fri Oct 2 18:30:06 UTC 2015 - dmueller@suse.com + +- replace openal-soft-arm_neon-only-for-32bit.patch with + fix-neon-build.patch to fix the build instead of disabling neon + +------------------------------------------------------------------- +Tue Sep 29 19:17:39 UTC 2015 - dmueller@suse.com + +- add openal-soft-arm_neon-only-for-32bit.patch to fix build + on aarch64 + +------------------------------------------------------------------- +Sun Sep 20 08:43:22 UTC 2015 - meissner@suse.com + +- baselibs for -devel too for building wine. + +------------------------------------------------------------------- +Tue Apr 21 17:36:00 UTC 2015 - mpluskal@suse.com + +- Use %cmake_install macro +- Add dependency on pkg-config +- Remove missingok from ghost file, it should not be needed + +------------------------------------------------------------------- +Fri Mar 13 13:20:56 UTC 2015 - lnussel@suse.de + +- remove conflicts with openal. That package doesn't exist since + 11.1 and actually only the library conflicts. +- add back ldconfig calls for libopenal0 +- mark alsoft.conf as %config(noreplace,missingok) to silence + rpmlint once the rpmlint bug is fixed. + +------------------------------------------------------------------- +Sun Feb 15 17:09:58 UTC 2015 - p.drouand@gmail.com + +- Update to version 1.16.0 + * Implemented EFX Chorus, Flanger, Distortion, Equalizer, and Compressor + effects. + * Implemented high-pass and band-pass EFX filters. + * Implemented the high-pass filter for the EAXReverb effect. + * Implemented SSE2 and SSE4.1 linear resamplers. + * Implemented Neon-enhanced non-HRTF mixers. + * Implemented a QSA backend, for QNX. + * Implemented the ALC_SOFT_pause_device, AL_SOFT_deferred_updates, + * AL_SOFT_block_alignment, AL_SOFT_MSADPCM, and AL_SOFT_source_length + extensions. + * Fixed resetting mmdevapi backend devices. + * Fixed clamping when converting 32-bit float samples to integer. + * Fixed modulation range in the Modulator effect. + * Several fixes for the OpenSL playback backend. + * Fixed device specifier names that have Unicode characters on Windows. + * Added support for filenames and paths with Unicode (UTF-8) characters on + Windows. + * Added support for alsoft.conf config files found in XDG Base Directory + * Specification locations (XDG_CONFIG_DIRS and XDG_CONFIG_HOME, or their + defaults) on non-Windows systems. + * Added a GUI configuration utility (requires Qt 4.8). + * Added support for environment variable expansion in config options (not + keys or section names). + * Added an example that uses SDL2 and ffmpeg. + * Modified examples to use SDL_sound. + * Modified CMake config option names for better sorting. + * HRTF data sets specified in the hrtf_tables config option may now be + relative or absolute filenames. + * Made the default HRTF data set an external file, and added a data set for + 48khz playback in addition to 44.1khz. + * Added support for C11 atomic methods. + * Improved support for some non-GNU build systems. +- Add gcc-c++ requirement; new dependency +- Use %cmake macro + +------------------------------------------------------------------- +Tue May 7 08:01:27 UTC 2013 - lnussel@suse.de + +- version 1.15.1 + * Fixed a regression with retrieving the source's AL_GAIN property. + +------------------------------------------------------------------- +Mon Jan 14 10:16:23 UTC 2013 - lnussel@suse.de + +- install legacy provides for openal again. Some packages still rely + on it. + +------------------------------------------------------------------- +Tue Jan 8 12:31:06 UTC 2013 - reddwarf@opensuse.org + +- The devel package requires libopenal1, not openal-soft + +------------------------------------------------------------------- +Mon Jan 7 20:38:56 UTC 2013 - joop.boonen@opensuse.org + +- Fixed SLES build +- Removed Requirements that are resolved automatically +- Added missing openal-soft-devel Requirement libopenal1 + +------------------------------------------------------------------- +Fri Dec 7 14:06:32 UTC 2012 - lnussel@suse.de + +- update to new version 1.15 + - Fixed device enumeration with the OSS backend. + - Reorganized internal mixing logic, so unneeded steps can potentially be skipped for better performance. + - Removed the lookup table for calculating the mixing pans. The panning is now calculated directly for better precision. + - Improved the panning of stereo source channels when using stereo output. + - Improved source filter quality on send paths. + - Added a config option to allow PulseAudio to move streams between devices. + - Currently disabled by default, as the device specifier does not properly update. + - The PulseAudio backend will now attempt to spawn a server by default. + - Added a workaround for a DirectSound bug relating to float32 output. + - Added SSE-based mixers, for HRTF and non-HRTF mixing. + - SSE can be detected at run-time, and be disabled as needed. + - Added support for the new AL_SOFT_source_latency extension. + - Currently, the PulseAudio, ALSA, and MMDevAPI backends provide proper latency information. + - Improved ALSA capture by avoiding an extra buffer when using sizes supported by the underlying device. + - Improved the makehrtf utility to support new options and input formats. + - Modified the CFLAGS declared in the pkg-config file so the "AL/" portion of the header includes can optionally be omitted. + - Added a couple example code programs to show how to apply reverb, and retrieve latency. + - The configuration sample is now installed into the share/openal/ directory instead of /etc/openal. + - Note, /etc/openal/alsoft.conf is still used to read the configuration like before. + - The configuration sample now gets installed by default. +- undo upstream change to auto spawn pulseaudio (openal-no-autospawn.diff) + +------------------------------------------------------------------- +Tue Nov 27 17:18:44 UTC 2012 - cfarrell@suse.com + +- license update: LGPL-2.1+ and GPL-2.0+ + See the c files in utils/ - looks like a GPL licensed utility is included + (as aggregate) + +------------------------------------------------------------------- +Mon Nov 12 09:45:21 UTC 2012 - lnussel@suse.de + +- update to git snapshot close to 1.15 +- re-enable OSS support +- also rename libopenal0-soft for consistency + +------------------------------------------------------------------- +Mon Nov 5 20:16:03 UTC 2012 - reddwarf@opensuse.org + +- Remove support for old distributions +- Remove Icon tag and icon file. It's not normal for openSUSE packages to use it +- Remove Conflicts/Provides for rename from openal. Latest release of the old openal was in openSUSE 11.1. +- Use pkgconfig() BuildRequires +- Run spec-cleaner +- Rename libopenal1-soft to libopenal1 +- Disable OSS support + +------------------------------------------------------------------- +Sat Jul 21 17:28:22 UTC 2012 - dvaleev@suse.com + +- the used fpu control bits are x86 specific + +------------------------------------------------------------------- +Tue Jun 26 06:50:08 UTC 2012 - lnussel@suse.de + +- new version 1.14 + * Improved multi-threaded efficiency, relying less on a "big" mutex in favor of rw-locks and atomic operations where possible. + * Added support for HRTF-based mixing. Stereo output only. The default built-in data set only supports 44100hz playback. See the new hrtf.txt for more information. + * Added CMake options to cause a configuration error if the wanted backends aren't available. + * Modified backends so that only one is used at a time (for each playback and capture), to avoid device ownership conflicts. + * Fixed enumeration in certain backends to not list a default device, when the default device is enumerated normally anyway (eg, with DirectSound and PulseAudio). + * Improved device naming to more closely match the names given by the backends. + * Fixed handling of NaN values for float and double buffer samples. + * Added a new efx-presets.h header to define useful reverb presets for EFX. + * Added support for the ALC_EXT_DEDICATED extension. + * Fixed alc.h to include ALC_ENUMERATE_ALL_EXT enums, like other systems. + * Added support for the new AL_SOFT_buffer_samples, AL_SOFT_direct_channels, and ALC_SOFT_loopback extensions. + * Provided an env-var.txt to describe the available options set through environment variables. + * Fixed the source cone angle properties to work with the full 0-to-360 range as intended. + * An env var option is provided to restore the old buggy behavior for apps that need it. + * Added an example program that streams sound using ffmpeg. + * Added a utility to make HRTF data files from the KEMAR diffuse and compact data sets. +- removed rpmlintrc in favor of a lecacy exception in rpmlint itself + +------------------------------------------------------------------- +Mon Feb 21 07:05:50 UTC 2011 - lnussel@suse.de + +- new version 1.13 + * Added support for the ring modulator EFX effect. + * Duplication of stereo sources (onto side- and rear-channels) in now enabled by default. + This can still be disabled via alsoft.conf. + * Support for the new AL_SOFT_loop_points and AL_SOFT_buffer_sub_data extensions. + * Added the ability to redirect log output to a file, by setting the ALSOFT_LOGFILE environment variable. + * Improved invalid parameter checks. + * Better checks against integer overflows when allocating buffer storage. + * Internal mixer support for 8-, 16-, and 32-bit input formats, improving memory consumption by not converting them all to 32-bit. + * Improved device-change handling with the PulseAudio backend. + * All available PulseAudio devices are now enumerated with ALC_ENUMERATE_ALL_EXT. + * PulseAudio devices again use the periods and period_size config options. + * Improved stability when PortAudio is enabled. + The library tends to cause a crash when it's unloaded and reloaded. + * Added a WaveOut backend for Windows. + * Added a cubic resampler to replace the cosine resampler. + * Increased the maximum number of source auxiliary sends to 4, and changed the default to 1. + * Massive internal changes to the mixer and buffer loading code, designed for future improvements for allowable input and output formats. + +------------------------------------------------------------------- +Tue Mar 30 08:06:02 UTC 2010 - lnussel@suse.de + +- new version 1.12.854 + * Fixed playback when the PulseAudio buffer is calculated to be more than 64KB. + * Restored compatibility with some older PulseAudio libs. + * Alternative buffer sizing for PulseAudio, specified using a new config option. + * Improved buffer size calculations, to prevent drastic latency changes when certain properties (such as ALC_FREQUENCY) are modified. + * Added capture support for the PortAudio backend. + * Support for PortAudio under Windows. + * Added support for the format extensions AL_EXT_MULAW, AL_EXT_MULAW_MCFORMATS, and AL_EXT_DOUBLE. + * Support for the new ALC_EXT_thread_local_context extension. + * Improved library load time by delaying backend device probing until needed. + * Updated alext.h to provide EFX tokens and function types. + * Unsupported effects and filters are no longer returned by alGetEnumValue. + * The Wave File Writer device now creates WAVEFORMATEXTENSIBLE files, to better handle multi-channel and float output. + +------------------------------------------------------------------- +Mon Jan 18 08:10:58 UTC 2010 - lnussel@suse.de + +- new version 1.11.753 + * Fixed compatibility with newer PulseAudio libs + * The PulseAudio backend will now be tried first, when available + * Fixed a crash with the echo effect + * Configurable resampler, supporting point, linear (default), and + cosine methods + * Improved reverb, which now supports the Modulation and Echo + properties + * The alsoft/.conf/.ini/rc drivers config option now allows unnamed + backends to remain available, by ending the device list with a + comma (,) + * PulseAudio playback will try to use an output frequency and + channel format that best matches the default sink If the sink + device is configured for 5.1 output at 48khz, for example, OpenAL + Soft will automatically use 5.1 output at 48khz, unless overridden + in the config file. + * Multi-channel sounds are now passed through the auxiliary sends + Although they are down-mixed to mono, losing channel separation. + * Fixed playback when creating a second context from a device + * Added a new config option to enable real-time priority when mixing + for certain backends (ALSA, OSS, Solaris, and DirectSound) + * Buffers now store 32-bit float sample data internally, to retain + 32-bit sample accuracy + * Added a new head-dampening config option, for mono and stereo + playback This slightly filters sounds coming from behind, allowing + for some subtle differences between front and back sound sources. + * Added an option to allow spawning the PulseAudio server on demand + * Support for the new AL_EXT_source_distance_model extension + +------------------------------------------------------------------- +Mon Jan 4 15:02:07 UTC 2010 - lnussel@suse.de + +- update to current git snapshot + +------------------------------------------------------------------- +Fri Dec 18 16:59:34 CET 2009 - jengelh@medozas.de + +- add baselibs.conf as a source + +------------------------------------------------------------------- +Mon Nov 9 08:32:43 UTC 2009 - lnussel@suse.de + +- new version 1.10.622 + * Fixed OSS and PulseAudio backends + * Support for disconnect notifications with PulseAudio when the + server connection dies + * Fixed surround sound channel ordering for PulseAudio playback + * Fixed 7.1 output + * Fixed potential crash when setting an AL_EFFECT_NULL effect on + an auxiliary effect slot + * Backend libraries are now loaded and released as needed + In particular, this allows for backends to be added and + removed at runtime when their corresponding libraries are + installed and uninstalled (provided support for those backends + was compiled in). An active backend will remain available as + long as its in use. + * Support for multiple contexts per device + * Fixed possible ghost references on buffers and auxiliary + slots, if they're attached to sources that are forcibly + deleted on context destruction +- only actually pulseaudio if at least version 0.9.15 + +------------------------------------------------------------------- +Sun Nov 1 10:08:38 UTC 2009 - lnussel@suse.de + +- update to current git snapshot to fix problems with pulseaudio + (bnc#551022) +- disable --as-needed for libopenal.so.0 compatibility library to + force linking against libopenal.so.1 + +------------------------------------------------------------------- +Thu Oct 29 11:04:51 UTC 2009 - lnussel@suse.de + +- new version 1.9.563 + * Preliminary support for the new ALC_EXT_disconnect extension. + * Support for 32-bit float playback and capture on some backends + * Proper support for the ALC_FREQUENCY context attribute + * Fixed compatibility with newer PulseAudio libs. + * Fixed parsing of the speaker layout config string. + * Fixed buffer size issues with ALSA capture. + * Fixed a problem where the reported number of processed buffers could be wrong. + * Fixed possible crashes when specifying invalid device pointers. + * Removed the backend-specific period config options, and made it a global option instead. + * Deprecated the refresh config option for the new period_size option. + * Better cleanup of backends when the OpenAL lib is unloaded. + +------------------------------------------------------------------- +Tue Jun 9 07:16:51 UTC 2009 - lnussel@suse.de + +- new version 1.8.466 + * Support for two more effects: AL_EFFECT_EAXREVERB and AL_EFFECT_ECHO + Not all of the EAXREVERB properties will currently affect the output. More + should be supported in the future + * Improved reverb + * Added a PulseAudio backend + * Improved mixer efficiency a bit + * Improved ALSA playback + * Multiple auxiliary slots supported + Default is four, which can be modified with the config file + * Multiple auxiliary sends supported + Default is two per source, which cannot be increased without recompilation. + The amount can be decreased with the config file + +------------------------------------------------------------------- +Wed May 6 16:09:16 CEST 2009 - lnussel@suse.de + +- new version 1.7.411 + * New table-based panning algorithm, allowing the center channel to be included in the mix + * Speaker arrangements are now configurable + * Added a new PortAudio backend + * Some changes to the ALSA device list + Standard enumeration will now only list a single ALSA playback device (for "default"), and there should be no more name clashes preventing a device with the same name from being used + * Low-pass filters now affect multi-channel sources + * Corrections for 6.1 channel placements + * Multi-channel sources are now re-mixed when using a different output mode + This prevents source channels from being lost if there isn't a matching output channel (eg. 5.1 sources on stereo output) + * Multi-channel source gains are now correctly clamped to the source's min/max gains + * The air absorption calculation now uses the correct distance + * The source room rolloff factor can now be set up to 10 + * Updated reverb code that better follows the reverb parameters +- add pulseaudio backend from git head and enable by default + +------------------------------------------------------------------- +Fri Apr 17 10:13:54 CEST 2009 - lnussel@suse.de + +- add shlib policy conform provides for libraries + +------------------------------------------------------------------- +Fri Jan 9 13:33:32 CET 2009 - lnussel@suse.de + +- new version 1.6.372 + * Channel volumes are now ramped from source position changes and when starting playback, to help prevent pops and clicks + * The AL_DOPPLER_FACTOR source property works + * Implemented a new Solaris backend for playback + * The openal-info example will now print EFX information + * More EFX compliance fixes + * Support for non-mmap ALSA capture + * A new low-pass filter, based on the I3DL2 specification + * The ALSOFT_CONF environment variable may be used to specify an additional configuration file + * A completely new reverb effect implementation + * Improved CPU use for the DirectSound backend + +------------------------------------------------------------------- +Wed Aug 20 10:00:56 CEST 2008 - lnussel@suse.de + +- new version 1.5.304 + * reduces buffer size to reduce latency + * installs pkg-config file + * better EFX compliance + * fixes doppler shift + * needs less memory in the mixer + +------------------------------------------------------------------- +Thu Jul 17 11:33:26 CEST 2008 - lnussel@suse.de + +- backport patch to reduce buffer size from git +- fix mandriva build + +------------------------------------------------------------------- +Thu Jun 5 16:05:20 CEST 2008 - lnussel@suse.de + +- split package to have libraries in subpackages + +------------------------------------------------------------------- +Thu Jun 5 14:39:24 CEST 2008 - lnussel@suse.de + +- new package version 1.4.272 based on b-s-a's and ickruis' work + diff --git a/openal-soft.spec b/openal-soft.spec new file mode 100644 index 0000000..6cabd9f --- /dev/null +++ b/openal-soft.spec @@ -0,0 +1,212 @@ +# +# spec file for package openal-soft +# +# Copyright (c) 2022 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: openal-soft +Version: 1.22.2 +Release: 0 +Summary: Audio library with an OpenGL-resembling API +License: GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT +Group: Development/Libraries/C and C++ +URL: https://www.openal-soft.org/ +Source0: https://www.openal-soft.org/openal-releases/openal-soft-%{version}.tar.bz2 +Source1: libopenalcompat.c +Source3: baselibs.conf +# PATCH-FIX-UPSTREAM openal-no-autospawn.diff +Patch0: openal-no-autospawn.diff +BuildRequires: cmake >= 3.0 +BuildRequires: gcc-c++ +BuildRequires: pkgconfig +BuildRequires: pkgconfig(Qt5Widgets) +BuildRequires: pkgconfig(alsa) +# BuildRequires: pkgconfig(jack) # undefined reference to `jack_error_callback' +# BuildRequires: pkgconfig(libpipewire-0.3) +BuildRequires: pkgconfig(libmysofa) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(portaudio-2.0) +BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(zlib) + +%description +OpenAL is an audio library designed in the spirit of the OpenGL API. + +OpenAL provides capabilities for playing audio in a virtual 3D +environment. Distance attenuation, doppler shift, and directional +sound emitters are among the features handled by the API. More +advanced effects, including air absorption, occlusion, and +environmental reverb, are available through the EFX extension. It +also facilitates streaming audio, multi-channel buffers, and audio +capture. + +%package -n libopenal0 +Summary: Audio library with an OpenGL-resembling API +License: LGPL-2.1-or-later +Group: System/Libraries + +%description -n libopenal0 +OpenAL is an audio library designed in the spirit of the OpenGL API. +libopenal.so.0 is just a wrapper around libopenal.so.1 for +compatibility with old software. + +%package devel +Summary: Development headers for OpenAL Soft +License: LGPL-2.1-or-later +Group: Development/Languages/C and C++ +Requires: glibc-devel +Requires: libopenal1 = %{version} +Provides: openal-devel = %{version}-%{release} + +%description devel +OpenAL is an audio library designed in the spirit of the OpenGL API. +This subpackage contains libraries and header files for developing +applications that want to make use of openal-soft. + +%package makemhr +Summary: OpenAL Soft HRTF generation utility +License: GPL-2.0-or-later +Group: Productivity/Multimedia/Sound/Utilities +Conflicts: openal-soft-devel < %{version} +Provides: makehrtf = %version-%release +Provides: openal-soft-devel:%{_bindir}/makehrtf +Obsoletes: makehrtf < %version + +%description makemhr +OpenAL is an audio library designed in the spirit of the OpenGL API. +This package contains the makemhr utility for creating head-related +transfer functions (HRTF). + +%package data +Summary: OpenAL Soft auxiliary data and config +License: LGPL-2.1-or-later +Group: Productivity/Multimedia/Sound/Utilities +Provides: openal-soft = %{version} +Obsoletes: openal-soft <= %{version} +BuildArch: noarch + +%description data +OpenAL is an audio library designed in the spirit of the OpenGL API. +This package contains auxiliary data and config files. + +%package tools +Summary: OpenAL Soft tools +License: LGPL-2.1-or-later AND MIT +Group: Productivity/Multimedia/Sound/Utilities +Conflicts: openal-soft < %{version} +Provides: openal-soft:%{_bindir}/openal-info + +%description tools +OpenAL is an audio library designed in the spirit of the OpenGL API. +This package contains additional tools for OpenAL. + +%package -n libopenal1 +Summary: Audio library with an OpenGL-resembling API +License: LGPL-2.1-or-later +Group: System/Libraries +Recommends: openal-soft-data +Conflicts: openal-soft < %{version} + +%description -n libopenal1 +OpenAL is an audio library designed in the spirit of the OpenGL API. + +OpenAL provides capabilities for playing audio in a virtual 3D +environment. Distance attenuation, doppler shift, and directional +sound emitters are among the features handled by the API. More +advanced effects, including air absorption, occlusion, and +environmental reverb, are available through the EFX extension. It +also facilitates streaming audio, multi-channel buffers, and audio +capture. + +%prep +%autosetup -p1 +# License conflict with the rest of the stack, and we don't use it (Android backend) +rm -v alc/backends/opensl.cpp + +%build +# jack backend doesn't work due to missing jack_error_callback +# +# ALSOFT_CPUEXT_SSE2 controls -msse2, the other configure flags do not seem +# lead to -m. And everything else (i.e. in source) seems CPUID-guarded. +# +%cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DALSOFT_CONFIG=ON \ + -DALSOFT_DLOPEN=OFF \ +%ifarch %ix86 + -DALSOFT_CPUEXT_SSE2:BOOL=OFF \ +%endif + -Wno-dev +%make_jobs +gcc -Wall %{optflags} -fPIC -DPIC -Wl,-soname,libopenal.so.0 -shared -Wl,--no-as-needed -L. -lopenal -o libopenal.so.0 %{SOURCE1} + +%install +%cmake_install +install -D -m 0644 build/libopenal.so.0 %{buildroot}%{_libdir}/libopenal.so.0 +install -D -m 0644 /dev/null %{buildroot}/%{_sysconfdir}/openal/alsoft.conf + +%post -n libopenal0 -p /sbin/ldconfig +%postun -n libopenal0 -p /sbin/ldconfig +%post -n libopenal1 -p /sbin/ldconfig +%postun -n libopenal1 -p /sbin/ldconfig + +%files tools +%license COPYING +%{_bindir}/openal-info +%{_bindir}/alsoft-config +%{_bindir}/altonegen +%{_bindir}/alrecord +%{_bindir}/alloopback + +%files makemhr +%{_bindir}/makemhr + +%files data +%license COPYING +%dir %{_sysconfdir}/openal +%ghost %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/openal/alsoft.conf +%dir %{_datadir}/openal +%{_datadir}/openal/alsoftrc.sample +%dir %{_datadir}/openal/hrtf +%{_datadir}/openal/hrtf/Default?HRTF.mhr +%dir %{_datadir}/openal/presets +%{_datadir}/openal/presets/3D7.1.ambdec +%{_datadir}/openal/presets/hexagon.ambdec +%{_datadir}/openal/presets/itu5.1.ambdec +%{_datadir}/openal/presets/itu5.1-nocenter.ambdec +%{_datadir}/openal/presets/presets.txt +%{_datadir}/openal/presets/rectangle.ambdec +%{_datadir}/openal/presets/square.ambdec + +%files -n libopenal1 +%{_libdir}/libopenal.so.1* + +%files -n libopenal0 +%{_libdir}/libopenal.so.0 + +%files devel +%{_libdir}/libopenal.so +%{_libdir}/pkgconfig/openal.pc +%dir %{_libdir}/cmake/OpenAL +%{_libdir}/cmake/OpenAL/OpenAL*.cmake +%dir %{_includedir}/AL +%{_includedir}/AL/al.h +%{_includedir}/AL/alc.h +%{_includedir}/AL/alext.h +%{_includedir}/AL/efx.h +%{_includedir}/AL/efx-creative.h +%{_includedir}/AL/efx-presets.h + +%changelog