7.45. ioctl VIDIOC_PREPARE_BUF¶
7.45.1. 名称¶
VIDIOC_PREPARE_BUF - 准备用于 I/O 的缓冲区
7.45.2. 概要¶
-
VIDIOC_PREPARE_BUF¶
int ioctl(int fd, VIDIOC_PREPARE_BUF, struct v4l2_buffer *argp)
7.45.3. 参数¶
fd
由
open()
返回的文件描述符。argp
指向 struct
v4l2_buffer
的指针。
7.45.4. 描述¶
应用程序可以选择调用 ioctl VIDIOC_PREPARE_BUF ioctl,以便在使用 VIDIOC_QBUF ioctl 实际排队缓冲区之前,将缓冲区的所有权传递给驱动程序,并为将来的 I/O 准备它。 这种准备可能包括缓存失效或清理。 提前执行它们可以节省实际 I/O 期间的时间。
struct v4l2_buffer
结构在 缓冲区 中指定。
7.45.5. 返回值¶
成功时返回 0,出错时返回 -1,并适当设置 errno
变量。 通用错误代码在 通用错误代码 章节中描述。
- EBUSY
文件 I/O 正在进行中。
- EINVAL
不支持缓冲区
type
,或者index
超出范围,或者尚未分配任何缓冲区,或者userptr
或length
无效。