wireplumber/modules
Carlos Rafael Giani 401de84fc2 si-linkables: add int format-preference-priority SI audio adapter property
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.
2024-09-02 11:05:22 +02:00
..
module-lua-scripting m-lua-scripting: correct typo 2024-05-08 14:20:16 +00:00
module-reserve-device dbus: refactor WpDBus into a plugin called dbus-connection 2023-06-20 12:39:29 +03:00
dbus-connection-state.h dbus: refactor WpDBus into a plugin called dbus-connection 2023-06-20 12:39:29 +03:00
meson.build remove "virtual items" scripts, m-si-audio-virtual and related tests 2024-06-26 15:48:07 +03:00
module-dbus-connection.c dbus: refactor WpDBus into a plugin called dbus-connection 2023-06-20 12:39:29 +03:00
module-default-nodes-api.c metadata: remove wp_metadata_iterator_item_extract() API 2024-02-28 08:15:17 -05:00
module-file-monitor-api.c core: change the component arguments to be WpSpaJson instead of GVariant 2023-05-25 18:29:58 +03:00
module-log-settings.c log: rename back to wp_log_set_level 2024-01-13 16:33:05 +00:00
module-logind.c Improve monitoring of seat state 2024-05-08 13:58:16 +00:00
module-mixer-api.c m-mixer-api: use gboolean instead of bool 2024-03-04 17:22:03 +00:00
module-portal-permissionstore.c m-portal-permissionstore: improve the warnings printed due to remote errors 2024-03-25 13:51:46 +02:00
module-settings.c m-settings: remove all persistent settings if key is null 2024-03-23 09:39:45 +00:00
module-si-audio-adapter.c si-linkables: add int format-preference-priority SI audio adapter property 2024-09-02 11:05:22 +02:00
module-si-node.c si-linkables: do not fully reset when the underlying proxy is destroyed 2024-03-12 12:44:32 +02:00
module-si-standard-link.c si-linkables: add int format-preference-priority SI audio adapter property 2024-09-02 11:05:22 +02:00
module-standard-event-source.c m-std-event-source: cancel events when the node associated with the si dies 2024-03-22 15:35:22 +02:00