vidtv_sdt_desc_assign(9)
π vidtv_sdt_desc_assign(9) β the Kernel API Manual, bestie edition β¨
okay so you're in the Linux kernel docs, specifically the Kernel API Manual section, and you just stumbled onto vidtv_sdt_desc_assign(9). don't panic, it's actually so simple. let's get into it π«Ά
β¨ NAME β¨
vidtv_sdt_desc_assign β Assigns a descriptor loop at some point in a SDT. periodt. that's the whole vibe π
π¦ SYNOPSIS π¦
void vidtv_sdt_desc_assign (struct vidtv_psi_table_sdt *sdt , struct
vidtv_psi_desc **to , struct vidtv_psi_desc *desc );
it returns void, so likeβ¦ nothing comes back. it just does the thing. main character energy honestly π
πΈ ARGUMENTS πΈ
sdtβ The SDT that will contain the descriptor loop. it's the container, the housing, the whole vibe holder πtoβ Where in the PMT to assign this descriptor loop to. yes the docs literally say PMT here even though we're in SDT-land π quoting it exactly, don't come for medescβ The descriptor loop that will be assigned. the actual star of the show β¨
π DESCRIPTION π
okay so here's what happens, no cap:
This will free the loop in 'to', if any. so like, if there was already something living in there, it gets yeeted first ποΈβ¨
Then β and this is the important bit β This will assign ownership of the loop to the table, i.e. the table will free this loop when a call to its destroy function is made.
so the table takes custody fr fr. you hand over the loop, the table is now responsible for it, and when that destroy function gets called, the table cleans up. no leaks, we love to see it π
β οΈ lowkey important: ownership transfers here! once it's assigned, the table owns it. don't go freeing it yourself afterwards, that's giving double-free and we don't do that π«Ά
π SEE ALSO π
the whole friend group, gathered for you π
- Kernel file
./drivers/media/test-drivers/vidtv/vidtv_psi.h struct psi_write_args(9)struct desc_write_args(9)struct crc32_write_args(9)struct header_write_args(9)vidtv_psi_sdt_service_assign(9)vidtv_psi_desc_assign(9)vidtv_pmt_desc_assign(9)vidtv_psi_pat_program_assign(9)vidtv_psi_pmt_stream_assign(9)vidtv_psi_pmt_create_sec_for_each_pat_entry(9)vidtv_psi_pmt_get_pid(9)vidtv_psi_pat_table_update_sec_len(9)vidtv_psi_pmt_table_update_sec_len(9)vidtv_psi_sdt_table_update_sec_len(9)struct vidtv_psi_pat_write_args(9)vidtv_psi_pat_write_into(9)struct vidtv_psi_sdt_write_args(9)vidtv_psi_sdt_write_into(9)struct vidtv_psi_pmt_write_args(9)vidtv_psi_pmt_write_into(9)vidtv_psi_find_pmt_sec(9)struct vidtv_psi_table_transport(9)struct vidtv_psi_table_nit(9)struct vidtv_psi_nit_write_args(9)vidtv_psi_nit_write_into(9)struct vidtv_psi_eit_write_args(9)vidtv_psi_eit_write_into(9)vidtv_psi_eit_table_update_sec_len(9)vidtv_psi_eit_event_assign(9)
and that's the whole page, bestie π
cute little sign-off: this gem lives at ./drivers/media/test-drivers/v... (the path got truncated in the footer, we stan a mysterious queen π) and it's dated October 2026. go forth and assign those descriptor loops responsibly, ily ππ
π¦ 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