vidioc-g-priority.rst 2.7 KB
Newer Older
1 2
.. -*- coding: utf-8; mode: rst -*-

3
.. _VIDIOC_G_PRIORITY:
4 5 6 7 8

******************************************
ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY
******************************************

9
Name
10
====
11

12
VIDIOC_G_PRIORITY - VIDIOC_S_PRIORITY - Query or request the access priority associated with a file descriptor
13

14 15

Synopsis
16 17
========

18
.. c:function:: int ioctl( int fd, int request, enum v4l2_priority *argp )
19

20
.. c:function:: int ioctl( int fd, int request, const enum v4l2_priority *argp )
21

22

23
Arguments
24 25 26 27 28 29 30 31 32 33 34 35
=========

``fd``
    File descriptor returned by :ref:`open() <func-open>`.

``request``
    VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY

``argp``
    Pointer to an enum v4l2_priority type.


36
Description
37 38 39
===========

To query the current access priority applications call the
40
:ref:`VIDIOC_G_PRIORITY <VIDIOC_G_PRIORITY>` ioctl with a pointer to an enum v4l2_priority
41 42 43
variable where the driver stores the current priority.

To request an access priority applications store the desired priority in
44
an enum v4l2_priority variable and call :ref:`VIDIOC_S_PRIORITY <VIDIOC_G_PRIORITY>` ioctl
45 46 47 48 49
with a pointer to this variable.


.. _v4l2-priority:

50 51
.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|

52 53 54 55 56 57 58 59 60 61 62 63
.. flat-table:: enum v4l2_priority
    :header-rows:  0
    :stub-columns: 0
    :widths:       3 1 4


    -  .. row 1

       -  ``V4L2_PRIORITY_UNSET``

       -  0

64
       -
65 66 67 68 69 70 71 72

    -  .. row 2

       -  ``V4L2_PRIORITY_BACKGROUND``

       -  1

       -  Lowest priority, usually applications running in background, for
73 74 75
	  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.
76 77 78 79 80 81 82

    -  .. row 3

       -  ``V4L2_PRIORITY_INTERACTIVE``

       -  2

83
       -
84 85 86 87 88 89 90 91

    -  .. row 4

       -  ``V4L2_PRIORITY_DEFAULT``

       -  2

       -  Medium priority, usually applications started and interactively
92 93 94 95
	  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.
96 97 98 99 100 101 102 103

    -  .. row 5

       -  ``V4L2_PRIORITY_RECORD``

       -  3

       -  Highest priority. Only one file descriptor can have this priority,
104 105
	  it blocks any other fd from changing device properties. Usually
	  applications which must not be interrupted, like video recording.
106 107


108
Return Value
109 110 111 112 113 114 115 116 117 118 119
============

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.