mirror of
https://gitlab.freedesktop.org/pipewire/wireplumber.git
synced 2026-02-04 16:40:28 +01:00
Merge branch 'default-nodes-improvements' into 'master'
default-nodes: Never consider Audio/Sink nodes as best for default audio.source node type See merge request pipewire/wireplumber!781
This commit is contained in:
commit
42b60a33d3
1 changed files with 10 additions and 0 deletions
|
|
@ -18,6 +18,8 @@ SimpleEventHook {
|
|||
},
|
||||
},
|
||||
execute = function (event)
|
||||
local props = event:get_properties ()
|
||||
local def_node_type = props ["default-node.type"]
|
||||
local available_nodes = event:get_data ("available-nodes")
|
||||
local selected_prio = event:get_data ("selected-node-priority") or 0
|
||||
local selected_route_prio = event:get_data ("selected-route-priority") or 0
|
||||
|
|
@ -37,6 +39,12 @@ SimpleEventHook {
|
|||
-- Highest priority node wins
|
||||
local priority = nutils.get_session_priority (node_props)
|
||||
local route_priority = nutils.get_route_priority (node_props)
|
||||
local media_class = node_props ["media.class"]
|
||||
|
||||
-- Never consider sink nodes as best if audio.source is the def node type
|
||||
if media_class == "Audio/Sink" and def_node_type == "audio.source" then
|
||||
goto skip_node
|
||||
end
|
||||
|
||||
if selected_node == nil or
|
||||
priority > selected_prio or
|
||||
|
|
@ -46,6 +54,8 @@ SimpleEventHook {
|
|||
selected_route_prio = route_priority
|
||||
selected_node = node_props ["node.name"]
|
||||
end
|
||||
|
||||
::skip_node::
|
||||
end
|
||||
|
||||
event:set_data ("selected-node-priority", selected_prio)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue