Stream | PipeWire stream objects |
Filter | PipeWire filter object class |
Test Suite | pwtest is a test runner framework for PipeWire |
JSON to POD | JSON to POD conversion |
▼Core API | PipeWire Core API |
Initialization | Initializing PipeWire and loading SPA modules |
Main Loop | A main loop object |
Context | The PipeWire context object manages all locally available resources. It is used by both clients and servers |
Client | Client interface |
Core | The core global object |
Device | Device interface |
Factory | Factory interface |
Link | A link is the connection between 2 nodes (Node). Nodes are linked together on ports |
Loop | PipeWire loop object provides an implementation of the spa loop interfaces. It can be used to implement various event loops |
Module | Module interface |
Node | Node interface |
Permission | Permissions are kept for a client and describe what the client is allowed to do with an object |
Port | Port interface |
Proxy | Represents an object on the client side |
Registry | The registry object is a singleton object that keeps track of global objects on the PipeWire instance. See also Global |
Type info | Type information |
Key Names | A collection of keys that are used to add extra information on objects |
▼Implementation API | PipeWire Object Implementation API |
Client Impl | PipeWire client object class |
Core Impl | PipeWire core interface |
Device Impl | The device is an object that manages nodes. It typically corresponds to a physical hardware device but it does not have to be |
Factory Impl | The factory is used to make objects on demand |
Link Impl | PipeWire link object |
Metadata Impl | The metadata is used to store key/type/value pairs per object id |
Module Impl | A dynamically loadable module |
Node Impl | The node object processes data. The node has a list of input and output ports (Port Impl) on which it will receive and send out buffers respectively |
Port Impl | A port can be used to link two nodes |
Buffers | Buffer handling |
Control | A control can be used to control a port property |
Data Loop | PipeWire rt-loop object |
Global | A global object visible to remote clients |
Protocol | Manages protocols and their implementation |
Resource | Client owned objects |
Thread Loop | The threaded loop object runs a Loop in a separate thread and ensures proper locking is done |
Work Queue | Queued processing of work items |
▼Utilities | PipeWire Utilities |
Array | An array object |
Configuration | Loading/saving properties from/to configuration files |
Internationalization | Gettext interface |
Logging | Logging functions of PipeWire |
Map | A map that holds pointers to objects indexed by id |
Memory Blocks | Memory allocation and pools |
Properties | Properties are used to pass around arbitrary key/value pairs. Both keys and values are strings which keeps things simple. Encoding of arbitrary values should be done by using a string serialization such as base64 for binary blobs |
Thread | Functions to manipulate threads |
Utilities | Various utility functions |
▼Extensions | PipeWire Extensions |
Client Node | Client node interface |
Metadata | Metadata interface |
Profiler | Profiler interface |
Native Protocol | PipeWire native protocol interface |
Session Manager | Session manager interface |
▼SPA | Simple Plugin API |
POD | Binary data serialization format |
Buffers | Buffers describe the data and metadata that is exchanged between ports of a node |
Control | Control type declarations |
Debug | Debugging utilities |
Device | The device interface can be used to monitor all kinds of devices and create objects as a result. Objects a typically other Devices or Nodes |
Graph | Node graph |
Node | A spa_node is a component that can consume and produce buffers |
Parameters | Parameter value enumerations and type information |
▼Utilities | Utility data structures, macros, etc |
ANSI codes | ANSI color code macros |
Miscellaneous | Helper macros and functions |
Dictionary | Dictionary data structure |
List | Doubly linked list data structure |
Hooks | A SPA Hook is a data structure to keep track of callbacks. It is similar to the Interfaces and typically used where an implementation allows for multiple external callback functions. For example, an implementation may use a hook list to implement signals with each caller using a hook to register callbacks to be invoked on those signals |
Interfaces | Generic implementation of implementation-independent interfaces |
JSON | Relaxed JSON variant parsing |
Key Names | Key names used by SPA plugins |
Factory Names | SPA plugin factory names |
Result handling | Asynchronous result utilities |
Ringbuffer | Ring buffer implementation |
String handling | String handling utilities |
Types | Data type information enumerations |
▼Support | Support interfaces provided by host |
CPU | Querying CPU properties |
DBus | DBus communication |
I18N | Gettext interface |
Log | Logging interface |
Loop | Event loop interface |
Plugin Handle | SPA plugin handle and factory interfaces |
Plugin Loader | SPA plugin loader |
System | I/O, clock, polling, timer, and signal interfaces |
Thread | Threading utility interfaces |