2016-06-30 15:18:56 +02:00
.. -*- coding: utf-8; mode: rst -*-
2016-07-01 13:42:29 -03:00
.. _VIDIOC_G_PRIORITY:
2016-06-30 15:18:56 +02:00
***** ***** ***** ***** ***** ***** ***** ***** **
ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY
***** ***** ***** ***** ***** ***** ***** ***** **
2016-07-05 15:14:35 -03:00
Name
2016-07-05 07:58:48 -03:00
====
2016-06-30 15:18:56 +02:00
2016-07-05 07:58:48 -03:00
VIDIOC_G_PRIORITY - VIDIOC_S_PRIORITY - Query or request the access priority associated with a file descriptor
2016-06-30 15:18:56 +02:00
2016-07-05 15:14:35 -03:00
Synopsis
2016-06-30 15:18:56 +02:00
========
2016-08-19 16:53:38 -03:00
.. c:function :: int ioctl( int fd, VIDIOC_G_PRIORITY, enum v4l2_priority *argp )
:name: VIDIOC_G_PRIORITY
2016-06-30 15:18:56 +02:00
2016-08-19 16:53:38 -03:00
.. c:function :: int ioctl( int fd, VIDIOC_S_PRIORITY, const enum v4l2_priority *argp )
:name: VIDIOC_S_PRIORITY
2016-06-30 15:18:56 +02:00
2016-07-05 07:58:48 -03:00
2016-07-05 15:14:35 -03:00
Arguments
2016-06-30 15:18:56 +02:00
=========
`` fd ``
File descriptor returned by :ref: `open() <func-open>` .
`` argp ``
Pointer to an enum v4l2_priority type.
2016-07-05 15:14:35 -03:00
Description
2016-06-30 15:18:56 +02:00
===========
To query the current access priority applications call the
2016-07-03 10:02:29 -03:00
:ref: `VIDIOC_G_PRIORITY <VIDIOC_G_PRIORITY>` ioctl with a pointer to an enum v4l2_priority
2016-06-30 15:18:56 +02:00
variable where the driver stores the current priority.
To request an access priority applications store the desired priority in
2016-07-01 14:33:56 -03:00
an enum v4l2_priority variable and call :ref: `VIDIOC_S_PRIORITY <VIDIOC_G_PRIORITY>` ioctl
2016-06-30 15:18:56 +02:00
with a pointer to this variable.
.. _v4l2-priority:
[media] docs-rst: add tabularcolumns to all tables
LaTeX doesn't handle too well auto-width on tables, and ReST
markup requires an special tag to give it the needed hints.
As we're using A4 paper, we have 17cm of useful spaces. As
most media tables have widths, let's use it to generate the
needed via the following perl script:
my ($line_size, $table_header, $has_cols) = (17.5, 0, 0);
my $out;
my $header = "";
my @widths = ();
sub round { $_[0] > 0 ? int($_[0] + .5) : -int(-$_[0] + .5) }
while (<>) {
if (!$table_header) {
$has_cols = 1 if (m/..\s+tabularcolumns::/);
if (m/..\s+flat-table::/) {
$table_header = 1;
$header = $_;
next;
}
$out .= $_;
next;
}
$header .= $_;
@widths = split(/ /, $1) if (m/:widths:\s+(.*)/);
if (m/^\n$/) {
if (!$has_cols && @widths) {
my ($tot, $t, $i) = (0, 0, 0);
foreach my $v(@widths) { $tot += $v; };
$out .= ".. tabularcolumns:: |";
for ($i = 0; $i < scalar @widths - 1; $i++) {
my $v = $widths[$i];
my $w = round(10 * ($v * $line_size) / $tot) / 10;
$out .= sprintf "p{%.1fcm}|", $w;
$t += $w;
}
my $w = $line_size - $t;
$out .= sprintf "p{%.1fcm}|\n\n", $w;
}
$out .= $header;
$table_header = 0;
$has_cols = 0;
$header = "";
@widths = ();
}
}
print $out;
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-17 08:14:19 -03:00
.. tabularcolumns :: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
2016-06-30 15:18:56 +02:00
.. flat-table :: enum v4l2_priority
:header-rows: 0
:stub-columns: 0
:widths: 3 1 4
- .. row 1
- `` V4L2_PRIORITY_UNSET ``
- 0
2016-07-04 16:25:48 -03:00
-
2016-06-30 15:18:56 +02:00
- .. row 2
- `` V4L2_PRIORITY_BACKGROUND ``
- 1
- Lowest priority, usually applications running in background, for
2016-07-04 16:25:48 -03:00
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.
2016-06-30 15:18:56 +02:00
- .. row 3
- `` V4L2_PRIORITY_INTERACTIVE ``
- 2
2016-07-04 16:25:48 -03:00
-
2016-06-30 15:18:56 +02:00
- .. row 4
- `` V4L2_PRIORITY_DEFAULT ``
- 2
- Medium priority, usually applications started and interactively
2016-07-04 16:25:48 -03:00
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.
2016-06-30 15:18:56 +02:00
- .. row 5
- `` V4L2_PRIORITY_RECORD ``
- 3
- Highest priority. Only one file descriptor can have this priority,
2016-07-04 16:25:48 -03:00
it blocks any other fd from changing device properties. Usually
applications which must not be interrupted, like video recording.
2016-06-30 15:18:56 +02:00
2016-07-05 15:14:35 -03:00
Return Value
2016-06-30 15:18:56 +02:00
============
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.