[packages/vlc] - upstream build fixes for spatialaudio 0.4.x
baggins
baggins at pld-linux.org
Sun Mar 15 10:32:54 CET 2026
commit 5da9e6562c9c6f49be03c8ba2b51197a6bc7fcec
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Sun Mar 15 11:32:28 2026 +0100
- upstream build fixes for spatialaudio 0.4.x
spatialaudio-0.4.patch | 115 +++++++++++++++++++++++++++++++++++++++++++++++++
vlc.spec | 2 +
2 files changed, 117 insertions(+)
---
diff --git a/vlc.spec b/vlc.spec
index 0003d3e..a7126f4 100644
--- a/vlc.spec
+++ b/vlc.spec
@@ -89,6 +89,7 @@ Patch9: x32.patch
Patch10: %{name}-libplacebo-5.patch
Patch11: opencv4.patch
Patch12: libsmb2.patch
+Patch13: spatialaudio-0.4.patch
URL: http://www.videolan.org/vlc/
%{?with_decklink:BuildRequires: Blackmagic_DeckLink_SDK}
# 1.0 for X11 or GLESv1, 1.1 for GLESv2
@@ -426,6 +427,7 @@ Akcje klienta VLC dla Solid.
%{?with_libplacebo:%patch -P10 -p1}
%patch -P11 -p1
%patch -P12 -p1
+%patch -P13 -p1
%build
%{__libtoolize}
diff --git a/spatialaudio-0.4.patch b/spatialaudio-0.4.patch
new file mode 100644
index 0000000..9615326
--- /dev/null
+++ b/spatialaudio-0.4.patch
@@ -0,0 +1,115 @@
+From 93c2e6ec320016a3b3a3764db44fc7434d37d031 Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07 at gmail.com>
+Date: Thu, 5 Feb 2026 16:33:37 +0100
+Subject: [PATCH] buildsystem: detect new libspatialaudio
+
+We can use the presence of the version header to detect libspatialaudio
+0.4.0 or higher. (For more granular checks in the future, the defines
+from the version header can be checked)
+---
+ configure.ac | 9 +++++++++
+ modules/audio_filter/meson.build | 9 +++++++--
+ 2 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 69cd6cbe298..ab432d34cfd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2966,6 +2966,15 @@ dnl Ambisonic channel mixer and binauralizer plugin
+ dnl
+ PKG_ENABLE_MODULES_VLC([SPATIALAUDIO], [], [spatialaudio], [Ambisonic channel mixer and binauralizer], [auto])
+
++AS_IF([test -n ${SPATIALAUDIO_CFLAGS+set}], [
++ VLC_SAVE_FLAGS
++ AX_APPEND_FLAG([$SPATIALAUDIO_CFLAGS], [CFLAGS])
++ AC_CHECK_HEADER([spatialaudio/SpatialaudioVersion.h], [
++ AX_APPEND_FLAG([-DHAVE_SPATIALAUDIOVERSION_H=1], [SPATIALAUDIO_CFLAGS])
++ ])
++ VLC_RESTORE_FLAGS
++])
++
+ dnl
+ dnl theora decoder plugin
+ dnl
+--
+GitLab
+
+From a41efcaf1d0b799f0d85d2ca0c59a9c677153cc4 Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07 at gmail.com>
+Date: Thu, 5 Feb 2026 16:34:35 +0100
+Subject: [PATCH] modules: spatialaudio: compat with new API
+
+This merely makes it build with the new API and doesn't yet migrate
+to newer APIs.
+---
+ .../channel_mixer/spatialaudio.cpp | 39 +++++++++++++++++--
+ 1 file changed, 35 insertions(+), 4 deletions(-)
+
+diff --git a/modules/audio_filter/channel_mixer/spatialaudio.cpp b/modules/audio_filter/channel_mixer/spatialaudio.cpp
+index 99cacfdd334..35875c65bc0 100644
+--- a/modules/audio_filter/channel_mixer/spatialaudio.cpp
++++ b/modules/audio_filter/channel_mixer/spatialaudio.cpp
+@@ -44,6 +44,23 @@
+ #include <spatialaudio/Ambisonics.h>
+ #include <spatialaudio/SpeakersBinauralizer.h>
+
++#ifdef HAVE_SPATIALAUDIOVERSION_H
++# include <spatialaudio/SpatialaudioVersion.h>
++#else
++# define SPATIALAUDIO_API_VERSION_MAJOR 0
++#endif
++
++#if SPATIALAUDIO_API_VERSION_MAJOR >= 2
++ using namespace spaudio;
++ using CAmbisonicBinauralizer = spaudio::AmbisonicBinauralizer;
++ using CAmbisonicDecoder = spaudio::AmbisonicDecoder;
++ using CAmbisonicProcessor = spaudio::AmbisonicProcessor;
++ using CAmbisonicZoomer = spaudio::AmbisonicZoomer;
++ using CAmbisonicSpeaker = spaudio::AmbisonicSpeaker;
++ using CBFormat = spaudio::BFormat;
++ #define kAmblib_CustomSpeakerSetUp Amblib_SpeakerSetUps::kAmblib_CustomSpeakerSetUp
++#endif
++
+ #define CFG_PREFIX "spatialaudio-"
+
+ #define DEFAULT_HRTF_PATH "hrtfs" DIR_SEP "dodeca_and_7channel_3DSL_HRTF.sofa"
+@@ -487,10 +504,18 @@ static int Open(vlc_object_t *p_this)
+ p_sys->mode = filter_spatialaudio::AMBISONICS_DECODER;
+
+ unsigned i_nbChannels = aout_FormatNbChannels(&p_filter->fmt_out.audio);
+- if (i_nbChannels == 1
+- || !p_sys->speakerDecoder.Configure(p_sys->i_order, true,
+- kAmblib_CustomSpeakerSetUp,
+- i_nbChannels))
++ bool ok = false;
++ if (i_nbChannels > 1) {
++#if SPATIALAUDIO_API_VERSION_MAJOR >= 2
++ ok = p_sys->speakerDecoder.Configure(p_sys->i_order, true,
++ AMB_BLOCK_TIME_LEN, p_filter->fmt_in.audio.i_rate,
++ kAmblib_CustomSpeakerSetUp, i_nbChannels);
++#else
++ ok = p_sys->speakerDecoder.Configure(p_sys->i_order, true,
++ kAmblib_CustomSpeakerSetUp, i_nbChannels);
++#endif
++ }
++ if (!ok)
+ {
+ msg_Err(p_filter, "Error creating the Ambisonics decoder.");
+ delete p_sys;
+@@ -539,7 +564,13 @@ static int Open(vlc_object_t *p_this)
+ return VLC_EGENERIC;
+ }
+
++#if SPATIALAUDIO_API_VERSION_MAJOR >= 2
++ if (!p_sys->zoomer.Configure(p_sys->i_order, true,
++ AMB_BLOCK_TIME_LEN,
++ p_filter->fmt_in.audio.i_rate))
++#else
+ if (!p_sys->zoomer.Configure(p_sys->i_order, true, 0))
++#endif
+ {
+ msg_Err(p_filter, "Error creating the ambisonic zoomer.");
+ delete p_sys;
+--
+GitLab
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/vlc.git/commitdiff/5da9e6562c9c6f49be03c8ba2b51197a6bc7fcec
More information about the pld-cvs-commit
mailing list