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

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

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

  • Добавлена возможность взаимодействия с оборудованием AirPlay, поставляемым с новой версией протокола RAOP;
  • Изменены приоритеты выбора звуковых устройств по умолчанию. Устройства с интерфейсами USB и Bluetooth теперь имеют более высокий приоритет по сравнению со встроенными звуковыми картами. Таким образом, после подключения звуковой USB-карты или Bluetooth-наушников теперь не нужно вручную менять устройство по умолчанию;
  • Обеспечено корректное сохранение настроек источника и вывода звука для внешних звуковых устройств (ранее не сохранялись параметры выбора по умолчанию для подключаемых звуковых устройств, таких как звуковая карта с интерфейсом USB);
  • PulseAudio теперь может выступать в роли Bluetooth-гарнитуры в режиме HSP, что позволяет, например, подсоединить телефон к ноутбуку с PulseAudio и использовать громкоговорители и микрофон этого ноутбука в качестве виртуальной гарнитуры;
  • На базе oFono реализована возможность для работы PulseAudio в роли звукового шлюза Bluetooth HFP. По аналогии с описанной ранее ролью HSP, устройства с поддержкой HFP также могут использовать систему PulseAudio для ввода и вывода звука. Возможно одновременное включение ролей Bluetooth HSP и HFP;
  • Обеспечена возможность безболезненного отключения процесса «upmixing» (увеличение числа звуковых каналов, например для преобразования стерео в формат 5.1). По умолчанию PulseAudio воспроизводит стерео поток на всех имеющихся динамиках, что не всем по душе. До сих пор для отключения данного поведения можно было указать «enable-remixing = no» в daemon.conf, но это приводило к полному отключению ремикширования, в том числе к невозможности воспроизведения в режиме моно. В новом выпуске добавлена опция для отключения только «upmixing» через указание «remixing-use-all-sink-channels = no» в daemon.conf;
  • Добавлена защита от использования по умолчанию недоступных источников и приёмников звука. Например, если установлен по умолчанию вывод через HDMI, но кабель отключен, PulseAudio теперь автоматически задействует вывод через аналоговый разъём;
  • Добавлена опция для работы без изменения частоты дискретизации. По умолчанию, PulseAudio настраивает звуковую карту на частоту дискретизации 44.1 kHz или 48 kHz, а если приложение выводит звук с иной частотой, выполняет передискретизацию. Выставление опции «avoid-resampling = yes» в daemon.conf позволяет изменить данное поведение и вместо передискретизации перенастраивать оборудование на частоту приложения;
  • Обеспечена возможность переключения Bluetooth-профиля в режим HSP (гарнитура), если не выставлен параметр media.role. Ранее HSP выставлялся только если в качестве устройства вывода был указан телефон, а иначе выбирался профиль A2DP, что создавало проблемы с VoIP-приложениями, не выставляющими параметр media.role. Изменить поведения выбора профиля можно через опцию «auto_switch» для module-bluetooth-policy: 0 — отключить автоматическое переключение, 1 — переключать только при media.role=phone, 2 — переключать при media.role=phone и не выставленном параметре media.role;
  • Улучшены средства регулирования времени задержки в module-loopback. Стартовая задержка теперь более точно отражает запрошенное значение и не допускается уход за минимально допустимый уровень задержки, при котором возникают искажения;
  • Изменены имена аргументов модулей module-ladspa-sink и module-virtual-surround-sink: основной вывод теперь определяется через аргумент «sink_master» вместо «master»;
  • Решены проблемы с обработкой устройств ввода звука на платформе Windows;
  • Улучшена настройка параметра MTU («maximum transmission unit») для Bluetooth. Ранее для HSP всегда задавался размер пакета 48 байт, что могло приводить к проблемам с адаптерами, требующими другой размер. В PulseAudio 11 размер пакета теперь выбирается на основании MTU, которое сообщает ядро системы. В случае проблем старое поведение можно вернуть через опцию «autodetect_mtu=no» в module-bluetooth-discover;
  • Добавлена поддержка ядра GNU Hurd. При этом для GNU Hurd не добавлено специфичных модулей и предлагается использовать модуль module-solaris с приложениями, поддерживающими интерфейс /dev/audio.

© OpenNet