blob: 3f021e6b9d0dc1f685c22f865a35b22ed4bbaa06 [file] [log] [blame]
Markus Heiser5377d912016-06-30 15:18:56 +02001.. -*- coding: utf-8; mode: rst -*-
2
Mauro Carvalho Chehabaf4a4d02016-07-01 13:42:29 -03003.. _VIDIOC_G_PRIORITY:
Markus Heiser5377d912016-06-30 15:18:56 +02004
5******************************************
6ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY
7******************************************
8
Mauro Carvalho Chehab15e7d612016-07-05 15:14:35 -03009Name
Mauro Carvalho Chehab586027c2016-07-05 07:58:48 -030010====
Markus Heiser5377d912016-06-30 15:18:56 +020011
Mauro Carvalho Chehab586027c2016-07-05 07:58:48 -030012VIDIOC_G_PRIORITY - VIDIOC_S_PRIORITY - Query or request the access priority associated with a file descriptor
Markus Heiser5377d912016-06-30 15:18:56 +020013
Mauro Carvalho Chehab15e7d612016-07-05 15:14:35 -030014
15Synopsis
Markus Heiser5377d912016-06-30 15:18:56 +020016========
17
Mauro Carvalho Chehab5929cb12016-07-05 15:22:59 -030018.. cpp:function:: int ioctl( int fd, int request, enum v4l2_priority *argp )
Markus Heiser5377d912016-06-30 15:18:56 +020019
Mauro Carvalho Chehab5929cb12016-07-05 15:22:59 -030020.. cpp:function:: int ioctl( int fd, int request, const enum v4l2_priority *argp )
Markus Heiser5377d912016-06-30 15:18:56 +020021
Mauro Carvalho Chehab586027c2016-07-05 07:58:48 -030022
Mauro Carvalho Chehab15e7d612016-07-05 15:14:35 -030023Arguments
Markus Heiser5377d912016-06-30 15:18:56 +020024=========
25
26``fd``
27 File descriptor returned by :ref:`open() <func-open>`.
28
29``request``
30 VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY
31
32``argp``
33 Pointer to an enum v4l2_priority type.
34
35
Mauro Carvalho Chehab15e7d612016-07-05 15:14:35 -030036Description
Markus Heiser5377d912016-06-30 15:18:56 +020037===========
38
39To query the current access priority applications call the
Mauro Carvalho Chehab4e03cb72016-07-03 10:02:29 -030040:ref:`VIDIOC_G_PRIORITY <VIDIOC_G_PRIORITY>` ioctl with a pointer to an enum v4l2_priority
Markus Heiser5377d912016-06-30 15:18:56 +020041variable where the driver stores the current priority.
42
43To request an access priority applications store the desired priority in
Mauro Carvalho Chehab2212ff22016-07-01 14:33:56 -030044an enum v4l2_priority variable and call :ref:`VIDIOC_S_PRIORITY <VIDIOC_G_PRIORITY>` ioctl
Markus Heiser5377d912016-06-30 15:18:56 +020045with a pointer to this variable.
46
47
48.. _v4l2-priority:
49
Mauro Carvalho Chehab5bd4bb72016-08-17 08:14:19 -030050.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
51
Markus Heiser5377d912016-06-30 15:18:56 +020052.. flat-table:: enum v4l2_priority
53 :header-rows: 0
54 :stub-columns: 0
55 :widths: 3 1 4
56
57
58 - .. row 1
59
60 - ``V4L2_PRIORITY_UNSET``
61
62 - 0
63
Mauro Carvalho Chehab0579e6e2016-07-04 16:25:48 -030064 -
Markus Heiser5377d912016-06-30 15:18:56 +020065
66 - .. row 2
67
68 - ``V4L2_PRIORITY_BACKGROUND``
69
70 - 1
71
72 - Lowest priority, usually applications running in background, for
Mauro Carvalho Chehab0579e6e2016-07-04 16:25:48 -030073 example monitoring VBI transmissions. A proxy application running
74 in user space will be necessary if multiple applications want to
75 read from a device at this priority.
Markus Heiser5377d912016-06-30 15:18:56 +020076
77 - .. row 3
78
79 - ``V4L2_PRIORITY_INTERACTIVE``
80
81 - 2
82
Mauro Carvalho Chehab0579e6e2016-07-04 16:25:48 -030083 -
Markus Heiser5377d912016-06-30 15:18:56 +020084
85 - .. row 4
86
87 - ``V4L2_PRIORITY_DEFAULT``
88
89 - 2
90
91 - Medium priority, usually applications started and interactively
Mauro Carvalho Chehab0579e6e2016-07-04 16:25:48 -030092 controlled by the user. For example TV viewers, Teletext browsers,
93 or just "panel" applications to change the channel or video
94 controls. This is the default priority unless an application
95 requests another.
Markus Heiser5377d912016-06-30 15:18:56 +020096
97 - .. row 5
98
99 - ``V4L2_PRIORITY_RECORD``
100
101 - 3
102
103 - Highest priority. Only one file descriptor can have this priority,
Mauro Carvalho Chehab0579e6e2016-07-04 16:25:48 -0300104 it blocks any other fd from changing device properties. Usually
105 applications which must not be interrupted, like video recording.
Markus Heiser5377d912016-06-30 15:18:56 +0200106
107
Mauro Carvalho Chehab15e7d612016-07-05 15:14:35 -0300108Return Value
Markus Heiser5377d912016-06-30 15:18:56 +0200109============
110
111On success 0 is returned, on error -1 and the ``errno`` variable is set
112appropriately. The generic error codes are described at the
113:ref:`Generic Error Codes <gen-errors>` chapter.
114
115EINVAL
116 The requested priority value is invalid.
117
118EBUSY
119 Another application already requested higher priority.