Loading...
Searching...
No Matches
Pages
Here is a list of all related documentation pages:

Overview |
Configuration |
Index |
pipewire.conf |
client.conf |
pipewire-pulse.conf |
jack.conf |
filter-chain.conf |
pipewire-props |
pipewire-pulse-modules |
libpipewire-modules |
Programs |
pipewire |
pipewire-pulse |
pw-cat |
pw-cli |
pw-config |
pw-container |
pw-dot |
pw-dump |
pw-jack |
pw-link |
pw-loopback |
pw-metadata |
pw-mididump |
pw-mon |
pw-profiler |
pw-reserve |
pw-top |
pw-v4l2 |
spa-acp-tool |
spa-inspect |
spa-json-dump |
spa-monitor |
spa-resample |
Modules |
Access | The access module performs access checks on clients
Adapter |
AVB |
Client Device | Allow clients to export devices to the PipeWire daemon
Client Node | Allow clients to export processing nodes to the PipeWire daemon
Combine Stream | The combine stream can make:
Echo Cancel | The echo-cancel module performs echo cancellation
Example Filter | The example filter is a good starting point for writing a custom filter
Example Sink | The example sink is a good starting point for writing a custom sink
Example Source | The example source is a good starting point for writing a custom source
Fallback Sink | Fallback sink, which appear dynamically when no other sinks are present
FFADO firewire audio driver | The ffado-driver module provides a source or sink using the libffado library for reading and writing to firewire audio devices
Filter-Chain | The filter-chain allows you to create an arbitrary processing graph from LADSPA, LV2, sofa, ffmpeg and builtin filters
JACK DBus detect | Automatically creates a sink/source when a jackdbus server is started and connect to JACK
JACK Tunnel | The jack-tunnel module provides a source or sink that tunnels all audio to a JACK server
Link Factory | Allows clients to create links between ports
Loopback | The loopback module passes the output of a capture stream unmodified to a playback stream
Metadata | Allows clients to export a metadata store to the PipeWire server
Netjack2 driver | The netjack2-driver module provides a source or sink that is following a netjack2 manager
Netjack2 manager | The netjack2 manager module listens for new netjack2 driver messages and will start a communication channel with them
Parametric-Equalizer | The parametric-equalizer module loads parametric equalizer configuration generated from the AutoEQ project or Squiglink
Unix Pipe Tunnel | The pipe-tunnel module provides a source or sink that tunnels all audio to or from a unix pipe respectively
Portal | The portal module performs access control management for clients started inside an XDG portal
Profiler | The profiler module provides a Profiler interface for applications that can be used to receive profiling information
Protocol Native | The native protocol module implements the PipeWire communication between a client and a server using unix local sockets
Protocol Pulse | This module implements a complete PulseAudio server on top of PipeWire
Protocol Simple | The simple protocol provides a bidirectional audio stream on a network socket
Pulse Tunnel | The pulse-tunnel module provides a source or sink that tunnels all audio to a remote PulseAudio connection
AirPlay Sink | Creates a new Sink to stream to an Airplay device
RAOP Discover | Automatically creates RAOP (Airplay) sink devices based on zeroconf information
ROC sink | The roc-sink module creates a PipeWire sink that sends samples to a preconfigured receiver address
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
SAP Announce and create RTP streams | The rtp-sap module announces RTP streams that match the rules with the announce-stream action
RTP sink | The rtp-sink module creates a PipeWire sink that sends audio RTP packets
RTP source | The rtp-source module creates a PipeWire source that receives audio RTP packets
RTP session | The rtp-session module creates a media session that is announced with avahi/mDNS/Bonjour
RT | The rt modules can give real-time priorities to processing threads
SPA Node | Load and manage an SPA node
SPA Node factory | Provide a factory to create SPA nodes
SPA Device | Load and manage an SPA device
SPA Device factory | Provide a factory to create SPA devices
Session Manager | This module implements some useful objects for implementing a session manager
Snapcast Discover | Automatically creates a Snapcast sink device based on zeroconf information
VBAN receiver | The vban-recv module creates a PipeWire source that receives audio and midi VBAN packets
VBAN sender | The vban-send module creates a PipeWire sink that sends audio and midi VBAN packets
X11 Bell | The x11-bell module intercept the X11 bell events and uses libcanberra to play a sound
Zeroconf Discover | Use zeroconf to detect and load module-pulse-tunnel with the right parameters
Pulseaudio Modules |
ALSA Sink |
ALSA Source |
Always Sink |
Combine Sink |
Device manager extension |
Device restore extension |
Echo Cancel |
GSettings |
JackDBus Detect |
LADSPA Sink |
LADSPA Source |
Loopback |
Pulseaudio TCP Protocol |
Null Sink |
Pipe Sink |
Pipe Source |
RAOP Discover |
Remap Sink |
Remap Source |
ROC Sink |
ROC Sink Input |
ROC Source |
RTP Receiver |
RTP Sender |
Simple TCP Protocol |
Stream restore extension |
Switch on Connect |
Tunnel Sink |
Tunnel Source |
Virtual Sink |
Virtual Source |
X11 Bell |
Zeroconf Discover |
Zeroconf Publish |
Internals |
Design | A short overview of PipeWire's design
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
Objects Design | This document is a design reference on the various objects that exist in the PipeWire media and session management graphs
PipeWire Library | There are two main components that make up the PipeWire library:
Graph Scheduling | This document tries to explain how the PipeWire graph is scheduled
Driver architecture and workflow | This document explains how drivers are structured and how they operate
Latency support | This document explains how the latency in the PipeWire graph is implemented
Tag support | This document explains how stream specific metadata is transported in the PipeWire graph
Native Protocol | PipeWire has a pluggable client/server IPC protocol
PipeWire Daemon | The PipeWire daemon is the central process that manages data exchange between devices and clients
PipeWire Session Manager | The PipeWire Daemon is primarily a framework that allows devices and applications to exchange data
PulseAudio Compatibility |
PipeWire API |
SPA (Simple Plugin API) | SPA (Simple Plugin API) is an extensible API to implement all kinds of plugins
SPA Design |
SPA Plugins | SPA 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 |
Client Implementation |
Proxy |
Streams |
Thread Loop |
API 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 | Tutorial - Part 7: Creating an Audio DSP Filter
Tutorial - Part 7: Creating an Audio DSP Filter | Tutorial - Part 6: Binding Objects | Index
List of example programs |