pipewire/spa/plugins
Torkel Niklasson 65a5fa0250 audioconvert: allocate port buffers dynamically
The port buffer table was embedded in struct port as a fixed array
buffers[MAX_BUFFERS] of struct buffer, each holding datas[MAX_DATAS]
(MAX_DATAS == SPA_AUDIO_MAX_CHANNELS == 64). This reserved ~17 KB per
port regardless of the actual buffer/channel count, multiplied by every
active port.

Allocate the buffer table and the per-buffer data-pointer pool in a
single calloc in port_use_buffers(), sized to the real number of
buffers and blocks, and release it in clear_buffers(). free_dir() now
clears each port so the allocation (and any mmapped buffer data) is
released on node destruction. This mirrors the dynamic-allocation
approach already used for the channelmix matrices and preserves a lot
of memory in the common low-channel-count case.

Co-authored-by: Copilot copilot@github.com
2026-06-12 18:19:35 +00:00
..
aec spa: aec: Fix a spurious warning while parsing args 2026-06-03 09:39:32 -07:00
alsa alsa: acp: emit route param updates when card properties change 2026-06-11 11:08:44 -04:00
audioconvert audioconvert: allocate port buffers dynamically 2026-06-12 18:19:35 +00:00
audiomixer audiomixer: rate limit the "out of buffers" debug 2026-04-28 10:34:39 +02:00
audiotestsrc plugins: handle some fd allocation errors 2026-05-05 11:36:45 +02:00
avb avb: use safer strbuf to construct strings 2026-05-06 13:09:03 +02:00
bluez5 bluez: introduce media.min-latency-ms for media source 2026-06-11 20:34:22 +02:00
control mixer: handle control.ump property 2026-03-25 11:59:43 +01:00
ffmpeg spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
filter-graph filter-graph: sync_volume initializes the control ports 2026-05-20 11:32:39 +02:00
jack *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
libcamera spa: libcamera: use std::span 2026-03-27 09:57:56 +01:00
support node-driver: Add sync.force-tracking property 2026-06-11 20:34:22 +02:00
test plugins: handle some fd allocation errors 2026-05-05 11:36:45 +02:00
v4l2 security: add missing O_CLOEXEC flag to V4L2 device open 2026-04-28 12:56:40 +02:00
videoconvert modules: handle allocation errors gracefully 2026-05-05 13:10:21 +02:00
videotestsrc spa: do not use SPA_PROP_live 2026-03-27 18:03:24 +01:00
volume treewide: access the position information using helpers 2025-10-21 13:06:25 +02:00
vulkan vulkan: check for fcntl errors 2026-05-06 12:45:37 +02:00
meson.build spa/plugins: revert "Disable alsa plugin on !Linux platforms." 2026-03-12 09:20:05 +00:00