diff --git a/plugins/linux-v4l2/v4l2-input.c b/plugins/linux-v4l2/v4l2-input.c index d5092ec5f..f8175737a 100644 --- a/plugins/linux-v4l2/v4l2-input.c +++ b/plugins/linux-v4l2/v4l2-input.c @@ -39,6 +39,8 @@ along with this program. If not, see . #include "v4l2-helpers.h" #include "v4l2-decoder.h" +#define FALLBACK_FRAMERATE 30 + #if HAVE_UDEV #include "v4l2-udev.h" #endif @@ -1029,6 +1031,11 @@ static void v4l2_init(struct v4l2_data *data) blog(LOG_ERROR, "Unable to set framerate"); goto fail; } + if (data->framerate == 0) { + blog(LOG_ERROR, "Framerate is not set, falling back to %i", + FALLBACK_FRAMERATE); + data->framerate = v4l2_pack_tuple(1, FALLBACK_FRAMERATE); + } v4l2_unpack_tuple(&fps_num, &fps_denom, data->framerate); blog(LOG_INFO, "Framerate: %.2f fps", (float)fps_denom / fps_num);