/usr/share/wireplumber/scripts/lib
NameSizeModeActions
audio-group-utils.lua6430644editdlrm
common-utils.lua23890644editdlrm
device-info-cache.lua18200644editdlrm
filter-utils.lua127070644editdlrm
linking-utils.lua135220644editdlrm
monitor-utils.lua45130644editdlrm
node-utils.lua12370644editdlrm
Edit: /usr/share/wireplumber/scripts/lib/node-utils.lua (1237B)
-- WirePlumber -- -- Copyright © 2024 Collabora Ltd. -- -- SPDX-License-Identifier: MIT local cutils = require ("common-utils") local module = {} function module.get_session_priority (node_props) local priority = node_props ["priority.session"] -- fallback to driver priority if session priority is not set if not priority then priority = node_props ["priority.driver"] end return math.tointeger (priority) or 0 end function module.get_route_priority (node_props) local card_profile_device = node_props ["card.profile.device"] local device_id = node_props ["device.id"] -- if the node does not have an associated device, just return 0 if not card_profile_device or not device_id then return 0 end -- Get the device devices_om = cutils.get_object_manager ("device") local device = devices_om:lookup { Constraint { "bound-id", "=", device_id, type = "gobject" }, } if not device then return 0 end -- Get the priority of the associated route for p in device:iterate_params ("Route") do local route = cutils.parseParam (p, "Route") if route and (route.device == tonumber (card_profile_device)) then return route.priority end end return 0 end return module