<feed xmlns='http://www.w3.org/2005/Atom'>
<title>packages/sound, branch master</title>
<subtitle>Mirror of packages feed</subtitle>
<id>https://git.openwrt.org/feed/packages/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/feed/packages/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/'/>
<updated>2026-09-16T15:35:19Z</updated>
<entry>
<title>openal-soft: drop libatomic dependency</title>
<updated>2026-09-16T15:35:19Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-09-10T13:42:07Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=8c5df29a887321bfecc5dd8352843027b2deddd2'/>
<id>urn:sha1:8c5df29a887321bfecc5dd8352843027b2deddd2</id>
<content type='text'>
The CMake build links libatomic on targets without inline 64-bit
atomics, but libopenal imports no symbol from it. Link with --as-needed
so the unused library is dropped and remove the dependency.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>pulseaudio: detect intl and iconv through meson dependency objects</title>
<updated>2026-09-14T15:46:54Z</updated>
<author>
<name>Mirko Vogt</name>
</author>
<published>2026-09-12T12:15:15Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=74fbbb485adc2af69f378b736974972f82e351fa'/>
<id>urn:sha1:74fbbb485adc2af69f378b736974972f82e351fa</id>
<content type='text'>
The build probes for dgettext and iconv_open with bare symbol checks,
which succeed against libc even when a standalone GNU libintl or
libiconv is on the include path. Their headers redirect the calls to
libintl_* and libiconv_* symbols, so the objects then need -lintl,
which the Makefile supplied through TARGET_LDFLAGS for every link,
and the standalone libiconv was bypassed through LIBICONV_PLUG.

Add the two patches from upstream merge request 877, which switch the
probes to meson's intl and iconv dependency objects. These compile a
test including the header, so they fall back to linking the library
exactly when the header requires it. With BUILD_NLS this links
libintl-full and libiconv-full where they are used; without it, the
libc implementations are used as before. The second patch makes the
libm link conditional in the same way. Drop the -lintl workaround.

Patches taken from merge request currently under review upstream:
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/877

Signed-off-by: Mirko Vogt &lt;mirko-openwrt@nanl.de&gt;
</content>
</entry>
<entry>
<title>pulseaudio: switch to git snapshot</title>
<updated>2026-09-14T15:46:54Z</updated>
<author>
<name>Mirko Vogt</name>
</author>
<published>2026-09-11T11:23:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=7d479353dd78a5ba9e38aea4b7acf1171038d28d'/>
<id>urn:sha1:7d479353dd78a5ba9e38aea4b7acf1171038d28d</id>
<content type='text'>
The last release, 17.0, dates from January 2024. Master has since
accumulated fixes not available in any release, among them the SAP
port byte order in module-rtp-recv, an out-of-bounds access in
stream_get_timing_info_callback, multichannel processing in
module-echo-cancel and several JSON UTF-8 handling fixes. Switch to
the current master head.

The snapshot tarball carries neither a .git directory nor the
.tarball-version file of a release tarball, so git-version-gen has no
source for the version string and meson would fail parsing the empty
result. Write .tarball-version in Build/Prepare from the last release
tag reachable from the snapshot plus the abbreviated commit, so the
library version and the libpulsecommon file name derive from 17.0 as
the build's own git describe would.

Keep PKG_VERSION at 17.0 instead of the date-derived default, so the
package version matches what the libraries and binaries report, the
CI version check finds it in the --version output, and a later switch
back to a release tarball still sorts as an upgrade. PKG_SOURCE_DATE
and PKG_SOURCE_VERSION identify the snapshot, and the repacked tarball
carries both in its name so that a later snapshot does not collide with
this one in the download directory and on the source mirror.

Upstream turned the doxygen and tests options into feature options;
pass disabled instead of false. Normalise the indentation of the last
three MESON_ARGS entries while touching them.

