Upplyst Sound Daemon
Typ | ljudserver |
---|---|
Licens | GNU GPL v2 |
Hemsida | www.tux.org/~ricdude/overview.html (arkivdatum: 28 maj 2016) |
Inom datoranvändning var Enlightened Sound Daemon ( ESD eller EsounD ) ljudservern för Enlightenment och GNOME . Esound är en liten ljuddemon för både Linux och UNIX. ESD skapades för att ge ett konsekvent och enkelt gränssnitt till ljudenheten, så applikationer behöver inte ha olika drivrutinsstöd skrivet per arkitektur. Den har också utformats för att förbättra funktionerna hos ljudenheter som att tillåta mer än en applikation att dela en öppen enhet. ESD åstadkommer dessa saker samtidigt som de förblir transparenta för applikationen, vilket innebär att applikationsutvecklaren helt enkelt kan tillhandahålla ESD-stöd och låta den göra resten. Utöver detta är API:et utformat för att vara mycket likt det nuvarande API:et för ljudenheter, vilket gör det enkelt att porta till ESD.
ESD kommer att blanda den samtidiga ljudutgången från flera program som körs och mata ut den resulterande strömmen till ljudkortet.
ESD kan också hantera nätverkstransparent ljud . Som sådan kan en applikation som stöder ESD mata ut ljud över nätverket till vilken ansluten dator som helst som kör en ESD-server.
ESD-stöd måste skrivas specifikt och läggas till i applikationer, eftersom ESD inte emulerar vanliga API :er för ljudhårdvara . Eftersom ESD har funnits i över ett decennium, tidigare än nästan någon annan ljudserver, har ett mycket stort antal Unix-applikationer stöd för ESD-utgång inbyggt, eller tillgängliga som tillägg.
ESD upprätthölls som en del av GNOME-projektet, men från och med april 2009 har alla ESD-moduler i GNOME porterats till libcanberra för händelseljud eller GStreamer / PulseAudio för allt annat.
PulseAudio 2.0 tappar ESounD-stödet helt.
Arkitektur översikt
Esound (ESD) är en fristående ljuddemon som abstraherar systemljudenheten till flera klienter. Under Linux med Open Sound System (OSS), såväl som andra UNIX-system, kan vanligtvis bara en process öppna ljudenheten. Detta är inte acceptabelt i en skrivbordsmiljö som GNOME , eftersom det förväntas att många applikationer kommer att göra ljud (musikavkodare, händelsebaserade ljud, videokonferenser, etc.). ESD-demonen ansluter till ljudenheten och accepterar anslutningar från flera klienter, blandar de inkommande ljudströmmarna och skickar resultatet till ljudenheten. Anslutningar är endast tillåtna till klienter som kan autentisera framgångsrikt, vilket minskar oron för att obehöriga användare kan avlyssna via ljudenheten. Förutom att acceptera klientanslutningar från den lokala maskinen, kan ESD konfigureras för att acceptera klientanslutningar från fjärrvärdar som autentiserar framgångsrikt.
Applikationer som vill kontakta ESD-demonen gör det med hjälp av libesd-biblioteket. Ungefär som med fil-i/o, öppnas först en ESD-anslutning. ESD-demonen kommer att skapas automatiskt av libesd om en demon inte redan finns. Data läses sedan eller skrivs sedan till ESD-demonen. För en ESD-klient lokal på maskinen som ESD-demonen körs på, överförs data via en lokal socket och skrivs sedan till ljudenheten av ESD-demonen. För en klient på en fjärrdator skickas data av libesd på fjärrmaskinen över nätverket till ESD-demonen. Processen är helt transparent för applikationen med hjälp av ESD.
Se även
- PulseAudio – rådande ljudserver för Linux-datoranvändning
- Sndio - ljudserver från OpenBSD
- JACK Audio Connection Kit – rådande ljudserver för professionell ljudproduktion
- PipeWire - ny, under utveckling, enhetlig ljud- och videoserver som syftar till att kunna ersätta PulseAudio, JACK och GStreamer
externa länkar
- Aktuellt Gnome EsounD-källarkiv (aktuella Gnome-utgåvor)
- [1]
- [2]