LINUX.ORG.RU

PulseAudio 8.0

 ,


0

1

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

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

  • Метод автоматической маршрутизации звука теперь работает по аналогии с переключением профилей. Если в системе имеется более одного профиля, модуль module-switch-on-port-available отбросит профили у которых не активны подключения к портам. Например, в системе с подключенными наушниками и HDMI, отключение наушников приведёт к перенаправлению звука через HDMI. Кроме того, PulseAudio теперь запоминает последний использованный профиль для порта, т. е. для HDMI будет выбран корректный профиль, а не просто выбран профиль по умолчанию (стерео).
  • Улучшена поддержка NetBSD и OS X. В основную кодовую базу PulseAudio перенесено большинство патчей, поставляемых в составе порта из pkgsrc-репозитория NetBSD. В OS X, благодаря добавлению модуля module-coreaudio-detect, обеспечена работа PulseAudio в конфигурации по умолчанию.
  • Реализована возможность использования Systemd journal для хранения клиентских логов. Настройка осуществляется через переменную окружения PULSE_LOG_JOURNAL, при установке которой все клиентские библиотеки будут отправлять логи в Systemd journal вместо syslog. При одновременной установке переменных окружения PULSE_LOG_JOURNAL и PULSE_LOG_SYSLOG более высокий приоритет отдаётся Systemd journal.
  • В состав включён новый скрипт scripts/benchmark_memory_usage.sh для определения потребления памяти. Скрипт позволяет проконтролировать изменение расхода памяти при увеличении числа клиентов.
  • Добавлен программный интерфейс для управления балансом между каналом сабвуфера (LFE) и всеми остальными каналами, позволяющий при выборе громкости для сабвуфера учесть состояние параметров всех других каналов (за исключением mono и aux). Например, данный интерфейс даёт возможность реализовать единый регулятор громкости, регулирующий изменение громкости сабвуфера при смещении правого-левого или переднего-заднего баланса других каналов.
  • В модуль module-dbus-protocol добавлена поддержка отображения через D-Bus API профиля звуковой карты и порта.
  • Добавлена поддержка конфигурационных директорий /etc/pulse/client.conf.d и /etc/pulse/deamon.conf.d, в которые можно добавлять дополнительные файлы конфигурации, переопределяющие настройки в /etc/pulse/client.conf и /etc/pulse/daemon.conf.
  • Внутренняя библиотека pulsecore-X.Y.so перемещена в отдельную директорию /usr/lib/pulseaudio, вместо размещения в корне /usr/lib.

>>> OpenNet

>>> Подробности



Проверено: Klymedy ()
Последнее исправление: Klymedy (всего исправлений: 3)
Ответ на: комментарий от anonymous

мне твои мысли вслух не интересны - что непонятно ? я же не просто так спрашиваю - везде пишут что единственный способ полностью обойтись без ресемплинга - снести пульс и использовать ALSA.

На заборе что пишут почитай, я не знаю как еще доступнее можно объяснить то что я писал. Включи голову и подумай - если в pulseaudio микшер настроен на 48000 Гц, и поток у тебя 48000 Гц, будет ресемплинг или нет? Если тебе для ответа на этот вопрос нужны какие-то «авторитетные источники», я сожалею.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

если в pulseaudio микшер настроен на 48000 Гц, и поток у тебя 48000 Гц, будет ресемплинг или нет?

в PA - будет всегда

я сожалею.

короче говоря обосрался с источниками откуда начерпал знаний ?

anonymous
()
Ответ на: комментарий от anonymous

Ты дурак просто похоже. Я запускаю mp3 - карта работает на 41000 Гц, я вижу это в /proc/asound/card0/pcm0p/sub0/hw_params. Запускаю фильм - там же вижу, что карта работает на 48000 Гц. При этом весь звук идет через pulseaudio. Я его специально настроил чтобы так было, такая функциональность в нем есть, из коробки возможно по-другому работает. Теперь три вопроса -

1) работает ли ресемплинг в этих двух случаях?

2) если я приведу пруф из интернета что солнце черное, поверишь?

3) поколение интернета и авторитетных пруфов имеет мозг в черепе?

curufinwe ★★★★★
()
Ответ на: комментарий от anonymous

