MOON
Server: Apache
System: Linux mail.espica.me 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: golnoorlig (1005)
PHP: 8.2.31
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/share/wireplumber/scripts/monitors/v4l2/enumerate-device.lua
-- WirePlumber
--
-- Copyright © 2023 Collabora Ltd.
--    @author Ashok Sidipotu <ashok.sidipotu@collabora.com>
--
-- SPDX-License-Identifier: MIT

cutils = require ("common-utils")
log = Log.open_topic ("s-monitors-v4l2")

config = {}
config.properties = Conf.get_section_as_properties ("monitor.v4l2.properties")

function createCamDevice (parent, id, type, factory, properties)
  source = source or Plugin.find ("standard-event-source")

  local e = source:call ("create-event", "create-v4l2-device", parent, nil)
  e:set_data ("device-properties", properties)
  e:set_data ("factory", factory)
  e:set_data ("device-sub-id", id)

  EventDispatcher.push_event (e)
end

monitor = SpaDevice ("api.v4l2.enum.udev", config.properties)
if monitor then
  monitor:connect ("create-object", createCamDevice)
  monitor:activate (Feature.SpaDevice.ENABLED)
else
  log:notice ("PipeWire's V4L2 SPA plugin is missing or broken. " ..
      "Some camera types may not be supported.")
end