STRUCT DMXDEV_FILTER(9)
β¨ struct dmxdev_filter(9) β¨
okay so bestie, welcome to the struct dmxdev_filter page from the Kernel API Manual β this is the digital TV dmxdev filter and she is, like, the main character of demux land π iykyk
πΈ NAME πΈ
struct dmxdev_filter β digital TV dmxdev filter. literally what it says on the tin, no cap π
π¦ SYNOPSIS π¦
struct dmxdev_filter {
union {
struct dmx_section_filter *sec;
} filter;
union {
struct list_head ts;
struct dmx_section_feed *sec;
} feed;
union {
struct dmx_sct_filter_params sec;
struct dmx_pes_filter_params pes;
} params;
enum dmxdev_type type;
enum dmxdev_state state;
struct dmxdev *dev;
struct dvb_ringbuffer buffer;
struct dvb_vb2_ctx vb2_ctx;
struct mutex mutex;
struct timer_list timer;
int todo;
u8 secheader[3];
};
look at her. all those unions. she's giving organized chaos and honestly? obsessed π«Ά
π Members π
filterβ a union describing a dmxdev filter. rn it's Currently used only for section filters. one job, and she's slaying it β¨filter.secβ astruct dmx_section_filterpointer. For section filter only, bestie πfeedβ a union describing a dmxdev feed. Depending on the filter type, it can be eitherfeed.tsorfeed.sec. choose your fighter πfeed.tsβ astruct list_headlist. For TS and PES feeds. very list. very head. we love her πfeed.secβ astruct dmx_section_feedpointer. For section feed only. section girlies rise πparamsβ a union describing dmxdev filter parameters. Depending on the filter type, it can be eitherparams.secorparams.pesβ again, pick a lane babe πparams.secβ astruct dmx_sct_filter_paramsembedded struct. For section filter only. embedded and thriving πΈparams.pesβ astruct dmx_pes_filter_paramsembedded struct. For PES filter only. her PES era π₯typeβ type of the dmxdev filter, as defined byenum dmxdev_type. know your type, be your type βstateβ state of the dmxdev filter, as defined byenum dmxdev_state. she contains multitudes πdevβ pointer tostruct dmxdev. say hi to ur parent πbufferβ an embeddedstruct dvb_ringbufferbuffer. it's giving circular, it's giving storage π¦vb2_ctxβ control struct for VB2 handler. no notes, just vibes πmutexβ protects the access tostruct dmxdev_filter. do NOT skip the lock, bestie, that's how you get races and races are not cute πtimerβstruct timer_listembedded timer, used to check for feed timeouts. Only for section filter. she's on the clock β°todoβ index for the secheader. Only for section filter. yes she's literally named todo, and yes she's doing the work πsecheaderβ buffer cache to parse the section header. Only for section filter. three whole bytes ofu8serving header-parsing realness β¨
π§ SEE ALSO π§
- Kernel file
./include/media/dmxdev.henum dmxdev_type(9),enum dmxdev_state(9),struct dmxdev_feed(9),struct dmxdev(9),dvb_dmxdev_init(9),dvb_dmxdev_release(9)
go read the whole friend group, they're all iconic fr fr π«Ά
ngl bestie, every union in here is a "depends on the filter type" situation, so likeβ¦ know your type before you touch the wrong member. lowkey important π
and that's the page! shoutout to ./include/media from October 2026 for hosting this absolute queen of a struct β mwah, periodt ππ
π¦ 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