Commit graph

304 commits

Author SHA1 Message Date
Silviu Florian Barbulescu be3e87f485 Add code to fix problem found at review 2024-05-15 08:11:50 +00:00
Sanchayan Maity 6c6f944e53 Fix doc build pipeline failing with parametric-equalizer module 2024-05-07 09:04:15 +00:00
Wim Taymans dd84557bfb doc: update some more 2024-05-07 11:03:22 +02:00
lunks 722ad358d0 Apply 1 suggestion(s) to 1 file(s) 2024-05-07 08:57:24 +00:00
Cedric Sodhi 34fd3fe2ad Restructured overview.dotx
Merged the information of the original with the didactic structure and overview by Théo Lebrun/bootlin.com.
2024-05-07 08:57:24 +00:00
Pauli Virtanen 1717b1bebc doc: document some more audioconvert properties 2024-05-06 18:16:07 +03:00
Wim Taymans 7f4a0ba8cb conf: handle array of arguments in context.exec
We handeled "arg1 arg2 ... " before and used to split between spaces to
get the arguments for execvp but that doesn't work so well when there
are arguments with spaces.

Instead use JSON parsing to get the array of arguments. This make it
possible to use [ arg1 arg2 .. ] and quote each arg separately. You
can still use the old method and even double escape:

"\"arg1\" \"arg2 with spaces\"" or
 [ "arg1" "arg2 with spaces" ]
2024-04-26 17:11:21 +02:00
Arun Raghavan be97d1f766 doc: Some clarifications in Overview
Correct `context.spa-libs` as being pointing to the right SPA libs
(rather than loading them), and some other minor fixups.
2024-04-25 17:26:22 -04:00
Arun Raghavan 1b6a94db36 doc: Add more details in the Overview section
Cover basic concepts that might be useful while going to subsequent
sections. We might want to split this off into a subpage if it gets any
longer.
2024-04-25 13:04:54 -04:00
Pauli Virtanen 29614a2c46 doc: fix workaround for old doxygen versions
Fix workaround for old doxygen versions, and put a version requirement
for Doxygen.
2024-04-23 10:59:24 +00:00
Wim Taymans a4bfdd7f82 context: add support for multiple data loops
Add config options to create and start multiple data loops, each with
their own priority and thread affinity if requested.

Make it possible to assign loop.classes to the data-loops. Use the
node.loop.class to find a data-loop for the node of the same class. Try
to evenly spread the nodes over the available matching loops.

With this, it is possible to separate the processing of the nodes
depending on the classes, like audio/video and improve concurency on
the server.

No attempt is done yet to move nodes between loops or to move
independent nodes to separate data loops.

Fixes #3969
2024-04-19 14:57:53 +02:00
Wim Taymans b9fad5b89c doc: add -P option to docs 2024-04-15 15:39:13 +02:00
Wim Taymans f366167278 settings: remove link.min-buffers option again
The min should always be 1. We have other ways of bumping the number of
buffers to 2, like the ASYNC allocation flag which we can set if we are
also doing some async scheduling. We could make this an option later.

Otherwise, we would also allocate 2 buffers by default between the mixer
and the node, which is unnecessary.
2024-04-03 15:27:05 +02:00
Wim Taymans dbedd09d42 settings: add link.min-buffers option
Add link.min-buffers option to set the minimum amount of buffers to
create for links. Set this by default to 2 because we really need two
now in case the sink xruns and does async mixing.

Make this an option because in low-memory cases and when xruns are not
expected, we can set this to 1.
2024-04-03 15:02:30 +02:00
Wim Taymans cddea858d9 context: add context.modules.allow-empty property
false by default, when true, no warning will be logged when the
context.modules in the config is empty. This can be useful when the
application wants to load all the modules itself.
2024-03-28 17:08:33 +01:00
Pauli Virtanen 7f5e0f0425 spa: spa-json-dump: read also from stdin, and report syntax errors
Support reading from stdin and report syntax errors.

Also don't do extra spa_json_enter when inserting a dummy "{" when
parsing files with top-level keys.  In this case the tokenizer is
already "entered" after spa_json_init, and will give parse error when we
are not inserting the closing "}" for the dummy "{".
2024-03-25 21:42:26 +02:00
Wim Taymans 4db0811878 alsa: add option to skip the busy check
Makes the card exposed even if some of the pcms are busy.

Fixes #3914
2024-03-22 12:42:48 +01:00
Wim Taymans 0e380de809 conf: improve matching rules a bit more
Handle "null", null, !null, "!null", !"null" and "!\"null\""
matches, copy some docs from wireplumber about the rules and
add some more cases.
2024-03-18 17:53:44 +01:00
Wim Taymans 7e9e261fa6 conf: support property rules
Add pw_conf_section_update_props_rules() that will not only update the
properties of a section but wil also apply rules in section.rules and
match against the context properties.

Use this by default when using pw_context_conf_update_props().

Add a new method to get a string name of the VM type. Place the
cpu.vm.name in the context properties.

This makes it possible to deprecate the vm.overrides with something more
flexible based on rules. Update the conf files and docs to refect this.
2024-03-15 12:10:41 +01:00
Wim Taymans 69cc3832d4 tools: improve error reporting
Add better error reporting in the security context and pw-container.

Add manpage for pw-container.
2024-03-13 12:53:04 +01:00
Wim Taymans 84af13a10b settings: add default.clock.quantum-floor property
Remove some of the hardcoded values (the absolute smallest buffer size,
independent on the sample rate) to a config option. Set it to the
default value of 4, like what it was before.

Change the hardcoded absolute lowest limit to 1 because anything else
does not make sense.

Enforce the quantum-floor when calculating the final graph quantum.

