From 80c7c4093286d28369c7c88179194c6e1a8693f5 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Tue, 3 Jan 2012 18:41:18 -0200 Subject: [PATCH] utils/dvb: comment debug prints Signed-off-by: Mauro Carvalho Chehab --- utils/dvb/descriptors.c | 51 ++++++++++++++++++++++++------------------- utils/dvb/dvbv5-scan.c | 4 +--- utils/dvb/libscan.c | 58 +++++++++++++++++++++++++++++-------------------- utils/dvb/libscan.h | 4 +++- 4 files changed, 68 insertions(+), 49 deletions(-) diff --git a/utils/dvb/descriptors.c b/utils/dvb/descriptors.c index d5589c9..4cff1fb 100644 --- a/utils/dvb/descriptors.c +++ b/utils/dvb/descriptors.c @@ -14,18 +14,21 @@ static void parse_descriptor(struct dvb_descriptors *dvb_desc, int dlen = buf[1] + 1; /* FIXME: Not all descriptors are valid for all tables */ - printf("Descriptor 0x%02x, len %d\n", buf[0], dlen); + if (dvb_desc->verbose) + printf("Descriptor 0x%02x, len %d\n", buf[0], dlen); switch(buf[0]) { case network_name_descriptor: parse_string(&dvb_desc->nit_table.network_name, &dvb_desc->nit_table.network_alias, &buf[1], dlen, default_charset, output_charset); - if (dvb_desc->nit_table.network_name) - printf("Network %s", dvb_desc->nit_table.network_name); - if (dvb_desc->nit_table.network_alias) - printf("(%s)", dvb_desc->nit_table.network_alias); - printf("\n"); + if (dvb_desc->verbose) { + if (dvb_desc->nit_table.network_name) + printf("Network %s", dvb_desc->nit_table.network_name); + if (dvb_desc->nit_table.network_alias) + printf("(%s)", dvb_desc->nit_table.network_alias); + printf("\n"); + } return; case service_descriptor: { struct service_table *service_table = ptr; @@ -35,22 +38,24 @@ static void parse_descriptor(struct dvb_descriptors *dvb_desc, &service_table->provider_alias, &buf[4], buf[3], default_charset, output_charset); - if (service_table->provider_name) - printf("Provider %s", service_table->provider_name); - if (service_table->service_alias) - printf("(%s)", service_table->provider_alias); - if (service_table->provider_name || service_table->service_alias) - printf("\n"); buf += 4 + buf[3]; parse_string(&service_table->service_name, &service_table->service_alias, &buf[1], buf[0], default_charset, output_charset); - if (service_table->service_name) - printf("Service %s", service_table->service_name); - if (service_table->service_alias) - printf("(%s)", service_table->service_alias); - printf("\n"); + if (dvb_desc->verbose) { + if (service_table->provider_name) + printf("Provider %s", service_table->provider_name); + if (service_table->service_alias) + printf("(%s)", service_table->provider_alias); + if (service_table->provider_name || service_table->service_alias) + printf("\n"); + if (service_table->service_name) + printf("Service %s", service_table->service_name); + if (service_table->service_alias) + printf("(%s)", service_table->service_alias); + printf("\n"); + } return; } case service_list_descriptor: @@ -116,14 +121,16 @@ static void parse_descriptor(struct dvb_descriptors *dvb_desc, /* FIXME: Add parser */ return; case AAC_descriptor: - printf("AAC descriptor with len %d\n", dlen); + if (dvb_desc->verbose) + printf("AAC descriptor with len %d\n", dlen); return; case stream_identifier_descriptor: /* Don't need to parse it */ - printf("Component tag 0x%02x\n", buf[2]); + if (dvb_desc->verbose) + printf("Component tag 0x%02x\n", buf[2]); return; default: - printf("Unknown descriptor 0x%02x\n", buf[0]); + fprintf(stderr, "Unknown descriptor 0x%02x\n", buf[0]); return; } } @@ -188,7 +195,7 @@ void parse_pmt_descriptor(struct dvb_descriptors *dvb_desc, parse_descriptor(dvb_desc, buf, len, ptr); break; default: - printf("Invalid or unknown PMT descriptor 0x%02x\n", buf[0]); + fprintf(stderr, "Invalid or unknown PMT descriptor 0x%02x\n", buf[0]); return; } } @@ -224,7 +231,7 @@ void parse_sdt_descriptor(struct dvb_descriptors *dvb_desc, parse_descriptor(dvb_desc, buf, len, ptr); break; default: - printf("Invalid or unknown SDT descriptor 0x%02x\n", buf[0]); + fprintf(stderr, "Invalid or unknown SDT descriptor 0x%02x\n", buf[0]); return; } } diff --git a/utils/dvb/dvbv5-scan.c b/utils/dvb/dvbv5-scan.c index b81afe3..7c5569c 100644 --- a/utils/dvb/dvbv5-scan.c +++ b/utils/dvb/dvbv5-scan.c @@ -146,7 +146,7 @@ static int run_scan(const char *fname, struct dvb_v5_fe_parms *parms) count++; printf("CHANNEL #%d %s\n", count, entry->channel); - dvb_desc = get_dvb_ts_tables(DEMUX_DEV); + dvb_desc = get_dvb_ts_tables(DEMUX_DEV, 0); store_dvb_channel(&dvb_file_new, parms, dvb_desc, 0); @@ -178,11 +178,9 @@ int main(int argc, char **argv) { char *homedir = getenv("HOME"); char *confname = NULL; - char *channel = NULL; int adapter = 0, frontend = 0, demux = 0; int opt; struct dvb_v5_fe_parms *parms; - struct dvb_file *dvb_file = NULL; while ((opt = getopt(argc, argv, "H?hrpxRsFSn:a:f:d:c:t:o:")) != -1) { switch (opt) { diff --git a/utils/dvb/libscan.c b/utils/dvb/libscan.c index e0b33f9..69addf1 100644 --- a/utils/dvb/libscan.c +++ b/utils/dvb/libscan.c @@ -46,7 +46,8 @@ static void parse_pat(struct dvb_descriptors *dvb_desc, dvb_desc->pat_table.pid_table[n].program_number = service_id; dvb_desc->pat_table.pid_table[n].pid = pmt_pid; - printf("service_id 0x%04x, pmt_pid 0x%04x\n", service_id, pmt_pid); + if (dvb_desc->verbose) + printf("service_id 0x%04x, pmt_pid 0x%04x\n", service_id, pmt_pid); buf += 4; *section_length -= 4; @@ -70,9 +71,10 @@ static void parse_pmt(struct dvb_descriptors *dvb_desc, pmt_table->pcr_pid = ((buf[0] & 0x1f) << 8) | buf[1]; len = ((buf[2] & 0x0f) << 8) | buf[3]; - printf("PN 0x%04x, version %d, PCR ID 0x%04x, len %d\n", - pmt_table->program_number, pmt_table->version, - pmt_table->pcr_pid, len); + if (dvb_desc->verbose) + printf("PN 0x%04x, version %d, PCR ID 0x%04x, len %d\n", + pmt_table->program_number, pmt_table->version, + pmt_table->pcr_pid, len); buf += 4; *section_length -= 4; @@ -100,7 +102,8 @@ static void parse_pmt(struct dvb_descriptors *dvb_desc, case 0x02: case 0x10: case 0x1b: - printf("video pid 0x%04x\n", pid); + if (dvb_desc->verbose) + printf("video pid 0x%04x\n", pid); i = pid_table->video_pid_len; pid_table->video_pid = realloc(pid_table->video_pid, sizeof(*pid_table->video_pid) * @@ -112,7 +115,8 @@ static void parse_pmt(struct dvb_descriptors *dvb_desc, case 0x0f: case 0x11: case 0x81: - printf("audio pid 0x%04x\n", pid); + if (dvb_desc->verbose) + printf("audio pid 0x%04x\n", pid); i = pid_table->audio_pid_len; pid_table->audio_pid = realloc(pid_table->audio_pid, sizeof(*pid_table->audio_pid) * @@ -121,7 +125,8 @@ static void parse_pmt(struct dvb_descriptors *dvb_desc, /* Discard audio language descriptors */ break; default: - printf("other pid (type 0x%02x) 0x%04x\n", buf[0], pid); + if (dvb_desc->verbose) + printf("other pid (type 0x%02x) 0x%04x\n", buf[0], pid); }; #if 0 @@ -153,7 +158,7 @@ static void parse_nit(struct dvb_descriptors *dvb_desc, len = ((buf[0] & 0x0f) << 8) | buf[1]; if (*section_length < len + 4) { - printf("NIT section too short for Network ID 0x%04x", id); + fprintf(stderr, "NIT section too short for Network ID 0x%04x", id); return; } @@ -172,12 +177,13 @@ static void parse_nit(struct dvb_descriptors *dvb_desc, len = ((buf[4] & 0x0f) << 8) | buf[5]; if (*section_length < len + 4) { - printf("NIT section too short for Network ID 0x%04x, transport stream ID 0x%04x", + fprintf(stderr, "NIT section too short for Network ID 0x%04x, transport stream ID 0x%04x", id, nit_table->tr_table[n].tr_id); continue; } else { - printf("Transport stream #%d ID 0x%04x, len %d\n", - n, nit_table->tr_table[n].tr_id, len); + if (dvb_desc->verbose) + printf("Transport stream #%d ID 0x%04x, len %d\n", + n, nit_table->tr_table[n].tr_id, len); parse_nit_descriptor(dvb_desc, &buf[6], len, &nit_table->tr_table[n]); @@ -212,17 +218,18 @@ static void parse_sdt(struct dvb_descriptors *dvb_desc, sdt_table->service_table[n].service_id = (buf[0] << 8) | buf[1]; len = ((buf[3] & 0x0f) << 8) | buf[4]; if (*section_length < len || !len) { - printf("SDT section too short for Service ID 0x%04x\n", + fprintf(stderr, "SDT section too short for Service ID 0x%04x\n", sdt_table->service_table[n].service_id); } else { sdt_table->service_table[n].running = (buf[3] >> 5) & 0x7; sdt_table->service_table[n].scrambled = (buf[3] >> 4) & 1; - printf("Service #%d ID 0x%04x, running %d, scrambled %d\n", - n, - sdt_table->service_table[n].service_id, - sdt_table->service_table[n].running, - sdt_table->service_table[n].scrambled); + if (dvb_desc->verbose) + printf("Service #%d ID 0x%04x, running %d, scrambled %d\n", + n, + sdt_table->service_table[n].service_id, + sdt_table->service_table[n].running, + sdt_table->service_table[n].scrambled); parse_sdt_descriptor(dvb_desc, &buf[5], len, &sdt_table->service_table[n]); @@ -320,12 +327,15 @@ static int read_section(int dmx_fd, struct dvb_descriptors *dvb_desc, id = (buf[3] << 8) | buf[4]; version = (buf[5] >> 1) & 0x1f; - printf("PID 0x%04x, TableID 0x%02x ID=0x%04x, version %d, ", - pid, table_id, id, version); - hexdump(buf, count); next = (buf[6] == buf[7]) ? 0 : 1; - printf("\tsection_length = %d ", section_length); - printf("section %d, last section %d\n", buf[6], buf[7]); + + if (dvb_desc->verbose) { + printf("PID 0x%04x, TableID 0x%02x ID=0x%04x, version %d, ", + pid, table_id, id, version); + hexdump(buf, count); + printf("\tsection_length = %d ", section_length); + printf("section %d, last section %d\n", buf[6], buf[7]); + } p += 8; section_length -= 8; @@ -355,7 +365,7 @@ static int read_section(int dmx_fd, struct dvb_descriptors *dvb_desc, return 0; } -struct dvb_descriptors *get_dvb_ts_tables(char *dmxdev) +struct dvb_descriptors *get_dvb_ts_tables(char *dmxdev, int verbose) { int dmx_fd, i; struct dvb_descriptors *dvb_desc; @@ -371,6 +381,8 @@ struct dvb_descriptors *get_dvb_ts_tables(char *dmxdev) return NULL; } + dvb_desc->verbose = verbose; + /* PAT table */ read_section(dmx_fd, dvb_desc, 0, 0, NULL); diff --git a/utils/dvb/libscan.h b/utils/dvb/libscan.h index 4bb32a5..e37d446 100644 --- a/utils/dvb/libscan.h +++ b/utils/dvb/libscan.h @@ -53,10 +53,12 @@ struct sdt_table { }; struct dvb_descriptors { + int verbose; + struct pat_table pat_table; struct nit_table nit_table; struct sdt_table sdt_table; }; -struct dvb_descriptors *get_dvb_ts_tables(char *dmxdev); +struct dvb_descriptors *get_dvb_ts_tables(char *dmxdev, int verbose); void free_dvb_ts_tables(struct dvb_descriptors *dvb_desc); -- 2.7.4