PipeWire: Related Pages

PipeWire 0.3.37

Related Pages
Here is a list of all related documentation pages:
[detail level 12]

API Documentation | The API consists of two parts:
▼Media Session | PipeWire Media Session is the reference/example session manager provided by the PipeWire project
Media Session Module: Access Flatpak | The Access Flatpak module manages permissions for flatpak clients
Media Session Module: Access Portal | The Access Portal module manages media roles for clients started through a portal (see PipeWire Module: Portal)
Media Session Module: ALSA Endpoint | The ALSA endpoint module creates an endpoint and corresponding endpoint stream for each Node on ALSA devices
Media Session Module: ALSA MIDI |
Media Session Module: ALSA Monitor | This module monitors udev for ALSA devices and creates the required PipeWire Device objects for each ALSA device
Media Session Module: BlueZ Auto-Switch | Switch profiles of Bluetooth devices trying to enable an input route, if input streams are active while default output is directed to the device
Media Session Module: BlueZ Endpoint |
Media Session Module: BlueZ Monitor |
Media Session Module: Default Nodes |
Media Session Module: Default Profile | The default profile module restores a previously saved profile or otherwise the best available profile
Media Session Module: Default Routes |
Media Session Module: libCamera Monitor |
Media Session Module: Logind | The logind module uses systemd logind to keep track of the user's session and updates the media session's seat state accordingly
Media Session Module: Metadata |
Media Session Module: No DSP | Instruct Media Session Module: Policy Node to not configure audio adapter nodes in DSP mode
Media Session Module: Policy Endpoint |
Media Session Module: Policy Node |
Media Session Module: Restore Stream |
Media Session Module: Session Manager |
Media Session Module: Stream Endpoint |
Media Session Module: Stream Follow Default |
Media Session Module: Suspend Node |
Media Session Module: V4L2 Endpoint |
Media Session Module: V4L2 Monitor |
Overview | PipeWire is a new low-level multimedia framework designed from scratch that aims to provide
▼PipeWire Modules | A PipeWire module is effectively a PipeWire client in an `.so` file that shares the PipeWire Context with the loading entity
PipeWire Module: Access | The `access` module performs access checks on clients
PipeWire Module: Adapter |
PipeWire Module: Client Device |
PipeWire Module: Client Node |
PipeWire Module: Echo Cancel | The `echo-cancel` module performs echo cancellation
PipeWire Module: Example Sink |
PipeWire Module: Example Source |
PipeWire Module: Filter-Chain |
PipeWire Module: Link Factory |
PipeWire Module: Loopback |
PipeWire Module: Metadata |
PipeWire Module: Portal | The `portal` module performs access control management for clients started inside an XDG portal
PipeWire Module: Profiler |
PipeWire Module: Protocol Native |
PipeWire Module: Protocol Pulse |
PipeWire Module: Protocol Simple |
PipeWire Module: Pulse Tunnel |
PipeWire Module: ROC sink | The `roc-sink` module creates a PipeWire sink that sends samples to a preconfigured receiver address
PipeWire Module: ROC source | The `roc-source` module creates a PipeWire source that receives samples from ROC sender and passes them to the sink it is connected to
PipeWire Module: RT |
PipeWire Module: RTKit |
PipeWire Module: Session Manager |
PipeWire Module: Zeroconf Discover |
▼PipeWire |
Design | A short overview of PipeWire's design
PipeWire Audio | This document explains how Audio is implemented
Access Control | This document explains how access control is designed and implemented
Portal Access Control | This document explains how clients from the portal are handled
MIDI Support | This document explains how MIDI is implemented
Media Streams |
Client |
Proxy |
Threaded Loop |
PipeWire Objects Design | This document is a design reference on the various objects that exist in the PipeWire media and session management graphs, explaining what these objects are, how they are meant to be used and how they relate to other kinds of objects and concepts that exist in subsystems or other libraries
DMA-BUF sharing | PipeWire supports sharing Direct Memory Access buffers (DMA-BUFs) between clients via the `SPA_DATA_DmaBuf` data type
PipeWire Daemon | The PipeWire daemon is the central process that manages data exchange between devices and clients
PipeWire Library | There are 2 main components that make up the PipeWire library:
PipeWire Tools |
PipeWire Session Manager | The PipeWire Daemon is primarily a framework that allows devices and applications to exchange data
PulseAudio compatibility |
▼SPA (Simple Plugin API) | SPA (Simple Plugin API) is an extensible API to implement all kinds of plugins
SPA Design |
SPA Plugins | Plugins are dynamically loadable objects that contain objects and interfaces that can be introspected and used at runtime in any application
SPA POD | POD (plain old data) is a sort of data container
SPA Buffers | What is the array of `spa_data` in `spa_buffer`? A buffer contains metadata and data
▼Tutorial | Welcome to the PipeWire tutorial
Tutorial - Part 1: Getting started | Index | Tutorial - Part 2: Enumerating objects
Tutorial - Part 2: Enumerating objects | Tutorial - Part 1: Getting started | Index | Tutorial - Part 3: Forcing a roundtrip
Tutorial - Part 3: Forcing a roundtrip | Tutorial - Part 2: Enumerating objects | Index | Tutorial - Part 4: Playing a tone
Tutorial - Part 4: Playing a tone | Tutorial - Part 3: Forcing a roundtrip | Index | Tutorial - Part 5: Capturing video frames
Tutorial - Part 5: Capturing video frames | Tutorial - Part 4: Playing a tone | Index | Tutorial - Part 6: Binding objects
Tutorial - Part 6: Binding objects | Tutorial - Part 5: Capturing video frames | Index