aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2012-01-11 05:30:55 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-01-16 06:37:53 -0500
commit6055b12ae0f433314cba98f423fb8c5fc211ca8d (patch)
tree0298a0437a2c51b3543ae788260ff98dbd8c82c9
parent047a01fdc807ffa461db87e2d30d6d28f95c091a (diff)
[media] V4L2 Spec: fix extended control documentation
Update the spec to the behavior implemented by the control framework. This should have been documented long ago but for some reason it was never done. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml18
-rw-r--r--Documentation/video4linux/v4l2-controls.txt21
2 files changed, 13 insertions, 26 deletions
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
index 6f1f9a629dc3..b17a7aac6997 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
@@ -183,7 +183,12 @@ applications must set the array to zero.</entry>
183 <entry>__u32</entry> 183 <entry>__u32</entry>
184 <entry><structfield>ctrl_class</structfield></entry> 184 <entry><structfield>ctrl_class</structfield></entry>
185 <entry>The control class to which all controls belong, see 185 <entry>The control class to which all controls belong, see
186<xref linkend="ctrl-class" />.</entry> 186<xref linkend="ctrl-class" />. Drivers that use a kernel framework for handling
187controls will also accept a value of 0 here, meaning that the controls can
188belong to any control class. Whether drivers support this can be tested by setting
189<structfield>ctrl_class</structfield> to 0 and calling <constant>VIDIOC_TRY_EXT_CTRLS</constant>
190with a <structfield>count</structfield> of 0. If that succeeds, then the driver
191supports this feature.</entry>
187 </row> 192 </row>
188 <row> 193 <row>
189 <entry>__u32</entry> 194 <entry>__u32</entry>
@@ -194,10 +199,13 @@ also be zero.</entry>
194 <row> 199 <row>
195 <entry>__u32</entry> 200 <entry>__u32</entry>
196 <entry><structfield>error_idx</structfield></entry> 201 <entry><structfield>error_idx</structfield></entry>
197 <entry>Set by the driver in case of an error. It is the 202 <entry>Set by the driver in case of an error. If it is equal
198index of the control causing the error or equal to 'count' when the 203to <structfield>count</structfield>, then no actual changes were made to
199error is not associated with a particular control. Undefined when the 204controls. In other words, the error was not associated with setting a particular
200ioctl returns 0 (success).</entry> 205control. If it is another value, then only the controls up to <structfield>error_idx-1</structfield>
206were modified and control <structfield>error_idx</structfield> is the one that
207caused the error. The <structfield>error_idx</structfield> value is undefined
208if the ioctl returned 0 (success).</entry>
201 </row> 209 </row>
202 <row> 210 <row>
203 <entry>__u32</entry> 211 <entry>__u32</entry>
diff --git a/Documentation/video4linux/v4l2-controls.txt b/Documentation/video4linux/v4l2-controls.txt
index 26aa0573933e..e2492a9d1027 100644
--- a/Documentation/video4linux/v4l2-controls.txt
+++ b/Documentation/video4linux/v4l2-controls.txt
@@ -666,27 +666,6 @@ a control of this type whenever the first control belonging to a new control
666class is added. 666class is added.
667 667
668 668
669Differences from the Spec
670=========================
671
672There are a few places where the framework acts slightly differently from the
673V4L2 Specification. Those differences are described in this section. We will
674have to see whether we need to adjust the spec or not.
675
6761) It is no longer required to have all controls contained in a
677v4l2_ext_control array be from the same control class. The framework will be
678able to handle any type of control in the array. You need to set ctrl_class
679to 0 in order to enable this. If ctrl_class is non-zero, then it will still
680check that all controls belong to that control class.
681
682If you set ctrl_class to 0 and count to 0, then it will only return an error
683if there are no controls at all.
684
6852) Clarified the way error_idx works. For get and set it will be equal to
686count if nothing was done yet. If it is less than count then only the controls
687up to error_idx-1 were successfully applied.
688
689
690Proposals for Extensions 669Proposals for Extensions
691======================== 670========================
692 671