dvb_table_pmt(3)

πŸ“¦
version 1.32.0 Β· 2 versions
, in fedora 43

πŸ’– dvb_table_pmt(3) πŸ’–

okay bestie, welcome to dvb_table_pmt β€” she's the MPEG-TS PMT table, and she's literally the main character of your transport stream. this whole page lives in the libdvbv5 manual, section 3, and it's giving "struct documentation that Doxygen spat out but make it cute." πŸŽ€


✨ NAME ✨

dvb_table_pmt β€” MPEG-TS PMT table. that's it, that's the girl. πŸ’…


🌸 SYNOPSIS 🌸

#include <pmt.h>

πŸ¦‹ Data Fields πŸ¦‹

struct dvb_table_header header
union {
   uint16_t bitfield
   struct {
      uint16_t pcr_pid:13
      uint16_t reserved2:3
   }
};
union {
   uint16_t bitfield2
   struct {
      uint16_t desc_length:10
      uint16_t zero3:2
      uint16_t reserved3:4
   }
};
struct dvb_desc * descriptor
struct dvb_table_pmt_stream * stream

no cap, that's the whole field list. two anonymous unions, a header, a descriptor pointer and a stream pointer. obsessed. ✨


πŸ’œ Detailed Description πŸ’œ

MPEG-TS PMT table. yes queen, that's the one-liner and we're standing by it. πŸ‘‘

🌈 Parameters 🌈

  • header β€” struct dvb_table_header content. it's the table header, she goes first, as always.
  • pcr_pid β€” PCR PID. the PID where the PCR lives, iykyk.
  • desc_length β€” descriptor length. how long the descriptor situation is.
  • descriptor β€” pointer to struct dvb_desc. it's a pointer, she points, that's her job.
  • stream β€” pointer to struct dvb_table_pmt_stream. same energy, different struct.

so here's the tea: this structure is used to store the original PMT stream table, converting the integer fields to the CPU endianness. little endian, big endian, she does the conversion so you don't have to. πŸ’…

🫢 the undocumented parameters are used only internally by the API and/or are fields that are reserved. they shouldn't be used, because they may change on future API releases. bestie, do not touch them. fr fr. πŸ™ˆ

also important: everything after dvb_table_pmt::descriptor (including it) won't be bit-mapped to the data parsed from the MPEG TS. so that's where the metadata get added. not bit-mapped, just vibes. πŸ’–

Definition at line 208 of file pmt.h.


πŸŽ€ Field Documentation πŸŽ€

⭐ union { ... } dvb_table_pmt

yep, she's listed twice. two anonymous unions, two entries, that's just how the docs came out and we respect her journey. ✨

⭐ union { ... } dvb_table_pmt

(the second one. iconic behavior, honestly.)

πŸ’« uint16_t dvb_table_pmt::bitfield

Definition at line 211 of file pmt.h.

πŸ’« uint16_t dvb_table_pmt::bitfield2

Definition at line 219 of file pmt.h.

πŸ’« uint16_t dvb_table_pmt::desc_length

Definition at line 221 of file pmt.h.

πŸ’« struct dvb_desc* dvb_table_pmt::descriptor

Definition at line 226 of file pmt.h.

πŸ’« struct dvb_table_header dvb_table_pmt::header

Definition at line 209 of file pmt.h.

πŸ’« uint16_t dvb_table_pmt::pcr_pid

Definition at line 213 of file pmt.h.

πŸ’« uint16_t dvb_table_pmt::reserved2

Definition at line 214 of file pmt.h.

πŸ’« uint16_t dvb_table_pmt::reserved3

Definition at line 223 of file pmt.h.

πŸ’« struct dvb_table_pmt_stream* dvb_table_pmt::stream

Definition at line 227 of file pmt.h.

πŸ’« uint16_t dvb_table_pmt::zero3

Definition at line 222 of file pmt.h.


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for libdvbv5 from the source code. she didn't write herself, the machines did. slay. πŸ€–βœ¨


and that's the whole page, bestie!! this lil' manual page came from libdvbv5, Version 1.32.0 β€” so if you're quoting her anywhere, that's the version and the source, no cap. go parse those tables, you absolute icon. πŸ’–πŸŒˆπŸ¦‹πŸŽ€βœ¨πŸ’…

πŸ“¦ where this page comes from