MCPcopy Create free account
hub / github.com/RustCV/RustCV / request_buffers

Function request_buffers

rustcv-camera/src/backend/linux/sys.rs:259–268  ·  view source on GitHub ↗

Request mmap buffers from the kernel (VIDIOC_REQBUFS). 向内核申请 mmap 缓冲区(VIDIOC_REQBUFS)。 The kernel may allocate fewer buffers than requested. Check `reqbufs.count` for the actual number. 内核可能分配比请求更少的缓冲区。检查 `reqbufs.count` 获取实际数量。

(fd: RawFd, count: u32)

Source from the content-addressed store, hash-verified

257/// Check `reqbufs.count` for the actual number.
258/// 内核可能分配比请求更少的缓冲区。检查 `reqbufs.count` 获取实际数量。
259pub fn request_buffers(fd: RawFd, count: u32) -> io::Result<v4l2_requestbuffers> {
260 let mut req: v4l2_requestbuffers = unsafe { std::mem::zeroed() };
261 req.count = count;
262 req.type_ = V4L2_BUF_TYPE_VIDEO_CAPTURE;
263 req.memory = V4L2_MEMORY_MMAP;
264 unsafe {
265 v4l2_ioctl(fd, VIDIOC_REQBUFS, &mut req as *mut _ as *mut libc::c_void)?;
266 }
267 Ok(req)
268}
269
270/// Query a single buffer's offset and length (VIDIOC_QUERYBUF).
271/// 查询单个缓冲区的偏移量和大小(VIDIOC_QUERYBUF)。

Callers 2

allocate_buffersMethod · 0.85
dropMethod · 0.85

Calls 1

v4l2_ioctlFunction · 0.85

Tested by

no test coverage detected