Commit graph

277 commits

Author SHA1 Message Date
Wim Taymans
c73946a64f filter-chain: add rnnoise example source 2021-05-10 11:01:13 +02:00
Wim Taymans
a595f88cf1 filter-chain: add example
run with pipewire -c filter-chain/demonic.conf
2021-05-10 11:01:13 +02:00
Wim Taymans
a80ec36ad5 node-driver: run as fast as possible in freewheel mode 2021-05-07 11:50:55 +02:00
Wim Taymans
888612dc0f conf: add freewheel driver
Add freewheel driver and enable freewheel mode on it.
2021-05-07 09:03:34 +02:00
Huang-Huang Bao
9384ba5500 bluez5: add properties for A2DP codec sample rate & channel mode configuration
Those properties are set as reference sample rate and channels number for A2DP configuration selecting.
2021-05-03 10:07:42 +00:00
Wim Taymans
aea55f662a i18n: move to separate .h file
So that we can include it where needed and don't cause redefined _()
macros for other projects.

Fixes #1120
2021-04-30 09:57:30 +02:00
Sebastian Goth
379068c31d Clarify alsa device.profile-set setting
Missing the .conf changes the profile name reported by pactl
but has no effect
2021-04-29 16:27:58 +00:00
Wim Taymans
5bf2144438 spa: improve volume handling
Make a new softVolume property that contains only the soft volume
to apply.

In the case of HW/SW volume, we pass the real volume in the
channelVolume and the leftover volume in softVolume. We don't
use the monitorVolume for this anymore because it is a completely
separate volume handled by the merger node.

This way, channelVolume always represents the effective volume
set on routes, channelmix and merger and only the softVolume (when
available) is applied as software volume by channelmix.

This makes things map a bit better to what is actually happening with
the real volume and leftover software volumes after applying the
hardware volumes in the device.

With this change, the volume on the monitor is not affected by the
sink volume anymore and we can use the monitorVolume for this later.

This also means that the monitor volume in pavucontrol of the sinks
does not change when the sink volume changes. PulseAudio is inconsistent
here: If the volume is HW, the monitor volume is not affected, if the
volume is SW, it is. In PipeWire there is an option in merger to
let the volume affect the monitor with monitor.channel-volumes = true.
2021-04-29 12:46:29 +02:00
Huang-Huang Bao
8129b6658e bluez5: rename 'bluez5.reconnect-profiles' property to 'bluez5.auto-connect'
Avoid confusion with 'ReconnectUUIDs' in bluez policy config. See #1081.
2021-04-22 07:36:47 +00:00
Jonas Holmberg
0ddfbc0f62 systemd: Increase backlog for unix sockets
Use the default backlog size, SOMAXCONN (128), which is the same as for
the unix socket in module-protocol-native. If the backlog queue gets
full incoming connections will be closed before they can be accepted.
This causes connect() to fail with EAGAIN on the client side and since
the server socket is closed it will not be possible to use the client
socket further.
2021-04-22 07:30:51 +00:00
Wim Taymans
8294a4f42c Add vm.overrides property in pipewire and pulse-server
Apply vm.override properties when running in a VM. Increase the
default quantum to 1024 when running in a VM to cause less
dropouts.
2021-04-21 15:58:30 +02:00
Peter Hutterer
83ed03d4cf Remove .gitignore files in subdirectories
With meson we no longer have generated files messing up the tree, so we no
longer need these files.
2021-04-20 07:10:15 +00:00
Huang-Huang Bao
edee633f96
bluez5: add property to enable hardware volume control 2021-04-17 19:35:46 +08:00
Frédéric Danis
07c9dbbffa bluez-monitor: Propagate the msbc-support global property to device
msbc-support global property can be used for all backends, or for native
backend overloaded on a per device rule.
2021-04-16 11:05:54 +00:00
Wim Taymans
036c54b043 Add i18n support for some more user-visible strings 2021-04-15 17:56:40 +02:00
Peter Hutterer
223f20709d meson: replace join_paths(a, b) with a / b
More readable and from the meson reference manual:
(since 0.49.0) Using the/ operator on strings is equivalent to calling join_paths.
2021-04-15 06:57:00 +00:00
jasker5183
99eeec5854 Add Version Info to v4l2-monitor.conf 2021-04-12 15:46:35 +00:00
jasker5183
508aa2c156 Add Version Info to media-session.conf + Formatting 2021-04-12 15:44:27 +00:00
jasker5183
f328a92b9e Add Version Info to bluez-monitor.conf 2021-04-12 15:42:38 +00:00
jasker5183
54ac9d2378 Add Version Info to alsa-monitor.conf 2021-04-12 15:41:12 +00:00
jasker5183
ba61d5823b Update pipewire-pulse.conf.in Formatting 2021-04-12 15:33:39 +00:00
jasker5183
4767bbc169 Update pipewire.conf.in Formatting 2021-04-12 15:30:03 +00:00
jasker5183
f36f464d7f Update client.conf.in Formatting 2021-04-12 15:26:46 +00:00
Pauli Virtanen
0e80a2497a media-session: add logind seat status support 2021-04-10 21:53:29 +03:00
Huang-Huang Bao
0beb6bfc6c
bluez-monitor: improve documentation for 'bluez5.msbc-support', set values of some properties in comment to default 2021-04-10 17:56:50 +08:00
Wim Taymans
8251dc11cc spa: add type mappings for F32 and F32OE
so that we can refer to the native float32 format with F32 and the
other endian one with F32OE.
2021-04-09 11:38:54 +02:00
Wim Taymans
44e6e7f5c8 pulse-server: use PipeWire format and channel names
Use the PipeWire format and channel names in the config to avoid
confusion.
2021-04-09 11:30:57 +02:00
Wim Taymans
b305f57e4d pulse-server: make sample format and channel_map configurable
Add an entry in the config file for default format and channel map.
Use the defaults in the server_info request
Use the defaults for the default channels and map in the modules.
2021-04-09 11:12:13 +02:00
Wim Taymans
78db493d0d pulse-server: depend on pipewire.service
Make sure we only start after the main pipewire.service is started.

