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: improve RDS capability checking. Author: Hans Verkuil <[email protected]> Date: Thu Jul 5 13:16:37 2012 +0200 Signed-off-by: Hans Verkuil <[email protected]> (cherry picked from commit ae427c70eaf4b81b71cf9f0988578762ada2c6e6) Signed-off-by: Gregor Jasny <[email protected]> utils/v4l2-compliance/v4l2-test-input-output.cpp | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) --- http://git.linuxtv.org/v4l-utils.git?a=commitdiff;h=bb816f6f76f63aa0eb6742a7279c7c259e3dbb4f diff --git a/utils/v4l2-compliance/v4l2-test-input-output.cpp b/utils/v4l2-compliance/v4l2-test-input-output.cpp index d9ae1f7..657f34b 100644 --- a/utils/v4l2-compliance/v4l2-test-input-output.cpp +++ b/utils/v4l2-compliance/v4l2-test-input-output.cpp @@ -74,6 +74,14 @@ static int checkTuner(struct node *node, const struct v4l2_tuner &tuner, if (!(tuner.capability & V4L2_TUNER_CAP_RDS) && (tuner.rxsubchans & V4L2_TUNER_SUB_RDS)) return fail("RDS subchan, but no RDS caps?\n"); + bool have_rds = tuner.capability & V4L2_TUNER_CAP_RDS; + bool have_rds_method = tuner.capability & + (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) && + !(node->caps & V4L2_CAP_READWRITE)) + return fail("V4L2_TUNER_CAP_RDS 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) @@ -491,6 +499,14 @@ static int checkModulator(struct node *node, const struct v4l2_modulator &mod, u if (!(mod.capability & V4L2_TUNER_CAP_RDS) && (mod.txsubchans & V4L2_TUNER_SUB_RDS)) return fail("RDS subchan, but no RDS caps?\n"); + bool have_rds = mod.capability & V4L2_TUNER_CAP_RDS; + bool have_rds_method = mod.capability & + (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) && + !(node->caps & V4L2_CAP_READWRITE)) + return fail("V4L2_TUNER_CAP_RDS set, but not V4L2_CAP_READWRITE\n"); return 0; } _______________________________________________ linuxtv-commits mailing list [email protected] http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
