atsc_table_vct_channel(3)
π NAME π
atsc_table_vct_channel β the ATSC VCT channel table, and bestie it covers both CVCT and TVCT, we love a versatile icon π
(this is a section 3 library function page, from the Library Functions Manual, okurrr)
β¨ SYNOPSIS β¨
#include <vct.h>
π Data Fields π
okay so here's the whole squad, exactly as declared:
uint16_t __short_name [7]
union {
uint32_t bitfield1
struct {
uint32_t modulation_mode:8
uint32_t minor_channel_number:10
uint32_t major_channel_number:10
uint32_t reserved1:4
}
};
uint32_t carrier_frequency
uint16_t channel_tsid
uint16_t program_number
union {
uint16_t bitfield2
struct {
uint16_t service_type:6
uint16_t reserved2:3
uint16_t hide_guide:1
uint16_t out_of_band:1
uint16_t path_select:1
uint16_t hidden:1
uint16_t access_controlled:1
uint16_t ETM_location:2
}
};
uint16_t source_id
union {
uint16_t bitfield3
struct {
uint16_t descriptors_length:10
uint16_t reserved3:6
}
};
struct dvb_desc * descriptor
struct atsc_table_vct_channel * next
char short_name [32]
πΈ Detailed Description πΈ
ATSC VCT channel table (covers both CVCT and TVCT) π
ngl this struct is THE place where the original VCT channel table lives, and it does the cute little glow-up of converting all the integer fields to the CPU endianness for you. no cap.
π¦ Parameters π¦
here's the whole cast, one by one, no skipping:
modulation_modeβ modulation modeminor_channel_numberβ minor channel numbermajor_channel_numberβ major channel numbercarrier_frequencyβ carrier frequencychannel_tsidβ channel tsidprogram_numberβ program numberservice_typeβ service typehide_guideβ hide guideout_of_bandβ out of band (CVCT only)path_selectβ path select (CVCT only)hiddenβ hiddenaccess_controlledβ access controlledETM_locationβ ETM locationsource_idβ source IDdescriptors_lengthβ length of the descriptorsdescriptorβ pointer tostruct dvb_descnextβ pointer to anotherstruct atsc_table_vct_channeldescriptors_lengthβ length of the descriptors (yes bestie, it's listed twice in the original, we don't question the source π)short_nameβ short name. The__short_nameis converted from UTF-16 to locale charset when parsed
So basically: this structure is used to store the original VCT channel table, converting the integer fields to the CPU endianness. β¨
π«Ά real talk: the undocumented parameters are used only internally by the API and/or are fields that are reserved. They shouldn't be used, as they may change on future API releases. don't touch them, they're not your business, leave them on read π
β οΈ Also important: everything after atsc_table_vct_channel::descriptor (including it) won't be bit-mapped * to the data parsed from the MPEG TS. So, metadata are added there. periodt.
Definition at line 101 of file vct.h.
π₯ Field Documentation π₯
π§ the three anonymous unions π§
union { ... } atsc_table_vct_channelunion { ... } atsc_table_vct_channelunion { ... } atsc_table_vct_channel
three anonymous union babes, all sharing the same display name, all doing their own thing. iconic behaviour honestly.
uint16_t atsc_table_vct_channel::__short_name[7]β Definition at line 102 of filevct.h.uint16_t atsc_table_vct_channel::access_controlledβ Definition at line 126 of filevct.h.uint32_t atsc_table_vct_channel::bitfield1β Definition at line 105 of filevct.h.uint16_t atsc_table_vct_channel::bitfield2β Definition at line 118 of filevct.h.uint16_t atsc_table_vct_channel::bitfield3β Definition at line 134 of filevct.h.uint32_t atsc_table_vct_channel::carrier_frequencyβ Definition at line 114 of filevct.h.uint16_t atsc_table_vct_channel::channel_tsidβ Definition at line 115 of filevct.h.struct dvb_desc* atsc_table_vct_channel::descriptorβ Definition at line 146 of filevct.h.uint16_t atsc_table_vct_channel::descriptors_lengthβ Definition at line 136 of filevct.h.uint16_t atsc_table_vct_channel::ETM_locationβ Definition at line 127 of filevct.h.uint16_t atsc_table_vct_channel::hiddenβ Definition at line 125 of filevct.h.uint16_t atsc_table_vct_channel::hide_guideβ Definition at line 122 of filevct.h.uint32_t atsc_table_vct_channel::major_channel_numberβ Definition at line 109 of filevct.h.uint32_t atsc_table_vct_channel::minor_channel_numberβ Definition at line 108 of filevct.h.uint32_t atsc_table_vct_channel::modulation_modeβ Definition at line 107 of filevct.h.struct atsc_table_vct_channel* atsc_table_vct_channel::nextβ Definition at line 147 of filevct.h.uint16_t atsc_table_vct_channel::out_of_bandβ Definition at line 123 of filevct.h.uint16_t atsc_table_vct_channel::path_selectβ Definition at line 124 of filevct.h.uint16_t atsc_table_vct_channel::program_numberβ Definition at line 116 of filevct.h.uint32_t atsc_table_vct_channel::reserved1β Definition at line 110 of filevct.h.uint16_t atsc_table_vct_channel::reserved2β Definition at line 121 of filevct.h.uint16_t atsc_table_vct_channel::reserved3β Definition at line 137 of filevct.h.uint16_t atsc_table_vct_channel::service_typeβ Definition at line 120 of filevct.h.char atsc_table_vct_channel::short_name[32]β Definition at line 151 of filevct.h.uint16_t atsc_table_vct_channel::source_idβ Definition at line 132 of filevct.h.
π Author π
Generated automatically by Doxygen for libdvbv5 from the source code. π€β¨
and that's the whole page bestie, you ate π
this little love letter comes to you from libdvbv5, Version 1.32.0, and it's the atsc_table_vct_channel(3) page β go forth and parse those VCT channel tables, mwah π«Άππ
π¦ where this page comes from
- fedora 43: libdvbv5-devel 1.32.0-1.fc43 Β· LGPL-2.1-or-later AND LGPL-2.1-or-later WITH Linux-syscall-note
- fedora 43: libdvbv5-devel 1.32.0-1.fc43 Β· LGPL-2.1-or-later AND LGPL-2.1-or-later WITH Linux-syscall-note
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms