STRUCT DMX_SECTION_FEED(9)
π struct dmx_section_feed(9) π
okay bestie, welcome to the Kernel API Manual β we're doing a whole deep-dive on struct dmx_section_feed and honestly? it's giving "small struct, big responsibilities" energy π
β¨ NAME β¨
struct dmx_section_feed β the structure that holds a section feed filter. that's it, that's the vibe. π
πΈ SYNOPSIS πΈ
struct dmx_section_feed {
int is_filtering;
struct dmx_demux *parent;
void *priv;
int check_crc;
int (*set)(struct dmx_section_feed *feed, u16 pid, int check_crc);
int (*allocate_filter)(struct dmx_section_feed *feed, struct dmx_section_filter **filter);
int (*release_filter)(struct dmx_section_feed *feed, struct dmx_section_filter *filter);
int (*start_filtering)(struct dmx_section_feed *feed);
int (*stop_filtering)(struct dmx_section_feed *feed);
};
like, look at all those function pointers β she's basically a little remote control for filtering π«Ά
π¦ Members π¦
is_filteringβ gets set to non-zero when filtering is actively in progress. it's the "am I busy rn" flag πparentβ pointer tostruct dmx_demux. her mom, basically. πprivβ pointer to private data of the API client. not for us to peek at, iykyk πcheck_crcβ if it's non-zero, the CRC values of filtered sections get checked. accuracy queen β¨setβ sets the section filter. literally what it says on the tinallocate_filterβ this function is used to allocate a section filter on the demux. important: it should only be called when no filtering is in progress on this section feed β οΈ. and if a filter can't be allocated, the function fails with-ENOSPC. no cap.release_filterβ this one releases all the resources of a previously allocated section filter. also important: don't call it while filtering is in progress on this section feed π«. and after you call this function, the caller should not try to dereference the filter pointer. like, she's gone, let her go πstart_filteringβ starts section filtering πstop_filteringβ stops section filtering π
π Description π
A TS feed is typically mapped to a hardware PID filter on the demux chip. that's the whole setup π§
Using this API, the client can set the filtering properties to start/stop filtering TS packets on a particular TS feed. so you're basically the main character telling the packets who gets through and who doesn't π
π₯ SEE ALSO π₯
Kernel file ./include/media/demux.h, enum ts_filter_type(9), struct dmx_ts_feed(9), struct dmx_section_filter(9), dmx_ts_cb(9), dmx_section_cb(9), enum dmx_frontend_source(9), struct dmx_frontend(9), enum dmx_demux_caps(9), DMX_FE_ENTRY(9), struct dmx_demux(9) β go read the whole friend group, they're all iconic π
fr fr though β the-ENOSPCfailure onallocate_filterand the "don't dereference afterrelease_filter" rule are the real ones. no cap, don't skip them π
that's the whole page bestie!! π sourced from ./include/media and dated October 2026 β mwah, slay, bye ππ
π¦ 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