This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/v4l-utils.git tree:
Subject: v4l2-compliance: various fixes. Author: Hans Verkuil <[email protected]> Date: Sat May 26 09:46:45 2012 +0200 - set node.caps to vcap.device_caps if possible - G/S_CTRL didn't test properly for the corner case where there are no controls at all. - fix an overly strict test: 'LANG1 capability, but NTSC-M standard'. If the tuner supports PAL as well, then this is perfectly legal. Signed-off-by: Hans Verkuil <[email protected]> (cherry picked from commit a9baad093d32036664264d37b011f484709b7088) Signed-off-by: Gregor Jasny <[email protected]> utils/v4l2-compliance/v4l2-compliance.cpp | 5 ++++- utils/v4l2-compliance/v4l2-test-controls.cpp | 8 ++++++-- utils/v4l2-compliance/v4l2-test-input-output.cpp | 2 -- 3 files changed, 10 insertions(+), 5 deletions(-) --- http://git.linuxtv.org/v4l-utils.git?a=commitdiff;h=fe448dbc440d0b462f9f2e56027f951b41c9e791 diff --git a/utils/v4l2-compliance/v4l2-compliance.cpp b/utils/v4l2-compliance/v4l2-compliance.cpp index 3d5ffaf..4869520 100644 --- a/utils/v4l2-compliance/v4l2-compliance.cpp +++ b/utils/v4l2-compliance/v4l2-compliance.cpp @@ -475,7 +475,10 @@ int main(int argc, char **argv) } doioctl(&node, VIDIOC_QUERYCAP, &vcap); - node.caps = vcap.capabilities; + if (vcap.capabilities & V4L2_CAP_DEVICE_CAPS) + node.caps = vcap.device_caps; + else + node.caps = vcap.capabilities; if (node.caps & (V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VBI_CAPTURE | V4L2_CAP_SLICED_VBI_CAPTURE | V4L2_CAP_RDS_CAPTURE | V4L2_CAP_RADIO | V4L2_CAP_TUNER)) diff --git a/utils/v4l2-compliance/v4l2-test-controls.cpp b/utils/v4l2-compliance/v4l2-test-controls.cpp index 50b7764..8656fa8 100644 --- a/utils/v4l2-compliance/v4l2-test-controls.cpp +++ b/utils/v4l2-compliance/v4l2-test-controls.cpp @@ -438,13 +438,15 @@ int testSimpleControls(struct node *node) } ctrl.id = 0; ret = doioctl(node, VIDIOC_G_CTRL, &ctrl); - if (ret != EINVAL) + if (ret != EINVAL && ret != ENOTTY) return fail("g_ctrl accepted invalid control ID\n"); ctrl.id = 0; ctrl.value = 0; ret = doioctl(node, VIDIOC_S_CTRL, &ctrl); - if (ret != EINVAL) + if (ret != EINVAL && ret != ENOTTY) return fail("s_ctrl accepted invalid control ID\n"); + if (ret == ENOTTY && node->controls.empty()) + return ENOTTY; return 0; } @@ -715,6 +717,8 @@ int testControlEvents(struct node *node) if (ret) return fail("unsubscribe event for control '%s' failed\n", iter->name); } + if (node->controls.empty()) + return ENOTTY; return 0; } diff --git a/utils/v4l2-compliance/v4l2-test-input-output.cpp b/utils/v4l2-compliance/v4l2-test-input-output.cpp index a719022..ba7c429 100644 --- a/utils/v4l2-compliance/v4l2-test-input-output.cpp +++ b/utils/v4l2-compliance/v4l2-test-input-output.cpp @@ -58,8 +58,6 @@ static int checkTuner(struct node *node, const struct v4l2_tuner &tuner, return fail("did not expect to see V4L2_TUNER_CAP_LOW set for a tv tuner\n"); if (!tv && !(tuner.capability & V4L2_TUNER_CAP_LOW)) return fail("V4L2_TUNER_CAP_LOW was not set for a radio tuner\n"); - if (tv && std == V4L2_STD_NTSC_M && (tuner.capability & V4L2_TUNER_CAP_LANG1)) - return fail("LANG1 capability, but NTSC-M standard\n"); if (tuner.rangelow >= tuner.rangehigh) return fail("rangelow >= rangehigh\n"); if (tuner.rangelow == 0 || tuner.rangehigh == 0xffffffff) _______________________________________________ linuxtv-commits mailing list [email protected] http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
