static char *default_charset = "iso-8859-1";
static char *output_charset = "utf-8";
+static const char *descriptors[] = {
+ [network_name_descriptor] = "network_name_descriptor",
+ [service_list_descriptor] = "service_list_descriptor",
+ [stuffing_descriptor] = "stuffing_descriptor",
+ [satellite_delivery_system_descriptor] = "satellite_delivery_system_descriptor",
+ [cable_delivery_system_descriptor] = "cable_delivery_system_descriptor",
+ [VBI_data_descriptor] = "VBI_data_descriptor",
+ [VBI_teletext_descriptor] = "VBI_teletext_descriptor",
+ [bouquet_name_descriptor] = "bouquet_name_descriptor",
+ [service_descriptor] = "service_descriptor",
+ [country_availability_descriptor] = "country_availability_descriptor",
+ [linkage_descriptor] = "linkage_descriptor",
+ [NVOD_reference_descriptor] = "NVOD_reference_descriptor",
+ [time_shifted_service_descriptor] = "time_shifted_service_descriptor",
+ [short_event_descriptor] = "short_event_descriptor",
+ [extended_event_descriptor] = "extended_event_descriptor",
+ [time_shifted_event_descriptor] = "time_shifted_event_descriptor",
+ [component_descriptor] = "component_descriptor",
+ [mosaic_descriptor] = "mosaic_descriptor",
+ [stream_identifier_descriptor] = "stream_identifier_descriptor",
+ [CA_identifier_descriptor] = "CA_identifier_descriptor",
+ [content_descriptor] = "content_descriptor",
+ [parental_rating_descriptor] = "parental_rating_descriptor",
+ [teletext_descriptor] = "teletext_descriptor",
+ [telephone_descriptor] = "telephone_descriptor",
+ [local_time_offset_descriptor] = "local_time_offset_descriptor",
+ [subtitling_descriptor] = "subtitling_descriptor",
+ [terrestrial_delivery_system_descriptor] = "terrestrial_delivery_system_descriptor",
+ [multilingual_network_name_descriptor] = "multilingual_network_name_descriptor",
+ [multilingual_bouquet_name_descriptor] = "multilingual_bouquet_name_descriptor",
+ [multilingual_service_name_descriptor] = "multilingual_service_name_descriptor",
+ [multilingual_component_descriptor] = "multilingual_component_descriptor",
+ [private_data_specifier_descriptor] = "private_data_specifier_descriptor",
+ [service_move_descriptor] = "service_move_descriptor",
+ [short_smoothing_buffer_descriptor] = "short_smoothing_buffer_descriptor",
+ [frequency_list_descriptor] = "frequency_list_descriptor",
+ [partial_transport_stream_descriptor] = "partial_transport_stream_descriptor",
+ [data_broadcast_descriptor] = "data_broadcast_descriptor",
+ [scrambling_descriptor] = "scrambling_descriptor",
+ [data_broadcast_id_descriptor] = "data_broadcast_id_descriptor",
+ [transport_stream_descriptor] = "transport_stream_descriptor",
+ [DSNG_descriptor] = "DSNG_descriptor",
+ [PDC_descriptor] = "PDC_descriptor",
+ [AC_3_descriptor] = "AC_3_descriptor",
+ [ancillary_data_descriptor] = "ancillary_data_descriptor",
+ [cell_list_descriptor] = "cell_list_descriptor",
+ [cell_frequency_link_descriptor] = "cell_frequency_link_descriptor",
+ [announcement_support_descriptor] = "announcement_support_descriptor",
+ [application_signalling_descriptor] = "application_signalling_descriptor",
+ [adaptation_field_data_descriptor] = "adaptation_field_data_descriptor",
+ [service_identifier_descriptor] = "service_identifier_descriptor",
+ [service_availability_descriptor] = "service_availability_descriptor",
+ [default_authority_descriptor] = "default_authority_descriptor",
+ [related_content_descriptor] = "related_content_descriptor",
+ [TVA_id_descriptor] = "TVA_id_descriptor",
+ [content_identifier_descriptor] = "content_identifier_descriptor",
+ [time_slice_fec_identifier_descriptor] = "time_slice_fec_identifier_descriptor",
+ [ECM_repetition_rate_descriptor] = "ECM_repetition_rate_descriptor",
+ [S2_satellite_delivery_system_descriptor] = "S2_satellite_delivery_system_descriptor",
+ [enhanced_AC_3_descriptor] = "enhanced_AC_3_descriptor",
+ [DTS_descriptor] = "DTS_descriptor",
+ [AAC_descriptor] = "AAC_descriptor",
+ [XAIT_location_descriptor] = "XAIT_location_descriptor",
+ [FTA_content_management_descriptor] = "FTA_content_management_descriptor",
+ [extension_descriptor] = "extension_descriptor",
+ [conditional_access_descriptor] = "conditional_access_descriptor",
+ [copyright_descriptor] = "copyright_descriptor",
+ [carousel_id_descriptor] = "carousel_id_descriptor",
+ [association_tag_descriptor] = "association_tag_descriptor",
+ [deferred_association_tags_descriptor] = "deferred_association_tags_descriptor",
+ [AVC_video_descriptor] = "AVC_video_descriptor",
+ [AVC_timing_and_HRD_descriptor] = "AVC_timing_and_HRD_descriptor",
+ [hierarchical_transmission_descriptor] = "hierarchical_transmission_descriptor",
+ [digital_copy_control_descriptor] = "digital_copy_control_descriptor",
+ [network_identifier_descriptor] = "network_identifier_descriptor",
+ [partial_transport_stream_time_descriptor] = "partial_transport_stream_time_descriptor",
+ [audio_component_descriptor] = "audio_component_descriptor",
+ [hyperlink_descriptor] = "hyperlink_descriptor",
+ [target_area_descriptor] = "target_area_descriptor",
+ [data_contents_descriptor] = "data_contents_descriptor",
+ [video_decode_control_descriptor] = "video_decode_control_descriptor",
+ [download_content_descriptor] = "download_content_descriptor",
+ [CA_EMM_TS_descriptor] = "CA_EMM_TS_descriptor",
+ [CA_contract_information_descriptor] = "CA_contract_information_descriptor",
+ [CA_service_descriptor] = "CA_service_descriptor",
+ [TS_Information_descriptior] = "TS_Information_descriptior",
+ [extended_broadcaster_descriptor] = "extended_broadcaster_descriptor",
+ [logo_transmission_descriptor] = "logo_transmission_descriptor",
+ [basic_local_event_descriptor] = "basic_local_event_descriptor",
+ [reference_descriptor] = "reference_descriptor",
+ [node_relation_descriptor] = "node_relation_descriptor",
+ [short_node_information_descriptor] = "short_node_information_descriptor",
+ [STC_reference_descriptor] = "STC_reference_descriptor",
+ [series_descriptor] = "series_descriptor",
+ [event_group_descriptor] = "event_group_descriptor",
+ [SI_parameter_descriptor] = "SI_parameter_descriptor",
+ [broadcaster_Name_Descriptor] = "broadcaster_Name_Descriptor",
+ [component_group_descriptor] = "component_group_descriptor",
+ [SI_prime_TS_descriptor] = "SI_prime_TS_descriptor",
+ [board_information_descriptor] = "board_information_descriptor",
+ [LDT_linkage_descriptor] = "LDT_linkage_descriptor",
+ [connected_transmission_descriptor] = "connected_transmission_descriptor",
+ [content_availability_descriptor] = "content_availability_descriptor",
+ [service_group_descriptor] = "service_group_descriptor",
+ [carousel_compatible_composite_Descriptor] = "carousel_compatible_composite_Descriptor",
+ [conditional_playback_descriptor] = "conditional_playback_descriptor",
+ [ISDBT_delivery_system_descriptor] = "ISDBT_delivery_system_descriptor",
+ [partial_reception_descriptor] = "partial_reception_descriptor",
+ [emergency_information_descriptor] = "emergency_information_descriptor",
+ [data_component_descriptor] = "data_component_descriptor",
+ [system_management_descriptor] = "system_management_descriptor",
+};
+
static void parse_descriptor(struct dvb_descriptors *dvb_desc,
const unsigned char *buf, int len,
void *ptr)
/* FIXME: Not all descriptors are valid for all tables */
if (dvb_desc->verbose)
- printf("Descriptor 0x%02x, len %d\n", buf[0], buf[1]);
+ printf("%s (0x%02x), len %d\n",
+ descriptors[buf[0]], buf[0], buf[1]);
switch(buf[0]) {
case network_name_descriptor:
parse_string(&dvb_desc->nit_table.network_name,