mirror of
https://gitlab.freedesktop.org/pipewire/wireplumber.git
synced 2026-03-23 00:30:36 +01:00
read-only mirror of https://gitlab.freedesktop.org/pipewire/wireplumber
This patch adds to wireplumber code to manage the Snap audio permissions. SNAP containers have two main "audio" 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, an specific pulseaudio module was used that checked the permissions given to the application and allowed or forbide access to the pulseaudio operations. With the change to pipewire, this functionality must be implemented in pipewire-pulse and wireplumber to guarantee the sandbox security. The current code checks for the presence of the pipewire.snap.id property in a client, in which case it will read the pipewire.snap.audio.playback and pipewire.snap.audio.record properties, and allow or deny access to that client to the nodes with Audio/Sink or Audio/Source media.class property. See !567 and pipewire!1779 |
||
|---|---|---|
| docs | ||
| lib | ||
| modules | ||
| po | ||
| src | ||
| subprojects | ||
| tests | ||
| .editorconfig | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| LICENSE | ||
| Makefile | ||
| meson.build | ||
| meson_options.txt | ||
| NEWS.rst | ||
| README.rst | ||
| wp-uninstalled.sh | ||
WirePlumber =========== .. image:: https://gitlab.freedesktop.org/pipewire/wireplumber/badges/master/pipeline.svg :alt: Pipeline status .. image:: https://scan.coverity.com/projects/21488/badge.svg :alt: Coverity Scan Build Status .. image:: https://img.shields.io/tokei/lines/gitlab.freedesktop.org/pipewire/wireplumber :alt: Lines of code .. image:: https://img.shields.io/badge/license-MIT-green :alt: License .. image:: https://img.shields.io/badge/dynamic/json?color=informational&label=tag&query=%24%5B0%5D.name&url=https%3A%2F%2Fgitlab.freedesktop.org%2Fapi%2Fv4%2Fprojects%2F2941%2Frepository%2Ftags :alt: Tag WirePlumber is a modular session / policy manager for `PipeWire <https://pipewire.org>`_ and a GObject-based high-level library that wraps PipeWire's API, providing convenience for writing the daemon's modules as well as external tools for managing PipeWire. The WirePlumber daemon implements the session & policy management service. It follows a modular design, having plugins that implement the actual management functionality. The WirePlumber Library provides API that allows you to extend the WirePlumber daemon, to write management or status tools for PipeWire (apps that don't do actual media streaming) and to write custom session managers for embedded devices. Documentation ------------- The latest version of the documentation is available online `here <https://pipewire.pages.freedesktop.org/wireplumber/>`_