diff --git a/plugins/linux-v4l2/v4l2-helpers.c b/plugins/linux-v4l2/v4l2-helpers.c index 5bed14c7c..d468b9011 100644 --- a/plugins/linux-v4l2/v4l2-helpers.c +++ b/plugins/linux-v4l2/v4l2-helpers.c @@ -240,6 +240,12 @@ int_fast32_t v4l2_set_standard(int_fast32_t dev, int *standard) int_fast32_t v4l2_enum_dv_timing(int_fast32_t dev, struct v4l2_dv_timings *dvt, int index) { +#ifndef VIDIOC_ENUM_DV_TIMINGS + UNUSED_PARAMETER(dev); + UNUSED_PARAMETER(dvt); + UNUSED_PARAMETER(index); + return -1; +#else if (!dev || !dvt) return -1; @@ -253,6 +259,7 @@ int_fast32_t v4l2_enum_dv_timing(int_fast32_t dev, struct v4l2_dv_timings *dvt, memcpy(dvt, &iter.timings, sizeof(struct v4l2_dv_timings)); return 0; +#endif } int_fast32_t v4l2_set_dv_timing(int_fast32_t dev, int *timing) diff --git a/plugins/linux-v4l2/v4l2-input.c b/plugins/linux-v4l2/v4l2-input.c index 962ea3882..f9e3d8d06 100644 --- a/plugins/linux-v4l2/v4l2-input.c +++ b/plugins/linux-v4l2/v4l2-input.c @@ -41,6 +41,12 @@ along with this program. If not, see . #include "v4l2-udev.h" #endif +/* The new dv timing api was introduced in Linux 3.4 + * Currently we simply disable dv timings when this is not defined */ +#ifndef VIDIOC_ENUM_DV_TIMINGS +#define V4L2_IN_CAP_DV_TIMINGS 0 +#endif + #define V4L2_DATA(voidptr) struct v4l2_data *data = voidptr; #define timeval2ns(tv) \ @@ -933,6 +939,9 @@ static void *v4l2_create(obs_data_t *settings, obs_source_t *source) #ifndef V4L2_CAP_DEVICE_CAPS blog(LOG_WARNING, "Plugin built without device caps support!"); #endif +#ifndef VIDIOC_ENUM_DV_TIMINGS + blog(LOG_WARNING, "Plugin built without dv-timing support!"); +#endif v4l2_update(data, settings);