если все же кажется, что ресемплинг будет, перекрестись и погугли что такое ресемплинг для начала.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

Я его специально настроил чтобы так было

Покажи конфиг, покажи кусок мана как отключить ресемплинг или в рассылке внятное описание когда он отключается или кусок кода из которого ясно что он отключается или вали на.й

anonymous
()
Ответ на: комментарий от anonymous

если в pulseaudio микшер настроен на 48000 Гц, и поток у тебя 48000 Гц, будет ресемплинг или нет?

в PA - будет всегда

А этот анонимус то - дурак... Уйди, упёртое, не позорь звание...

Jameson ★★★★★
()
Ответ на: комментарий от anonymous

Что такое ресемплинг так и не почитал в википедии? Похоже, ты не обучаем, больше мне нечего сказать.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

Похоже, ты не обучаем

похоже ты дислектик - покажи настройки при которых у тебя отключается ресемплинг

anonymous
()
Ответ на: комментарий от Jameson

Уйди

ты что еще за членосос тут вылез ? заткнись пока тебя не спросили.

anonymous
()
Ответ на: комментарий от anonymous

Вот тебе код pulseaudio:

if (!(flags & PA_RESAMPLER_VARIABLE_RATE) && rate_a == rate_b) {
        pa_log_info("Forcing resampler 'copy', because of fixed, identical sample rates.");
        method = PA_RESAMPLER_COPY;
    }

Даже из этого кусочка видно, что если частота дискретизации микшера и потока одинаковая, ресемплинг отключается. в этом случае выполняется вот что

/*** copy (noop) implementation ***/

static int copy_init(pa_resampler *r) {
    pa_assert(r);

    pa_assert(r->o_ss.rate == r->i_ss.rate);

    return 0;
}

То есть ничего. Далее, в конфиге daemon.conf пишем

 default-sample-rate = 44100
 alternate-sample-rate = 48000

Таким образом, мы отключаем (как видно из кусков исходников resampler.c, приведенных выше ) ресемплинг для потоков с частотой дискретизации 44100 Гц и 48000 Гц, что более чем достаточно на практике.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

Даже из этого кусочка видно, что если частота дискретизации микшера и потока одинаковая, ресемплинг отключается.

да ничего тут не видно - надо понимать как строится конвеер а это надо копаться в документации или исходниках, но в общем похоже что ты прав

http://lists.freedesktop.org/archives/pulseaudio-discuss/2012-November/015168...

anonymous
()
Ответ на: комментарий от curufinwe

Включи голову и подумай - если в pulseaudio микшер настроен на 48000 Гц, и поток у тебя 48000 Гц, будет ресемплинг или нет?

Зависит от реализации. Я вам рекомендую подумать над вопросом «что такое микшер и как он может быть реализован?»

p.s. Я не смотрел реализацию пульсы.

andreyu ★★★★★
()
Ответ на: комментарий от curufinwe

method = PA_RESAMPLER_COPY;
static int copy_init(pa_resampler *r)

Тут видно, что включается метод copy. Дальше видно, что в инициализации ничего не делается. Но вы забыли показать реализацию копирования буфера. Производится ли копирование буфера или возвращается указатель на оригинальный буфер? В первом случае оверхед очевиден, во втором оверхеда нет.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Оверхед наверняка есть, не спорю, но это экономия на спичках, он крайне мал, я замерял и выкладывал скрин уже в этом треде. Ресемплинга нет.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

Оверхед наверняка есть, не спорю, но это экономия на спичках, он крайне мал, я замерял и выкладывал скрин уже в этом треде. Ресемплинга нет.

Оверхед я тоже замерял. Насчет того, мал он или не мал - это зависит от того, как представлять данные. См. мою презентацию:

http://alsa-project.org/files/talks/summit-autumn-2015/PowerEfficiency.odp

Если есть вопросы по презентации - готов обсудить через jabber или email.

AEP ★★★★★
()
Ответ на: комментарий от AEP

Это конечно интересно, спасибо. Но лично меня эта презентация лишний раз убедила, что преимущества pulseaudio с лихвой перекрывают недостатки. Оверхед весьма невелик. Маленькие latency применительно к pulseaudio малоинтересны.

curufinwe ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.