- Mar 10, 2024
-
-
P V authored
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
-
- Feb 15, 2024
-
-
Wim Taymans authored
Make a rtprio-server and rtprio-client option. Leave the server priority by default to 88 but lower client priority to 83. JACK does something similar by setting clients to rtprio-server - 5. Make module-rt use the client priority by default and bump the server priority explicitly in the config file. Leave the pulse-server to the default rtprio-client, there is no reason to lower this any further because it is really just a regular client. Bump the ffado packetizer thread to rtprio-server + 5 because that is also what JACK does. 88 is still much higher than the value of 60 that JACK uses in Fedora but now this is at least configurable.
-
- Jan 12, 2024
-
-
-
SNAP containers have two main "audio" security rules: * audio-playback: the applications inside the container can send audio samples into a sink * audio-record: the applications inside the container can get audio samples from a source Also, old SNAP containers had the "pulseaudio" rule, which just exposed the pulseaudio socket directly, without limits. This is similar to the current Flatpak audio permissions. In the pulseaudio days, a specific pulseaudio module was used that checked the permissions given to the application and allowed or forbade access to the pulseaudio operations. With the change to pipewire, this functionality must be implemented in pipewire-pulse to guarantee the sandbox security. This patch adds support for sandboxing permissions in the pulseaudio module, and implements support for the SNAP audio security model, thus forbiding a SNAP application to record audio unless it has permissions to do so. The current code for pipewire-pulseaudio checks the permissions of the snap and adds three properties to each new client: * pipewire.snap.id: contains the Snap ID of the client. * pipewire.snap.audio.playback: its value is 'true' if the client has permission to play audio, or 'false' if not. * pipewire.snap.audio.record: its value is 'true' if the client has permission to record audio, or 'false' if not. These properties must be processed by wireplumber to add or remove access permissions to the corresponding nodes. That code is available in a separate patch: https://gitlab.freedesktop.org/pipewire/wireplumber/-/merge_requests/567
-
- Jan 05, 2024
-
-
Barnabás Pőcze authored
Passing strings has been deprecated: https://mesonbuild.com/Release-notes-for-1-1-0.html#coercing-values-in-the-option-function-is-deprecated
-
- Dec 16, 2023
-
-
- Nov 24, 2023
-
-
P V authored
-
- Nov 22, 2023
-
-
P V authored
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.
-
- Nov 21, 2023
-
-
Skip only pandoc-requiring parts if it is not available.
-
- Oct 11, 2023
-
-
P V authored
Add module argument 'sockets' for creating multiple sockets clients can connect to. Also allow setting socket file permissions.
-
- Jul 25, 2023
-
-
Enable LE Audio support by default if liblc3 is present, the Pipewire implementation should be OK. Remove unused HAVE_BLUETOOTH_BAP define, we don't have any #ifdefs for this. The feature is still disabled by default in BlueZ, which also now takes care of necessary hardware feature checks, and should be safe to enable on Pipewire side.
-
- May 28, 2023
-
-
Wim Taymans authored
-
- Mar 12, 2023
-
-
Wim Taymans authored
-
- Feb 24, 2023
-
-
Carlos Rafael Giani authored
* Add support for running the sink as a driver * Detect which compressed formats are actually supported * Correctly open/close/start/stop device according to the node commands * Shift away from tinycompress and use Compress-Offload ioctls directly to be able to access various caps information (including fragment sizes) which are unavailable in the tinycompress API * Implement SPA_PARAM_PropInfo and SPA_PARAM_Props support
-
- Feb 14, 2023
-
-
Niklāvs Koļesņikovs authored
This commit implements generating /etc/security/limits.d/20-pw-defaults.conf and /etc/security/limits.d/25-pw-rlimits.conf files. The numbering is arbitrary and may very well warrant being in the reverse order, however `man 5 limits.conf` does not appear to specify the parsing order or even say exactly how multiples matches will resolve, so the value can be adjusted later, if required. The actual limit values, the match rule and even whether each file is to be installed can be changed via the build system before compilation. Likewise the files can be modified or (re)moved during distro package building phase. The 20-pw-defaults.conf should only be installed on legacy systems lacking both a modern kernel and up to date systemd, because all it does is set the current Linux default. Accordingly its not installed by default. Signed-off-by:Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>
-
- Feb 10, 2023
-
-
Co-authored-by:Barnabás Pőcze <pobrn@protonmail.com>
-
Many distributions provide outdated libcamera versions. This change should also help making changes to libcamera itself. System libcamera is kept a default to avoid breaking existing build processes relying to packaged libcamera.
-
- Jan 30, 2023
-
-
Dmitry Sharshakov authored
SOFA is a file format used for storing and accessing spatial audio data, namely head-related transfer functions. These can be used to create binaural spatial sound using head- or earphones. This commit introduces libmysofa as an optional dependency for loading SOFA files and creates a spatializer plugin for the filter-chain ci: install libmysofa-devel for full build ci: bump FDO_DISTRIBUTION_TAG
-
- Jan 24, 2023
-
-
The tinycompress library is not in the package repositories of the major Linux distributions, so set the default option to "disabled".
-
* Decouple FFmpeg integration in pw-cat from the ffmpeg option; if one wants to use Compress-Offload but not the ffmpeg SPA plugin, it is then possible to just pass -Dpw-cat-ffmpeg=enabled to meson. Likewise, this also makes it possible to build the ffmpeg plugin without extending pw-cat. * tinycompress does not need to be detected in the root meson.build, since it is only needed by the alsa plugin.
-
-
See https://docs.kernel.org/sound/designs/compress-offload.html https://github.com/alsa-project/tinycompress
-
- Dec 07, 2022
-
-
Wim Taymans authored
Uses a thread to monitor gsettings data. Loads and unload modules based on gsettings. This makes paprefs work.
-
- Nov 28, 2022
-
-
Niklāvs Koļesņikovs authored
The volume plugin was an experiment that's not really used anywhere that we're aware of. As such it makes sense to switch the default to disabled state and skip building something no one probably needs. Signed-off-by:Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>
-
- Nov 07, 2022
-
-
Jonas Holmberg authored
Make it possible to disable code that depends on readline even if readline is pulled in by another dependency, like bluez.
-
- Oct 18, 2022
-
-
- Oct 05, 2022
-
-
Some Linux phones doesn't use oFono but ModemManager to control the modem.
-
- Sep 15, 2022
-
-
By default this codec is disabled as the BlueZ support for LE Audio is still experimental.
-
- Aug 01, 2022
-
-
Support getting the Flatpak application ID from the .flatpak-info file, similarly as what xdg-desktop-portal does.
-
- Jul 19, 2022
-
-
Support Opus as A2DP vendor codec. The specification for vendor A2DP codec is our Pipewire-specific one, so it is compatible only with devices running Pipewire.
-
- Jul 12, 2022
-
-
Wim Taymans authored
-
- May 01, 2022
-
-
P V authored
Implement codec plugin for the LC3plus codec, supporting the LC3plus encoder/decoder from Fraunhofer.
-
- Mar 31, 2022
-
-
The RTKit module is being replaced by the RT module. Currently, it is always built if D-Bus is present. For packagers, it can be beneficial to be able to disable the legacy module. Add a Meson option to allow for exactly that. Make it enabled by default to not change default behavior.
-
- Feb 18, 2022
-
-
Barnabás Pőcze authored
Since XFixes version 6[1] it is possible to mark an X connection as terminatable. The X server will gracefully terminate after a timeout if only terminatable connections remain. [1]: https://gitlab.freedesktop.org/xorg/lib/libxfixes/-/merge_requests/1
-
- Jan 21, 2022
-
-
Wim Taymans authored
It listens for X11 bell events and plays a sample with libcanberra. Fixes #1668
-
- Jan 06, 2022
-
-
- Dec 10, 2021
-
-
Wim Taymans authored
Support lv2 plugins and their control values.
-
- Nov 13, 2021
-
-
Even though OpenSSL is very common, automagic dependencies are still not great, so let's have a raop switch to control that.
-
- Oct 28, 2021
-
-
pw-v4l2 uses the gnu ld's ${LIB} features, see meson.build. Make it possible to work around this by specifying an explicit path, just like for pw-jac. Fixes #1751
-
- Oct 27, 2021
-
-
If it's not an absolute_path, then set the build_ms and build_wp as normal, otherwise use the value as passed in.
-