Fixes #3908
2024-03-12 10:21:31 +01:00
Pauli Virtanen da1a5568a1 doc: add options to change what /usr and /etc paths are shown
Add options to change the 'prefix' and 'sysconfdir' values shown in
documentation, e.g. on config file man pages.

Update CI to set them, so that its produced output doesn't show
/builds/pipewire/... on man pages
2024-03-10 22:25:42 +02:00
Pauli Virtanen e2a546006a doc: minor documentation improvements
Document a few properties more, and fix some wrong things.

Mark types of properties.
2024-03-10 19:08:41 +02:00
Wim Taymans ccf899a709 profiler: add transport state in the profile block
Add transport state to the profiler clock info and show this in
pw-top as t and T states.

Update the docs some more.
2024-02-29 14:07:08 +01:00
Pauli Virtanen 75eec2ae85 doc: fix up example dependencies in meson 2024-02-24 16:53:50 +02:00
Pauli Virtanen 31b387f269 bluez5: add per-device option for BAP unicast stream group ID
Add some option to set manually group IDs of unicast streams
of devices.

Intel controllers don't appear to support more than one group at a time,
but in principle this can be done.
2024-02-21 18:22:38 +02:00
Wim Taymans 18aeddbe80 doc: some updates 2024-02-20 13:29:36 +01:00
Dimitrios Katsaros 539fdc5477 alsa: Added handle for controlling htimestamp autodisable
You can now do this to permanently enable htimestamp:

pw-cli s 38 Props '{ params: [ api.alsa.htimestamp.max-errors: 0, api.alsa.htimestamp: true ]}'
2024-02-20 11:30:48 +01:00
Pauli Virtanen 2e29177964 doc: use-chmap is enabled by default 2024-02-19 21:31:40 +02:00
Pauli Virtanen 86022d32df doc: disable dot graphs in API docs again
Disable graphs in the layout file. Doxygen seems to ignore Doxyfile
settings if they're enabled in layout.
2024-02-19 21:27:17 +02:00
Pauli Virtanen aec9bc5217 doc: add sections to index, clarify discussion of properties
Add some sections to index + fix typos and section levels.

Clarify discussion of device properties.
2024-02-19 21:21:12 +02:00
Wim Taymans 52f65ccefc docs: add node.rules and device.rules 2024-02-19 10:57:18 +01:00
Pauli Virtanen 04adbebcb1 doc: move config man pages under config/ 2024-02-19 00:00:27 +02:00
Pauli Virtanen 0734381ead doc: add some more coverage
Fix some copypaste mistakes and other errors.

Add explanations for some more properties.  Explain "drop-in" config
files.  Explain filter-chain.conf.

Move configuration man pages under Configuration in TOC.
2024-02-19 00:00:27 +02:00
Pauli Virtanen fd58eec7f8 doc: add reference docs + index for config and env variables
Add reference documentation for configuration settings & node/device
properties.  We should have boring & exhaustive reference lists of all
the options, and an index where they can be looked up as needed.

The content is mostly stolen from the Wiki.

Add pipewire-client.conf.5, pipewire-jack.conf.5, and pipewire-device.7
that try to explain all available configuration settings for native/ALSA/JACK
clients, and parameters & properties devices.

Expand pipewire.conf.5 and pipewire-pulse.conf.5 with lists of supported
properties. Also explain environment variables.

Doxygen doesn't have an indexing mechanism suitable for configuration
settings, so add a simple one using an input filter and use it here.

Tweak styling a bit.
2024-02-18 15:08:35 +02:00
Pauli Virtanen 715315cbcd doc: fix DoxygenLayout.xml for doxygen 1.10
Run doxygen -l - and make the edits again.
2024-02-18 13:06:08 +02:00
Gleb Popov 0ff7b1464d Use portable shebang in input-filter-h.sh 2024-02-10 20:52:35 +03:00
Wim Taymans cb2b7af8fd tutorial: fix s16 scale and add some docs
The float -> s16 scale value is 32767 or 32768 with clamping. Fix this
and add some docs.

Fixes #3838
2024-02-06 11:38:29 +01:00
Pauli Virtanen e90b2cb338 doc: add 'Configuration' page
Add pointer for readers to Wiki and WirePlumber docs, where the
documentation actually is at, so the configuration docs can found
starting from docs.pipewire.org
2024-02-04 10:29:39 +00:00
Pauli Virtanen 089db6f14a doc: disable deprecated list 2024-01-29 08:50:32 +00:00
Pauli Virtanen 978dbff32f doc: fix some doxygen warnings 2024-01-29 08:50:32 +00:00
Pauli Virtanen b1d88f5ed4 doc: put new pulse modules to right place 2024-01-29 08:50:32 +00:00
Pauli Virtanen cdb6c5a316 doc: filter some constructs that confuse doxygen 2024-01-29 08:50:32 +00:00
shoffmeister c25c7f7bd8 doc: Fix typo 'statis' -> 'static' 2024-01-29 08:47:37 +00:00
Pauli Virtanen bdf96979fc doc: include pipewire-pulse modules explanations also on man page 2023-12-09 16:37:03 +02:00
Pauli Virtanen 31b7ff58ad doc: add pw-v4l2.1 and spa-*.1
Add manpages for the remaining utilities without one.
2023-12-09 16:36:24 +02:00
Pauli Virtanen 80bf28edfd doc: add pw-reserve.1 2023-12-08 18:59:23 +02:00
Pauli Virtanen 9fdf221705 doc: internals/access: update documentation vs current state
Update docs to match implementation.
2023-11-29 18:51:35 +02:00
Pauli Virtanen 53601d44a6 doc: internal/protocol: explain registry generation and protocol footers 2023-11-25 18:39:25 +02:00
Pauli Virtanen ffa52fdbc1 meson.build: separate options for installing man pages or docs 2023-11-25 00:14:18 +02:00