Multimedia processing graphs
Find a file
Wim Taymans eea062ee53 interfaces: improve remote API
Add return values to events and method callbacks. This makes it
possible to pass any error or async return value.
Add sync/done/error in both directions so that both proxy and resource
and perform/reply sync and produce errors.
Return a SPA_ASYNC from remote method calls (and events), keep the
sequence number in the connection.
With the core sync/done we can remove the client-node done method and
it's internal sequence number along with the seq number in method calls.
We can also use the method/event async return value to perform a sync
with as the unique sequence number for this method.
Add sync method and done/error event to proxy and resource.
2019-02-18 12:31:36 +01:00
doc update docs 2017-09-05 13:35:25 +02:00
man Relicense as MIT/X11 2018-11-05 17:48:52 +01:00
pipewire-alsa@ddd753cfc5 use SPA_EXPORT to export symbols 2019-02-06 13:24:41 +01:00
pipewire-jack@af96643eaa interfaces: improve remote API 2019-02-18 12:31:36 +01:00
pipewire-pulseaudio@61edd78bf4 interfaces: improve remote API 2019-02-18 12:31:36 +01:00
po Update POTFILES.in 2017-09-19 17:42:12 +02:00
spa interfaces: improve remote API 2019-02-18 12:31:36 +01:00
src interfaces: improve remote API 2019-02-18 12:31:36 +01:00
.editorconfig add .editorconfig files 2019-02-13 11:19:21 +01:00
.gitignore gitignore: Add vim files 2018-10-31 07:54:22 +00:00
.gitmodules update url 2018-10-28 10:34:08 +00:00
.travis.yml ci: implement a sensible travis + docker setup for automated builds 2018-10-31 15:13:13 +00:00
_config.yml Set theme jekyll-theme-slate 2017-09-04 19:55:46 +02:00
autogen.sh Quote "$@" in autogen.sh 2019-02-13 11:24:38 +01:00
config.h.meson add systemd socket activation 2018-10-18 12:36:10 +02:00
COPYING Relicense as MIT/X11 2018-11-05 17:48:52 +01:00
LICENSE Relicense as MIT/X11 2018-11-05 17:48:52 +01:00
Makefile.in pod: improve parser and builder 2019-01-22 17:38:23 +01:00
meson.build meson: find dependencies only when necessary 2019-02-13 11:22:22 +01:00
meson_options.txt meson: enable more options by default 2018-10-10 17:16:01 +02:00
NEWS Add some NEWS 2018-02-27 14:00:19 +01:00
PROTOCOL Initial commit 2015-04-16 16:58:33 +02:00
pw-uninstalled.sh uninstalled: update uninstalled 2018-10-10 18:04:28 +02:00
README Relicense as MIT/X11 2018-11-05 17:48:52 +01:00

PipeWire
--------

PipeWire is a server and user space API to deal with multimedia
pipelines. This includes:

  - Making available sources of video (such as from a capture devices or
       application provided streams) and multiplexing this with
       clients.
  - Accessing sources of video for consumption.
  - Generating graphs for audio and video processing.

Nodes in the graph can be implemented as separate processes,
communicating with sockets and exchanging multimedia content using fd
passing.

Building
--------

Pipewire uses the Meson and Ninja build system to compile. If you're not
familiar with these tools, the included "autogen.sh" script will
automatically run the correct meson/ninja commands, and output a Makefile.
It follows that there are two methods to build Pipewire, however both rely
on Meson and Ninja to actually perform the compilation:

$ ./autogen.sh
$ make

or the Meson/Ninja native method:

$ meson build
$ cd build
$ ninja

You can see the available meson options in meson_options.txt file.