diff --git a/src/cwc.c b/src/cwc.c index 08baa6f1..59d84b75 100644 --- a/src/cwc.c +++ b/src/cwc.c @@ -541,6 +541,16 @@ cwc_running_reply(cwc_t *cwc, uint8_t msgtype, uint8_t *msg, int len) return 0; } + tvhlog(LOG_DEBUG, "cwc", + "Received ECM reply for srevice \"%s\" " + "even: %02x.%02x.%02x.%02x.%02x.%02x.%02x.%02x" + " odd: %02x.%02x.%02x.%02x.%02x.%02x.%02x.%02x ", + t->tht_svcname, + msg[3 + 0], msg[3 + 1], msg[3 + 2], msg[3 + 3], msg[3 + 4], + msg[3 + 5], msg[3 + 6], msg[3 + 7], msg[3 + 8], msg[3 + 9], + msg[3 + 10],msg[3 + 11],msg[3 + 12],msg[3 + 13],msg[3 + 14], + msg[3 + 15]); + if(ct->ct_keystate != CT_RESOLVED) tvhlog(LOG_INFO, "cwc", "Obtained key for for service \"%s\"",t->tht_svcname); @@ -548,7 +558,6 @@ cwc_running_reply(cwc_t *cwc, uint8_t msgtype, uint8_t *msg, int len) ct->ct_keystate = CT_RESOLVED; pthread_mutex_lock(&t->tht_stream_mutex); - for(j = 0; j < 8; j++) if(msg[3 + j]) { set_even_control_word(ct->ct_keys, msg + 3); @@ -903,6 +912,8 @@ cwc_table_input(struct th_descrambler *td, struct th_transport *t, break; } + tvhlog(LOG_DEBUG, "cwc", "Sending ECM for service %s", t->tht_svcname); + memcpy(ct->ct_ecm, data, len); ct->ct_ecmsize = len; ct->ct_seq = cwc_send_msg(cwc, data, len, sid); diff --git a/src/dvb/dvb.h b/src/dvb/dvb.h index d5b391b2..12ccd537 100644 --- a/src/dvb/dvb.h +++ b/src/dvb/dvb.h @@ -164,7 +164,6 @@ typedef struct th_dvb_adapter { char *tda_identifier; uint32_t tda_autodiscovery; uint32_t tda_idlescan; - uint32_t tda_logging; uint32_t tda_diseqc_version; char *tda_displayname; @@ -213,8 +212,6 @@ void dvb_adapter_set_auto_discovery(th_dvb_adapter_t *tda, int on); void dvb_adapter_set_idlescan(th_dvb_adapter_t *tda, int on); -void dvb_adapter_set_logging(th_dvb_adapter_t *tda, int on); - void dvb_adapter_set_diseqc_version(th_dvb_adapter_t *tda, unsigned int v); void dvb_adapter_clone(th_dvb_adapter_t *dst, th_dvb_adapter_t *src); diff --git a/src/dvb/dvb_adapter.c b/src/dvb/dvb_adapter.c index ec34423b..29c85921 100644 --- a/src/dvb/dvb_adapter.c +++ b/src/dvb/dvb_adapter.c @@ -78,7 +78,6 @@ tda_save(th_dvb_adapter_t *tda) htsmsg_add_str(m, "displayname", tda->tda_displayname); htsmsg_add_u32(m, "autodiscovery", tda->tda_autodiscovery); htsmsg_add_u32(m, "idlescan", tda->tda_idlescan); - htsmsg_add_u32(m, "logging", tda->tda_logging); htsmsg_add_u32(m, "diseqc_version", tda->tda_diseqc_version); hts_settings_save(m, "dvbadapters/%s", tda->tda_identifier); htsmsg_destroy(m); @@ -146,25 +145,6 @@ dvb_adapter_set_idlescan(th_dvb_adapter_t *tda, int on) } -/** - * - */ -void -dvb_adapter_set_logging(th_dvb_adapter_t *tda, int on) -{ - if(tda->tda_logging == on) - return; - - lock_assert(&global_lock); - - tvhlog(LOG_NOTICE, "dvb", "Adapter \"%s\" detailed logging set to: %s", - tda->tda_displayname, on ? "On" : "Off"); - - tda->tda_logging = on; - tda_save(tda); -} - - /** * */ @@ -319,7 +299,6 @@ dvb_adapter_init(uint32_t adapter_mask) htsmsg_get_u32(c, "autodiscovery", &tda->tda_autodiscovery); htsmsg_get_u32(c, "idlescan", &tda->tda_idlescan); - htsmsg_get_u32(c, "logging", &tda->tda_logging); htsmsg_get_u32(c, "diseqc_version", &tda->tda_diseqc_version); } htsmsg_destroy(l); diff --git a/src/dvb/dvb_fe.c b/src/dvb/dvb_fe.c index 9c3d6f81..26b346f1 100644 --- a/src/dvb/dvb_fe.c +++ b/src/dvb/dvb_fe.c @@ -115,12 +115,10 @@ dvb_fe_monitor(void *aux) if(status != tdmi->tdmi_fe_status) { tdmi->tdmi_fe_status = status; - if(tda->tda_logging) { - dvb_mux_nicename(buf, sizeof(buf), tdmi); - tvhlog(LOG_INFO, - "dvb", "\"%s\" on adapter \"%s\", status changed to %s", - buf, tda->tda_displayname, dvb_mux_status(tdmi)); - } + dvb_mux_nicename(buf, sizeof(buf), tdmi); + tvhlog(LOG_DEBUG, + "dvb", "\"%s\" on adapter \"%s\", status changed to %s", + buf, tda->tda_displayname, dvb_mux_status(tdmi)); update = 1; } @@ -267,14 +265,13 @@ dvb_fe_tune_s2(th_dvb_mux_instance_t *tdmi, dvb_mux_conf_t *dmc, const char *nam break; } - if(tda->tda_logging) - tvhlog(LOG_INFO, - "dvb", - "tuning via s2api to %s, freq %d, symbolrate %d, " - "fec %d, sys %d, mod %d", - name, p->frequency, p->u.qpsk.symbol_rate, p->u.qpsk.fec_inner, - dmc->dmc_fe_delsys, - dmc->dmc_fe_modulation); + tvhlog(LOG_DEBUG, + "dvb", + "tuning via s2api to %s, freq %d, symbolrate %d, " + "fec %d, sys %d, mod %d", + name, p->frequency, p->u.qpsk.symbol_rate, p->u.qpsk.fec_inner, + dmc->dmc_fe_delsys, + dmc->dmc_fe_modulation); r = ioctl(tda->tda_fe_fd, FE_SET_PROPERTY, &_dvbs_cmdseq); if(0) @@ -354,10 +351,9 @@ dvb_fe_tune(th_dvb_mux_instance_t *tdmi, const char *reason) tda->tda_fe_monitor_hold = 4; - if(tda->tda_logging) - tvhlog(LOG_INFO, - "dvb", "\"%s\" tuning to \"%s\" (%s)", tda->tda_rootpath, buf, - reason); + tvhlog(LOG_DEBUG, + "dvb", "\"%s\" tuning to \"%s\" (%s)", tda->tda_rootpath, buf, + reason); #if DVB_API_VERSION >= 5 if (tda->tda_type == FE_QPSK) diff --git a/src/dvb/dvb_multiplex.c b/src/dvb/dvb_multiplex.c index 9c14a6fd..c8f3cd13 100644 --- a/src/dvb/dvb_multiplex.c +++ b/src/dvb/dvb_multiplex.c @@ -177,9 +177,8 @@ dvb_mux_create(th_dvb_adapter_t *tda, const struct dvb_mux_conf *dmc, dvb_mux_save(tdmi); dvb_mux_nicename(buf, sizeof(buf), tdmi); - if(tda->tda_logging) - tvhlog(LOG_INFO, "dvb", - "Configuration for mux \"%s\" updated by %s", buf, source); + tvhlog(LOG_DEBUG, "dvb", + "Configuration for mux \"%s\" updated by %s", buf, source); dvb_mux_notify(tdmi); return NULL; } diff --git a/src/dvb/dvb_tables.c b/src/dvb/dvb_tables.c index 5c4285fe..031a7596 100644 --- a/src/dvb/dvb_tables.c +++ b/src/dvb/dvb_tables.c @@ -123,11 +123,9 @@ dvb_table_fastswitch(th_dvb_mux_instance_t *tdmi) tda->tda_initial_num_mux--; - if(tda->tda_logging) { - dvb_mux_nicename(buf, sizeof(buf), tdmi); - tvhlog(LOG_INFO, "dvb", "\"%s\" initial scan completed for \"%s\"", - tda->tda_rootpath, buf); - } + dvb_mux_nicename(buf, sizeof(buf), tdmi); + tvhlog(LOG_DEBUG, "dvb", "\"%s\" initial scan completed for \"%s\"", + tda->tda_rootpath, buf); dvb_adapter_mux_scanner(tda); } diff --git a/src/dvb/dvb_transport.c b/src/dvb/dvb_transport.c index be1856a3..279e0375 100644 --- a/src/dvb/dvb_transport.c +++ b/src/dvb/dvb_transport.c @@ -352,8 +352,7 @@ dvb_transport_find(th_dvb_mux_instance_t *tdmi, uint16_t sid, int pmt_pid, } dvb_mux_nicename(buf, sizeof(buf), tdmi); - if(tdmi->tdmi_adapter->tda_logging) - tvhlog(LOG_INFO, "dvb", "Add service \"%s\" on \"%s\"", identifier, buf); + tvhlog(LOG_DEBUG, "dvb", "Add service \"%s\" on \"%s\"", identifier, buf); t = transport_create(identifier, TRANSPORT_DVB, THT_MPEG_TS); diff --git a/src/main.c b/src/main.c index 2636e404..3b0fb2cf 100644 --- a/src/main.c +++ b/src/main.c @@ -67,7 +67,11 @@ pthread_mutex_t global_lock; pthread_mutex_t ffmpeg_lock; static int log_stderr; static int log_decorate; -int log_debug; + +int log_debug_to_syslog; +int log_debug_to_comet; +int log_debug_to_console; + static void handle_sigpipe(int x) @@ -273,7 +277,7 @@ main(int argc, char **argv) contentpath = optarg; break; case 'd': - log_debug = 1; + log_debug_to_console = 1; break; case 'C': createdefault = 1; @@ -435,8 +439,6 @@ static const char *logtxtmeta[8][2] = { {"DEBUG", "\033[32m"}, }; - - /** * Internal log function */ @@ -455,12 +457,13 @@ tvhlogv(int notify, int severity, const char *subsys, const char *fmt, vsnprintf(buf + l, sizeof(buf) - l, fmt, ap); - syslog(severity, "%s", buf); + if(log_debug_to_syslog || severity < LOG_DEBUG) + syslog(severity, "%s", buf); /** * Send notification to Comet (Push interface to web-clients) */ - if(notify) { + if(notify && (log_debug_to_comet || severity < LOG_DEBUG)) { htsmsg_t *m; time(&now); @@ -479,7 +482,7 @@ tvhlogv(int notify, int severity, const char *subsys, const char *fmt, * Write to stderr */ - if(log_stderr) { + if(log_stderr && (log_debug_to_console || severity < LOG_DEBUG)) { const char *leveltxt = logtxtmeta[severity][0]; const char *sgr = logtxtmeta[severity][1]; const char *sgroff; diff --git a/src/webui/extjs.c b/src/webui/extjs.c index dd021a9b..d37af953 100644 --- a/src/webui/extjs.c +++ b/src/webui/extjs.c @@ -992,7 +992,6 @@ extjs_dvbadapter(http_connection_t *hc, const char *remain, void *opaque) htsmsg_add_str(r, "name", tda->tda_displayname); htsmsg_add_u32(r, "automux", tda->tda_autodiscovery); htsmsg_add_u32(r, "idlescan", tda->tda_idlescan); - htsmsg_add_u32(r, "logging", tda->tda_logging); htsmsg_add_str(r, "diseqcversion", ((const char *[]){"DiSEqC 1.0 / 2.0", "DiSEqC 1.1 / 2.1"}) @@ -1010,9 +1009,6 @@ extjs_dvbadapter(http_connection_t *hc, const char *remain, void *opaque) s = http_arg_get(&hc->hc_req_args, "idlescan"); dvb_adapter_set_idlescan(tda, !!s); - s = http_arg_get(&hc->hc_req_args, "logging"); - dvb_adapter_set_logging(tda, !!s); - if((s = http_arg_get(&hc->hc_req_args, "diseqcversion")) != NULL) { if(!strcmp(s, "DiSEqC 1.0 / 2.0")) dvb_adapter_set_diseqc_version(tda, 0); diff --git a/src/webui/static/app/dvb.js b/src/webui/static/app/dvb.js index b9fe0c9a..7b9b9f93 100644 --- a/src/webui/static/app/dvb.js +++ b/src/webui/static/app/dvb.js @@ -961,7 +961,7 @@ tvheadend.dvb_adapter_general = function(adapterData, satConfStore) { var confreader = new Ext.data.JsonReader({ root: 'dvbadapters' - }, ['name', 'automux', 'idlescan', 'logging', 'diseqcversion']); + }, ['name', 'automux', 'idlescan', 'diseqcversion']); function saveConfForm () { @@ -985,10 +985,6 @@ tvheadend.dvb_adapter_general = function(adapterData, satConfStore) { new Ext.form.Checkbox({ fieldLabel: 'Idle scanning', name: 'idlescan' - }), - new Ext.form.Checkbox({ - fieldLabel: 'Detailed logging', - name: 'logging' }) ];