44 #ifndef _DESCRIPTORS_H
45 #define _DESCRIPTORS_H
49 #include <arpa/inet.h>
55 #define DVB_MAX_PAYLOAD_PACKET_SIZE 4096
61 #define DVB_CRC_SIZE 4
80 const uint8_t *buf, ssize_t buflen,
90 #define bswap16(b) do {\
94 #define bswap32(b) do {\
99 #define DVB_DESC_HEADER() \
102 struct dvb_desc *next
123 } __attribute__((packed));
127 #define dvb_desc_foreach( _desc, _tbl ) \
128 for( struct dvb_desc *_desc = _tbl->descriptor; _desc; _desc = _desc->next ) \
130 #define dvb_desc_find(_struct, _desc, _tbl, _type) \
131 for( _struct *_desc = (_struct *) _tbl->descriptor; _desc; _desc = (_struct *) _desc->next ) \
132 if(_desc->type == _type) \
146 uint32_t
dvb_bcd(uint32_t bcd);
158 const unsigned char *buf,
int len);
182 uint16_t buflen,
struct dvb_desc **head_desc);
214 const uint8_t *buf,
struct dvb_desc *desc);
multilingual_bouquet_name descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
maximum_bitrate descriptor - ISO/IEC 13818-1
CA_contract_information descriptor - ABNT NBR 15603-1 2007.
ancillary_data descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
metadata_std descriptor - ISO/IEC 13818-1
const dvb_table_init_func dvb_table_initializers[256]
Table with all possible descriptors.
emergency_information descriptor - ABNT NBR 15603-1 2007
series descriptor - ABNT NBR 15603-1 2007
iod descriptor - ISO/IEC 13818-1
bouquet_name descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
partial_transport_stream descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
external_es_id descriptor - ISO/IEC 13818-1
extended_channel_name descriptor - SCTE 35 2004
atsc_service_location descriptor - ATSC A/65:2009
frequency_list descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
ISDBT terrestrial_delivery_system descriptor - ABNT NBR 15603-1 2007.
mpeg4_audio descriptor - ISO/IEC 13818-1
hierarchy descriptor - ISO/IEC 13818-1
std descriptor - ISO/IEC 13818-1
DTS descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
broadcaster_Name descriptor - ABNT NBR 15603-1 2007
ibp descriptor - ISO/IEC 13818-1
content_availability descriptor - ABNT NBR 15603-1 2007
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.
stuffing descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
subtitling descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
hierarchical_transmission descriptor - ABNT NBR 15603-1 2007
local_time_offset descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
service_availability descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
flexmux_timing descriptor - ISO/IEC 13818-1
partial_transport_stream_time descriptor - ABNT NBR 15603-1 2007
basic_local_event descriptor - ABNT NBR 15603-1 2007
void dvb_desc_free(struct dvb_desc **list)
frees a dvb_desc linked list
CUE_identifier descriptor - SCTE 35 2004.
short_smoothing_buffer descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
extended_event descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
TVA_id descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
atsc_genre descriptor - ATSC A/65:2009
short_node_information descriptor - ABNT NBR 15603-1 2007
carousel_id descriptor - ABNT NBR 15603-1 2007
logical_channel_number descriptor - SCTE 35 2004
multiplexbuffer descriptor - ISO/IEC 13818-1
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
connected_transmission descriptor - ABNT NBR 15603-1 2007
metadata descriptor - ISO/IEC 13818-1
CA_EMM_TS descriptor - ABNT NBR 15603-1 2007.
atsc_component_name descriptor - ATSC A/65:2009
video_stream descriptor - ISO/IEC 13818-1
private_data_specifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
service_location descriptor - SCTE 35 2004
uint32_t dvb_bcd(uint32_t bcd)
Converts from BCD to CPU integer internal representation.
target_background_grid descriptor - ISO/IEC 13818-1
metadata_pointer descriptor - ISO/IEC 13818-1
dvb_desc_print_func print
private_data_indicator descriptor - ISO/IEC 13818-1
component descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
video_decode_control descriptor - ABNT NBR 15603-1 2007
transport_stream_information descriptor - ABNT NBR 15603-1 2007
satellite_delivery_system descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
reference descriptor - ABNT NBR 15603-1 2007
country_availability descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
multilingual_service_name descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
related_content descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
stream_identifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
multiplex_buffer_utilization descriptor - ISO/IEC 13818-1
carousel_compatible_composite descriptor - ABNT NBR 15603-1 2007
iso639_language descriptor - ISO/IEC 13818-1
short_event descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
data_component descriptor - ABNT NBR 15603-1 2007
ipmp descriptor - ISO/IEC 13818-1
STC_reference descriptor - ABNT NBR 15603-1 2007.
partial_reception descriptor - ABNT NBR 15603-1 2007
AVC_video descriptor - ISO/IEC 13818-1.
announcement_support descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
hyperlink descriptor - ABNT NBR 15603-1 2007
component_name descriptor - SCTE 35 2004
AVC_timing_and_HRD descriptor - ISO/IEC 13818-1.
digital_copy_control descriptor - ABNT NBR 15603-1 2007
default_authority descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
void(* dvb_desc_free_func)(struct dvb_desc *desc)
Function prototype for the descriptors memory free code.
descriptors
List containing all descriptors used by Digital TV MPEG-TS.
system_clock descriptor - ISO/IEC 13818-1
fmc descriptor - ISO/IEC 13818-1
AAC descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
transport_stream descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
cell_list descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
copyright descriptor - ISO/IEC 13818-1
multilingual_component descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
SI_parameter descriptor - ABNT NBR 15603-1 2007.
time_shifted_event descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
parental_rating descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
application_signalling descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
audio_component descriptor - ABNT NBR 15603-1 2007
time_slice_fec_identifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
atsc_time_shifted_service descriptor - ATSC A/65:2009
network_identifier descriptor - ABNT NBR 15603-1 2007
DSNG descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
cell_frequency_link descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
fmxbuffersize descriptor - ISO/IEC 13818-1
content_labeling descriptor - ISO/IEC 13818-1
extension descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
FTA_content_management descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
component_group descriptor - ABNT NBR 15603-1 2007
video_window descriptor - ISO/IEC 13818-1
Keeps data needed to handle the DVB frontend.
multilingual_network_name descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
data_contents descriptor - ABNT NBR 15603-1 2007
void(* dvb_desc_print_func)(struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc)
Function prototype for the descriptors parsing print code.
event_group descriptor - ABNT NBR 15603-1 2007
mpeg4_video descriptor - ISO/IEC 13818-1
teletext descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
download_content descriptor - ABNT NBR 15603-1 2007
ds_alignment descriptor - ISO/IEC 13818-1
conditional_access descriptor - ISO/IEC 13818-1
service_list descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
PDC descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
atsc_DCC_departing_request descriptor - ATSC A/65:2009
data_broadcast descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
node_relation descriptor - ABNT NBR 15603-1 2007
scrambling descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
target_area descriptor - ABNT NBR 15603-1 2007
smoothing_buffer descriptor - ISO/IEC 13818-1
atsc_DCC_arriving_request descriptor - ATSC A/65:2009
atsc_redistribution_control descriptor - ATSC A/65:2009
Contains the parser information for the MPEG-TS parser code.
atsc_caption_service descriptor - ATSC A/65:2009
content_identifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
terrestrial_delivery_system descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
service_move descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
const struct dvb_descriptor dvb_descriptors[]
Contains the parsers for the several descriptors.
CA_identifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
network_name descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
logo_transmission descriptor - ABNT NBR 15603-1 2007
linkage descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
Linked list containing the several descriptors found on a MPEG-TS table.
mpeg2_aac_audio descriptor - ISO/IEC 13818-1
atsc_content_advisory descriptor - ATSC A/65:2009
atsc_ac3_audio descriptor - ATSC A/65:2009
system_management descriptor - ABNT NBR 15603-1 2007
CA_service descriptor - ABNT NBR 15603-1 2007.
void dvb_desc_print(struct dvb_v5_fe_parms *parms, struct dvb_desc *desc)
prints the contents of a struct dvb_desc linked list
extended_broadcaster descriptor - ABNT NBR 15603-1 2007
adaptation_field_data descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
cable_delivery_system descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
mosaic descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
content descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
muxcode descriptor - ISO/IEC 13818-1
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.
service descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
deferred_association_tags descriptor - ABNT NBR 15603-1 2007
audio_stream descriptor - ISO/IEC 13818-1
service_group descriptor - ABNT NBR 15603-1 2007
conditional_playback descriptor - ABNT NBR 15603-1 2007
LDT_linkage descriptor - ABNT NBR 15603-1 2007.
S2_satellite_delivery_system descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
atsc_ATSC_private_information descriptor - ATSC A/65:2009
board_information descriptor - ABNT NBR 15603-1 2007
atsc_extended_channel descriptor - ATSC A/65:2009
enhanced_AC_3 descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
sl descriptor - ISO/IEC 13818-1
NVOD_reference descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
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
service_identifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
association_tag descriptor - ABNT NBR 15603-1 2007
VBI_data descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
AC_3 descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
atsc_stuffing descriptor - ATSC A/65:2009
XAIT_location descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
registration descriptor - ISO/IEC 13818-1
time_shifted_service descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
data_broadcast_id descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
ECM_repetition_rate descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
VBI_teletext descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
telephone descriptor - ETSI EN 300 468 V1.11.1 (2010-04)
SI_prime_transport_stream descriptor - ABNT NBR 15603-1 2007.