Commit graph

339 commits

Author SHA1 Message Date
Barnabás Pőcze
48f03f85a7 pulse-server: add support for IPv6
Add support for listening on IPv6 addresses.
The following address formats are supported:
 * tcp:[<ipv6-addr>]:<port>,
 * tcp:<ipv4-addr>:<port>,
 * tcp:<port>, and
 * unix:<path>.

The IP addresses are parsed using `inet_pton()`,
only the formats supported by that function
are accepted.

The IPv6 address must be surrounded by square brackets,
they do not mean "optional" here. Specifying only the
port is equivalent to the following two addresses:
 * [::]:<port>, and
 * 0.0.0.0:<port>.

Address parsing has been made stricter: the port
must always be specified explicitly.

Fixes #1216.
2021-05-27 21:12:14 +02:00
Barnabás Pőcze
e9ba0899c2 filter-chain: fix rnnoise example configuration
Other filter-chain configuration file examples do not prefix
the plugin key with 'ladspa/'. And in the absence of
the LADSPA_PATH environmental variable, this would lead
to "/usr/lib64/ladspa/ladspa/librnnoise_ladspa.so" being used
as the path, which is not correct.
2021-05-24 08:23:21 +00:00
Sjoerd Simons
d2e1b968af Let pipewire-pulse services conflict with their pulseaudio counterparts
You can only run either pulseaudio *or* the pipewire-pulse daemon at one
time. So make the pipewire-pulse units conflict with their pulseaudio
counterparts to avoid both running at the same time
2021-05-22 14:26:30 +02:00
Jonas Holmberg
b1610d37fe modules: Add module-rt
Add a module to set thread priorities without using rtkit.
2021-05-19 17:39:17 +02:00
Wim Taymans
1609126bcd conf: move config file to datadir
Install the config file in $PREFIX/share/pipewire so that a factory
reset can be done by wiping /etc and /home.
Add this new directory to the search path.
System wide config can still be done in /etc, user config in
$HOME/.config/pipewire/ by copying files from $PREFIX/share/pipewire

Fixes #1191
2021-05-17 16:22:31 +02:00
Wim Taymans
34a2fb4b03 filter-chain: fix effect name 2021-05-16 20:08:54 +02:00
Wim Taymans
6ed32a74eb Clean up the filtet chains a bit
Add matrix-spatialiser to build, rename to remove _
Give effect a better name.
2021-05-16 19:50:14 +02:00
JP Guillemin
37b9cd191b Matrix Spatialiser sink 2021-05-16 17:16:53 +00:00
Wim Taymans
32688d7fc6 filter-chain: add dolby surround sink
Encodes a 6 channel surround sound stream into dolby surround.
2021-05-12 20:22:40 +02:00
Wim Taymans
c89af625db pipewire.conf: add dummy driver to pipewire.dummy group
So that we can have nodes join to the dummy driver group to let
them be scheduled by it.
2021-05-11 15:47:38 +02:00
Wim Taymans
bfbd6d74ef filter-chain: add biquads to filter-chain
Add some biquad filters to the builtin filters.
Add an example 6 band equalizer sink filter chain.
2021-05-10 18:11:20 +02:00
Wim Taymans
7b759e7961 filter-chain: remove some lines from the config 2021-05-10 13:11:36 +02:00
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