Signed-off-by: Mirko Vogt &lt;mirko-openwrt@nanl.de&gt;
</content>
</entry>
<entry>
<title>pulseaudio: split out libpulse client library</title>
<updated>2026-09-14T15:46:54Z</updated>
<author>
<name>Mirko Vogt</name>
</author>
<published>2026-07-20T19:23:50Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=77492a6b4e0aef5aba9bd6476ee844f4873570b6'/>
<id>urn:sha1:77492a6b4e0aef5aba9bd6476ee844f4873570b6</id>
<content type='text'>
Move the PulseAudio client libraries into a separate libpulse package,
so a client can depend on just the client library instead of pulling
in the whole daemon. Upstream ships three libraries whose names do not
make the split obvious: libpulse and libpulse-simple are the client
API, libpulsecommon is a private library shared by client and server,
and libpulsecore is the server core used only by the daemon and its
modules. libpulse, libpulse-simple and libpulsecommon go into the new
package; libpulsecore, libpulsedsp and the module helper libraries stay
with pulseaudio-daemon, which now depends on libpulse. The iconv and
gettext users (pulse/utf8.c and pulsecore/i18n.c) are part of
libpulsecommon, so libpulse carries the ICONV_DEPENDS and INTL_DEPENDS
itself.

Enable D-Bus support in both variants, not just the avahi one. D-Bus
support adds the pa_dbus_* and rtkit helpers to libpulsecommon, which
the daemon and its modules link against and which now ships in
libpulse. Since a single libpulse package serves both variants, it has
to be built the same way in both, or the avahi daemon would end up with
a libpulsecommon lacking those symbols. Unconditional D-Bus support is
the simplest way to achieve that; the price is that pure clients now
pull in libdbus.

Two follow-on changes: the D-Bus policy file, previously installed by
the avahi variant only, is now installed by both daemon variants. The
daemon also declares its own libdbus dependency, independent of
libpulse, because libpulsecore links libdbus directly.

Signed-off-by: Mirko Vogt &lt;mirko-openwrt@nanl.de&gt;
</content>
</entry>
<entry>
<title>fluidsynth: update to 2.6.0</title>
<updated>2026-08-27T11:55:51Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-08-20T13:23:23Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=7390f8e8fe88fd2bc037a5e4f37dca05a700ee3b'/>
<id>urn:sha1:7390f8e8fe88fd2bc037a5e4f37dca05a700ee3b</id>
<content type='text'>
New features:
- automatic gain control / output limiter on the final rendering stage
- signed 32-bit and 24-bit linear PCM support; WASAPI driver now allows
  24-bit audio
- MIDI RPN 5 (Modulation Depth Range) support
- multiple reverb engines, addressing prior FDN reverb limitations
- GM2 bank select mode

Musically breaking changes:
- corrected a 17-year-old bug affecting sample fine-tuning in certain
  Soundfont instruments
- implemented MIDI RP-020 to fix MTS playback in MIDI files
- switched default reverb engine to Dattorro (plate-style)
- replaced 7th order sinc interpolation with a higher-order one due to
  quality concerns

Other: hardened Pipewire driver against xruns; exits with an error when
unable to load a command-line Soundfont; dropped the GLib and
libInstPatch dependencies.

Dropped +glib2 from DEPENDS to match: libfluidsynth.so.3.6.0 no longer
links libglib-2.0 (confirmed via readelf -d).

2.6.0 also drops the enable-libinstpatch CMake option entirely, so the
existing -Denable-libinstpatch=off pin became a silent no-op: DLS/GIG
loading is now controlled by the new enable-native-dls option instead,
which defaults to on. Left unpinned, this bump would have silently
re-enabled DLS/GIG support that this Makefile had deliberately turned
off. Replaced the dead pin with -Denable-native-dls=off to preserve
the existing behaviour explicitly.

Also pin the new enable-signalsmith option (limiter/AGC and the extra
reverb engines) to off: it defaults to on, but the feature it gates
depends on the signalsmith-audio-basics git submodule, which is not
present in the release tarball this package builds from - configure
silently compiles it out either way, so pinning it off just makes that
explicit and deterministic rather than accidental.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>libxmp: update to 4.7.2</title>
<updated>2026-08-23T17:03:59Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-08-20T13:53:54Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=2111f8643898898bab579839837030acd631b7e8'/>
<id>urn:sha1:2111f8643898898bab579839837030acd631b7e8</id>
<content type='text'>
4.7.1:
- fixed crashes and other bugs in the smix API; rewrote the smix WAV
  loader to support stereo samples
