35 lines
1.4 KiB
ReStructuredText
35 lines
1.4 KiB
ReStructuredText
|
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
|
||
|
|
||
|
.. _querycap:
|
||
|
|
||
|
*********************
|
||
|
Querying Capabilities
|
||
|
*********************
|
||
|
|
||
|
Because V4L2 covers a wide variety of devices not all aspects of the API
|
||
|
are equally applicable to all types of devices. Furthermore devices of
|
||
|
the same type have different capabilities and this specification permits
|
||
|
the omission of a few complicated and less important parts of the API.
|
||
|
|
||
|
The :ref:`VIDIOC_QUERYCAP` ioctl is available to
|
||
|
check if the kernel device is compatible with this specification, and to
|
||
|
query the :ref:`functions <devices>` and :ref:`I/O methods <io>`
|
||
|
supported by the device.
|
||
|
|
||
|
Starting with kernel version 3.1, :ref:`VIDIOC_QUERYCAP`
|
||
|
will return the V4L2 API version used by the driver, with generally
|
||
|
matches the Kernel version. There's no need of using
|
||
|
:ref:`VIDIOC_QUERYCAP` to check if a specific ioctl
|
||
|
is supported, the V4L2 core now returns ``ENOTTY`` if a driver doesn't
|
||
|
provide support for an ioctl.
|
||
|
|
||
|
Other features can be queried by calling the respective ioctl, for
|
||
|
example :ref:`VIDIOC_ENUMINPUT` to learn about the
|
||
|
number, types and names of video connectors on the device. Although
|
||
|
abstraction is a major objective of this API, the
|
||
|
:ref:`VIDIOC_QUERYCAP` ioctl also allows driver
|
||
|
specific applications to reliably identify the driver.
|
||
|
|
||
|
All V4L2 drivers must support :ref:`VIDIOC_QUERYCAP`.
|
||
|
Applications should always call this ioctl after opening the device.
|