94 lines
2.6 KiB
ReStructuredText
94 lines
2.6 KiB
ReStructuredText
|
.. -*- coding: utf-8; mode: rst -*-
|
||
|
|
||
|
.. _VIDIOC_G_PRIORITY:
|
||
|
|
||
|
******************************************
|
||
|
ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY
|
||
|
******************************************
|
||
|
|
||
|
Name
|
||
|
====
|
||
|
|
||
|
VIDIOC_G_PRIORITY - VIDIOC_S_PRIORITY - Query or request the access priority associated with a file descriptor
|
||
|
|
||
|
|
||
|
Synopsis
|
||
|
========
|
||
|
|
||
|
.. c:function:: int ioctl( int fd, VIDIOC_G_PRIORITY, enum v4l2_priority *argp )
|
||
|
:name: VIDIOC_G_PRIORITY
|
||
|
|
||
|
.. c:function:: int ioctl( int fd, VIDIOC_S_PRIORITY, const enum v4l2_priority *argp )
|
||
|
:name: VIDIOC_S_PRIORITY
|
||
|
|
||
|
|
||
|
Arguments
|
||
|
=========
|
||
|
|
||
|
``fd``
|
||
|
File descriptor returned by :ref:`open() <func-open>`.
|
||
|
|
||
|
``argp``
|
||
|
Pointer to an enum v4l2_priority type.
|
||
|
|
||
|
|
||
|
Description
|
||
|
===========
|
||
|
|
||
|
To query the current access priority applications call the
|
||
|
:ref:`VIDIOC_G_PRIORITY <VIDIOC_G_PRIORITY>` ioctl with a pointer to an enum v4l2_priority
|
||
|
variable where the driver stores the current priority.
|
||
|
|
||
|
To request an access priority applications store the desired priority in
|
||
|
an enum v4l2_priority variable and call :ref:`VIDIOC_S_PRIORITY <VIDIOC_G_PRIORITY>` ioctl
|
||
|
with a pointer to this variable.
|
||
|
|
||
|
|
||
|
.. c:type:: v4l2_priority
|
||
|
|
||
|
.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
|
||
|
|
||
|
.. flat-table:: enum v4l2_priority
|
||
|
:header-rows: 0
|
||
|
:stub-columns: 0
|
||
|
:widths: 3 1 4
|
||
|
|
||
|
* - ``V4L2_PRIORITY_UNSET``
|
||
|
- 0
|
||
|
-
|
||
|
* - ``V4L2_PRIORITY_BACKGROUND``
|
||
|
- 1
|
||
|
- Lowest priority, usually applications running in background, for
|
||
|
example monitoring VBI transmissions. A proxy application running
|
||
|
in user space will be necessary if multiple applications want to
|
||
|
read from a device at this priority.
|
||
|
* - ``V4L2_PRIORITY_INTERACTIVE``
|
||
|
- 2
|
||
|
-
|
||
|
* - ``V4L2_PRIORITY_DEFAULT``
|
||
|
- 2
|
||
|
- Medium priority, usually applications started and interactively
|
||
|
controlled by the user. For example TV viewers, Teletext browsers,
|
||
|
or just "panel" applications to change the channel or video
|
||
|
controls. This is the default priority unless an application
|
||
|
requests another.
|
||
|
* - ``V4L2_PRIORITY_RECORD``
|
||
|
- 3
|
||
|
- Highest priority. Only one file descriptor can have this priority,
|
||
|
it blocks any other fd from changing device properties. Usually
|
||
|
applications which must not be interrupted, like video recording.
|
||
|
|
||
|
|
||
|
Return Value
|
||
|
============
|
||
|
|
||
|
On success 0 is returned, on error -1 and the ``errno`` variable is set
|
||
|
appropriately. The generic error codes are described at the
|
||
|
:ref:`Generic Error Codes <gen-errors>` chapter.
|
||
|
|
||
|
EINVAL
|
||
|
The requested priority value is invalid.
|
||
|
|
||
|
EBUSY
|
||
|
Another application already requested higher priority.
|