media_pipel...ty_iter_init(9)
π
media_pipel...ty_iter_init(9) β Kernel API Manual, girl edition
okay so welcome to the manual page for media_pipel...ty_iter_init(9), from the Kernel API Manual β yes the title's truncated, that's just how it is, we don't question the manpage overlords π
β¨ NAME β¨
media_pipeline_entity_iter_init β bestie, it initializes a pipeline entity iterator π
π¦ SYNOPSIS π¦
int media_pipeline_entity_iter_init (struct media_pipeline *pipe ,
struct media_pipeline_entity_iter *iter );
πΈ ARGUMENTS πΈ
pipeβ the pipeline. literally the pipeline. that's the whole description πiterβ the iterator. the thing you're initializing. yes queen π
π DESCRIPTION π
so here's the vibe: you must call this function to initialize the iterator before you use it in a media_pipeline_for_each_entity loop. no skipping steps, no "it'll probably work anyway" β it will not, and you will cry π
then, after the loop, the iterator must be destroyed by a call to media_pipeline_entity_iter_cleanup β and this includes those code paths that break out of the loop early, iykyk. early breaks still owe the cleanup tax, fr fr π«Ά
the cute part tho? the same iterator can be reused across multiple consecutive loops without being destroyed and reinitialized. iconique. main character energy. no cap β¨
β RETURN β
0 on success, or a negative error code otherwise. that's it, that's the whole deal π
π SEE ALSO π
the whole extended friend group, no gatekeeping:
- Kernel file
./include/media/media-entity.h enum media_gobj_type(9)struct media_gobj(9)struct media_entity_enum(9)struct media_graph(9)struct media_pipeline(9)struct media_pipeline_pad(9)struct media_pipeline_pad_iter(9)struct media_pipeline_entity_iter(9)struct media_link(9)enum media_pad_signal_type(9)struct media_pad(9)struct media_entity_operations(9)enum media_entity_type(9)struct media_entity(9)media_entity_for_each_pad(9)struct media_interface(9)struct media_intf_devnode(9)media_entity_id(9)media_type(9)media_id(9)media_gobj_gen_id(9)is_media_entity_v4l2_video_device(9)is_media_entity_v4l2_subdev(9)media_entity_enum_init(9)media_entity_enum_cleanup(9)media_entity_enum_zero(9)media_entity_enum_set(9)media_entity_enum_clear(9)media_entity_enum_test(9)media_entity_enum_test_and_set(9)media_entity_enum_empty(9)media_entity_enum_intersects(9)gobj_to_entity(9)gobj_to_pad(9)gobj_to_link(9)gobj_to_intf(9)intf_to_devnode(9)media_gobj_create(9)media_gobj_destroy(9)media_entity_pads_init(9)media_entity_cleanup(9)media_get_pad_index(9)media_create_pad_link(9)media_create_pad_links(9)media_entity_remove_links(9)__media_entity_setup_link(9)media_entity_setup_link(9)media_entity_find_link(9)media_pad_remote_pad_first(9)media_pad_remote_pad_unique(9)media_entity_remote_pad_unique(9)media_entity_remote_source_pad_unique(9)media_pad_is_streaming(9)media_entity_is_streaming(9)media_entity_pipeline(9)media_pad_pipeline(9)media_entity_get_fwnode_pad(9)media_graph_walk_init(9)media_graph_walk_cleanup(9)media_graph_walk_start(9)media_graph_walk_next(9)media_pipeline_start(9)__media_pipeline_start(9)media_pipeline_stop(9)__media_pipeline_stop(9)media_pipeline_for_each_pad(9)media_pipeline_entity_iter_cleanup(9)media_pipeline_for_each_entity(9)media_pipeline_alloc_start(9)media_devnode_create(9)media_devnode_remove(9)media_create_intf_link(9)__media_remove_intf_link(9)media_remove_intf_link(9)__media_remove_intf_links(9)media_remove_intf_links(9)media_entity_call(9)media_create_ancillary_link(9)__media_entity_next_link(9)for_each_media_entity_data_link(9)
lowkey that's a whole group chat worth of cross-references and every single one of them made the list. we do not cut friends π
and that's the page babes π sign-off time: this little beauty lives in ./include/media and it's dated October 2026 β go forth, init your iterators, clean them up, slay π
β¨
π¦ 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