Наконец-то, вышла долгожданная первая мажорная версия PipeWire, мультимедийного сервера и фреймворка, предназначенного для вывода и обработки звука в реальном времени. Имеется совместимость по API и ABI с ALSA, PulseAudio и JACK. Изменений не сильно много, но они являются знаковыми (как-никак, а первая релизная версия).
Основные изменения:
- Устранена утечка памяти в
memfd/dmabuf
при выгрузке буферов при завершении работы. - Добавлена обработка конкурентных вызовов
jack_port_get_buffer()
, из-за того, что это используется в Ardour. - Улучшено представление времени (уменьшены колебания) в ALSA при использовании IRQ.
- Множественные улучшения документации.
Другие изменения:
PipeWire
- Теперь везде соблюдается
PIPEWIRE_DLCLOSE
, и удаленаpw_in_valgrind()
. - Удалено предупреждение, возникающее при попытке клиента изменить игнорируемые параметры.
Модули
- Устранена потенциальная ошибка сегментирования при копировании структур
mix
. - Устранены возможные состояния гонки в
setrlimit
вmodule-rt
. - Устранена утечка памяти в
filter-chain
. - Параметр
rtp.prime
установлен для отправителей (но не получателей). - Модули
ROC
портированы наROC 0.3
.
SPA
- Добавлен параметр для задержки в
libcamera
. - Исправлены некоторые предупреждения при компиляции.
- Обновлён плагин
EVL
.
Bluetooth
- Добавлен кодек LC3, а также улучшена совместимость
PulseAudio
- Исправлена ошибка в отправке событий при изменении состояния выхода или источника.
JACK
- Улучшена работа с транспором и временем. Теперь используются уникальные идентификаторы для создания последовательных снапшотов текущего времени и транспорта.
- Убрано перечисление неиспользуемых параметров порта.
- Оптимизировано переиспользование буфера.
Документация
- Добавлены man-страницы для
pw-dump
,pw-loopback
,pipewire-pulse
и модулей. - Теперь man-страницы создаются при помощи Doxygen.
- Добавлена документация для модулей PulseAudio.
Из других изменений можно отметить добавление поддержки GNU/Hurd.