mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-10-15 04:12:29 +00:00
modules: add tunnel.may-pause option for pipe-tunnel
To override the default may-pause behaviour of streams.
This commit is contained in:
parent
63385cedd0
commit
0278695e7d
|
@ -40,6 +40,7 @@
|
|||
* ## Module Options
|
||||
*
|
||||
* - `tunnel.mode`: the desired tunnel to create. (Default `playback`)
|
||||
* - `tunnel.may-pause`: if the tunnel stream is allowed to pause on xrun
|
||||
* - `pipe.filename`: the filename of the pipe.
|
||||
* - `stream.props`: Extra properties for the local stream.
|
||||
*
|
||||
|
@ -55,6 +56,12 @@
|
|||
* When `tunnel.mode` is `source`, a source node is created. Samples read from
|
||||
* the the pipe will be made available on the source.
|
||||
*
|
||||
* `tunnel.may-pause` allows the tunnel stream to become inactive (paused) when
|
||||
* there is no data in the fifo or when the fifo is full. For `capture` and
|
||||
* `playback` `tunnel.mode` this is by default true. For `source` and `sink`
|
||||
* `tunnel.mode`, this is by default false. A paused stream will consume no
|
||||
* CPU and will resume when the fifo becomes readable or writable again.
|
||||
*
|
||||
* When `pipe.filename` is not given, a default fifo in `/tmp/fifo_input` or
|
||||
* `/tmp/fifo_output` will be created that can be written and read respectively,
|
||||
* depending on the selected `tunnel.mode`.
|
||||
|
@ -86,6 +93,7 @@
|
|||
* { name = libpipewire-module-pipe-tunnel
|
||||
* args = {
|
||||
* tunnel.mode = playback
|
||||
* #tunnel.may-pause = true
|
||||
* # Set the pipe name to tunnel to
|
||||
* pipe.filename = "/tmp/fifo_output"
|
||||
* #audio.format=<sample format>
|
||||
|
@ -128,6 +136,7 @@ PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
|
|||
"( audio.channels=<number of channels> ) " \
|
||||
"( audio.position=<channel map> ) " \
|
||||
"( tunnel.mode=capture|playback|sink|source )" \
|
||||
"( tunnel.may-pause=<bool, if the stream can pause> )" \
|
||||
"( pipe.filename=<filename> )" \
|
||||
"( stream.props=<properties> ) "
|
||||
|
||||
|
@ -898,6 +907,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
|||
res = -EINVAL;
|
||||
goto error;
|
||||
}
|
||||
if ((str = pw_properties_get(props, "tunnel.may-pause")) != NULL)
|
||||
impl->may_pause = spa_atob(str);
|
||||
|
||||
if (pw_properties_get(props, PW_KEY_NODE_VIRTUAL) == NULL)
|
||||
pw_properties_set(props, PW_KEY_NODE_VIRTUAL, "true");
|
||||
|
|
Loading…
Reference in a new issue