diff --git a/plugins/linux-v4l2/v4l2-input.c b/plugins/linux-v4l2/v4l2-input.c index 0a4d7f4ac..0ef8d572c 100644 --- a/plugins/linux-v4l2/v4l2-input.c +++ b/plugins/linux-v4l2/v4l2-input.c @@ -269,7 +269,11 @@ static void v4l2_device_list(obs_property_t *prop, obs_data_t *settings) size_t cur_device_index; const char *cur_device_name; +#ifdef __FreeBSD__ + dirp = opendir("/dev"); +#else dirp = opendir("/sys/class/video4linux"); +#endif if (!dirp) return; @@ -285,6 +289,11 @@ static void v4l2_device_list(obs_property_t *prop, obs_data_t *settings) uint32_t caps; struct v4l2_capability video_cap; +#ifdef __FreeBSD__ + if (strstr(dp->d_name, "video") == NULL) + continue; +#endif + if (dp->d_type == DT_DIR) continue;