Multimedia processing graphs
Find a file
Wim Taymans d8e399dee9 audioconvert: pass state to functions
Pass some state to convert and channelmix functions. This makes it
possible to select per channel optimized convert functions but
also makes it possible to implement noise shaping later.
Pass the channelmix matrix and volume in the state.
Handle specialized 2 channel s16 -> f32 conversion
2019-03-29 17:39:59 +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@b50bd414ab list: check for empty list before insert 2019-03-08 11:34:28 +01:00
pipewire-pulseaudio@d4cf47ec55 interfaces: add subscribe params method 2019-03-18 16:12:27 +01:00
po Update POTFILES.in 2017-09-19 17:42:12 +02:00
spa audioconvert: pass state to functions 2019-03-29 17:39:59 +01:00
src audioconvert: add avx optimizations 2019-03-28 16:45:57 +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 audioconvert: add avx optimizations 2019-03-28 16:45:57 +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.