Move the icon we get from bluez to a separate property, it is not
a good icon to show.
Copy form factor from device to node properties.
Set device.bus in the device properties and copy it to the node
properties.
Use form factor and bus to make a nice icon-name for the node and
device.
Fixes#1064
Make libudev dependency required if v4l2 feature option is set to enabled or
auto, or if alsa dependency is found or enabled through pipewire-alsa or alsa.
Add necessary apis to bluez transport.
Add A2DP(AVRCP) absolute volume support. Source volume can only update to adapter node but not from due to AG nodes don't have route.
Since A2DP/HSP/HFP volume is already percentage itself, it has been mapped to pulseaudio volume then converting to linear volume.
The channelmatrix was limited to the 19 known channels, leaving
only the first 19 channels usable.
Use the full 64x64 matrix instead and make sure to fill all 64
channels with the identity matrix in the case we need to copy or
distribute the matrix to unknown positions.
See #57
This starts breaking up the giant monolith that is the pulse-server.c
code into more manageable chunks by trying to split the module code into
individual compilation units.
The pipewire.pot file is made with 'meson compile pipewire-pot' by
scanning the files in POTFILES.in.
The .po files were generated with 'meson compile pipewire-update-po',
on .po file per entry in LINGUAS.
The .po files were filled with:
'msgmerge -N $pulseaudio/po/$lang.po po/$lang.po -o po/$lang.po' to
get a decent set of translations for all the ACP strings.
Run 'LANGUAGE=nl make run' to start the server in a language,
test with 'LANGUAGE=nl pavucontrol'
Use the file names as-is in meson.build (which makes it possible to grep for
them easily) and use the various string methods to extract the section from
the file name and compile the intermediate xml file.
All files in spa/include are being installed anyway, so to avoid having to
list each file one-by-one let's use meson's install_subdir() to install all
of them in one go.
Let's use a template for the generic case of "building on Fedora"
and a named job for the specific job itself.
The real change here is the artifact handling: by default the artifacts
collected for a .build job are only the meson build logs.
The build_on_fedora job collects the installed files as well (to be used in
the pages job later).
Regression introduced in 7e741ef983, the
change of BUILD_ID in that commit caused the pages job to break.
Fix it by relying on the same path expansion we use for the artifacts in the
parent job instead of a hardcoded path.