descriptors.h man page

lib/include/libdvbv5/descriptors.h ā€” Provides a way to handle MPEG-TS descriptors found on Digital TV streams. Ā 

Synopsis

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

Data Structures

struct dvb_desc
Linked list containing the several descriptors found on a MPEG-TS table.
struct dvb_descriptor
Contains the parser information for the MPEG-TS parser code.

Macros

#define DVB_MAX_PAYLOAD_PACKET_SIZE
Maximum size of a table session to be parsed.
#define DVB_CRC_SIZE
number of bytes for the descriptor's CRC check

Typedefs

typedef void(* dvb_table_init_func) (struct dvb_v5_fe_parms *parms, const uint8_t *buf, ssize_t buflen, void **table)
Function prototype for a function that initializes the descriptors parsing on a table.
typedef int(* dvb_desc_init_func) (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc)
Function prototype for the descriptors parsing init code.
typedef void(* dvb_desc_print_func) (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc)
Function prototype for the descriptors parsing print code.
typedef void(* dvb_desc_free_func) (struct dvb_desc *desc)
Function prototype for the descriptors memory free code.

Enumerations

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_descriptior, 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 }
List containing all descriptors used by Digital TV MPEG-TS.

Functions

uint32_t dvb_bcd (uint32_t bcd)
Converts from BCD to CPU integer internal representation.
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
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
void dvb_desc_free (struct dvb_desc **list)
frees a dvb_desc linked list
void dvb_desc_print (struct dvb_v5_fe_parms *parms, struct dvb_desc *desc)
prints the contents of a struct dvb_desc linked list

Variables

const dvb_table_init_func dvb_table_initializers [256]
Table with all possible descriptors.
const struct dvb_descriptor dvb_descriptors []
Contains the parsers for the several descriptors.

Detailed Description

Provides a way to handle MPEG-TS descriptors found on Digital TV streams.

Copyright

GNU Lesser General Public License version 2.1 (LGPLv2.1)

Author

Mauro Carvalho Chehab

Andre Roth

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

Definition in file descriptors.h.

Author

Generated automatically by Doxygen for libdvbv5 from the source code.

Info

Sun Sep 22 2019 Version 1.18.0 libdvbv5