$OpenBSD: patch-media_capture_video_linux_video_capture_device_factory_linux_cc,v 1.1 2019/06/26 17:22:41 robert Exp $

Index: media/capture/video/linux/video_capture_device_factory_linux.cc
--- media/capture/video/linux/video_capture_device_factory_linux.cc.orig
+++ media/capture/video/linux/video_capture_device_factory_linux.cc
@@ -78,6 +78,9 @@ class DevVideoFilePathsDeviceProvider
     : public VideoCaptureDeviceFactoryLinux::DeviceProvider {
  public:
   void GetDeviceIds(std::vector<std::string>* target_container) override {
+#if defined(OS_BSD)
+    target_container->emplace_back("/dev/video");
+#else
     const base::FilePath path("/dev/");
     base::FileEnumerator enumerator(path, false, base::FileEnumerator::FILES,
                                     "video*");
@@ -85,9 +88,13 @@ class DevVideoFilePathsDeviceProvider
       const base::FileEnumerator::FileInfo info = enumerator.GetInfo();
       target_container->emplace_back(path.value() + info.GetName().value());
     }
+#endif
   }
 
   std::string GetDeviceModelId(const std::string& device_id) override {
+#if defined(OS_BSD)
+    return std::string();
+#endif
     const std::string file_name = ExtractFileNameFromDeviceId(device_id);
     std::string usb_id;
     const std::string vid_path =
@@ -105,6 +112,9 @@ class DevVideoFilePathsDeviceProvider
   }
 
   std::string GetDeviceDisplayName(const std::string& device_id) override {
+#if defined(OS_BSD)
+    return std::string();
+#endif
     const std::string file_name = ExtractFileNameFromDeviceId(device_id);
     const std::string interface_path =
         base::StringPrintf(kInterfacePathTemplate, file_name.c_str());
@@ -250,7 +260,7 @@ void VideoCaptureDeviceFactoryLinux::GetSupportedForma
   GetSupportedFormatsForV4L2BufferType(fd.get(), supported_formats);
 }
 
-int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, int request, void* argp) {
+int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, unsigned int request, void* argp) {
   return HANDLE_EINTR(v4l2_->ioctl(fd, request, argp));
 }
 
