diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
index d9ff1a47e293b66998017d48bf6df2da0d2f2c85..e1a4d233432fa5e5fd063f59b53fbf54e18cbcdf 100644
--- a/libavdevice/v4l2.c
+++ b/libavdevice/v4l2.c
@@ -688,7 +688,7 @@ static int v4l2_set_parameters(AVFormatContext *s1)
             standard.index = i;
             if (v4l2_ioctl(s->fd, VIDIOC_ENUMSTD, &standard) < 0) {
                 ret = AVERROR(errno);
-                if (ret == AVERROR(EINVAL)) {
+                if (ret == AVERROR(EINVAL) || ret == AVERROR(ENODATA)) {
                     tpf = &streamparm.parm.capture.timeperframe;
                     break;
                 }