Enlightened Sound Daemon - Enlightened Sound Daemon

Enlightened Sound Daemon
Rodzaj serwer dźwięku
Licencja GNU GPL v2
Stronie internetowej www.tux.org/~ricdude/overview.html (data archiwum: 28 maja 2016 r.)

W obliczaniu The Enlightened Sound Daemon ( ESD lub esound ) był serwer dźwięku dla oświecenia i GNOME . Esound to mały demon dźwięku dla systemów Linux i UNIX. ESD został stworzony, aby zapewnić spójny i prosty interfejs dla urządzenia audio, więc aplikacje nie muszą mieć różnych sterowników napisanych dla każdej architektury. Został również zaprojektowany w celu zwiększenia możliwości urządzeń audio, na przykład umożliwienia więcej niż jednej aplikacji współdzielenia otwartego urządzenia. ESD realizuje te rzeczy, pozostając przezroczystym dla aplikacji, co oznacza, że ​​twórca aplikacji może po prostu zapewnić obsługę ESD i pozwolić jej zająć się resztą. Ponadto interfejs API został zaprojektowany tak, aby był bardzo podobny do obecnego interfejsu API urządzenia audio, dzięki czemu można go łatwo przenieść na ESD.

ESD zmiksuje jednoczesne wyjście audio wielu uruchomionych programów i wyprowadzi wynikowy strumień na kartę dźwiękową.

ESD może również zarządzać siecią - przezroczysty dźwięk . W związku z tym aplikacja obsługująca ESD może przesyłać dźwięk przez sieć do dowolnego podłączonego komputera, na którym działa serwer ESD.

Obsługa ESD musi być specjalnie napisana i dodana do aplikacji, ponieważ ESD nie emuluje normalnych sprzętowych API audio . Ponieważ ESD istnieje od ponad dekady, wcześniej niż prawie jakikolwiek inny serwer dźwięku, bardzo duża liczba aplikacji Unix ma wbudowaną obsługę wyjścia ESD lub jest dostępna jako dodatki.

ESD był utrzymywany jako część projektu GNOME, ale od kwietnia 2009 wszystkie moduły ESD w GNOME zostały przeniesione do libcanberra dla dźwięków zdarzeń lub GStreamer / PulseAudio dla wszystkiego innego.

PulseAudio 2.0 całkowicie rezygnuje z obsługi ESounD.

Przegląd architektury

Esound (ESD) to samodzielny demon dźwięku, który wydziela urządzenie dźwiękowe systemu dla wielu klientów. W Linuksie używającym Open Sound System (OSS), jak również w innych systemach UNIX, zwykle tylko jeden proces może otworzyć urządzenie dźwiękowe. Jest to niedopuszczalne w środowisku graficznym, takim jak GNOME , ponieważ oczekuje się, że wiele aplikacji będzie wydawać dźwięki (dekodery muzyki, dźwięki związane z wydarzeniami, wideokonferencje itp.). Demon ESD łączy się z urządzeniem dźwiękowym i akceptuje połączenia od wielu klientów, miksując przychodzące strumienie audio i wysyłając wynik do urządzenia dźwiękowego. Połączenia są dozwolone tylko dla klientów, którzy mogą pomyślnie uwierzytelnić się, co zmniejsza obawy, że nieautoryzowani użytkownicy mogą podsłuchiwać za pośrednictwem urządzenia dźwiękowego. Oprócz akceptowania połączeń klientów z komputera lokalnego ESD można skonfigurować tak, aby akceptował połączenia klientów ze zdalnych hostów, które pomyślnie się uwierzytelniają.

Aplikacje, które chcą się skontaktować z demonem ESD, robią to za pomocą biblioteki libesd. Podobnie jak w przypadku pliku I / O, najpierw otwierane jest połączenie ESD. Demon ESD zostanie uruchomiony automatycznie przez libesd, jeśli demon nie jest jeszcze obecny. Dane są następnie odczytywane lub zapisywane w demonie ESD. W przypadku klienta ESD lokalnego dla maszyny, na której działa demon ESD, dane są przesyłane przez lokalne gniazdo, a następnie zapisywane na urządzeniu dźwiękowym przez demona ESD. W przypadku klienta na komputerze zdalnym dane są wysyłane przez libesd na komputerze zdalnym przez sieć do demona ESD. Proces jest całkowicie przejrzysty dla aplikacji za pomocą ESD.

Zobacz też

  • PulseAudio - dominujący serwer dźwięku do użytku na komputerach stacjonarnych z systemem Linux
  • Sndio - serwer dźwięku z OpenBSD
  • JACK Audio Connection Kit - najpopularniejszy serwer dźwięku do profesjonalnej produkcji audio
  • PipeWire - nowy, w fazie rozwoju, zunifikowany serwer dźwięku i wideo, którego celem jest zastąpienie PulseAudio, JACK i GStreamer

Bibliografia

Linki zewnętrzne