Выпуск звукового сервера PulseAudio 14.0

Представлен релиз звукового сервера PulseAudio 14.0, который выступает в роли посредника между приложениями и различными низкоуровневыми звуковыми подсистемами, абстрагируя работу с оборудованием. PulseAudio позволяет управлять громкостью и смешиванием звука на уровне отдельных приложений, организовывать поступление, смешивание и вывод звука при наличии нескольких входных и выходных каналов или звуковых карт, позволяет на лету менять формат звукового потока и использовать плагины, дает возможность прозрачно перенаправлять звуковой поток на другую машину. Код PulseAudio распространяется в рамках лицензии LGPL 2.1+. Поддерживается работа в Linux, Solaris, FreeBSD, OpenBSD, DragonFlyBSD, NetBSD, macOS и Windows.

Ключевые улучшения PulseAudio 14.0:

  • Реализована перемаршрутизация потоков при изменении заданного по умолчанию источника звука или устройства вывода звука. Ранее при изменении устройства вывода звука новые потоки маршрутизировались в назначенное устройство вывода, но существующие потоки продолжали передаваться в старое устройство вывода. Теперь логика обработки старых потоков изменена, и они будут переключаться на новое устройство.

    Изменение не затрагивает вручную перемещённые потоки, т.е. маршрутизация в привязке к потокам сохранится. Но перемещение потока в заданное по умолчанию устройство вывода приведёт к удалению статуса ручной привязки. В ситуации, когда вручную закреплённое устройство вывода становится недоступным, поток теперь автоматически будет перемещён в устройство по умолчанию, но при возобновлении работы ранее используемого устройства вывода, поток будет возвращён к нему (например, при отключении наушников звук будет направлен в колонки, а после возвращения наушников, опять перенаправлен в них). Вышеотмеченные изменения аналогично теперь действуют и для источников звука.

    При изменении устройства вывода звука в GNOME Sound Settings, данный конфигуратор выполняет перемещение всех существующих потоков в выбранное устройство, а также меняет БД с маршрутами для направление на данное устройство звука приложений, которые будут запущена в дальнейшем. Для PulseAudio манипуляции GNOME Sound Settings выглядят как ручное перемещение потоков, что создаёт проблемы при изменении устройства по умолчанию, так как вручную перемещённые потоки не следуют за изменением устройства вывода по умолчанию. Новое поведение PulseAudio аналогично поведению GNOME Sound Settings и перемещение потоков больше не требуется. Для корректной работы GNOME Sound Settings, до изменения кода данного конфигуратора, реализован хак, которые игнорирует изменение маршрутизации, если они исходят от GNOME Sound Settings.

  • Объявлен устаревшим модуль module-rescue-streams, функциональность которого перенесена в основной состав.
  • По умолчанию отключено автоматическое переключение вывода звука на HDMI, так как оно приводило к неадекватному поведению из-за формирования в ALSA события добавления нового устройства при пробуждении монитора из спящего режима.
  • Улучшена поддержка игровых наушников с интерфейсом USB: HyperX Cloud Orbit S, LucidSound LS31, Razer Kraken Tournament Edition, SteelSeries Arctis 5 (2019 edition) и SteelSeries Arctis Pro (2019 edition). Для данных моделей теперь создаются отдельные устройства вывода для стерео и моно.
  • По умолчанию отключён flat-режим, выставляющий общую громкость вывода на основе параметров самого громкого потока.
  • При выводе звука через RAOP (module-raop-sink) при помощи опции «autoreconnect=true» теперь можно настроить автоматическое пересоединение в случае сетевого сбоя.
  • В модуле module-jackdbus-detect разрешено раздельное указание числа входящих и выходящих каналов (sink_channels и source_channels).
  • Значительно улучшена поддержка UCM (Use Case Manager), используемого в новых устройствах с прошивками Intel SOF (Sound Open Firmware). Добавлена поддержка использования аппаратных режимов громкости (например, режим отключения звука) через ALSA. Кроме того, предоставлена возможность использования с UCM нескольких звуковых карт с одним именем.
  • Добавлена поддержка элементов управления микшированием ALSA с ненулевым индексом и возможность установки целевых ролей (device.intended-roles) для устройств в конфигурации профиля ALSA.
  • Реализована возможность указания типа портов и группы доступности, позволяющих определять какие именно порты связаны с определённым физическим устройством (колонки, наушники, микрофон и т.п.). Тип автоматически назначается для устройств Bluetooth и ALSA UCM, а для остальных может быть указан при помощи опции «type» в секции »[General]».
  • В модулях на базе X11 (module-x11-bell, module-x11-cork-request, module-x11-publish и module-x11-xsmp) реализован аргумент xauthority для передачи значения переменной окружения XAUTHORITY, необходимой при присоединении к серверу X11.
  • Добавлена возможность настройки форматов сжатия в module-null-sink без перезагрузки модуля при помощи команды «pactl set-sink-formats».
  • Реализован новый RTP-бэкенд, построенный на базе GStreamer (модули module-rtp-send и module-rtp-recv теперь могут использовать GStreamer для реализации протокола RTP).
  • Опция enable-lfe-remixing в daemon.conf разделена на две настройки — remixing-produce-lfe b remixing-consume-lfe, позволяющие раздельно управлять каналом lfe при микширования с увеличением или уменьшением каналов (upmixing и downmixing).
  • В модуле module-raop-sink реализован аргумент channel_map, позволяющий по другому отразить каналы для RAOP.



Источник: http://www.opennet.ru/opennews/art.shtml? num=54141

© OpenNet