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

Reply via email to