VIDIOC_PREPARE_BUF — Prepare a buffer for I/O
int ioctl( | int fd, |
int request, | |
struct v4l2_buffer *argp) ; |
This is an experimental interface and may change in the future.
Applications can optionally call the
VIDIOC_PREPARE_BUF
ioctl to pass ownership of the buffer
to the driver before actually enqueuing it, using the
VIDIOC_QBUF
ioctl, and to prepare it for future I/O.
Such preparations may include cache invalidation or cleaning. Performing them
in advance saves time during the actual I/O. In case such cache operations are
not required, the application can use one of
V4L2_BUF_FLAG_NO_CACHE_INVALIDATE
and
V4L2_BUF_FLAG_NO_CACHE_CLEAN
flags to skip the respective
step.
The v4l2_buffer structure is specified in the section called “Buffers”.
On success 0 is returned, on error -1 and the errno
variable is set appropriately. The generic error codes are described at the Generic Error Codes chapter.
File I/O is in progress.
The buffer type
is not
supported, or the index
is out of bounds,
or no buffers have been allocated yet, or the
userptr
or
length
are invalid.