mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-09 13:30:06 -05:00
doc: sync with master branch
Pick relevant doc updates. doc: fix DoxygenLayout.xml for doxygen 1.10 doc: add reference docs + index for config and env variables doc: add some more coverage doc: move config man pages under config/ doc: add sections to index, clarify discussion of properties doc: disable dot graphs in API docs again doc: some updates doc: fix up example dependencies in meson
This commit is contained in:
parent
876c3f43ab
commit
030768ab8e
20 changed files with 2600 additions and 185 deletions
|
|
@ -3,10 +3,7 @@
|
|||
Manual pages:
|
||||
|
||||
- \subpage page_man_pipewire_1
|
||||
- \subpage page_man_pipewire_conf_5
|
||||
- \subpage page_man_pipewire-pulse_1
|
||||
- \subpage page_man_pipewire-pulse_conf_5
|
||||
- \subpage page_man_pipewire-pulse-modules_7
|
||||
- \subpage page_man_pw-cat_1
|
||||
- \subpage page_man_pw-cli_1
|
||||
- \subpage page_man_pw-config_1
|
||||
|
|
@ -27,4 +24,3 @@ Manual pages:
|
|||
- \subpage page_man_spa-json-dump_1
|
||||
- \subpage page_man_spa-monitor_1
|
||||
- \subpage page_man_spa-resample_1
|
||||
- \subpage page_man_libpipewire-modules_7
|
||||
|
|
|
|||
|
|
@ -1,44 +0,0 @@
|
|||
\page page_man_libpipewire-modules_7 libpipewire-modules
|
||||
|
||||
PipeWire modules
|
||||
|
||||
# DESCRIPTION
|
||||
|
||||
A PipeWire module is effectively a PipeWire client running inside
|
||||
`pipewire(1)` which can host multiple modules. Usually modules are
|
||||
loaded when they are listed in the configuration files. For example the
|
||||
default configuration file loads several modules:
|
||||
|
||||
context.modules = [
|
||||
...
|
||||
# The native communication protocol.
|
||||
{ name = libpipewire-module-protocol-native }
|
||||
|
||||
# The profile module. Allows application to access profiler
|
||||
# and performance data. It provides an interface that is used
|
||||
# by pw-top and pw-profiler.
|
||||
{ name = libpipewire-module-profiler }
|
||||
|
||||
# Allows applications to create metadata objects. It creates
|
||||
# a factory for Metadata objects.
|
||||
{ name = libpipewire-module-metadata }
|
||||
|
||||
# Creates a factory for making devices that run in the
|
||||
# context of the PipeWire server.
|
||||
{ name = libpipewire-module-spa-device-factory }
|
||||
...
|
||||
]
|
||||
|
||||
# KNOWN MODULES
|
||||
|
||||
$(LIBPIPEWIRE_MODULES)
|
||||
|
||||
# AUTHORS
|
||||
|
||||
The PipeWire Developers <$(PACKAGE_BUGREPORT)>;
|
||||
PipeWire is available from <$(PACKAGE_URL)>
|
||||
|
||||
# SEE ALSO
|
||||
|
||||
\ref page_man_pipewire_1 "pipewire(1)",
|
||||
\ref page_man_pipewire_conf_5 "pipewire.conf(5)"
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
\page page_man_pipewire-pulse-modules_7 pipewire-pulse-modules
|
||||
|
||||
PipeWire Pulseaudio modules
|
||||
|
||||
# DESCRIPTION
|
||||
|
||||
\include{doc} pulse-modules.inc
|
||||
|
||||
# BUILT-IN MODULES
|
||||
|
||||
$(PIPEWIRE_PULSE_MODULES)
|
||||
|
||||
# AUTHORS
|
||||
|
||||
The PipeWire Developers <$(PACKAGE_BUGREPORT)>;
|
||||
PipeWire is available from <$(PACKAGE_URL)>
|
||||
|
||||
# SEE ALSO
|
||||
|
||||
\ref page_man_pipewire-pulse_1 "pipewire-pulse(1)"
|
||||
|
|
@ -28,6 +28,24 @@ Show version information.
|
|||
\par -c | \--config=FILE
|
||||
Load the given config file (Default: pipewire-pulse.conf).
|
||||
|
||||
# ENVIRONMENT VARIABLES
|
||||
|
||||
The generic \ref pipewire-env "pipewire(1) environment variables"
|
||||
are supported.
|
||||
|
||||
In addition:
|
||||
|
||||
@PAR@ pulse-env PULSE_RUNTIME_PATH
|
||||
|
||||
@PAR@ pulse-env XDG_RUNTIME_DIR
|
||||
Directory where to create the native protocol pulseaudio socket.
|
||||
|
||||
@PAR@ pulse-env PULSE_LATENCY_MSEC
|
||||
Extra buffering latency in milliseconds. This controls buffering
|
||||
logic in `libpulse` and may be set for PulseAudio client applications
|
||||
to adjust their buffering. (Setting it on the `pipewire-pulse` server
|
||||
has no effect.)
|
||||
|
||||
# AUTHORS
|
||||
|
||||
The PipeWire Developers <$(PACKAGE_BUGREPORT)>;
|
||||
|
|
|
|||
|
|
@ -1,56 +0,0 @@
|
|||
\page page_man_pipewire-pulse_conf_5 pipewire-pulse.conf
|
||||
|
||||
The PipeWire Pulseaudio server configuration file
|
||||
|
||||
# SYNOPSIS
|
||||
|
||||
*$XDG_CONFIG_HOME/pipewire/pipewire-pulse.conf*
|
||||
|
||||
*$(PIPEWIRE_CONFIG_DIR)/pipewire-pulse.conf*
|
||||
|
||||
*$(PIPEWIRE_CONFDATADIR)/pipewire-pulse.conf*
|
||||
|
||||
*$(PIPEWIRE_CONFDATADIR)/pipewire-pulse.conf.d/*
|
||||
|
||||
*$(PIPEWIRE_CONFIG_DIR)/pipewire-pulse.conf.d/*
|
||||
|
||||
*$XDG_CONFIG_HOME/pipewire/pipewire-pulse.conf.d/*
|
||||
|
||||
# DESCRIPTION
|
||||
|
||||
Configuration for PipeWire's PulseAudio-compatible daemon.
|
||||
|
||||
The configuration file format is the same as for `pipewire.conf(5)`.
|
||||
There are additional sections for configuring `pipewire-pulse(1)`
|
||||
settings.
|
||||
|
||||
# CONFIGURATION FILE SECTIONS
|
||||
|
||||
\par pulse.properties
|
||||
Dictionary. These properties configure the PipeWire Pulseaudio server
|
||||
properties.
|
||||
|
||||
\par pulse.cmd
|
||||
Array of dictionaries. A set of commands to be executed on startup.
|
||||
|
||||
\par pulse.rules
|
||||
Array of dictionaries. A set of match rules and actions to apply to
|
||||
clients.
|
||||
|
||||
See \ref page_module_protocol_pulse "libpipewire-module-protocol-pulse(7)"
|
||||
for the detailed description.
|
||||
|
||||
In addition, the general PipeWire daemon configuration sections apply,
|
||||
see \ref page_man_pipewire_conf_5 "pipewire.conf(5)".
|
||||
|
||||
# AUTHORS
|
||||
|
||||
The PipeWire Developers <$(PACKAGE_BUGREPORT)>;
|
||||
PipeWire is available from <$(PACKAGE_URL)>
|
||||
|
||||
# SEE ALSO
|
||||
|
||||
\ref page_module_protocol_pulse "libpipewire-module-protocol-pulse(7)",
|
||||
\ref page_man_pipewire_conf_5 "pipewire.conf(5)",
|
||||
\ref page_man_pipewire-pulse_1 "pipewire-pulse(1)",
|
||||
\ref page_man_pipewire-pulse-modules_7 "pipewire-pulse-modules(7)"
|
||||
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
The PipeWire media server
|
||||
|
||||
\tableofcontents
|
||||
|
||||
# SYNOPSIS
|
||||
|
||||
**pipewire** \[*options*\]
|
||||
|
|
@ -29,6 +31,204 @@ Show version information.
|
|||
\par -c | \--config=FILE
|
||||
Load the given config file (Default: pipewire.conf).
|
||||
|
||||
# RUNTIME SETTINGS @IDX@ pipewire
|
||||
|
||||
A PipeWire daemon will also expose a settings metadata object that can
|
||||
be used to change some settings at runtime.
|
||||
|
||||
Normally these settings can bypass any of the restrictions listed in
|
||||
the config options above, such as quantum and samplerate values.
|
||||
|
||||
The settings can be modified using \ref page_man_pw-metadata_1 "pw-metadata(1)":
|
||||
```
|
||||
pw-metadata -n settings # list settings
|
||||
pw-metadata -n settings 0 # list server settings
|
||||
pw-metadata -n settings 0 log.level 2 # modify a server setting
|
||||
```
|
||||
|
||||
@PAR@ pipewire-settings log.level = INTEGER
|
||||
Change the log level of the PipeWire daemon.
|
||||
|
||||
@PAR@ pipewire-settings clock.rate = INTEGER
|
||||
The default samplerate.
|
||||
|
||||
@PAR@ pipewire-settings clock.allowed-rates = [ RATE1 RATE2... ]
|
||||
The allowed samplerates.
|
||||
|
||||
@PAR@ pipewire-settings clock.force-rate = INTEGER
|
||||
\parblock
|
||||
Temporarily forces the graph to operate in a fixed sample rate.
|
||||
Both DSP processing and devices will switch to the new rate immediately.
|
||||
Running streams (PulseAudio, native and ALSA applications) will automatically
|
||||
resample to match the new rate.
|
||||
|
||||
Set the value to 0 to allow the sample rate to vary again.
|
||||
\endparblock
|
||||
|
||||
@PAR@ pipewire-settings clock.quantum = INTEGER
|
||||
The default quantum (buffer size).
|
||||
|
||||
@PAR@ pipewire-settings clock.min-quantum = INTEGER
|
||||
Smallest quantum to be used.
|
||||
|
||||
@PAR@ pipewire-settings clock.max-quantum = INTEGER
|
||||
Largest quantum to be used.
|
||||
|
||||
@PAR@ pipewire-settings clock.force-quantum = INTEGER
|
||||
\parblock
|
||||
Temporarily force the graph to operate in a fixed quantum.
|
||||
|
||||
Set the value to 0 to allow the quantum to vary again.
|
||||
\endparblock
|
||||
|
||||
# ENVIRONMENT VARIABLES @IDX@ pipewire-env
|
||||
|
||||
## Socket directories
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_RUNTIME_DIR
|
||||
|
||||
@PAR@ pipewire-env XDG_RUNTIME_DIR
|
||||
|
||||
@PAR@ pipewire-env USERPROFILE
|
||||
Used to find the PipeWire socket on the server (and native clients).
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_CORE
|
||||
Name of the socket to make.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_REMOTE
|
||||
Name of the socket to connect to.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_DAEMON
|
||||
If set to true then the process becomes a new PipeWire server.
|
||||
|
||||
## Config directories, config file name and prefix
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_CONFIG_DIR
|
||||
|
||||
@PAR@ pipewire-env XDG_CONFIG_HOME
|
||||
|
||||
@PAR@ pipewire-env HOME
|
||||
Used to find the config file directories.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_CONFIG_PREFIX
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_CONFIG_NAME
|
||||
Used to override the application provided
|
||||
config prefix and config name.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_NO_CONFIG
|
||||
Enables (false) or disables (true) overriding on the default configuration.
|
||||
|
||||
## Context information
|
||||
|
||||
As part of a client context, the following information is collected
|
||||
from environment variables and placed in the context properties:
|
||||
|
||||
@PAR@ pipewire-env LANG
|
||||
The current language in `application.language`.
|
||||
|
||||
@PAR@ pipewire-env XDG_SESSION_ID
|
||||
Set as the `application.process.session-id` property.
|
||||
|
||||
@PAR@ pipewire-env DISPLAY
|
||||
Is set as the `window.x11.display` property.
|
||||
|
||||
## Modules
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_MODULE_DIR
|
||||
Sets the directory where to find PipeWire modules.
|
||||
|
||||
@PAR@ pipewire-env SPA_SUPPORT_LIB
|
||||
The name of the SPA support lib to load. This can be used to switch to
|
||||
an alternative support library, for example, to run on the EVL realtime kernel.
|
||||
|
||||
## Logging options
|
||||
|
||||
@PAR@ pipewire-env JOURNAL_STREAM
|
||||
Is used to parse the stream used for the journal. This is usually configured by
|
||||
systemd.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_LOG_LINE
|
||||
Enables the logging of line numbers. Default true.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_LOG
|
||||
Specifies a log file to use instead of the default logger.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_LOG_SYSTEMD
|
||||
Enables the use of systemd for the logger, default true.
|
||||
|
||||
## Other settings
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_CPU
|
||||
Selects the CPU and flags. This is a bitmask of any of the \ref CPU flags
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_VM
|
||||
Selects the Virtual Machine PipeWire is running on. This can be any of the \ref CPU "VM"
|
||||
types.
|
||||
|
||||
@PAR@ pipewire-env DISABLE_RTKIT
|
||||
Disables the use of RTKit or the Realtime Portal for realtime scheduling.
|
||||
|
||||
@PAR@ pipewire-env NO_COLOR
|
||||
Disables the use of colors in the console output.
|
||||
|
||||
## Debugging options
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_DLCLOSE
|
||||
Enables (true) or disables (false) the use of dlclose when a shared library
|
||||
is no longer in use. When debugging, it might make sense to disable dlclose to be able to get
|
||||
debugging symbols from the object.
|
||||
|
||||
## Stream options
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_NODE
|
||||
Makes a stream connect to a specific `object.serial` or `node.name`.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_PROPS
|
||||
Adds extra properties to a stream or filter.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_QUANTUM
|
||||
Forces a specific rate and buffer-size for the stream or filter.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_LATENCY
|
||||
Sets a specific latency for a stream or filter. This is only a suggestion but
|
||||
the configured latency will not be larger.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_RATE
|
||||
Sets a rate for a stream or filter. This is only a suggestion. The rate will be
|
||||
switched when the graph is idle.
|
||||
|
||||
@PAR@ pipewire-env PIPEWIRE_AUTOCONNECT
|
||||
Overrides the default stream autoconnect settings.
|
||||
|
||||
## Plugin options
|
||||
|
||||
@PAR@ pipewire-env SPA_PLUGIN_DIR
|
||||
Is used to locate SPA plugins.
|
||||
|
||||
@PAR@ pipewire-env SPA_DATA_DIR
|
||||
Is used to locate plugin specific config files. This is used by the
|
||||
bluetooth plugin currently to locate the quirks database.
|
||||
|
||||
@PAR@ pipewire-env SPA_DEBUG
|
||||
Set the log level for SPA plugins. This is usually controlled by the `PIPEWIRE_DEBUG` variable
|
||||
when the plugins are managed by PipeWire but some standalone tools (like spa-inspect) uses this
|
||||
variable.
|
||||
|
||||
@PAR@ pipewire-env ACP_BUILDDIR
|
||||
If set, the ACP profiles are loaded from the builddir.
|
||||
|
||||
@PAR@ pipewire-env ACP_PATHS_DIR
|
||||
|
||||
@PAR@ pipewire-env ACP_PROFILES_DIR
|
||||
Used to locate the ACP paths and profile directories respectively.
|
||||
|
||||
@PAR@ pipewire-env LADSPA_PATH
|
||||
Comma separated list of directories where the ladspa plugins can be found.
|
||||
|
||||
@PAR@ pipewire-env LIBJACK_PATH
|
||||
Directory where the jack1 or jack2 libjack.so can be found.
|
||||
|
||||
# AUTHORS
|
||||
|
||||
The PipeWire Developers <$(PACKAGE_BUGREPORT)>;
|
||||
|
|
|
|||
|
|
@ -1,102 +0,0 @@
|
|||
\page page_man_pipewire_conf_5 pipewire.conf
|
||||
|
||||
The PipeWire server configuration file
|
||||
|
||||
# SYNOPSIS
|
||||
|
||||
*$XDG_CONFIG_HOME/pipewire/pipewire.conf*
|
||||
|
||||
*$(PIPEWIRE_CONFIG_DIR)/pipewire.conf*
|
||||
|
||||
*$(PIPEWIRE_CONFDATADIR)/pipewire.conf*
|
||||
|
||||
*$(PIPEWIRE_CONFDATADIR)/pipewire.conf.d/*
|
||||
|
||||
*$(PIPEWIRE_CONFIG_DIR)/pipewire.conf.d/*
|
||||
|
||||
*$XDG_CONFIG_HOME/pipewire/pipewire.conf.d/*
|
||||
|
||||
# DESCRIPTION
|
||||
|
||||
PipeWire is a service that facilitates sharing of multimedia content
|
||||
between devices and applications.
|
||||
|
||||
On startup, the daemon reads a main configuration file to configure
|
||||
itself. It executes a series of commands listed in the config file.
|
||||
|
||||
The config files are loaded in the order listed in the
|
||||
[SYNOPSIS](#synopsis). The environment variables `PIPEWIRE_CONFIG_DIR`,
|
||||
`PIPEWIRE_CONFIG_PREFIX` and `PIPEWIRE_CONFIG_NAME` can be used to
|
||||
specify an alternative config directory, subdirectory and file
|
||||
respectively.
|
||||
|
||||
Next to the configuration file can be a directory with the same name as
|
||||
the file with a `.d/` suffix. All directories in the
|
||||
[SYNOPSIS](#synopsis) directory search paths are traversed in the listed
|
||||
order and the contents of the `*.conf` files inside them are appended to
|
||||
the main configuration file as overrides. Object sections are merged and
|
||||
array sections are appended.
|
||||
|
||||
# CONFIGURATION FILE FORMAT
|
||||
|
||||
The configuration file format is grouped into sections. A section is
|
||||
either a dictionary, {}, or an array, \[\]. Dictionary and array entries
|
||||
are separated by whitespace and may be simple value assignment, an array
|
||||
or a dictionary. For example:
|
||||
```
|
||||
name = value # simple assignment
|
||||
|
||||
name = { key1 = value1 key2 = value2 } # a dictionary with two entries
|
||||
|
||||
name = [ value1 value2 ] # an array with two entries
|
||||
|
||||
name = [ { k = v1 } { k = v2 } ] # an array of dictionaries
|
||||
```
|
||||
|
||||
The configuration files can be expressed in full JSON syntax but for
|
||||
ease of use, a relaxed format may be used where:
|
||||
|
||||
- `:` to delimit keys and values can be substuted by `=` or a space.
|
||||
- <tt>\"</tt> around keys and string can be omitted as long as no special
|
||||
characters are used in the strings.
|
||||
- `,` to separate objects can be replaced with a whitespace character.
|
||||
- `#` can be used to start a comment until the line end
|
||||
|
||||
# CONFIGURATION FILE SECTIONS
|
||||
|
||||
\par context.properties
|
||||
Dictionary. These properties configure the PipeWire instance.
|
||||
|
||||
\par context.spa-libs
|
||||
Dictionary. Maps plugin features with globs to a spa library.
|
||||
|
||||
\par context.modules
|
||||
Array of dictionaries. Each entry in the array is a dictionary with the
|
||||
*name* of the module to load, including optional *args* and *flags*.
|
||||
Most modules support being loaded multiple times.
|
||||
|
||||
\par context.objects
|
||||
Array of dictionaries. Each entry in the array is a dictionary
|
||||
containing the *factory* to create an object from and optional extra
|
||||
arguments specific to that factory.
|
||||
|
||||
\par context.exec
|
||||
\parblock
|
||||
Array of dictionaries. Each entry in the array is dictionary containing
|
||||
the *path* of a program to execute on startup and optional *args*.
|
||||
|
||||
This array used to contain an entry to start the session manager but
|
||||
this mode of operation has since been demoted to development aid. Avoid
|
||||
starting a session manager in this way in production environment.
|
||||
\endparblock
|
||||
|
||||
# AUTHORS
|
||||
|
||||
The PipeWire Developers <$(PACKAGE_BUGREPORT)>;
|
||||
PipeWire is available from <$(PACKAGE_URL)>
|
||||
|
||||
# SEE ALSO
|
||||
|
||||
\ref page_man_pipewire_1 "pipewire(1)",
|
||||
\ref page_man_pw-mon_1 "pw-mon(1)",
|
||||
\ref page_man_libpipewire-modules_7 "libpipewire-modules(7)"
|
||||
Loading…
Add table
Add a link
Reference in a new issue