Кіріспе

Дыбыс сервері

Компьютерлік техникада 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 жылдың сәуір айынан бастап GNOME-дағы барлық ESD модульдері оқиға дыбыстары үшін libcanberra-ға, ал қалғандары үшін GStreamer/PulseAudio-ға көшірілді. PulseAudio 2.0 ESound қолдауын толығымен тоқтатты.

Сәулет туралы жалпы түсінік

Esound (ESD) – бірнеше клиенттерге жүйелік дыбыс құрылғысын абстракциялайтын дербес дыбыс демоны. Linux-та Open Sound System (OSS) және басқа UNIX жүйелерінде, әдетте, дыбыс құрылғысын бір ғана процесс аша алады. Бұл GNOME сияқты десктоп ортасында қабылдауға келмейді, себебі көптеген қолданбалардың дыбыс шығаруы күтіледі (музыкалық декодерлер, оқиғаларға негізделген дыбыстар, бейнеконференциялар және т.б.). ESD демоны дыбыс құрылғысына қосылып, бірнеше клиенттен қосылымдарды қабылдайды, келіп түсетін аудио ағындарын араластырып, нәтижені дыбыс құрылғысына жібереді. Қосылымдар тек сәтті аутентификациядан өткен клиенттерге ғана рұқсат етіледі, бұл дыбыс құрылғысы арқылы рұқсатсыз пайдаланушылардың тыңшылық етуіне қатысты алаңдаушылықты азайтады. Жергілікті машинадан клиенттік қосылымдарды қабылдаудан өзге, ESD қашықтағы хосттардан келетін клиенттік қосылымдарды қабылдау үшін де конфигурациялануы мүмкін, егер олар сәтті аутентификациядан өтсе. ESD демонымен байланысқа түскімді қолданбалар libesd кітапханасын пайдаланады. Файлдармен жұмыс істеу сияқты, ESD қосылымы бірінші ашылады. libesd егер демон бұрыннан жоқ болса, ESD демонын автоматты түрде іске қосады. Содан кейін деректер ESD демонына оқылады немесе жазылады. Егер ESD клиенті ESD демоны жұмыс істейтін машинада жергілікті болса, деректер жергілікті сокет арқылы жіберіледі, содан кейін ESD демоны оны дыбыс құрылғысына жазады. Ал егер клиент қашықтағы машинада болса, деректер libesd арқылы қашықтағы машинадан желі арқылы ESD демонына жіберіледі. Бұл процесс ESD-ны пайдаланатын қолданба үшін толыққанды ашық болады.