mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.3 KiB
30 lines
1.3 KiB
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later |
|
|
|
.. _app-pri: |
|
|
|
******************** |
|
Application Priority |
|
******************** |
|
|
|
When multiple applications share a device it may be desirable to assign |
|
them different priorities. Contrary to the traditional "rm -rf /" school |
|
of thought, a video recording application could for example block other |
|
applications from changing video controls or switching the current TV |
|
channel. Another objective is to permit low priority applications |
|
working in background, which can be preempted by user controlled |
|
applications and automatically regain control of the device at a later |
|
time. |
|
|
|
Since these features cannot be implemented entirely in user space V4L2 |
|
defines the :ref:`VIDIOC_G_PRIORITY <VIDIOC_G_PRIORITY>` and |
|
:ref:`VIDIOC_S_PRIORITY <VIDIOC_G_PRIORITY>` ioctls to request and |
|
query the access priority associate with a file descriptor. Opening a |
|
device assigns a medium priority, compatible with earlier versions of |
|
V4L2 and drivers not supporting these ioctls. Applications requiring a |
|
different priority will usually call :ref:`VIDIOC_S_PRIORITY |
|
<VIDIOC_G_PRIORITY>` after verifying the device with the |
|
:ref:`VIDIOC_QUERYCAP` ioctl. |
|
|
|
Ioctls changing driver properties, such as |
|
:ref:`VIDIOC_S_INPUT <VIDIOC_G_INPUT>`, return an ``EBUSY`` error code |
|
after another application obtained higher priority.
|
|
|