Commit graph

118 commits

Author SHA1 Message Date
Wim Taymans
f70b0892ea doc: swap the name and id of the device.product
Fixes #4935
2025-10-17 12:28:15 +02:00
Wim Taymans
9b507d3210 context: add support for rlimit.<resource> = <value>
Add support for rlimit.<resource> = <value> in the context.properties to
adjust the rlimits of the process. A value of -1 sets the max limit.

This can be used to increase the number of file descriptors in a
pipewire process when select() is not used, for example. Other resource
limits might be interesting as well maybe.

Fixes #4047
2025-10-15 09:26:36 +02:00
Pauli Virtanen
c65e70fce0 doc: document missing api.acp.* properties 2025-10-10 18:30:26 +03:00
Wim Taymans
ad33ff34f7 doc: fix some spelling, grammar and formatting mistakes 2025-09-22 11:24:23 +02:00
Wim Taymans
0267a5906e doc: add DSP filter tutorial
Add CLAUDE generated tutorial7 based on the audio-dsp-filter
example.
2025-09-22 11:01:52 +02:00
Wim Taymans
e6bcd7b611 doc: mention async link latency in latency doc 2025-09-16 14:09:08 +02:00
Wim Taymans
4dccddd564 impl-link: add 1 quantum latency for async links
Update the scheduling doc with some information about how async
scheduling works. Also add something about the latency.

Async links add 1 quantum of latency so take that into account when
aggregating latencies.

Also a source directly linked to an async node does not add latency
(we evaluate the tee before incrementing the cycle so that it effectively
is executed in the previous cycle and consumed immediately by async
nodes). We can do this because the driver source always provides data
before the async node, and never concurrently.

Add a listener to the link for the node driver change as well because
that can now influence the latency for async nodes.
2025-09-15 17:42:03 +02:00
Wim Taymans
f89428d9f8 tools: print async node state in pw-top
Pass the node async state in the profiler and use this in pw-top to draw
the node with = instead of a + in the tree when it's async.
2025-09-15 12:29:57 +02:00
Wim Taymans
818ef4e138 spa: flags just have 1 value 2025-09-12 16:17:26 +02:00
George Kiagiadakis
e9b78f1c31 bluez5: media-source: add option to control the target latency of the decode-buffer
On production systems, having a constant high latency is favored over
dynamically adjusting it in order to optimize for low latency,
because every time a dynamic adjustment happens, there's a glitch.

This adds an option to let the user specify the exact amount of latency
they want.
2025-09-07 18:04:28 +00:00
Wim Taymans
0877eba761 tools: add Latency reporting to pw-link
Rework how the monitor mode works. Instead of having separate paths for
the list and monitor mode, reuse the list mode. We simply mark all
changes and then list the changes in a loop.

This makes it possible to accumulate some updates and print them
together.

Add a -t option to list the latency params on a port.
2025-09-03 14:42:23 +02:00
Pauli Virtanen
0f1e4f8706 doc: add more properties missing from docs 2025-09-03 09:34:54 +00:00
Pauli Virtanen
bde2aa34ef doc: improve property documentation
Add some more examples, and more xref links to index.
2025-09-03 09:34:54 +00:00
Wim Taymans
9eb6cda245 tools: add pw-midi2play and pw-midi2record aliases
And update the documentation.
2025-08-29 17:43:13 +02:00
Arun Raghavan
d991be6a26 doc: Fix Device::Info id field type in protocol documentation 2025-08-22 21:57:57 -04:00
Arun Raghavan
2958692eca doc: Fix some trailing whitespace in protocol.dox 2025-08-22 21:57:15 -04:00
Carlos Rafael Giani
6c4cd0f1b2 doc: spa: Fix offset in driver documentation 2025-08-05 17:54:56 +00:00
Pauli Virtanen
a346a7d42e doc: document more properties
Also add examples for customizing properties.
2025-08-01 16:20:27 +00:00
Carlos Rafael Giani
1ed8f771bd doc: spa: Minor improvements to driver architecture documentation 2025-07-24 07:28:53 +00:00
Carlos Rafael Giani
eb3d14053d doc: spa: Add more docs about SPA_IO_Clock and driver operations 2025-07-16 10:58:48 +02:00
Wim Taymans
241147968e doc: add FOSDEM talk 2025-07-09 14:13:34 +02:00
Julien Massot
8aa836d588 alsa-pcm: add support for api.alsa.dll-bandwidth-max
In USB Audio Class 2 (UAC2) setups, pitch control is handled by
feedback endpoints. The host adjusts its data rate accordingly.

When pitch control is active (pitch_elem), applying the default
delay-locked loop (DLL) bandwidth can lead to instability and
oscillations around the target rate.

This patch adds a new parameter, api.alsa.dll-bandwidth-max, to
configure the maximum DLL bandwidth. It introduces a new field
in the ALSA state to store this value.

