mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-12-19 08:57:14 -05:00
Multimedia processing graphs
This allows picking F32LE as the default format on links that have no restriction and it avoids failing negotiation when the restricted end cannot handle S16/F32/F32P For instance this pipeline would previously fail: audio-dsp mode=merge ! audio-dsp mode=convert ! alsa-sink old negotiation: S16LE S24_32LE new negotiation: F32LE S24_32LE The link between the audio-dsp nodes has no restriction, so previously it would negotiate S16LE, which would then fail to negotiate with alsa-sink because fmtconvert does not know how to convert S16LE to S24_32LE directly. With this change, the middle link negotiates to F32LE, which can be converted to anything. |
||
|---|---|---|
| doc | ||
| man | ||
| pipewire-alsa@d81bbae7ea | ||
| pipewire-jack@8428103e92 | ||
| pipewire-pulseaudio@5e2b740ee0 | ||
| po | ||
| spa | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| .travis.yml | ||
| _config.yml | ||
| autogen.sh | ||
| check_missing_headers.sh | ||
| config.h.meson | ||
| COPYING | ||
| LICENSE | ||
| Makefile.in | ||
| meson.build | ||
| meson_options.txt | ||
| NEWS | ||
| PROTOCOL | ||
| pw-uninstalled.sh | ||
| README | ||
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.