123456789101112131415161718192021222324252627282930 |
- .. -*- coding: utf-8; mode: rst -*-
- .. _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.
|