Skip to content

Commit 89e0ede

Browse files
committed
Camera (OpenBSD): add support
1 parent 4d7b241 commit 89e0ede

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/detection/camera/camera_linux.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77

88
#if FF_HAVE_LINUX_VIDEODEV2
99
#include <linux/videodev2.h>
10+
#elif __has_include(<sys/videoio.h>) // OpenBSD
11+
#include <sys/videoio.h>
12+
#define FF_HAVE_LINUX_VIDEODEV2 1
1013
#endif
1114

1215
const char* ffDetectCamera(FFlist* result)
@@ -19,7 +22,13 @@ const char* ffDetectCamera(FFlist* result)
1922
path[ARRAY_SIZE(path) - 2] = (char) (i + '0');
2023
FF_AUTO_CLOSE_FD int fd = open(path, O_RDONLY);
2124
if (fd < 0)
22-
break;
25+
{
26+
if (errno == ENOENT)
27+
break;
28+
if (errno == ENXIO)
29+
continue;
30+
return "Failed to open /dev/videoN";
31+
}
2332

2433
struct v4l2_capability cap = {};
2534
if (ioctl(fd, VIDIOC_QUERYCAP, &cap) < 0 || !(cap.capabilities & V4L2_CAP_VIDEO_CAPTURE))

0 commit comments

Comments
 (0)