--- /dev/null
+# meta-agl-demo WirePlumber V4L2 monitor configuration
+
+monitor.v4l2.rules = [
+ #
+ # Bump the priority of any USB camera
+ # Higher priority means it gets selected as the default if it's present
+ # This makes camera-gstreamer work out of the box in demos with a USB camera
+ #
+ {
+ matches = [
+ {
+ node.name = "~v4l2_input.*usb.*"
+ }
+ ]
+ actions = {
+ update-props = {
+ priority.driver = 1300
+ priority.session = 1300
+ }
+ }
+ }
+]
+++ /dev/null
--- V4L2 monitor config file; with selecting by default USB camera --
-
-v4l2_monitor = {}
-v4l2_monitor.properties = {}
-
-v4l2_monitor.rules = {
- -- An array of matches/actions to evaluate.
- {
- -- Rules for matching a device or node. It is an array of
- -- properties that all need to match the regexp. If any of the
- -- matches work, the actions are executed for the object.
- matches = {
- {
- -- This matches all cards.
- { "device.name", "matches", "v4l2_device.*" },
- },
- },
- -- Apply properties on the matched object.
- apply_properties = {
- -- ["device.nick"] = "My Device",
- },
- },
- {
- matches = {
- {
- -- Matches all sources.
- { "node.name", "matches", "v4l2_input.*" },
- },
- {
- -- Matches all sinks.
- { "node.name", "matches", "v4l2_output.*" },
- },
- },
- apply_properties = {
- --["node.nick"] = "My Node",
- --["priority.driver"] = 100,
- --["priority.session"] = 100,
- --["node.pause-on-idle"] = false,
- },
- },
- {
- matches = {
- {
- { "node.name", "matches", "v4l2_input*usb*" },
- },
- },
- apply_properties = {
- ["priority.driver"] = 1300,
- ["priority.session"] = 1300,
- },
- },
-}
-
-function v4l2_monitor.enable()
- load_monitor("v4l2", {
- properties = v4l2_monitor.properties,
- rules = v4l2_monitor.rules,
- })
-end
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI += "file://30-v4l2-monitor.lua"
+SRC_URI += "file://30-AGL-demo-v4l2.conf"
do_install:append() {
- # override the one from meta-agl to be able to set as default USB camera
- # such that camera-gstreamer and implicitly pipewire work out of the box
- install -D -m 0644 ${WORKDIR}/30-v4l2-monitor.lua ${D}${sysconfdir}/wireplumber/host.lua.d/
+ install -D -m 0644 ${WORKDIR}/30-AGL-demo-v4l2.conf ${D}${sysconfdir}/wireplumber/wireplumber.conf.d/
}