STRUCT VIDTV_MUX_INIT_ARGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct vidtv_mux_init_args(9) β€” like, the Kernel API Manual, bestie πŸŽ€

okay so this is a page straight out of the Kernel API Manual, and it's all about struct vidtv_mux_init_args β€” the lil' bundle of arguments you hand over when you're setting up (the page literally says inix, we don't know her, we don't ask) the muxer. think of it as the group chat invite list for your muxer: rate, buffer size, callbacks, pids, channels, the whole personality. ✨


🌸 NAME 🌸

struct vidtv_mux_init_args β€” the arguments used to inix the muxer. (their words, not mine, but we're keeping it πŸ’–)


πŸ¦‹ SYNOPSIS πŸ¦‹

struct vidtv_mux_init_args {
    u32 mux_rate_kbytes_sec;
    void (*on_new_packets_available_cb)(void *priv, u8 *buf, u32
npackets);
    u32 mux_buf_sz;
    u64 pcr_period_usecs;
    u64 si_period_usecs;
    u16 pcr_pid;
    u16 transport_stream_id;
    struct vidtv_channel *channels;
    u16 network_id;
    char *network_name;
    void *priv;
 };

like, yes, that one line wraps in the middle of npackets β€” she's just built different, don't @ me 😭


πŸ‘‘ Members πŸ‘‘

  • mux_rate_kbytes_sec β€” the bit rate for the TS, measured in kbytes. lowkey the tempo of the whole operation 🎡
  • on_new_packets_available_cb β€” a callback that goes "hey bestie, new TS packets are ready" β€” signature is void (*)(void *priv, u8 *buf, u32 npackets). it's giving notifier energy 🫢
  • mux_buf_sz β€” the size for mux_buf. that's it, that's the vibe πŸ’…
  • pcr_period_usecs β€” how often we should send PCR packets. (yes, in microseconds, she's precise)
  • si_period_usecs β€” how often we should send PSI packets. also microseconds, also on a schedule ⏰
  • pcr_pid β€” the TS PID used for the PSI packets. and here's the tea: all channels will share the same PCR. every single one. shared. periodt πŸ”₯
  • transport_stream_id β€” the transport stream ID ✨
  • channels β€” an optional list of channels to use. optional! no pressure, bestie 🌈
  • network_id β€” the network ID πŸŽ€
  • network_name β€” the network name, obviously πŸ’–
  • priv β€” private data. we don't look in the bag, we respect the bag πŸ”’

πŸ” SEE ALSO πŸ”

  • Kernel file ./drivers/media/test-drivers/vidtv/vidtv_mux.h
  • struct vidtv_mux_timing(9)
  • struct vidtv_mux_si(9)
  • struct vidtv_mux_pid_ctx(9)
  • struct vidtv_mux(9)

like, go read the whole friend group, they're all iconic πŸ‘‘


heads up bestie: that pcr_pid note is the one that actually matters β€” it's not "a PCR," it's the PCR, shared across every channel. no cap, don't forget πŸ’€

kiss kiss, this was struct vidtv_mux_init_args(9) from the Kernel API Manual β€” page sourced from ./drivers/media/test-drivers/v... and dated October 2026 πŸ¦‹βœ¨πŸ’œ

πŸ“¦ where this page comes from