The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Пульсохейтеры"
Отправлено Mihail Zenkov, 15-Мрт-17 01:37 
> Нет. Подумайте о примере с многоканалом выше: альса предлагает большую группу устройств
> (default, surround51, surround71, iec958 - к примеру, для стерео, многоканала 5.1,
> 7.1 и сжатого цифрового DTS/Dolby, соответственно),

Все (кроме default) нужны для форсирования определенного режима работы.

> с ними нужно работать с разными параметрами и т.п.

Нет, обычно параметры едины (за исключением количества каналов) и работать с ними не нужно, если нет какой-то спец задачи.

> В случае, когда есть одно приложение, которому
> хватает default - все ок. Но если не хватает.. переключиться между
> устройствами так просто не выходит!

Почему? Чем PA лучше?

> А если еще больше одной звуковухи
> (очень типично, когда появляются USB-наушники, BT-гарнитуры и прочее), то начинается ад:
> у них могут быть разные байтовые форматы, разные хорошие форматы буфера
> и тп.

Используете default или plug - они автоматически вставляют преобразование частоты/формата/dmix.
http://www.alsa-project.org/main/index.php/DeviceNames

> И без спец настройки программы на этом просто ломаются,
> меняешь устройство - и становится плохо: щелчки, шипение, повторение звуков, просто
> молчание или даже вылеты.

Если вы используете default/plug - то это баг и о нем нужно сообщить и исправить.

> Разумеется, вы скажите: плохая программа. Но проблема на самом деле в том,
> что в ALSA *правильно* работать с несколькими разными устройствами - весьма
> сложно.

Сложно, если лезть в hw и крутить все подряд не имея конкретных знаний и цели. Еще раз - используйте default и у вас все получится :)

> Но на самом деле - проблема
> устройства/драйверов и альсы, в том, что нет хорошего интерфейса.

Отчасти согласен - API alsa переусложнен. Но эта плата за возможность делать с железом что угодно. В том числе - получить задержку пригодную для работы со звуком, даже на встроенной звуковой плате.

> Что предлагает пульс? Вместо того, чтобы в каждой программе страдать, предоставляется универсальный
> API, который "всегда работает".

Как я уже говорил - его "всегда работает" слишком буквально - даже если звука нет (у меня к примеру это 90% времени) - он все равно "работает".

> При этом пульс берет на себя обработку
> разных устройств, разных звуковух, разных оптимальных параметров для устройства.

PA не отвечает за alsa драйвера и не может сам знать оптимальные параметры - их назначает alsa.

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

Спорно. Я правил несколько открытых программ для работы со звуком и пишу свою, но PA не люблю - он не дает возможности на прямую работать с железом. Один из моих проектов - аналог RMAA - замер качества звуковой платы (или через нее другого железа). Ключевое требование - bit perfect - никаких преобразований по пути от программы до DAC/ADC.

> Но есть один кейз: те
> самые проблемы хитрого железа/драйверов, когда альса что-то не так сообщила, где-то
> выбрались не те буферы, где-то дистроклепатели накосячили в конфигах и теперь
> пульс в той конфигурации имеет те самые проблемы, что та самая
> "плохая программа" (по вашей точки зрения).

Тогда проблема будет и в обоих случаях - при воспроизведении и через pa и через alsa. Обычно же претензии возникают из-за того, что через alsa все работает а через pa - шипит.

> Но: теперь
> у вас есть единое место, где можно все настроить/починить, и хорошо
> станет *во всех* программах,

Это главное и единственное место - alsa drivers, находится в ядре. Если драйвер глючит - его нужно чинить, а не изобретать обходные маневры.

Это основная претензия к PA - вместо того, чтобы доработать и улучшить alsa - просто добавили прослойку поверх alsa, которая дублирует 90% функциональности.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру