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

19 января 2017 года

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

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

  • Реализовано автоматическое переключение профиля Bluetooth при использовании приложений VoIP. При совершении голосового звонка, если VoIP-приложение откроет звуковой канал со свойством "media.role=phone", модуль module-bluetooth-policy теперь автоматически переключит профиль Bluetooth с A2DP, применяемого для прослушивания музыки, на HSP/HFP, предназначенного для работы в роли телефонной гарнитуры. После того как канал будет закрыт, будет возвращено использование профиля A2DP;
  • Раздельное назначение уровня громкости для Bluetooth-профилей A2DP и HSP. Установка одного и того же значения уровня громкости приводит к разной фактической громкости звучания профилей A2DP и HSP, поэтому PulseAudio теперь обрабатывает и сохраняет раздельные параметры громкости для профилей A2DP и HSP;
  • Добавлен новый модуль module-allow-passthrough для повышения приоритета напрямую проброшенных потоков, в которых содержимое от приложения к звуковой карте передаётся в неизменном виде, т.е. не должно перекодироваться и смешиваться с другими потоками.

Обычно прямой проброс применяется для вывода уже сжатого звукового потока через соединение S/PDIF. Представленный модуль устанавливает для прямых потоков наивысший приоритет, поэтому если к заданному устройству уже были открыты потоки, они будут вытеснены и перенаправлены в фиктивное устройство dummy. Ранее, при активности каких-либо потоков к устройству вывода, попытка прямого проброса завершалась неудачей. Теперь эта проблема решена;

  • Налажен процесс горячего подключения через USB звуковых карт с поддержкой объёмного звука (surround);
  • Включен по умолчанию основанный на технологии memfd механизм разделяемой памяти, применяемый для эффективной передачи данных между сервером и клиентом без промежуточной буферизации. Механизм Memfd был предложен разработчиками systemd/kdbus и включён в состав ядра Linux 3.17. Memfd позволяет выделить память как через malloc, но обращаться к ней как с файлом, по файловому дескриптору. Для отключения можно воспользоваться настройкой "enable-memfd = no" в daemon.conf;
  • Из состава удалён модуль module-xenpv-sink, который оказался невостребован;
  • Из зависимостей удалена библиотека json-c, использование которой приводило к конфликтам с реализацией JSON из состава glib. Отныне функции для работы с JSON встроены непосредственно в libpulse;
  • При запуске PulseAudio средствами systemd отныне в первую очередь всегда создаётся сокет pulseaudio.socket, который установлен в качестве зависимости для сервиса pulseaudio.service;
  • Обеспечена совместимость с OpenSSL 1.1.0;
  • Явно определено, что графический интерфейс эквалайзера qpaeq поставляется под лицензией AGPL, а не LGPL, применяемой для остального кода PulseAudio. Ранее факт использования AGPL был упомянут только в исходных текстах qpaeq, что приводило к упущению данной лицензии производителями дистрибутивов при расстановке меток для пакетов.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск звукового сервера PulseAudio 10.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.