Skip to content

Commit

Permalink
[media] DocBook: make the G/S/TRY_FMT specification more strict
Browse files Browse the repository at this point in the history
- S/TRY_FMT should always succeed, unless an invalid type field is passed in.
- TRY_FMT should give the same result as S_FMT, all other things being equal.
- ENUMFMT may return different formats for different inputs or outputs.
This was decided during the 2012 Media Workshop.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Hans Verkuil authored and Mauro Carvalho Chehab committed Sep 26, 2012
1 parent 6bd4dd2 commit 93828d6
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
3 changes: 3 additions & 0 deletions Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ structure. Drivers fill the rest of the structure or return an
incrementing by one until <errorcode>EINVAL</errorcode> is
returned.</para>

<para>Note that after switching input or output the list of enumerated image
formats may be different.</para>

<table pgwide="1" frame="none" id="v4l2-fmtdesc">
<title>struct <structname>v4l2_fmtdesc</structname></title>
<tgroup cols="3">
Expand Down
9 changes: 6 additions & 3 deletions Documentation/DocBook/media/v4l/vidioc-g-fmt.xml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ the application calls the <constant>VIDIOC_S_FMT</constant> ioctl
with a pointer to a <structname>v4l2_format</structname> structure
the driver checks
and adjusts the parameters against hardware abilities. Drivers
should not return an error code unless the input is ambiguous, this is
should not return an error code unless the <structfield>type</structfield> field is invalid, this is
a mechanism to fathom device capabilities and to approach parameters
acceptable for both the application and driver. On success the driver
may program the hardware, allocate resources and generally prepare for
Expand All @@ -107,6 +107,10 @@ disabling I/O or possibly time consuming hardware preparations.
Although strongly recommended drivers are not required to implement
this ioctl.</para>

<para>The format as returned by <constant>VIDIOC_TRY_FMT</constant>
must be identical to what <constant>VIDIOC_S_FMT</constant> returns for
the same input or output.</para>

<table pgwide="1" frame="none" id="v4l2-format">
<title>struct <structname>v4l2_format</structname></title>
<tgroup cols="4">
Expand Down Expand Up @@ -187,8 +191,7 @@ capture and output devices.</entry>
<term><errorcode>EINVAL</errorcode></term>
<listitem>
<para>The &v4l2-format; <structfield>type</structfield>
field is invalid, the requested buffer type not supported, or the
format is not supported with this buffer type.</para>
field is invalid or the requested buffer type not supported.</para>
</listitem>
</varlistentry>
</variablelist>
Expand Down

0 comments on commit 93828d6

Please sign in to comment.