From c358f36bd9a899152d1791669a1e206c503c0ae5 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Mon, 8 Apr 2013 12:40:51 +0200 Subject: [PATCH] v4l2-compliance: fix RDS + CAP_READWRITE tests. The READWRITE capability should only be set if RDS_BLOCK_IO is set. Signed-off-by: Hans Verkuil --- utils/v4l2-compliance/v4l2-compliance.cpp | 5 ++--- utils/v4l2-compliance/v4l2-test-input-output.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/utils/v4l2-compliance/v4l2-compliance.cpp b/utils/v4l2-compliance/v4l2-compliance.cpp index 052f548..799b624 100644 --- a/utils/v4l2-compliance/v4l2-compliance.cpp +++ b/utils/v4l2-compliance/v4l2-compliance.cpp @@ -258,11 +258,10 @@ static int testCap(struct node *node) const __u32 input_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OVERLAY | V4L2_CAP_VBI_CAPTURE | V4L2_CAP_SLICED_VBI_CAPTURE | V4L2_CAP_VIDEO_CAPTURE_MPLANE | V4L2_CAP_HW_FREQ_SEEK | - V4L2_CAP_RDS_CAPTURE | V4L2_CAP_TUNER; + V4L2_CAP_TUNER; const __u32 output_caps = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_VIDEO_OUTPUT_MPLANE | V4L2_CAP_VIDEO_OUTPUT_OVERLAY | V4L2_CAP_VBI_OUTPUT | - V4L2_CAP_SLICED_VBI_OUTPUT | V4L2_CAP_MODULATOR | - V4L2_CAP_RDS_OUTPUT; + V4L2_CAP_SLICED_VBI_OUTPUT | V4L2_CAP_MODULATOR; const __u32 m2m_caps = V4L2_CAP_VIDEO_M2M | V4L2_CAP_VIDEO_M2M_MPLANE; const __u32 io_caps = V4L2_CAP_STREAMING | V4L2_CAP_READWRITE; const __u32 mplane_caps = V4L2_CAP_VIDEO_CAPTURE_MPLANE | V4L2_CAP_VIDEO_OUTPUT_MPLANE | diff --git a/utils/v4l2-compliance/v4l2-test-input-output.cpp b/utils/v4l2-compliance/v4l2-test-input-output.cpp index 20d30f5..ed5acff 100644 --- a/utils/v4l2-compliance/v4l2-test-input-output.cpp +++ b/utils/v4l2-compliance/v4l2-test-input-output.cpp @@ -117,9 +117,9 @@ static int checkTuner(struct node *node, const struct v4l2_tuner &tuner, (V4L2_TUNER_CAP_RDS_BLOCK_IO | V4L2_TUNER_CAP_RDS_CONTROLS); if (have_rds ^ have_rds_method) return fail("V4L2_TUNER_CAP_RDS is set, but not V4L2_TUNER_CAP_RDS_* or vice versa\n"); - if ((tuner.capability & V4L2_TUNER_CAP_RDS) && + if ((tuner.capability & V4L2_TUNER_CAP_RDS_BLOCK_IO) && !(node->caps & V4L2_CAP_READWRITE)) - return fail("V4L2_TUNER_CAP_RDS set, but not V4L2_CAP_READWRITE\n"); + return fail("V4L2_TUNER_CAP_RDS_BLOCK_IO is set, but not V4L2_CAP_READWRITE\n"); if (std == V4L2_STD_NTSC_M && (tuner.rxsubchans & V4L2_TUNER_SUB_LANG1)) return fail("LANG1 subchan, but NTSC-M standard\n"); if (tuner.audmode > V4L2_TUNER_MODE_LANG1_LANG2) @@ -562,9 +562,9 @@ static int checkModulator(struct node *node, const struct v4l2_modulator &mod, u (V4L2_TUNER_CAP_RDS_BLOCK_IO | V4L2_TUNER_CAP_RDS_CONTROLS); if (have_rds ^ have_rds_method) return fail("V4L2_TUNER_CAP_RDS is set, but not V4L2_TUNER_CAP_RDS_* or vice versa\n"); - if ((mod.capability & V4L2_TUNER_CAP_RDS) && + if ((mod.capability & V4L2_TUNER_CAP_RDS_BLOCK_IO) && !(node->caps & V4L2_CAP_READWRITE)) - return fail("V4L2_TUNER_CAP_RDS set, but not V4L2_CAP_READWRITE\n"); + return fail("V4L2_TUNER_CAP_RDS_BLOCK_IO is set, but not V4L2_CAP_READWRITE\n"); return checkEnumFreqBands(node, mod.index, V4L2_TUNER_RADIO, mod.capability); } -- 2.7.4