mirror of
https://gitlab.freedesktop.org/pipewire/wireplumber.git
synced 2026-05-06 05:58:24 +02:00
test-lib.lua: add support of default device selection
This commit is contained in:
parent
de24f7a432
commit
db4ace420c
1 changed files with 44 additions and 1 deletions
|
|
@ -35,7 +35,6 @@ function u.createDeviceNode (name, media_class)
|
|||
u.lnkbls [name] = nil
|
||||
u.lnkbl_count = u.lnkbl_count + 1
|
||||
end)
|
||||
|
||||
return node
|
||||
end
|
||||
|
||||
|
|
@ -45,4 +44,48 @@ function u.createStreamNode (name)
|
|||
u.lnkbl_count = u.lnkbl_count + 1
|
||||
end
|
||||
|
||||
u.metadata = cu.default_metadata_om:lookup ()
|
||||
assert (u.metadata ~= nil)
|
||||
|
||||
-- hook to keep track of the linkables created.
|
||||
SimpleEventHook {
|
||||
name = "test-utils-linking",
|
||||
interests = {
|
||||
-- on linkable added or removed, where linkable is adapter or plain node
|
||||
EventInterest {
|
||||
Constraint { "event.type", "=", "session-item-added" },
|
||||
Constraint { "event.session-item.interface", "=", "linkable" },
|
||||
Constraint { "item.factory.name", "c", "si-audio-adapter", "si-node" },
|
||||
},
|
||||
},
|
||||
execute = function (event)
|
||||
local lnkbl = event:get_subject ()
|
||||
local lp = lnkbl.properties
|
||||
local name = lp ["node.name"]
|
||||
|
||||
Log.info (lnkbl, "activated linkable: " .. name ..
|
||||
" with media_class: " .. lp ["media.class"])
|
||||
if not u.lnkbls [name] then
|
||||
u.lnkbls [name] = lnkbl
|
||||
else
|
||||
Log.info ("unknown linkable " .. name)
|
||||
end
|
||||
|
||||
if name == "default-device-node" then
|
||||
local args = { ["name"] = name }
|
||||
local args_json = Json.Object (args)
|
||||
local key = nil
|
||||
|
||||
if lp ["media.class"] == "Audio/Sink" then
|
||||
key = "default.configured.audio.sink"
|
||||
elseif lp ["media.class"] == "Audio/Source" then
|
||||
key = "default.configured.audio.source"
|
||||
end
|
||||
|
||||
-- configure default device.
|
||||
u.metadata:set (0, key, "Spa:String:JSON", args_json:get_data ())
|
||||
end
|
||||
end
|
||||
}:register ()
|
||||
|
||||
return u
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue