From 09f00b5086663864fcddc553bef773a1404d3be9 Mon Sep 17 00:00:00 2001 From: Dmitry Sharshakov Date: Tue, 10 Jan 2023 17:32:03 +0300 Subject: [PATCH] v4l2: support setting target source --- pipewire-v4l2/src/pipewire-v4l2.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pipewire-v4l2/src/pipewire-v4l2.c b/pipewire-v4l2/src/pipewire-v4l2.c index fbe71baea..88702f95b 100644 --- a/pipewire-v4l2/src/pipewire-v4l2.c +++ b/pipewire-v4l2/src/pipewire-v4l2.c @@ -672,7 +672,7 @@ static void registry_event_global(void *data, uint32_t id, const struct global_info *info = NULL; struct pw_proxy *proxy; const char *str; - uint32_t serial = SPA_ID_INVALID, dev; + uint32_t serial = SPA_ID_INVALID, dev, req_serial; if (spa_streq(type, PW_TYPE_INTERFACE_Node)) { @@ -692,6 +692,11 @@ static void registry_event_global(void *data, uint32_t id, !spa_atou32(str, &serial, 10)) return; + if ((str = getenv("PIPEWIRE_V4L2_TARGET")) != NULL + && spa_atou32(str, &req_serial, 10) + && req_serial != serial) + return; + dev = find_dev_for_serial(serial); if (dev != SPA_ID_INVALID && dev != file->dev_id) return;