media_create_pad_link(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the media_create_pad_link page πŸ’– this is the kernel API manual section, and we're about to make a whole link between two entities. slay.


✨ NAME ✨

media_create_pad_link β€” creates a link between two entities. that's it, that's the whole vibe πŸŽ€


🌸 SYNOPSIS 🌸

int media_create_pad_link (struct media_entity *source , u16 source_pad
, struct media_entity *sink , u16 sink_pad , u32 flags );

literally five args and it returns an int, no cap 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • source β€” pointer to the media_entity of the source pad. like, where the data comes from, bestie πŸ’«
  • source_pad β€” number of the source pad in the pads array. yes it's a u16, yes you gotta count them correctly πŸ™ˆ
  • sink β€” pointer to the media_entity of the sink pad. the destination, the main character receiving all that data πŸ‘‘
  • sink_pad β€” number of the sink pad in the pads array. index into the pads array, okay? don't get it twisted πŸ”₯
  • flags β€” Link flags, as defined in :ref:include/uapi/linux/media.h <media_header>`` ( seek for MEDIA_LNK_FL_*). go look for the MEDIA_LNK_FL_* ones, iykyk ⭐

πŸ’œ DESCRIPTION πŸ’œ

Valid values for flags β€” here's the menu, bestie πŸ“

  • MEDIA_LNK_FL_ENABLED β€” Indicates that the link is enabled and can be used to transfer media data. When two or more links target a sink pad, only one of them can be enabled at a time. like, one (1) winner per sink pad, periodt πŸ’€
  • MEDIA_LNK_FL_IMMUTABLE β€” Indicates that the link enabled state can't be modified at runtime. If MEDIA_LNK_FL_IMMUTABLE is set, then MEDIA_LNK_FL_ENABLED must also be set, since an immutable link is always enabled. it's giving forever-locked 🌈
NOTE: ⚠️ Before calling this function, media_entity_pads_init and media_device_register_entity should be called previously for both ends. both. ends. don't skip this step, i'm begging 😭

🧚 SEE ALSO 🧚

Kernel file ./include/media/media-entity.h β€” and the whole extended universe of friends:

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_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_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), for_each_media_entity_data_link(9).

like, that's the whole friend group πŸ’…βœ¨


okay that's the page!! πŸŽ€ this gem lives under ./include/media and the version/date on it is October 2026 β€” mwah, go forth and link those pads, bestie πŸ’–πŸ¦‹β­

πŸ“¦ where this page comes from