lib/includ...criptors.h(3)

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

πŸŽ€ lib/includ...criptors.h πŸŽ€

okay bestie, welcome to the manual page for lib/include/libdvbv5/descriptors.h β€” Library Functions Manual, section 3. Yes the header is doing that truncated-name thing, we're all just vibing with it. πŸ’…


✨ NAME ✨

lib/include/libdvbv5/descriptors.h β€” provides a way to handle MPEG-TS descriptors found on Digital TV streams. periodt. 🌈


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <unistd.h>
#include <stdint.h>
#include <arpa/inet.h>

πŸ’– Data Structures πŸ’–

  • struct dvb_desc β€” the linked list holding all the several descriptors found on a MPEG-TS table. it's giving chain of friendship bracelets 🫢
  • struct dvb_descriptor β€” holds the parser information for the MPEG-TS parser code. the blueprint, the lore, the main character of parsing πŸ“–

πŸŽ€ Macros πŸŽ€

  • #define DVB_MAX_PAYLOAD_PACKET_SIZE β€” maximum size of a table session to be parsed. the ceiling, the limit, the "no ma'am" line βœ‹
  • #define DVB_CRC_SIZE β€” number of bytes for the descriptor's CRC check. the lil checksum situation πŸ”
  • #define TS_Information_descriptior β€” yes, that's how it's spelled. we don't fix it, we don't question it, we simply ✨respect it✨

🌸 Typedefs 🌸

  • dvb_table_init_func β€” function prototype for a function that initializes the descriptors parsing on a table.
typedef void(* dvb_table_init_func) (struct dvb_v5_fe_parms *parms,
    const uint8_t *buf, ssize_t buflen, void **table)
  • dvb_desc_init_func β€” function prototype for the descriptors parsing init code.
typedef int(* dvb_desc_init_func) (struct dvb_v5_fe_parms *parms, const
    uint8_t *buf, struct dvb_desc *desc)
  • dvb_desc_print_func β€” function prototype for the descriptors parsing print code.
typedef void(* dvb_desc_print_func) (struct dvb_v5_fe_parms *parms,
    const struct dvb_desc *desc)
  • dvb_desc_free_func β€” function prototype for the descriptors memory free code. say bye bestie πŸ‘‹
typedef void(* dvb_desc_free_func) (struct dvb_desc *desc)

πŸ¦‹ Enumerations πŸ¦‹

enum descriptors β€” the list containing all descriptors used by Digital TV MPEG-TS. and when we say all, we mean ALL. it's a long list, hydrate before you read it πŸ’§

enum descriptors {
  video_stream_descriptor,
  audio_stream_descriptor,
  hierarchy_descriptor,
  registration_descriptor,
  ds_alignment_descriptor,
  target_background_grid_descriptor,
  video_window_descriptor,
  conditional_access_descriptor,
  iso639_language_descriptor,
  system_clock_descriptor,
  multiplex_buffer_utilization_descriptor,
  copyright_descriptor,
  maximum_bitrate_descriptor,
  private_data_indicator_descriptor,
  smoothing_buffer_descriptor,
  std_descriptor,
  ibp_descriptor,
  mpeg4_video_descriptor,
  mpeg4_audio_descriptor,
  iod_descriptor,
  sl_descriptor,
  fmc_descriptor,
  external_es_id_descriptor,
  muxcode_descriptor,
  fmxbuffersize_descriptor,
  multiplexbuffer_descriptor,
  content_labeling_descriptor,
  metadata_pointer_descriptor,
  metadata_descriptor,
  metadata_std_descriptor,
  AVC_video_descriptor,
  ipmp_descriptor,
  AVC_timing_and_HRD_descriptor,
  mpeg2_aac_audio_descriptor,
  flexmux_timing_descriptor,
  network_name_descriptor,
  service_list_descriptor,
  stuffing_descriptor,
  satellite_delivery_system_descriptor,
  cable_delivery_system_descriptor,
  VBI_data_descriptor,
  VBI_teletext_descriptor,
  bouquet_name_descriptor,
  service_descriptor,
  country_availability_descriptor,
  linkage_descriptor,
  NVOD_reference_descriptor,
  time_shifted_service_descriptor,
  short_event_descriptor,
  extended_event_descriptor,
  time_shifted_event_descriptor,
  component_descriptor,
  mosaic_descriptor,
  stream_identifier_descriptor,
  CA_identifier_descriptor,
  content_descriptor,
  parental_rating_descriptor,
  teletext_descriptor,
  telephone_descriptor,
  local_time_offset_descriptor,
  subtitling_descriptor,
  terrestrial_delivery_system_descriptor,
  multilingual_network_name_descriptor,
  multilingual_bouquet_name_descriptor,
  multilingual_service_name_descriptor,
  multilingual_component_descriptor,
  private_data_specifier_descriptor,
  service_move_descriptor,
  short_smoothing_buffer_descriptor,
  frequency_list_descriptor,
  partial_transport_stream_descriptor,
  data_broadcast_descriptor,
  scrambling_descriptor,
  data_broadcast_id_descriptor,
  transport_stream_descriptor,
  DSNG_descriptor,
  PDC_descriptor,
  AC_3_descriptor,
  ancillary_data_descriptor,
  cell_list_descriptor,
  cell_frequency_link_descriptor,
  announcement_support_descriptor,
  application_signalling_descriptor,
  adaptation_field_data_descriptor,
  service_identifier_descriptor,
  service_availability_descriptor,
  default_authority_descriptor,
  related_content_descriptor,
  TVA_id_descriptor,
  content_identifier_descriptor,
  time_slice_fec_identifier_descriptor,
  ECM_repetition_rate_descriptor,
  S2_satellite_delivery_system_descriptor,
  enhanced_AC_3_descriptor,
  DTS_descriptor,
  AAC_descriptor,
  XAIT_location_descriptor,
  FTA_content_management_descriptor,
  extension_descriptor,
  CUE_identifier_descriptor,
  extended_channel_name,
  service_location,
  component_name_descriptor,
  logical_channel_number_descriptor,
  carousel_id_descriptor,
  association_tag_descriptor,
  deferred_association_tags_descriptor,
  hierarchical_transmission_descriptor,
  digital_copy_control_descriptor,
  network_identifier_descriptor,
  partial_transport_stream_time_descriptor,
  audio_component_descriptor,
  hyperlink_descriptor,
  target_area_descriptor,
  data_contents_descriptor,
  video_decode_control_descriptor,
  download_content_descriptor,
  CA_EMM_TS_descriptor,
  CA_contract_information_descriptor,
  CA_service_descriptor,
  TS_Information_descriptor,
  extended_broadcaster_descriptor,
  logo_transmission_descriptor,
  basic_local_event_descriptor,
  reference_descriptor,
  node_relation_descriptor,
  short_node_information_descriptor,
  STC_reference_descriptor,
  series_descriptor,
  event_group_descriptor,
  SI_parameter_descriptor,
  broadcaster_Name_Descriptor,
  component_group_descriptor,
  SI_prime_TS_descriptor,
  board_information_descriptor,
  LDT_linkage_descriptor,
  connected_transmission_descriptor,
  content_availability_descriptor,
  service_group_descriptor,
  carousel_compatible_composite_descriptor,
  conditional_playback_descriptor,
  ISDBT_delivery_system_descriptor,
  partial_reception_descriptor,
  emergency_information_descriptor,
  data_component_descriptor,
  system_management_descriptor,
  atsc_stuffing_descriptor,
  atsc_ac3_audio_descriptor,
  atsc_caption_service_descriptor,
  atsc_content_advisory_descriptor,
  atsc_extended_channel_descriptor,
  atsc_service_location_descriptor,
  atsc_time_shifted_service_descriptor,
  atsc_component_name_descriptor,
  atsc_DCC_departing_request_descriptor,
  atsc_DCC_arriving_request_descriptor,
  atsc_redistribution_control_descriptor,
  atsc_ATSC_private_information_descriptor,
  atsc_genre_descriptor
}

