| .. Permission is granted to copy, distribute and/or modify this |
| .. document under the terms of the GNU Free Documentation License, |
| .. Version 1.1 or any later version published by the Free Software |
| .. Foundation, with no Invariant Sections, no Front-Cover Texts |
| .. and no Back-Cover Texts. A copy of the license is included at |
| .. Documentation/media/uapi/fdl-appendix.rst. |
| .. |
| .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections |
| |
| .. _VIDIOC_G_PRIORITY: |
| |
| ****************************************** |
| ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY |
| ****************************************** |
| |
| Name |
| ==== |
| |
| VIDIOC_G_PRIORITY - VIDIOC_S_PRIORITY - Query or request the access priority associated with a file descriptor |
| |
| |
| Synopsis |
| ======== |
| |
| .. c:function:: int ioctl( int fd, VIDIOC_G_PRIORITY, enum v4l2_priority *argp ) |
| :name: VIDIOC_G_PRIORITY |
| |
| .. c:function:: int ioctl( int fd, VIDIOC_S_PRIORITY, const enum v4l2_priority *argp ) |
| :name: VIDIOC_S_PRIORITY |
| |
| |
| Arguments |
| ========= |
| |
| ``fd`` |
| File descriptor returned by :ref:`open() <func-open>`. |
| |
| ``argp`` |
| Pointer to an enum :c:type:`v4l2_priority` type. |
| |
| |
| Description |
| =========== |
| |
| To query the current access priority applications call the |
| :ref:`VIDIOC_G_PRIORITY <VIDIOC_G_PRIORITY>` ioctl with a pointer to an enum v4l2_priority |
| variable where the driver stores the current priority. |
| |
| To request an access priority applications store the desired priority in |
| an enum v4l2_priority variable and call :ref:`VIDIOC_S_PRIORITY <VIDIOC_G_PRIORITY>` ioctl |
| with a pointer to this variable. |
| |
| |
| .. c:type:: v4l2_priority |
| |
| .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}| |
| |
| .. flat-table:: enum v4l2_priority |
| :header-rows: 0 |
| :stub-columns: 0 |
| :widths: 3 1 4 |
| |
| * - ``V4L2_PRIORITY_UNSET`` |
| - 0 |
| - |
| * - ``V4L2_PRIORITY_BACKGROUND`` |
| - 1 |
| - Lowest priority, usually applications running in background, for |
| 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. |
| * - ``V4L2_PRIORITY_INTERACTIVE`` |
| - 2 |
| - |
| * - ``V4L2_PRIORITY_DEFAULT`` |
| - 2 |
| - Medium priority, usually applications started and interactively |
| 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. |
| * - ``V4L2_PRIORITY_RECORD`` |
| - 3 |
| - Highest priority. Only one file descriptor can have this priority, |
| it blocks any other fd from changing device properties. Usually |
| applications which must not be interrupted, like video recording. |
| |
| |
| Return Value |
| ============ |
| |
| 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. |