Вышло обновление PipeWire 1.6.8 в рамках серии 1.6. Разработчики исправили состояние гонки в функции jack_port_get_buffer() уровня совместимости с JACK, которая проявлялась при вызовах из нескольких потоков и могла приводить к потере MIDI-событий в таких приложениях, как Ardour.

Обновление также улучшает обработку памяти: исправлено неограниченное выделение памяти, в модуле RAOP добавлены проверки Content-Length и размера для предотвращения ошибок нехватки памяти, а в Pulse-сервере устранена проблема, которая могла приводить к исчерпанию стека из-за неограниченного использования памяти.

Кроме того, обновление избавляет от лишних пересчётов графа: исправлена ошибка, возникавшая при приостановке активного узла. В модулях также устранена потенциальная утечка памяти в пути обработки ошибок client-node.

В слое SPA улучшена работа графа фильтров: исправлены динамические обновления графа и обработка громкости при загрузке фильтра внутрь узла с аппаратной регулировкой громкости. Фильтр SOFA теперь поддерживает опции нормализации и задержки, а также исправлена ситуация, когда отключение карты могло вызывать 100% нагрузку.

Пользователям Bluetooth пригодится исправление потенциальной утечки при сбое запуска транспорта. В GStreamer PipeWire 1.6.8 теперь пропускает некорректные метаданные обрезки и устраняет падение, вызванное двойной регистрацией обработчика метаданных.

Подробности можно найти в списке изменений.

PipeWire 1.6.8 уже доступен на странице релизов GitLab проекта и в архиве с исходным кодом. Ожидается, что дистрибутивы Linux начнут распространять его через штатные каналы обновлений.