This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/cgit.cgi/v4l-utils.git tree:
Subject: v4l2-compliance: do not warn for unexpected vivid_ro_ctrl values Author: Hans Verkuil <hverkuil-ci...@xs4all.nl> Date: Wed May 8 08:59:46 2024 +0200 The vivid driver does not produce reliable sequence counters, the first sequence counter may be > 0, and there are gaps in the counters when there shouldn't be. Until this is fixed (work in progress) replace the warning when an unexpected vivid_ro_ctrl value is seen by an info message. Once vivid is fixed this can be reworked. Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl> utils/v4l2-compliance/v4l2-compliance.h | 10 ++++++++++ utils/v4l2-compliance/v4l2-test-buffers.cpp | 10 ++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=7d7c5d2973f0891c5289dcd33fb8e6a84ac9c91e diff --git a/utils/v4l2-compliance/v4l2-compliance.h b/utils/v4l2-compliance/v4l2-compliance.h index b6e342f31ce3..3517bd07a452 100644 --- a/utils/v4l2-compliance/v4l2-compliance.h +++ b/utils/v4l2-compliance/v4l2-compliance.h @@ -226,6 +226,16 @@ private: printf("\t\tinfo: " fmt, ##args); \ } while (0) +#define info_once(fmt, args...) \ + do { \ + static bool show; \ + \ + if (!show) { \ + show = true; \ + info(fmt, ##args); \ + } \ + } while (0) + #define warn(fmt, args...) \ do { \ warnings++; \ diff --git a/utils/v4l2-compliance/v4l2-test-buffers.cpp b/utils/v4l2-compliance/v4l2-test-buffers.cpp index 1db6f4e9e66c..fbd68d8dbb4e 100644 --- a/utils/v4l2-compliance/v4l2-test-buffers.cpp +++ b/utils/v4l2-compliance/v4l2-test-buffers.cpp @@ -2690,9 +2690,12 @@ int testRequests(struct node *node, bool test_streaming) // (sequence number & 0xff). vivid_ro_ctrls.request_fd = buf_req_fds[i]; fail_on_test(doioctl(node, VIDIOC_G_EXT_CTRLS, &vivid_ro_ctrls)); + // FIXME: due to unreliable sequence counters from vivid this + // test fails regularly. For now replace the 'warn_once' by + // 'info_once' until vivid is fixed. if (node->is_video && !node->can_output && vivid_ro_ctrl.value != (int)i) - warn_once("vivid_ro_ctrl.value (%d) != i (%u)\n", + info_once("vivid_ro_ctrl.value (%d) != i (%u)\n", vivid_ro_ctrl.value, i); // Check that the dynamic control array is set as @@ -2768,9 +2771,12 @@ int testRequests(struct node *node, bool test_streaming) // For vivid check the final read-only value, vivid_ro_ctrls.which = 0; fail_on_test(doioctl(node, VIDIOC_G_EXT_CTRLS, &vivid_ro_ctrls)); + // FIXME: due to unreliable sequence counters from vivid this + // test fails regularly. For now replace the 'warn' by 'info' + // until vivid is fixed. if (node->is_video && !node->can_output && vivid_ro_ctrl.value != (int)(num_bufs - 1)) - warn("vivid_ro_ctrl.value (%d) != num_bufs - 1 (%d)\n", + info("vivid_ro_ctrl.value (%d) != num_bufs - 1 (%d)\n", vivid_ro_ctrl.value, num_bufs - 1); // the final dynamic array value,