Commit | Line | Data |
---|---|---|
5377d91f MH |
1 | .. -*- coding: utf-8; mode: rst -*- |
2 | ||
3 | .. _app-pri: | |
4 | ||
5 | ******************** | |
6 | Application Priority | |
7 | ******************** | |
8 | ||
9 | When multiple applications share a device it may be desirable to assign | |
10 | them different priorities. Contrary to the traditional "rm -rf /" school | |
11 | of thought a video recording application could for example block other | |
12 | applications from changing video controls or switching the current TV | |
13 | channel. Another objective is to permit low priority applications | |
14 | working in background, which can be preempted by user controlled | |
15 | applications and automatically regain control of the device at a later | |
16 | time. | |
17 | ||
18 | Since these features cannot be implemented entirely in user space V4L2 | |
4e03cb76 | 19 | defines the :ref:`VIDIOC_G_PRIORITY <VIDIOC_G_PRIORITY>` and |
af4a4d0d | 20 | :ref:`VIDIOC_S_PRIORITY <VIDIOC_G_PRIORITY>` ioctls to request and |
5377d91f MH |
21 | query the access priority associate with a file descriptor. Opening a |
22 | device assigns a medium priority, compatible with earlier versions of | |
23 | V4L2 and drivers not supporting these ioctls. Applications requiring a | |
e6702ee1 | 24 | different priority will usually call :ref:`VIDIOC_S_PRIORITY |
af4a4d0d | 25 | <VIDIOC_G_PRIORITY>` after verifying the device with the |
7347081e | 26 | :ref:`VIDIOC_QUERYCAP` ioctl. |
5377d91f MH |
27 | |
28 | Ioctls changing driver properties, such as | |
cdb4af0f | 29 | :ref:`VIDIOC_S_INPUT <VIDIOC_G_INPUT>`, return an ``EBUSY`` error code |
5377d91f | 30 | after another application obtained higher priority. |