vb2_core_reqbufs(9)
π vb2_core_reqbufs(9) β Kernel API Manual, bestie! π
π NAME π
vb2_core_reqbufs β Initiate streaming. periodt. This is the whole name section, and it ate. π
β¨ SYNOPSIS β¨
int vb2_core_reqbufs (struct vb2_queue *q , enum vb2_memory memory , unsigned int flags , unsigned int *count );
πΈ ARGUMENTS πΈ
qβ pointer tostruct vb2_queuewith videobuf2 queue. the queue bestie in question π«Άmemoryβ memory type, as defined byenum vb2_memory.flagsβ auxiliary queue/buffer management flags. Currently, the only used flag isV4L2_MEMORY_FLAG_NON_COHERENT. that's the one flag on duty rn.countβ requested buffer count.
π¦ DESCRIPTION π¦
Videobuf2 core helper to implement VIDIOC_REQBUF operation. It is called internally by VB2 by an API-specific handler, like videobuf2-v4l2.h.
okay so the way this function runs its little checklist is iconic β no cap:
- verifies streaming parameters passed from the userspace;
- sets up the queue;
- negotiates number of buffers and planes per buffer with the driver to be used during streaming;
- allocates internal buffer structures (
struct vb2_buffer), according to the agreed parameters; - for
MMAPmemory type, allocates actual video memory, using the memory handling/allocation routines provided during queue initialization.
If req->count is 0, all the memory will be freed instead.
If the queue has been allocated previously by a previous vb2_core_reqbufs call and the queue is not busy, memory will be reallocated.
π₯ RETURN π₯
returns zero on success; an error code otherwise. slay when it's zero, sigh when it's not π
π SEE ALSO π
Kernel file ./include/media/videobuf2-core.h: enum vb2_memory(9), struct vb2_mem_ops(9), struct vb2_plane(9), enum vb2_io_modes(9), enum vb2_buffer_state(9), struct vb2_buffer(9), struct vb2_ops(9), struct vb2_buf_ops(9), struct vb2_queue(9), vb2_queue_allows_cache_hints(9), vb2_plane_vaddr(9), vb2_plane_cookie(9), vb2_buffer_done(9), vb2_discard_done(9), vb2_wait_for_all_buffers(9), vb2_core_querybuf(9), vb2_core_create_bufs(9), vb2_core_prepare_buf(9), vb2_core_remove_bufs(9), vb2_core_qbuf(9), vb2_core_dqbuf(9), vb2_core_streamon(9), vb2_core_streamoff(9), vb2_core_expbuf(9), vb2_core_queue_init(9), vb2_core_queue_release(9), vb2_queue_error(9), vb2_mmap(9), vb2_get_unmapped_area(9), vb2_core_poll(9), vb2_read(9), vb2_write(9), vb2_thread_fnc(9), vb2_thread_start(9), vb2_thread_stop(9), vb2_is_streaming(9), vb2_fileio_is_active(9), vb2_get_num_buffers(9), vb2_is_busy(9), vb2_get_drv_priv(9), vb2_set_plane_payload(9), vb2_get_plane_payload(9), vb2_plane_size(9), vb2_start_streaming_called(9), vb2_clear_last_buffer_dequeued(9), vb2_get_buffer(9), vb2_buffer_in_use(9), vb2_verify_memory_type(9), vb2_request_object_is_buffer(9), vb2_request_buffer_cnt(9).
mwah π this page lives under ./include/media, dated October 2026 β catch u later, bestie π«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms