Server : Apache System : Linux wealthytechsolutions.wealthytechsolutions.com 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : raybondt ( 1003) PHP Version : 8.3.31 Disable Function : exec,passthru,shell_exec,system Directory : /usr/share/wireplumber/scripts/lib/ |
-- 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