diff --git a/libcheese/cheese-camera-device.c b/libcheese/cheese-camera-device.c
index f11dd828..f0d576f7 100644
--- a/libcheese/cheese-camera-device.c
+++ b/libcheese/cheese-camera-device.c
@@ -857,11 +857,26 @@ GstElement *
 cheese_camera_device_get_src (CheeseCameraDevice *device)
 {
     CheeseCameraDevicePrivate *priv;
+    GstElement *src;
 
   g_return_val_if_fail (CHEESE_IS_CAMERA_DEVICE (device), NULL);
 
     priv = cheese_camera_device_get_instance_private (device);
 
+    if (priv->path != NULL && g_str_has_prefix (priv->path, "/dev/") &&
+        gst_element_factory_find ("v4l2src") != NULL)
+    {
+      src = gst_element_factory_make ("v4l2src", NULL);
+      if (src != NULL)
+      {
+        g_object_set (src,
+                      "device", priv->path,
+                      "do-timestamp", TRUE,
+                      NULL);
+        return src;
+      }
+    }
+
     return gst_device_create_element (priv->device, NULL);
 }

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2168618

Title:
  Cheese preview freezes after startup with PipeWire camera source

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cheese/+bug/2168618/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to