stringtranslate.com

Просвещенный Звуковой Демон

В вычислительной сфере Enlightened Sound Daemon ( ESD или EsounD ) был звуковым сервером для Enlightenment и GNOME . Esound — небольшой звуковой демон для Linux и UNIX. ESD был создан для обеспечения единообразного и простого интерфейса для аудиоустройства, поэтому приложениям не требуется поддержка различных драйверов, написанных для каждой архитектуры. Он также был разработан для расширения возможностей аудиоустройств, например, позволяя нескольким приложениям совместно использовать открытое устройство. ESD выполняет эти задачи, оставаясь прозрачным для приложения. Это означает, что разработчик приложения может просто обеспечить поддержку ESD и позволить ему сделать все остальное. Кроме того, API очень похож на текущий API аудиоустройств, что упрощает его портирование на ESD.

ESD будет микшировать одновременный аудиовыход нескольких запущенных программ и выводить полученный поток на звуковую карту.

ESD также может управлять прозрачным для сети звуком . Таким образом, приложение, поддерживающее ESD, может выводить звук по сети на любой подключенный компьютер, на котором работает сервер ESD.

Поддержка ESD должна быть специально написана и добавлена ​​в приложения, поскольку ESD не эмулирует обычные API-интерфейсы аудиооборудования . Поскольку ESD существует уже более десяти лет, раньше, чем любой другой звуковой сервер, очень большое количество приложений Unix имеют встроенную поддержку вывода ESD или доступную в качестве надстроек.

ESD поддерживался как часть проекта GNOME, но по состоянию на апрель 2009 года все модули ESD в GNOME были перенесены в libcanberra для звуков событий или в GStreamer / PulseAudio для всего остального. [1] [2] [3]

В PulseAudio 2.0 полностью отсутствует поддержка ESounD.

Обзор архитектуры

Esound (ESD) — это автономный звуковой демон, который абстрагирует системное звуковое устройство от нескольких клиентов. В Linux, использующем открытую звуковую систему (OSS), а также в других системах UNIX обычно только один процесс может открыть звуковое устройство. Это неприемлемо в среде рабочего стола, такой как GNOME , поскольку ожидается, что многие приложения будут издавать звуки (музыкальные декодеры, звуки на основе событий, видеоконференции и т. д.). Демон ESD подключается к звуковому устройству и принимает соединения от нескольких клиентов, микшируя входящие аудиопотоки и отправляя результат на звуковое устройство. Соединения разрешены только тем клиентам, которые могут успешно пройти аутентификацию, что устраняет опасения, что неавторизованные пользователи могут подслушивать через звуковое устройство. Помимо приема клиентских подключений с локального компьютера, ESD можно настроить на прием клиентских подключений от удаленных хостов, которые успешно прошли аутентификацию.

Приложения, желающие связаться с демоном ESD, делают это с помощью библиотеки libesd. Как и в случае с файловым вводом-выводом, сначала открывается соединение ESD. Демон ESD будет автоматически запущен libesd, если демон еще не присутствует. Затем данные либо считываются, либо записываются в демон ESD. Для клиента ESD, локального по отношению к машине, на которой работает демон ESD, данные передаются через локальный сокет, а затем записываются на звуковое устройство демоном ESD. Для клиента на удаленном компьютере данные отправляются libesd на удаленном компьютере по сети демону ESD. Этот процесс полностью прозрачен для приложения, использующего ESD.

Смотрите также

Рекомендации

  1. ^ "Блог Леннарта собран на Planet Gnome" . 05 апреля 2009 г.
  2. ^ "libcanberra git".
  3. ^ "Документация libcanberra" .

Внешние ссылки