✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server.blackpussy.asia ​🇻​♯➤ 5.14.0-611.20.1.el9_7.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 163.245.207.76 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.243
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗞 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ mail,mb_send_mail
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /usr/share/wireplumber/scripts/monitors/libcamera//name-node.lua
-- WirePlumber
--
-- Copyright © 2023 Collabora Ltd.
--    @author Ashok Sidipotu <ashok.sidipotu@collabora.com>
--
-- SPDX-License-Identifier: MIT

mutils = require ("monitor-utils")

log = Log.open_topic ("s-monitors-libcamera")

SimpleEventHook {
  name = "monitor/libcamera/name-node",
  interests = {
    EventInterest {
      Constraint { "event.type", "=", "create-libcamera-device-node" },
    },
  },
  execute = function(event)
    local properties = event:get_data ("node-properties")
    local parent = event:get_subject ()
    local dev_props = parent.properties
    local factory = event:get_data ("factory")
    local id = event:get_data ("node-sub-id")
    local location = properties ["api.libcamera.location"]

    -- set the device id and spa factory name; REQUIRED, do not change
    properties ["device.id"] = parent ["bound-id"]
    properties ["factory.name"] = factory

    -- set the default pause-on-idle setting
    properties ["node.pause-on-idle"] = false

    -- set the node name
    local name =
        (factory:find ("sink") and "libcamera_output") or
        (factory:find ("source") and "libcamera_input" or factory)
        .. "." ..
        (dev_props ["device.name"]:gsub ("^libcamera_device%.(.+)", "%1") or
          dev_props ["device.name"] or
          dev_props ["device.nick"] or
          dev_props ["device.alias"] or
          "libcamera-device")
    -- sanitize name
    name = name:gsub ("([^%w_%-%.])", "_")

    properties ["node.name"] = name

    -- deduplicate nodes with the same name
    for counter = 2, 99, 1 do
      if mutils.find_duplicate (parent, id, "node.name", properties ["node.name"]) then
        properties ["node.name"] = name .. "." .. counter
      else
        break
      end
    end

    -- set the node description
    local desc = dev_props ["device.description"] or "libcamera-device"
    if location == "front" then
      desc = I18n.gettext ("Built-in Front Camera")
    elseif location == "back" then
      desc = I18n.gettext ("Built-in Back Camera")
    end
    -- sanitize description, replace ':' with ' '
    properties ["node.description"] = desc:gsub ("(:)", " ")

    -- set the node nick
    local nick = properties ["node.nick"] or
        dev_props ["device.product.name"] or
        dev_props ["device.description"] or
        dev_props ["device.nick"]
    properties ["node.nick"] = nick:gsub ("(:)", " ")

    -- set priority
    if not properties ["priority.session"] then
      local priority = 700
      if location == "external" then
        priority = priority + 150
      elseif location == "front" then
        priority = priority + 100
      elseif location == "back" then
        priority = priority + 50
      end
      properties ["priority.session"] = priority
    end

    event:set_data ("node-properties", properties)
  end
}:register ()

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
27 May 2026 4.58 AM
root / root
0755
create-device.lua
1.562 KB
10 Oct 2025 2.43 PM
root / root
0644
create-node.lua
1.212 KB
10 Oct 2025 2.43 PM
root / root
0644
enumerate-device.lua
0.983 KB
10 Oct 2025 2.43 PM
root / root
0644
name-device.lua
1.346 KB
10 Oct 2025 2.43 PM
root / root
0644
name-node.lua
2.785 KB
10 Oct 2025 2.43 PM
root / root
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF