Query a single buffer's offset and length (VIDIOC_QUERYBUF). 查询单个缓冲区的偏移量和大小(VIDIOC_QUERYBUF)。 The returned `m.offset` and `length` are needed for `mmap()`. 返回的 `m.offset` 和 `length` 用于 `mmap()` 映射。
(fd: RawFd, index: u32)
| 273 | /// The returned `m.offset` and `length` are needed for `mmap()`. |
| 274 | /// 返回的 `m.offset` 和 `length` 用于 `mmap()` 映射。 |
| 275 | pub fn query_buffer(fd: RawFd, index: u32) -> io::Result<v4l2_buffer> { |
| 276 | let mut buf: v4l2_buffer = unsafe { std::mem::zeroed() }; |
| 277 | buf.index = index; |
| 278 | buf.type_ = V4L2_BUF_TYPE_VIDEO_CAPTURE; |
| 279 | buf.memory = V4L2_MEMORY_MMAP; |
| 280 | unsafe { |
| 281 | v4l2_ioctl(fd, VIDIOC_QUERYBUF, &mut buf as *mut _ as *mut libc::c_void)?; |
| 282 | } |
| 283 | Ok(buf) |
| 284 | } |
| 285 | |
| 286 | /// Enqueue a buffer — return it to the driver for filling (VIDIOC_QBUF). |
| 287 | /// 将缓冲区入队 —— 归还给驱动以便其写入新数据(VIDIOC_QBUF)。 |
no test coverage detected