descriptors.h File Reference
Digital TV table parsing

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

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

Go to the source code of this file.

## Data Structures

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

## 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. More...

## 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.nosp@m.-med.nosp@m.ia@vg.nosp@m.er.k.nosp@m.ernel.nosp@m..org

Definition in file descriptors.h.

## Macro Definition Documentation

## TS_Information_descriptior

#define TS_Information_descriptior

Definition at line 776 of file descriptors.h.