See https://bugzilla.redhat.com/show_bug.cgi?id=1943867
2021-04-06 10:24:25 +02:00
Dmitry Sharshakov
97b01ed9b0 bluez5: add a property to select default profile 2021-04-04 08:43:09 +00:00
Dmitry Sharshakov
e7f2f450ff bluez5: add parameter to use A2DP source as input 2021-03-30 09:21:12 +02:00
Wim Taymans
f78be58568 stream: Add node.autoconnect stream.properties
If the node.autoconnect property is set in the stream.properties,
ignore the AUTOCONNECT flag value. This makes it possible to
force AUTOCONNECT either way.

See #964
2021-03-29 14:19:34 +02:00
Wim Taymans
80ce2c94ac alsa: add start-delay parameters to sink
The start-delay adds extra silence to the buffer before starting the
playback. The idea is to have more time to adapt to the device
startup and set the timer more accurately.

See #983, #431
2021-03-29 13:20:14 +02:00
Pauli Virtanen
54e06d9df0 bluez5: add additional aac encoder options, and implement optional vbr 2021-03-27 11:47:34 +00:00
Huang-Huang Bao
34c9f24d2a bluez5: autoconnect device profiles on startup
Auto-connect all paired & trusted devices on startup.
Since devices that already connected or powering off would reject the connecting requests, it should be fine with this behavior.
Also reconnect remaining profiles if only partial profiles are connected.
2021-03-26 14:15:55 +00:00
Wim Taymans
df9644f109 jack: add jack.self-connect-mode
Add a property to restrict self-connections. This can be used to
stop clients from connecting themselves automatically.

Fixes #952
2021-03-23 12:24:38 +01:00
Gleb Popov
03ea1a2177 Add a necessary include.
The `basename` function is defined in <libgen.h> and on FreeBSD this header
doesn't get transitively included, which causes a runtime crash.
2021-03-20 09:11:48 +00:00
Huang-Huang Bao
43603dd75d a2dp: add property to force LDAC encoding quality
Fixes #661
2021-03-19 11:50:56 +00:00
Wim Taymans
972cf8d657 media-session: make midi sequencer bridge name configurable
Setting this to a2j might make it look pretier in some jack apps.
Not sure yet if this should be the default.
2021-03-18 16:27:46 +01:00
Huang-Huang Bao
f021866adb
meson: fix symbolic link creating on FreeBSD 2021-03-17 19:29:55 +08:00
Wim Taymans
e51cc5b537 channelmix: Prepare for generating LFE channel
Add channelmix.lfe-cutoff property, 0 is disabled
Disable upmix by default
2021-03-17 11:09:19 +01:00
Jonas Holmberg
44e0251afd impl-node: Make rounding of quantum configurable
Add new context config clock.power-of-two-quantum to make it possible to
not round quantum to closest lower power of two. This makes it possible
to match the quantum of a source node with the quantum of a client
node.
2021-03-16 19:09:29 +00:00
Huang-Huang Bao
374180e211 bluez5: pass per-device settings to codec handler, make 'bluez5.sbc-xq-support' a per-device setting 2021-03-16 10:31:08 +00:00
Huang-Huang Bao
762663e74e
meson: create soft link for 'pipewire-uninstalled', fix gdb target in Makefile 2021-03-14 13:32:08 +08:00
Wim Taymans
90b0410280 conf: improve config files
Make arrays from config sections that should really be an array.
Having the module name as the object key technically makes it
impossible to load the same module twice because the key can only
be once in the object.

The same applies to the context.objects and context.exec sections.

This also makes it somewhat easier to parse the config..
2021-03-12 12:39:58 +01:00
Thibault Saunier
485bae5eb0 meson: Use feature options everywhere it makes sense 2021-03-10 20:18:34 +00:00
Wim Taymans
6324298bc5 channelmix: add more generic upmixing
Add options to enable lfe filtering and upmix.
Enable upmix by default, lfe is disabled because we don't actually
do a lowpass filter yet.
2021-03-06 21:31:18 +01:00
Wim Taymans
67b431cfca rtkit: boost default rt.prio to 88
See #685
2021-03-03 19:56:22 +01:00
Wim Taymans
a57d3e4dae Revert "context: set max-quantum to 4096 by default"
This reverts commit 293d9b3c5d.

The root cause of this might now be fixed.

See #724
2021-03-02 10:46:24 +01:00
Wim Taymans
f7d756460e alsa: add option to use device channel map instead of default
See #461
2021-02-25 21:16:16 +01:00