ENUM MEDIA_PAD_SIGNAL_TYPE(9)
πΈ NAME πΈ
enum media_pad_signal_type β bestie, it's literally the type of the signal flowing inside a media pad β¨ (this is from the Kernel API Manual, iykyk)
π SYNOPSIS π
enum media_pad_signal_type {
PAD_SIGNAL_DEFAULT ,
PAD_SIGNAL_ANALOG ,
PAD_SIGNAL_DV ,
PAD_SIGNAL_AUDIO
};
Ok so that's the whole vibe: one enum, four constants, no cap π
π¦ Constants π¦
PAD_SIGNAL_DEFAULTβ the default signal, the "no thoughts head empty" option π«Ά. Use this one when all your inputs or all your outputs are uniquely identified by the pad number. That's it, that's the whole condition.PAD_SIGNAL_ANALOGβ the pad is carrying an analog signal π₯. That can be Radio Frequency, Intermediate Frequency, a baseband signal, or sub-carriers. Tuner inputs, IF-PLL demodulators, and composite and s-video signals should use it. (yes, all of those, she contains multitudes π)PAD_SIGNAL_DVβ digital video signal energy π. It can be a bitstream of samples taken from an analog TV video source. In that case, it usually contains the VBI data on it. It's giving "digital glow-up of an analog situation" β¨PAD_SIGNAL_AUDIOβ audio moment π. It contains an Intermediate Frequency analog signal from an audio sub-carrier, or an audio bitstream. IF signals are provided by tuners and consumed by audio AM/FM decoders. Bitstream audio is provided by an audio decoder. Two paths, same iconic enum value π
ngl bestie, picking the right constant here is a whole vibe check β the wrong one and your pad is lying about what it's carrying π
π SEE ALSO π
Kernel file ./include/media/media-entity.h and, like, the entire friend group π:
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)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_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)
okay that's the whole page, go forth and annotate your pads correctly bestie π β¨
mwah π β this one lives in ./include/media, dated October 2026, and it's brought to you by the Kernel API Manual. 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