Commit graph

292 commits

Author SHA1 Message Date
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
Pauli Virtanen d0ec322434 meson.build: set install tags on doc/man
These are predefined names in meson
2023-11-25 00:13:59 +02:00
Wim Taymans c59820493f docs: add some more doc about the threads 2023-11-23 12:32:35 +01:00
Wim Taymans 900f653860 docs: add some more docs 2023-11-23 10:21:08 +01:00
Pauli Virtanen 0fbcc87314 doc: make all manpages with Doxygen
Use (fixed-up) Doxygen manpage output for all program & module manpages.

This also allows formatting the manual pages properly in the HTML docs.

The Markdown pages work properly only with Doxygen >= 1.9.7, older
versions put them to wrong place in the HTML docs.
2023-11-22 20:10:49 +02:00
tytan652 33a3990c3c doc: fix xdg-desktop-portal documentation links 2023-11-21 21:25:13 +01:00
Pauli Virtanen c29d4d4ab7 meson.build: make pandoc optional
Skip only pandoc-requiring parts if it is not available.
2023-11-21 17:00:45 +00:00
Pauli Virtanen 843e733479 doc: add documentation for pipewire-pulse modules
Add (minimal) reference documentation for each pipewire-pulse module.

Add some preprocessing to substitute @pulse_module_options@ in docs from
PW_KEY_MODULE_USAGE so the module options don't need to be repeated.

Produce Doxygen docs + generate manpages pipewire-pulse-modules.7,
pipewire-pulse-module-*.7
2023-11-20 08:41:13 +00:00
Pauli Virtanen 21854f24a5 doc: generate man-pages also for pipewire modules
Use pandoc + some processing to convert Doxygen html output to man
pages.

Requires pandoc & python for building.

Generates manpages: libpipewire-modules.7, libpipewire-module-*.7
2023-11-19 16:39:15 +00:00
Pauli Virtanen 77fad4ee13 doc: reorganize files
Separate various autogen files from the documentation .dox files.
Rename .dox files to match the intended tree structure.
2023-11-19 16:39:15 +00:00
Pauli Virtanen c77fdb4864 doc: hide useless indices in doxygen output etc. fixes
Hide useless paginated indices.
Rename "Related Pages" -> "Pages".
Fix manpage brief description.
Fix file path name stripping.
Move macro listings after enums, so that they're next to functions.
Remove pwtest from docs, it's not API.
Fixup header styles.
2023-11-04 15:22:01 +02:00
Pauli Virtanen 27afa39d5d doc: use b->requested in tutorial4 2023-11-04 14:50:45 +02:00
Pauli Virtanen 49668a9b26 doc: fixup some Doxygen autogen issues
Don't show page sections in left sidebar, it's confusing.
Rename Modules -> API Reference in sidebar.
Indicate visually the sidebar entries are collapsible.
Fix spa_pod_json grouping.
Move tools page to top level.
Fix page ordering.
2023-11-04 09:45:55 +00:00