[24/57] Building CXX object src/modules/spatialaudio/CMakeFiles/mltspatialaudio.dir/filter_ambisonic-decoder.cpp.o
FAILED: src/modules/spatialaudio/CMakeFiles/mltspatialaudio.dir/filter_ambisonic-decoder.cpp.o
/usr/bin/c++ -Dmltspatialaudio_EXPORTS -I/media/julius/data/dev/github/mlt/build/src/modules/spatialaudio -I/media/julius/data/dev/github/mlt/src/framework/.. -I/media/julius/data/dev/github/mlt/build/src/framework -std=c++20 -fPIC -mmmx -msse -msse2 -MD -MT src/modules/spatialaudio/CMakeFiles/mltspatialaudio.dir/filter_ambisonic-decoder.cpp.o -MF src/modules/spatialaudio/CMakeFiles/mltspatialaudio.dir/filter_ambisonic-decoder.cpp.o.d -o src/modules/spatialaudio/CMakeFiles/mltspatialaudio.dir/filter_ambisonic-decoder.cpp.o -c /media/julius/data/dev/github/mlt/src/modules/spatialaudio/filter_ambisonic-decoder.cpp
/media/julius/data/dev/github/mlt/src/modules/spatialaudio/filter_ambisonic-decoder.cpp: In member function ‘bool SpatialAudio::getAudio(mlt_frame, float*, int, int)’:
/media/julius/data/dev/github/mlt/src/modules/spatialaudio/filter_ambisonic-decoder.cpp:99:58: error: ‘kAmblib_51’ was not declared in this scope; did you mean ‘kAmblib_50’?
99 | channels == 6 ? kAmblib_51
| ^~~~~~~~~~
| kAmblib_50
/media/julius/data/dev/github/mlt/src/modules/spatialaudio/filter_ambisonic-decoder.cpp:111:46: error: no matching function for call to ‘CAmbisonicZoomer::Configure(const int&, bool, const int&, int)’
111 | error = !zoomer.Configure(AMBISONICS_ORDER, true, AMBISONICS_BLOCK_SIZE, 0);
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/spatialaudio/AmbisonicProcessor.h:24,
from /usr/include/spatialaudio/Ambisonics.h:28,
from /media/julius/data/dev/github/mlt/src/modules/spatialaudio/filter_ambisonic-decoder.cpp:21:
/usr/include/spatialaudio/AmbisonicZoomer.h:40:18: note: candidate: ‘virtual bool CAmbisonicZoomer::Configure(unsigned int, bool, unsigned int)’
40 | virtual bool Configure(unsigned nOrder, bool b3D, unsigned nMisc);
| ^~~~~~~~~
/usr/include/spatialaudio/AmbisonicZoomer.h:40:18: note: candidate expects 3 arguments, 4 provided
/media/julius/data/dev/github/mlt/src/modules/spatialaudio/filter_ambisonic-decoder.cpp:162:41: error: no matching function for call to ‘CAmbisonicBinauralizer::Process(CBFormat*, float* [6], int&)’
162 | binauralizer.Process(&bformat, speakers, samples);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/spatialaudio/Ambisonics.h:29:
/usr/include/spatialaudio/AmbisonicBinauralizer.h:65:10: note: candidate: ‘void CAmbisonicBinauralizer::Process(CBFormat*, float**)’
65 | void Process(CBFormat* pBFSrc, float** ppfDst);
| ^~~~~~~
/usr/include/spatialaudio/AmbisonicBinauralizer.h:65:10: note: candidate expects 2 arguments, 3 provided
[27/57] Building CXX object src/modules/glaxnimate/glaxnimate/src/core/glaxnimate/module/extraformats/CMakeFiles/GlaxnimateExtraFormats.dir/rive/rive_loader.cpp.o
Describe the bug
MOD_SPATIALAUDIO=ONcan not be build against any offical version of the upstream libspatialaudio.Versions:
Additional context
There is a certain git revision (videolan/libspatialaudio@0b6b25e) that seems to work, but neither version <= 0.3.0 nor 0.4.0 work. This is not great in general and in particular because distro packagers tend to only ship official release versions and the same preference exist for package mangers like homebrew, msys2 or vcpkg.
0.3.0 (released in 2017) is the version available in Ubuntu, but building it fails with multiple errors about unknown function signatures etc.
Details
0.4.0 has been released a few months ago and contains major breaking changes according to the release notes.
Details
Best would probably be to make the module compatible with libspatialaudio 0.4.0 and require that as minimum version of the dependency.