mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
module-loopback: add docs
This commit is contained in:
parent
36060e375d
commit
75f4fca1d7
1 changed files with 60 additions and 1 deletions
|
|
@ -43,6 +43,66 @@
|
||||||
#include <pipewire/extensions/profiler.h>
|
#include <pipewire/extensions/profiler.h>
|
||||||
|
|
||||||
/** \page page_module_loopback PipeWire Module: Loopback
|
/** \page page_module_loopback PipeWire Module: Loopback
|
||||||
|
*
|
||||||
|
* The loopback module passes the output of a capture stream unmodified to a playback stream.
|
||||||
|
* It can be used to construct a link between a source and sink but also to
|
||||||
|
* create new virtual sinks or sources or to remap channel between streams.
|
||||||
|
*
|
||||||
|
* Because both ends of the loopback are built with streams, the session manager can
|
||||||
|
* manage the configuration and connection with the sinks and sources.
|
||||||
|
*
|
||||||
|
* ## Module Options
|
||||||
|
*
|
||||||
|
* - `node.description`: a human readable name for the loopback streams
|
||||||
|
* - `capture.props = {}`: properties to be passed to the input stream
|
||||||
|
* - `playback.props = {}`: properties to be passed to the output stream
|
||||||
|
*
|
||||||
|
* ## General options
|
||||||
|
*
|
||||||
|
* Options with well-known behavior. Most options can be added to the global
|
||||||
|
* configuration or the individual streams:
|
||||||
|
*
|
||||||
|
* - \ref PW_KEY_REMOTE_NAME
|
||||||
|
* - \ref PW_KEY_AUDIO_RATE
|
||||||
|
* - \ref PW_KEY_AUDIO_CHANNELS
|
||||||
|
* - \ref SPA_KEY_AUDIO_POSITION
|
||||||
|
* - \ref PW_KEY_MEDIA_NAME
|
||||||
|
* - \ref PW_KEY_NODE_LATENCY
|
||||||
|
* - \ref PW_KEY_NODE_DESCRIPTION
|
||||||
|
* - \ref PW_KEY_NODE_GROUP
|
||||||
|
* - \ref PW_KEY_NODE_LINK_GROUP
|
||||||
|
* - \ref PW_KEY_NODE_VIRTUAL
|
||||||
|
*
|
||||||
|
* Stream only properties:
|
||||||
|
*
|
||||||
|
* - \ref PW_KEY_MEDIA_CLASS
|
||||||
|
* - \ref PW_KEY_NODE_NAME
|
||||||
|
*
|
||||||
|
* ## Example configuration of a virtual sink
|
||||||
|
*
|
||||||
|
* This Virtual sink routes stereo input to the rear channels of a 7.1 sink.
|
||||||
|
*
|
||||||
|
*\code{.unparsed}
|
||||||
|
* context.modules = [
|
||||||
|
* { name = libpipewire-module-loopback
|
||||||
|
* args = {
|
||||||
|
* node.description = "CM106 Stereo Pair 2"
|
||||||
|
* capture.props = {
|
||||||
|
* node.name = "CM106_stereo_pair_2"
|
||||||
|
* media.class = "Audio/Sink"
|
||||||
|
* audio.position = [ FL FR ]
|
||||||
|
* }
|
||||||
|
* playback.props = {
|
||||||
|
* node.name = "playback.CM106_stereo_pair_2"
|
||||||
|
* audio.position = [ RL RR ]
|
||||||
|
* node.target = "alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-71"
|
||||||
|
* stream.dont-remix = true
|
||||||
|
* node.passive = true
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* ]
|
||||||
|
*\endcode
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define NAME "loopback"
|
#define NAME "loopback"
|
||||||
|
|
@ -55,7 +115,6 @@ static const struct spa_dict_item module_props[] = {
|
||||||
{ PW_KEY_MODULE_DESCRIPTION, "Create loopback streams" },
|
{ PW_KEY_MODULE_DESCRIPTION, "Create loopback streams" },
|
||||||
{ PW_KEY_MODULE_USAGE, " [ remote.name=<remote> ] "
|
{ PW_KEY_MODULE_USAGE, " [ remote.name=<remote> ] "
|
||||||
"[ node.latency=<latency as fraction> ] "
|
"[ node.latency=<latency as fraction> ] "
|
||||||
"[ node.name=<name of the nodes> ] "
|
|
||||||
"[ node.description=<description of the nodes> ] "
|
"[ node.description=<description of the nodes> ] "
|
||||||
"[ audio.rate=<sample rate> ] "
|
"[ audio.rate=<sample rate> ] "
|
||||||
"[ audio.channels=<number of channels> ] "
|
"[ audio.channels=<number of channels> ] "
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue