Find a file
George Kiagiadakis 23ba01970f object-manager: use an idle callback to expose tmp globals instead of pw_core_sync
A core sync is not really necessary here because whatever objects the remote
pipewire daemon has to announce have already been sent to us on a message
and this message is already being processed at this point. This means, we are
not going to be returning to the main loop until all the new objects have been
announced and therefore placed into the tmp globals array. So, we can also use
an idle callback and achieve the same effect of slightly delaying until all
new globals have been announced.

With an idle callback, we can be more agile and add those new objects immediately
after the message has been processed instead of waiting for a pw_core_sync()
reply, which will come in the next message.

This fixes an odd failure of the si-standard-link test after applying the fix
for #517, which was caused by the fact that the test was previously relying on
a delay caused by some unrelated globals being prepared in the object manager
that tries to verify the graph state. After those globals were removed from the
internal preparation queue, the test would fail to detect the link objects
because they were stuck in the tmp_globals array for too long.
2023-10-23 23:14:48 +03:00
docs docs: Provide example for iec958.codecs config 2023-10-19 12:11:36 -04:00
lib object-manager: use an idle callback to expose tmp globals instead of pw_core_sync 2023-10-23 23:14:48 +03:00
modules api: module: support loading arguments from file 2023-09-22 19:35:10 +03:00
po Replace ru.po 2023-04-06 08:10:33 +00:00
src config: set priority. keys on midi-bridge 2023-10-12 12:01:05 +02:00
subprojects subprojects: bump lua to 5.4.4 2022-07-05 16:14:05 +03:00
tests m-lua-scripting: always parse JSON to String if its type is not recognized 2023-08-11 14:48:13 -04: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 gitlab-ci: Update all images and use latest CI templates 2023-03-24 20:01:55 +02: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.4.15 2023-10-12 19:24:26 +03:00
meson_options.txt meson: Add options to configure whether to build daemon, tools and modules. 2022-11-23 10:06:11 +00:00
NEWS.rst 0.4.15 2023-10-12 19:24:26 +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/>`_