mirror of
https://gitlab.freedesktop.org/pipewire/wireplumber.git
synced 2025-12-24 08:30:04 +01:00
read-only mirror of https://gitlab.freedesktop.org/pipewire/wireplumber
This property influences how the SI standard link picks a format during negotiations. An adapter with a higher priority is preferred then, that is, its format has priority over the other adapter's. The minimum valid priority is 0. The value 0 is the default. 0 means that there is no priority for this adapter format. If both adapters have priority 0, the behavior is as it was before this commit. If an adapter's priority is greater than 0, the following changes in behavior occur: 1. In si_audio_adapter_find_format (), new formats are always picked over a format that is already in use. Normally, the new format would only be picked over the one in use if the new format has a greater number of channels. 2. si_audio_adapter_configure_node () is called immediately when the adapter is activated. Normally, this is only done in certain cases, like when the stream.dont-remix property is true. 3. In the SI link, the adapter is configured even if the unpositioned flags of one or both adapters are set to true. The intent of this property is to be used when "upstream" (that is, the media source) wants to enforce its format "downstream". Normally, for example, audio sinks tend to open an audio output device with the maximum amount of channels it can handle, and then keep it open with that amount, even if incoming streams have fewer channels (the extra channels then remain unused). By using these format priorities, a different behavior can be configured where the output device reconfigures the audio hardware to use the amount of channels from upstream. |
||
|---|---|---|
| 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/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/>`_