Find a file
Pauli Virtanen ada687a4cc monitors/alsa: decouple name deduplication from node objects
Node name deduplication relying on presence of node objects creates race
conditions, as the name cannot be marked unused if the node object was
not created or was destroyed.

Use separate (device_id, node_id) -> name table to track name ownership
separately from the existence of node objects.

Also clear up the reserved names when device is destroyed, by the
monitor or device reservation.  In these cases "object-removed" for
nodes is not called, so this fixes names leaking when e.g. pw-reserve is
used.
2024-12-19 18:41:01 +02:00
docs docs: document multi-instance configuration profiles 2024-09-05 20:12:03 +03:00
lib lib: spa-device: add wp_spa_device_set_managed_pending() 2024-12-15 20:51:55 +02:00
modules m-lua-scripting: add WpSpaDevice:set_managed_pending 2024-12-15 20:51:55 +02:00
po Update Occitan locale 2024-12-10 17:18:41 +00:00
src monitors/alsa: decouple name deduplication from node objects 2024-12-19 18:41:01 +02:00
subprojects subprojects: bump lua to 5.4.4 2022-07-05 16:14:05 +03:00
tests internal-comp-loader: implement profiles inheriting other profiles 2024-09-02 17:00:53 +03:00
.editorconfig editorconfig: remove obsolete entry and add python script rules 2021-05-26 09:36:41 +03:00
.gitignore gitignore: remove obsolete entry 2021-05-26 09:38:03 +03:00
.gitlab-ci.yml ci: improve the rules of the previous commit 2024-10-09 17:15:47 -04:00
LICENSE LICENSE: update copyright years 2021-05-26 09:33:18 +03:00
Makefile Makefile: run valgrind with better arguments & environment 2021-10-15 14:00:05 +03:00
meson.build 0.5.7 2024-12-02 16:10:17 +02:00
meson_options.txt meson: make sure the boolean options have boolean values 2024-03-09 15:58:01 +02:00
NEWS.rst 0.5.7 2024-12-02 16:10:17 +02:00
README.rst README: remove broken badge 2024-02-10 11:44:19 +02:00
wp-uninstalled.sh wp-uninstalled: fix a few shellcheck complaints 2021-10-26 13:06:46 +10:00

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/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/>`_