Наконец-то, вышла долгожданная первая мажорная версия 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.
Источник: linux.org.ru
