diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:28:17 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:28:17 +0000 |
commit | 7a46c07230b8d8108c0e8e80df4522d0ac116538 (patch) | |
tree | d483300dab478b994fe199a5d19d18d74153718a /doc/overview.dox | |
parent | Initial commit. (diff) | |
download | pipewire-7a46c07230b8d8108c0e8e80df4522d0ac116538.tar.xz pipewire-7a46c07230b8d8108c0e8e80df4522d0ac116538.zip |
Adding upstream version 0.3.65.upstream/0.3.65upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/overview.dox')
-rw-r--r-- | doc/overview.dox | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/doc/overview.dox b/doc/overview.dox new file mode 100644 index 0000000..b96caf2 --- /dev/null +++ b/doc/overview.dox @@ -0,0 +1,42 @@ +/** \page page_overview Overview + +PipeWire is a new low-level multimedia framework designed from scratch that +aims to provide: + +- Graph based processing. +- Support for out-of-process processing graphs with minimal overhead. +- Flexible and extensible media format negotiation and buffer allocation. +- 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. + + +# Motivation + +Linux has no unified framework for exchanging multimedia content between +applications or even devices. In most cases, developers realized that +a user-space daemon is needed to make this possible: + +- For video content, we typically rely on the compositor to render our + data. +- For video capture, we usually go directly to the hardware devices, with + all security implications and inflexible routing that this brings. +- For consumer audio, we use PulseAudio to manage and mix multiple streams + from clients. +- For Pro audio, we use JACK to manage the graph of nodes. + +None of these solutions (except perhaps to some extent Wayland) however +were designed to support the security features that are required when +dealing with flatpaks or other containerized applications. PipeWire +aims to solve this problem and provides a unified framework to run both +consumer and pro audio as well as video capture and processing in a +secure way. + +*/ |