like… 158 members. iconic behaviour honestly. πŸ‘‘

πŸ’… Functions πŸ’…

  • uint32_t dvb_bcd (uint32_t bcd) β€” converts from BCD to CPU integer internal representation. glow-up for numbers ✨
  • void dvb_hexdump (struct dvb_v5_fe_parms *parms, const char *prefix, const unsigned char *buf, int len) β€” dumps data into the logs in hexadecimal format. hex girl autumn πŸ‚
  • int dvb_desc_parse (struct dvb_v5_fe_parms *parms, const uint8_t *buf, uint16_t buflen, struct dvb_desc **head_desc) β€” parse MPEG-TS descriptors. the whole point, the moment, the slay 🫢
  • void dvb_desc_free (struct dvb_desc **list) β€” frees a dvb_desc linked list. we love a clean exit πŸ’–
  • void dvb_desc_print (struct dvb_v5_fe_parms *parms, struct dvb_desc *desc) β€” prints the contents of a struct dvb_desc linked list. show and tell πŸ“’

⭐ Variables ⭐

  • const dvb_table_init_func dvb_table_initializers [256] β€” table with all possible descriptors. 256 slots of pure possibility 🎰
  • const struct dvb_descriptor dvb_descriptors [] β€” contains the parsers for the several descriptors. the toolbox, the kit, the collection 🧰

πŸ“– Detailed Description πŸ“–

Provides a way to handle MPEG-TS descriptors found on Digital TV streams. that's the whole assignment bestie πŸ’«

GNU Lesser General Public License version 2.1 (LGPLv2.1). respect the license, it's the law and also it's polite 🫑

Author

  • Mauro Carvalho Chehab
  • Andre Roth

two absolute legends fr fr 🌟

Relevant specs

The descriptors herein are defined on the following specs:

Bug Report

Please submit bug reports and patches to linux-media@vger.kernel.org. found a bug? tell the group chat!! πŸ“¬

Definition in file descriptors.h.

yep, it lives in descriptors.h. it's giving "definition in file" and honestly that's the whole vibe πŸ¦‹


πŸ” Macro Definition Documentation πŸ”

#define TS_Information_descriptior

Definition at line 776 of file descriptors.h. yes. line 776. we counted. πŸ’…


🌈 Author 🌈

Generated automatically by Doxygen for libdvbv5 from the source code. not a human, just a very diligent robot πŸ€–βœ¨


and that's the page, bestie!! this whole thing comes to you from libdvbv5, Version 1.32.0, manual page lib/includ...criptors.h(3) β€” go forth and parse some descriptors, you absolute icon πŸ’–πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ‘‘

πŸ“¦ where this page comes from