- fixed XM channel default instrument memory, IT high offset/oversized
  offset handling, MED synth/hybrid finetune conversion
- fixed Magnetic Fields Packer track loading and optimised tracks
- fixed path_join when loading a module from the current directory
- fixed loading truncated/broken Startrekker AM instruments and their
  precedence, envelope, P.FALL and FQ toneporta bugs
- allowed Archimedes MUSX modules to load with a broken SDAT instrument
  subchunk
- fixed various -fsanitize=shift-base warnings

4.7.2:
- fixed loading Startrekker modules from memory/handle/callbacks
- fixed a cmake build failure for certain Apple targets (e.g. tvOS)
- fixed stb-vorbis floor1 inverse_db_table indexing, a missing part of
  the CVE-2019-13220 fix

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>squeezelite: add version test override</title>
<updated>2026-08-11T06:25:18Z</updated>
<author>
<name>Kel Modderman</name>
</author>
<published>2026-08-08T10:46:57Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=0538c8a1686cccc460a12e97195219ede20b26c7'/>
<id>urn:sha1:0538c8a1686cccc460a12e97195219ede20b26c7</id>
<content type='text'>
The generic package test greps executable output for PKG_VERSION, which
cannot match here: PKG_VERSION separates the build number with a dot for
apk, while squeezelite reports it with a hyphen.

Derive the expected string from PKG_VERSION rather than hardcoding it, so
the check keeps working on later updates.

Signed-off-by: Kel Modderman &lt;kelvmod@gmail.com&gt;
</content>
</entry>
<entry>
<title>squeezelite: update to 2.0.0.1584</title>
<updated>2026-08-11T06:25:18Z</updated>
<author>
<name>Kel Modderman</name>
</author>
<published>2026-08-08T07:07:44Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=f81c23155312c6d03d55519e7abc1305462f9166'/>
<id>urn:sha1:f81c23155312c6d03d55519e7abc1305462f9166</id>
<content type='text'>
Refresh sound/squeezelite/patches/010-select_broadcast_interface.patch
and add the git headers required for 'git am' compatibility.

Signed-off-by: Kel Modderman &lt;kelvmod@gmail.com&gt;
</content>
</entry>
<entry>
<title>tree-wide: remove quiet mode from grep in test version checks</title>
<updated>2026-08-10T08:01:46Z</updated>
<author>
<name>Josef Schlehofer</name>
</author>
<published>2026-07-29T05:47:42Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=308a5db9654b4cf9f8a97976e5a1657649ad683e'/>
<id>urn:sha1:308a5db9654b4cf9f8a97976e5a1657649ad683e</id>
<content type='text'>
Remove the quiet mode flag (-q) from grep in version check commands
to ensure that their stdout output is visible.

While at it, switch the remaining regex matches (perl, sscep, awscli) to
fixed-string matching where appropriate, so that special characters in the
version string are matched literally.

For libzip, the zipcmp and zipmerge branches ran grep and then
unconditionally exited 0, so a version mismatch was never reported and
the version check override always passed.

Signed-off-by: Josef Schlehofer &lt;pepe.schlehofer@gmail.com&gt;
</content>
</entry>
<entry>
<title>snapcast: fix "dirty" cmake-add-build-with-soxr-option.patch</title>
<updated>2026-07-30T06:12:29Z</updated>
<author>
<name>Mirko Vogt</name>
</author>
<published>2026-07-29T13:40:38Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=99c244f74472e67c703d6dee0f86a7d4667461f8'/>
<id>urn:sha1:99c244f74472e67c703d6dee0f86a7d4667461f8</id>
<content type='text'>
Refresh "cmake-add-build-with-soxr-option"-patch.
The CI/CD pipeline checks whether patches are byte-identical to what
make package/$(PKG_NAME)/refresh produces.
While the patch applied cleanly, it contained the index-line and a
git-footer, which caused the CI/CD-pipeline's patch-check to bail out

Signed-off-by: Mirko Vogt &lt;mirko-openwrt@nanl.de&gt;
</content>
</entry>
</feed>
