Multimedia processing graphs
Find a file
David Svensson Fors 28bf6137d3 Support for "client-reuse" streams
Add a PW property "pipewire.client.reuse". If set, the client-node
doesn't immediately reuse a buffer after sending
PW_CLIENT_NODE_MESSAGE_PROCESS_INPUT to the client. Instead, it waits
for reuse-buffer from the client. The SPA_GRAPH_NODE_FLAG_ASYNC is
used for this, together with adapted logic in process_input().

In stream.c, if the property is set, the handling of incoming buffers
for PW_DIRECTION_INPUT streams is changed. Each buffer has to be
recycled, so we make sure new_buffer is emitted for each intermediate
buffer, if buffer_id in the IO area has moved past some buffers.

Change-Id: I137a12b702b857cc73369930d7029ecbd69d63ff
2017-10-13 17:47:29 +02:00
doc update docs 2017-09-05 13:35:25 +02:00
man man: update man pages 2017-09-19 10:19:53 +02:00
pkgconfig Add example to play sine wave 2017-09-07 10:22:32 +02:00
po Update POTFILES.in 2017-09-19 17:42:12 +02:00
spa don't include stdio 2017-09-29 13:39:26 +02:00
src Support for "client-reuse" streams 2017-10-13 17:47:29 +02:00
.gitignore pinos -> pipewire 2017-05-23 19:15:33 +02:00
_config.yml Set theme jekyll-theme-slate 2017-09-04 19:55:46 +02:00
autogen.sh Add beginnings of jack module 2017-06-26 13:04:47 +02:00
config.h.meson Don't hardcode plugin path 2017-06-19 12:19:22 +02:00
git-version-gen Initial commit 2015-04-16 16:58:33 +02:00
GPL Initial commit 2015-04-16 16:58:33 +02:00
LGPL Initial commit 2015-04-16 16:58:33 +02:00
LICENSE pinos -> pipewire 2017-05-23 19:15:33 +02:00
Makefile.in Makefile.in: use right build command 2017-09-19 16:04:41 +02:00
meson.build meson: require jack2 to build 2017-09-19 18:19:54 +02:00
NEWS pinos -> pipewire 2017-05-23 19:15:33 +02:00
PROTOCOL Initial commit 2015-04-16 16:58:33 +02:00
README readme: fix typo (#1) 2017-06-21 13:20:30 +02: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.