Выпуск мультимедийного сервера PipeWire 1.2.0
описан на опеннете.
В новой версии:
• В модель обработки потоков данных на основании графа узлов добавлена поддержка асинхронной обработки, при которой граф узлов не блокируется при отсутствии вывода от определённого узла, а продолжает работу, используя данные от узла, полученные в прошлом цикле. Таким образом, ценой задержки в один цикл удаётся избежать ситуации, когда один узел блокирует работу остальных узлов в графе.
• Реализована концепция групп синхронизированных узлов (node.sync-group), позволяющая создавать группы узлов, одновременно активируемых планировщиком. Функция может использоваться для одновременного планирования активации узлов при запуске транспорта JACK.
• Улучшен вывод сведений об ошибках в файле конфигурации, добавлено упоминание места, где допущена ошибка в настройках (номер строки и позиция в строке).
• Добавлена поддержка технологии Explicit Sync, позволяющей приложениям информировать композитный менеджер на базе протокола Wayland о готовности вывода кадра на экран, что даёт возможность добиться снижения задержек и избавиться от появления артефактов при выводе графики. В частности, Explicit Sync решает проблемы с нарушением вывода и подвисаниями на системах с GPU NVIDIA и включённой поддержкой Wayland.
• Реализована возможность определения обязательных метаданных при согласовании параметров буфера, которые используются для обеспечения поддержки "Explicit Sync".
• Добавлена поддержка создания и использования нескольких циклов обработки данных (data-loop) в клиенте и сервере. В циклы обработки данных добавлены возможности для привязки к определённым ядрам CPU и выставления приоритетов.
• Предоставлена возможность изменения отладочных уровней, управляющих выводом информации в лог, без перезапуска, используя метаданные.
• Переработана логика связывания пиров (узлов в графе потоков данных, определяющих внешние источники или приёмники данных).
• Приняты патчи для обработки устройств, помеченных как конфликтующие через ALSA UCM (Use Case Manager).
• Добавлен модуль snapcast-discover для потоковой передачи контента в серверы SnapСast.