PipeWire
0.3.33
|
The API consists of two parts:
The APIs work through proxy objects, so that calling a method on an object invokes that same method on the remote side. Marshalling and de-marshalling is handled transparently by the PipeWire Module: Protocol Native. The below graph illustrates this approach:
It is common for clients to use both the Core API and the Implementation API and both APIs are provided by the same library.
The Core API serves to access a PipeWire instance. This API is used by all clients to communicate with the PipeWire Daemon. It consists of the following object-specific APIs:
If you are familiar with Wayland implementation, the Core API is roughly equivalent to libwayland-client.
The implementation API provides the tools to build new objects and modules. It consists of the following object-specific APIs:
If you are familiar with Wayland implementation, the Implementation API is roughly equivalent to libwayland-server.