Доступен звуковой сервер PulseAudio 6.0
13 февраля 2015 года
Анонсирован выпуск звукового сервера PulseAudio 6.0, который выступает в роли посредника между приложениями и различными низкоуровневыми звуковыми подсистемами, абстрагируя работу с оборудованием. В новый выпуск принято более 400 исправлений, в подготовке которых приняли участие 50 разработчиков. Код PulseAudio распространяется в рамках лицензии LGPL 2.1+. Поддерживается работа в Linux, Solaris, FreeBSD, OpenBSD, DragonFlyBSD, NetBSD, Mac OS X и Windows.
PulseAudio позволяет управлять громкостью и смешиванием звука на уровне отдельных приложений, организовывать поступление, смешивание и вывод звука при наличии нескольких входных и выходных каналов или звуковых карт, позволяет на лету менять формат звукового потока и использовать плагины, дает возможность прозрачно перенаправлять звуковой поток на другую машину.
Ключевые улучшения PulseAudio 6.0:
- Обеспечена поддержка профилей HFP (Hands-Free Profile) и HSP (Headset Profile) для подключения беспроводных гарнитур и наушников с интерфейсом Bluetooth. Для использования профилей HSP/HFP с BlueZ 5 подготовлено два бэкенда - "native" и "oFono", каждый из которых имеет свои достоинства и недостатки. В бэкенде "native" реализована только поддержка профиля HSP, чего достаточно для работы с большинством звуковых устройств. Вторым недостатком бэкенда "native" является отсутствие возможности установки ролей ("headset role"), что, например, не позволяет задействовать ПК в роли гарнитуры при подсоединении ПК к мобильному телефону.
Бэкенд "oFono" основан на одноимённом телефонном стеке и наоборот поддерживает только HFP и не может работать с HSP. Впрочем, ограничение в поддержке профилей не критично, так как большинство устройств поддерживают как HFP, так и HSP. Из ролей поддерживается только работа в форме гарнитуры, т.е. при подсоединении ПК к мобильному телефону, в отличие от бэкенда "native", ПК можно будет использовать только как гарнитуру, но нельзя подключить гарнитуру к ПК. Кроме того, oFono пока не поддерживает средства управления громкостью гарнитуры (PulseAudio не может передать гарнитуре параметры громкости и выставляет громкость только на своей стороне). Одновременная работа бэкендов "native" и "oFono" не поддерживается, следует выбрать один из них.
- Возможность использования функции активации по сокету, предоставляемой системным менеджером systemd, для автоматического запуска пользовательского экземпляра PulseAudio в ответ на попытку обращения к звуковому серверу. В настоящее время возможна активация только по unix-сокетам, поддержка TCP-сокетов ожидается в будущих выпусках. Активному использованию активации PulseAudio по сокету также мешают ограничения по одновременному использованию создаваемой для пользовательского сеанса шины и пользовательской шины, создаваемой при активации по сокету. К сеансовой шине пока привязаны такие функции, как module-jackdbus-detect, протокол резервирования устройств, отслеживание работы сервера в libpulse, module-rygel-media-server, сервис обращений к серверу через D-Bus;
- Представлен новый механизм передачи потоков srbchannel ("Shared RingBuffer channel"), позволивший снизить нагрузку на CPU на 10-25% в условиях обеспечения минимальных задержек. В srbchannel для передачи пакетов метаданных между клиентом и сервером используется разделяемая память, а не unix-сокеты, с информированием о поступлении пакетов через API eventfds. Подобный подход позволил незначительно сократить число операций копирования памяти, но существенно снизил интенсивность обращения к системным вызовам. Реализация srbchannel пока не включена по умолчанию из-за возможного присутствия ошибок, для активации следует передать значение "srbchannel=true" в module-native-protocol-unix;
- Код переназначения каналов ускорен благодаря внедрению низкоуровневых специфичных оптимизаций (например, задействованы инструкции ARM NEON). Оптимизации с использованием инструкций ARM NEON также добавлены в код смешивания двух 16-разрядных потоков, содержащих одинаковое число каналов;
- В модуль module-combine-sink добавлена поддержка адаптивных задержек (dynamic latency), позволяющих использовать модуль с приложениями, чувствительными к задержкам;
- Улучшена поддержка многоканальных звуковых карт. Для карт, которые могут быть открыты только в многоканальном режиме, но для которых не удаётся подобрать число каналов, теперь предоставляется возможность определения каналов драйвером;
- Добавлена поддержка объёмного звука 7.1 для звуковых систем с интерфейсом HDMI. Улучшена работа с профилями 2.1 и нового синтаксиса их выбора (surround21:card), поддержка которого появилась в ALSA 1.0.28;
- В утилите pactl добавлена возможность установки разной громкости для каждого канала устройства или потока.
- Возможность работы с несколькими экземплярами модулей module-jack-sink и module-jack-source;
- В модуль module-switch-on-connect добавлена новая опция "only_from_unavailable", позволяющая разрешить переключение на новое устройство только в ситуации недоступности устройства по умолчанию.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.