media_entity...e_pad_unique(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

Okay bestie, this is media_entity...e_pad_unique(9) from the Kernel API Manual, and it's literally the β€œfind a remote pad connected to an entity” helper. πŸ’…βœ¨

media_entity_remote_pad_unique β€” Find a remote pad connected to an entity.

✨ SYNOPSIS ✨

struct media_pad * media_entity_remote_pad_unique (const struct media_entity *entity , unsigned int type );

πŸŽ€ ARGUMENTS πŸŽ€

  • entity β€” The entity. πŸ’–
  • type β€” The type of pad to find, which is either MEDIA_PAD_FL_SINK or MEDIA_PAD_FL_SOURCE. 🎯

πŸ¦‹ DESCRIPTION πŸ¦‹

It searches for and returns a remote pad of type type connected to entity through an enabled link. If multiple (or no) remote pads match these criteria, an error is returned. 😭

The uniqueness constraint makes this helper function suitable for entities that support a single active source or sink at a time. That's the whole vibe check: one active source or sink, no chaos. πŸ‘‘

  • -ENOTUNIQ β€” Multiple links are enabled.
  • -ENOLINK β€” No connected pad found.

πŸ’… RETURN πŸ’…

A pointer to the remote pad, or one of the following error pointers if an error occurs: the -ENOTUNIQ and -ENOLINK ones from DESCRIPTION, bestie. 🫢

🌈 SEE ALSO 🌈

Kernel file: ./include/media/media-entity.h β€” that's the neighborhood. 🏑

Also go say hi to 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), and media_gobj_gen_id(9).

Then there's 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_source_pad_unique(9), media_pad_is_streaming(9), media_entity_is_streaming(9), media_entity_pipeline(9), media_pad_pipeline(9), and media_entity_get_fwnode_pad(9).

Plus the whole pipeline walk crew: 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_init(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), and for_each_media_entity_data_link(9). 🫢


Source ./include/media, date October 2026, page media_entity...e_pad_unique(9) from the Kernel API Manual β€” that's the cute sign-off. Byeee πŸ’–πŸ¦‹πŸŽ€

πŸ“¦ where this page comes from