8.45. ioctl VIDIOC_PREPARE_BUF

8.45.1. Name

VIDIOC_PREPARE_BUF - Prepare a buffer for I/O

8.45.2. Synopsis

int ioctl(int fd, VIDIOC_PREPARE_BUF, struct v4l2_buffer *argp)

8.45.3. Arguments

fd
File descriptor returned by open().

argp

8.45.4. Description

Applications can optionally call the ioctl VIDIOC_PREPARE_BUF ioctl to pass ownership of the buffer to the driver before actually enqueuing it, using the ioctl VIDIOC_QBUF, VIDIOC_DQBUF 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 struct v4l2_buffer structure is specified in Buffers.

8.45.5. 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 Generic Error Codes chapter.

EBUSY
File I/O is in progress.
EINVAL
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.

Table Of Contents

Previous topic

8.44. ioctl VIDIOC_OVERLAY

Next topic

8.46. ioctl VIDIOC_QBUF, VIDIOC_DQBUF

This Page