mirror of
https://gitlab.freedesktop.org/pipewire/wireplumber.git
synced 2026-05-05 08:58:01 +02:00
read-only mirror of https://gitlab.freedesktop.org/pipewire/wireplumber
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. |
||
|---|---|---|
| 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/>`_