descriptors.h - Man Page
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
#define TS_Information_descriptior
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_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 }
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:
- ISO/IEC 13818-1
- ETSI EN 300 468 V1.11.1 (2010-04)
- SCTE 35 2004
- http://www.etherguidesystems.com/Help/SDOs/ATSC/Semantics/Descriptors/Default.aspx
- http://www.coolstf.com/tsreader/descriptors.html
- ABNT NBR 15603-1 2007
- ATSC A/65:2009 spec
- Bug Report
Please submit bug reports and patches to linux-media@vger.kernel.org
Definition in file descriptors.h.
Macro Definition Documentation
#define TS_Information_descriptior
Definition at line 776 of file descriptors.h.
Author
Generated automatically by Doxygen for libdvbv5 from the source code.