Au début de l'univers fut OSS (Open Sound System), pilote du noyau Linux. Une application parle directement à la carte son, simple, basique.
OSS était trop limité, alors ALSA a été écrit dans le noyau Linux pour gérer le mixage de son matériel entre autres.
Mais ALSA ne permet pas à plusieurs applications de jouer du son en même temps. KDE a alors ajouté le démon aRts, serveur qui mixe plusieurs sources de son (plusieurs applications). Enlightened et GNOME ont choisi Enlightened Sound Daemon (ESD).
PulseAudio offre le même genre de service mais reste compatible avec les applications conçues pour OSS, ALSA, aRts, ESD, etc. Un démon pour les gouverner tous !
Tous ? Ou presque ! Les professionnels du son préfèrent JACK qui est pensé pour réduire la latence, gère aussi les données MIDI, et offre une grande flexibilité.
Et PipeWire ? Bah le soucis vient des applications tournant dans un bac à sable Flatpak. Autoriser une application à jouer un son avec PulseAudio lui donne accès à toute la chaîne PulseAudio : enregistrement (micro de votre laptop, coucou !), mixage, etc. PipeWire est pensé pour gérer plus finement les permissions, et également pour réduire la latence.
L'autre soucis adressé par PipeWire est la vidéo avec les compositeurs Wayland et les applications tournant dans un bac à sable Flatpak. L'idée ici est d'éviter les copies mémoires tout en incluant la sécurité dans la conception.
PipeWire a new low-level multimedia framework designed from scratch that aims to provide:
Graph based processing with support for feedback loops and atomic graph updates.
Flexible and extensible media format negotiation and buffer allocation.
Support for out-of-process processing graphs with minimal overhead.
Hard real-time capable plugins.
Achieve very low-latency for both audio and video processing.
The framework is used to build a modular daemon that can be configured to:
Be a low-latency audio server with features like PulseAudio and/or JACK
A video capture server that can manage hardware video capture devices and provide access to them.
A central hub where video can be made available for other applications such as the Gnome Shell screencast API.
[^] # Re: Tout nouveau projet de Lennart Poettering de réécriture de quelque chose d’existant
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Bonne année 2021 !. Évalué à 10.
Au début de l'univers fut OSS (Open Sound System), pilote du noyau Linux. Une application parle directement à la carte son, simple, basique.
OSS était trop limité, alors ALSA a été écrit dans le noyau Linux pour gérer le mixage de son matériel entre autres.
Mais ALSA ne permet pas à plusieurs applications de jouer du son en même temps. KDE a alors ajouté le démon aRts, serveur qui mixe plusieurs sources de son (plusieurs applications). Enlightened et GNOME ont choisi Enlightened Sound Daemon (ESD).
PulseAudio offre le même genre de service mais reste compatible avec les applications conçues pour OSS, ALSA, aRts, ESD, etc. Un démon pour les gouverner tous !
Tous ? Ou presque ! Les professionnels du son préfèrent JACK qui est pensé pour réduire la latence, gère aussi les données MIDI, et offre une grande flexibilité.
Et PipeWire ? Bah le soucis vient des applications tournant dans un bac à sable Flatpak. Autoriser une application à jouer un son avec PulseAudio lui donne accès à toute la chaîne PulseAudio : enregistrement (micro de votre laptop, coucou !), mixage, etc. PipeWire est pensé pour gérer plus finement les permissions, et également pour réduire la latence.
L'autre soucis adressé par PipeWire est la vidéo avec les compositeurs Wayland et les applications tournant dans un bac à sable Flatpak. L'idée ici est d'éviter les copies mémoires tout en incluant la sécurité dans la conception.
PipeWire a new low-level multimedia framework designed from scratch that aims to provide:
The framework is used to build a modular daemon that can be configured to: