Find a file
Pauli Virtanen 37c839b930 policy-node: fix potential rescan loop
SiLink activation might be delayed indefinitely under some error
conditions. Currently, policy-node schedules a rescan when it sees a
non-activated link on a stream to be moved, which produces busy loop if
the si-link doesn't activate.

Instead of rescheduling on non-active si-links, just remove and emit a
warning. The si-link then gets removed once it gets activated.

Reproducer:

1. Play audio from Rhythmbox and pause.
2. Switch default output with pactl between two different outputs
3. Links from the paused stream stay at "init"
2022-08-14 19:47:11 +00:00
docs Change LUA to Lua 2022-06-28 05:45:02 +00:00
lib main: add --version flag to show current version 2022-07-29 12:37:44 +00:00
modules Fix leftover use of module-reserve-device's state property 2022-07-14 13:02:19 +00:00
po Update Swedish translation 2022-06-27 09:38:37 +00:00
src policy-node: fix potential rescan loop 2022-08-14 19:47:11 +00:00
subprojects subprojects: bump lua to 5.4.4 2022-07-05 16:14:05 +03:00
tests link: add WP_LINK_FEATURE_ESTABLISHED to track when a link is PAUSED/ACTIVE 2022-07-02 17:10:22 +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: add Alpine target to test Musl builds 2022-03-08 11:09:50 +00: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 meson.build: remove version check before setting up devenv 2022-07-22 21:06:38 +02:00
meson_options.txt meson: add support for compiling module-logind with elogind 2021-10-15 13:36:30 +00:00
NEWS.rst release 0.4.11 2022-07-05 16:22:15 +03:00
README.rst README: add coverity badge 2021-06-15 15:48:13 +03: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/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/>`_