The OpenNET Project / Index page

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



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

Исходное сообщение
"Пульсохейтеры"
Отправлено Stax, 15-Мрт-17 00:27 
Нет. Подумайте о примере с многоканалом выше: альса предлагает большую группу устройств (default, surround51, surround71, iec958 - к примеру, для стерео, многоканала 5.1, 7.1 и сжатого цифрового DTS/Dolby, соответственно), с ними нужно работать с разными параметрами и т.п. В случае, когда есть одно приложение, которому хватает default - все ок. Но если не хватает.. переключиться между устройствами так просто не выходит! А если еще больше одной звуковухи (очень типично, когда появляются USB-наушники, BT-гарнитуры и прочее), то начинается ад: у них могут быть разные байтовые форматы, разные хорошие форматы буфера и тп. И без спец настройки программы на этом просто ломаются, меняешь устройство - и становится плохо: щелчки, шипение, повторение звуков, просто молчание или даже вылеты.

Разумеется, вы скажите: плохая программа. Но проблема на самом деле в том, что в ALSA *правильно* работать с несколькими разными устройствами - весьма сложно. И программы просто это не поддерживают. Либо пытаются поддерживать и получается (но много сложного кода, причем обычно никто его сам не пишет - берут прослойку типа portaudio или SDL, которая пытается скрыть это от программы). Либо пытаются поддерживать и не получается (и тут вы говорите - "плохая программа"). Но на самом деле - проблема устройства/драйверов и альсы, в том, что нет хорошего интерфейса.

Что предлагает пульс? Вместо того, чтобы в каждой программе страдать, предоставляется универсальный API, который "всегда работает". При этом пульс берет на себя обработку разных устройств, разных звуковух, разных оптимальных параметров для устройства. Теперь программа может просто выводить звук, а пульс сам умеет задействовать и многоканальные устройства, и переключать звуковуху на ходу и еще многое другое. Теперь программам - просто, и они получают кучу функциональности! Разработчики любят пульс, он решает кучу проблем и в большинстве случаев без сложного кода позволяет делать очень хитрые штуки. Но есть один кейз: те самые проблемы хитрого железа/драйверов, когда альса что-то не так сообщила, где-то выбрались не те буферы, где-то дистроклепатели накосячили в конфигах и теперь пульс в той конфигурации имеет те самые проблемы, что та самая "плохая программа" (по вашей точки зрения). Что теперь делаете вы? Ругаете пульс! И не понимаете, почему его так любят разработчики. Но: теперь у вас есть единое место, где можно все настроить/починить, и хорошо станет *во всех* программах, которые используют пульс. Вот что главное. И не придется чинить криво работающий фокс, в котором прикрутят 5.1 "прямо поверх альсы". Или другие программы. Не сломается ничего - просто почините пульс, если вам так не повезло с конфигурацией.

А говорить "пульс сломан, а альса работает из коробки" легко. Потому и "работает", что никто не может полностью потенциалом воспользоваться. Слишком сложно это написать и слишком большой шанс получить проблемы. Вот никто и не пользуется... потому и "работает", в самом простом режиме. А пульс - пользуется. И благодаря этому во всех остальных программах, работающих через пульс доступно многое, что не доступно через альсу (как минимум переключение устройства вывода на лету, индивидуальные миксеры громкости и переключение между многоканалом и стерео).

 

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



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

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