v4l2_m2m_up...eaming_state(9)
π v4l2_m2m_up...eaming_state(9) β from the Kernel API Manual, bestie π
okay so real talk, this page is v4l2_m2m_up...eaming_state(9) (yes the name got truncated with ... in the header, that's just how the manual renders it, not a typo on your end, breathe π«Ά). It's a kernel API page. It's short. It's sweet. Let's get into it β¨
πΈ NAME πΈ
v4l2_m2m_update_start_streaming_state β updates the encoding/decoding session state when someone asks for a start of streaming on a video queue. that's the whole vibe. it's the "we're going live" button but for your mem2mem session π¬
β SYNOPSIS β
void v4l2_m2m_update_start_streaming_state (struct v4l2_m2m_ctx *m2m_ctx
, struct vb2_queue *q );
literally that's it. returns void, takes two pointers, does not miss π
π ARGUMENTS π
m2m_ctxβ the m2m context that's assigned to the instance, handed to you as astruct v4l2_m2m_ctx. it's giving main character energy, it's the context of the whole thing β¨qβ the queue. yeah. that's the description. queue. iconic minimalism, ngl π
π¦ SEE ALSO π¦
the kernel file lives at ./include/media/v4l2-mem2mem.h and here's the whole friend group that comes with it β no cap, this is the entire squad, not skipping a single one π
struct v4l2_m2m_ops(9)struct v4l2_m2m_queue_ctx(9)struct v4l2_m2m_ctx(9)struct v4l2_m2m_buffer(9)v4l2_m2m_get_curr_priv(9)v4l2_m2m_get_vq(9)v4l2_m2m_try_schedule(9)v4l2_m2m_job_finish(9)v4l2_m2m_buf_done_and_job_finish(9)v4l2_m2m_clear_state(9)v4l2_m2m_mark_stopped(9)v4l2_m2m_dst_buf_is_last(9)v4l2_m2m_has_stopped(9)v4l2_m2m_is_last_draining_src_buf(9)v4l2_m2m_last_buffer_done(9)v4l2_m2m_suspend(9)v4l2_m2m_resume(9)v4l2_m2m_reqbufs(9)v4l2_m2m_querybuf(9)v4l2_m2m_qbuf(9)v4l2_m2m_dqbuf(9)v4l2_m2m_prepare_buf(9)v4l2_m2m_create_bufs(9)v4l2_m2m_expbuf(9)v4l2_m2m_streamon(9)v4l2_m2m_streamoff(9)v4l2_m2m_update_stop_streaming_state(9)v4l2_m2m_encoder_cmd(9)v4l2_m2m_decoder_cmd(9)v4l2_m2m_poll(9)v4l2_m2m_mmap(9)v4l2_m2m_init(9)v4l2_m2m_release(9)v4l2_m2m_get(9)v4l2_m2m_put(9)v4l2_m2m_ctx_init(9)v4l2_m2m_ctx_release(9)v4l2_m2m_buf_queue(9)v4l2_m2m_num_src_bufs_ready(9)v4l2_m2m_num_dst_bufs_ready(9)v4l2_m2m_next_buf(9)v4l2_m2m_next_src_buf(9)v4l2_m2m_next_dst_buf(9)v4l2_m2m_last_buf(9)v4l2_m2m_last_src_buf(9)v4l2_m2m_last_dst_buf(9)v4l2_m2m_for_each_dst_buf(9)v4l2_m2m_for_each_src_buf(9)v4l2_m2m_for_each_dst_buf_safe(9)v4l2_m2m_for_each_src_buf_safe(9)v4l2_m2m_get_src_vq(9)v4l2_m2m_get_dst_vq(9)v4l2_m2m_buf_remove(9)v4l2_m2m_src_buf_remove(9)v4l2_m2m_dst_buf_remove(9)v4l2_m2m_buf_remove_by_buf(9)v4l2_m2m_src_buf_remove_by_buf(9)v4l2_m2m_dst_buf_remove_by_buf(9)v4l2_m2m_buf_copy_metadata(9)
fr fr that's 58 entries and every single one made it in, you're welcome πβ¨
and that's the page, bestie π the source is ./include/media, the version stamp says October 2026, and the page signs itself v4l2_m2m_up...eaming_state(9) β go stream something on. mwah ππ
π¦ 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