By default, it uses SPA_DLL_BW_MAX, but when pitch control is in
use, setting it to a lower value (e.g. 0.02) helps ensure better
stability, based on empirical testing.
2025-07-07 10:40:11 +00:00
Wim Taymans
2e18d5f70c doc: update pw-cli man page
Fixes #4744
2025-06-18 15:18:09 +02:00
Wim Taymans
d238fc8199 doc: fix a typo 2025-06-13 09:21:51 +02:00
Wim Taymans
d37f213236 docs: fix some typos 2025-05-23 16:40:20 +02:00
Wim Taymans
2771c435fd doc: fix end of page for tag doc 2025-05-14 18:23:41 +02:00
Wim Taymans
b957d74eb6 doc: fix bad filename 2025-05-14 11:40:32 +02:00
Wim Taymans
26099f4c29 doc: add doc about Tag params 2025-05-14 11:28:16 +02:00
Wim Taymans
ca032152b1 doc: improve formatting 2025-05-13 15:17:56 +02:00
Wim Taymans
b71216af70 doc: add document about latency handling 2025-05-13 15:01:00 +02:00
Wim Taymans
2ea8d3430c tools: add c key to reset ERR counters
Reset the ERR counters when pressing the c key. This only makes the
current pw-top start counting from 0 again, it does not change anything
globally on the server. It's still usefull because you can use it to
let it count the number of new errors since the keypress.
2025-04-30 15:10:15 +02:00
Pauli Virtanen
081116906d bluez5: bap: allow configuring server locations/context
Add configuration options for the BAP/PACS sink and source endpoint
location (= channel positions) and context settings.

Although BlueZ associates these with individual endpoints, in the PACS
spec they are actually device-global, so configure directly in monitor
settings.
2025-04-20 20:34:35 +03:00
Pauli Virtanen
e9dae61cca bluez5: simplify BAP settings parsing and use device settings for them
Parse BAP settings in a single place, and simplify QoS customization a
bit.

Ensure the selected preset gets selected.

For all the BAP codec settings, use device settings instead of global
monitor ones.
2025-04-14 07:26:28 +00:00
Vinit Mehta
6e57510d6b doc: Add BAP QoS config & select option
This adds configuration options for BAP unicast QoS based on user
config parameters
2025-04-14 07:26:28 +00:00
Vinit Mehta
d22a4d60b3 doc: Add BAP QoS config & select option
This adds configuration options for BAP unicast QoS based on user
config parameters
2025-04-14 07:26:28 +00:00
fossdd
b15ec9bec9 doc: fix typo in pw-link(1) 2025-04-09 07:48:10 +00:00
Wim Taymans
6598938f12 doc: update MIDI doc 2025-03-11 16:31:08 +01:00
Wim Taymans
8e8306cad8 doc: link to the protocol message documentation 2025-03-11 16:26:06 +01:00
Wim Taymans
22951a9b87 protocol: document to client-node communication flow a little 2025-03-06 16:52:27 +01:00
Wim Taymans
0b5d669679 jack: add option and disable MIDI2 port flags by default
Add an option to add the MIDI2 flag on ports. This is disabled by
default because most JACK apps don't know about the flag and then
refuse to show the MIDI ports.

Fixes #4584
2025-03-04 15:51:39 +01:00
Wim Taymans
8b761ccb78 doc: try to add SPA modules 2025-01-28 11:13:05 +01:00
Wim Taymans
24bcacc619 conf: remove client-rt.conf
We now automatically move non-rt clients into non-rt threads so the
client-rt.conf is obsolete.

Move the module-rt in client.conf and add conditions to disable modules.

Transparently load client.conf in case applications still specify
client-rt.conf.

Custon configuration in the client-rt.conf.d/ should be moved to
client.conf.d/
2025-01-14 12:40:05 +01:00
Pauli Virtanen
08700a9eb5 pipewire: use local real time timestamps in logging
Wireplumber and other system services use local real time timestamps in
logging, so it's more convenient if also PW uses them.

Add env var for selecting the timestamp type, default to "local".
2025-01-13 13:48:22 +00:00
Arun Raghavan
088d8011f2 tools: Document a couple of missing short form args for pw-loobpack 2024-12-31 11:22:49 -05:00
Pauli Virtanen
90f8b0e40b spa: acp: remove some strictly not necessary SplitPCM properties
Remove some api.alsa.split.* properties that the monitor script can
figure out itself.
2024-12-23 11:46:02 +02:00
Pauli Virtanen
dcccfcab7f spa: acp: get and emit UCM information for SplitPCM devices
When api.alsa.split-enable=true for ACP device, instruct UCM to not
use alsa-lib plugins for SplitPCM devices.

Grab the information from UCM for the intended channel remapping, and
add the splitting information to the nodes emitted.

Session manager can then look at that, and load nodes to do the channel
splitting.
2024-12-21 16:03:19 +02:00
Pauli Virtanen
7c7a54dd87 doc: add options to spa-acp-tool.1 2024-12-21 16:03:19 +02:00
Iulia Tanasescu
3309fa0674 doc: Document BAP LC3 codec audio capabilities
This documents the configurable values for the BAP LC3 codec capabilities.
2024-12-14 10:57:23 +00:00
Iulia Tanasescu
d6567ea6a2 doc: Add sync_factor config option
This adds the new "sync_factor" entry in the JSON for Broadcast Source
endpoint config parameters.
2024-12-14 10:54:38 +00:00
Wim Taymans
31c240f6b8 docs: update some LAC links 2024-12-03 13:25:29 +01:00