static void do_reports(struct ts *ts) { static int first_emm_report = 1; static int first_ecm_report = 1; time_t now = time(NULL); if (ts->process_emm && ts->emm_report_interval) { if (first_emm_report && now >= ts->emm_last_report) { first_emm_report = 0; ts->emm_last_report -= FIRST_REPORT_SEC; report_emms(ts, now); } else if ((time_t)(ts->emm_last_report + ts->emm_report_interval) <= now) { report_emms(ts, now); } } if (ts->process_ecm && ts->ecm_report_interval) { if (first_ecm_report && now >= ts->ecm_last_report) { first_ecm_report = 0; ts->ecm_last_report -= FIRST_REPORT_SEC; report_ecms(ts, now); } else if ((time_t)(ts->ecm_last_report + ts->ecm_report_interval) <= now) { report_ecms(ts, now); } } if (ts->process_ecm && !ts->key.is_valid_cw) { if (ts->cw_warn_sec && now >= ts->cw_next_warn) { report_cw_warn(ts, now); } } }
static void do_reports(struct ts *ts) { static int first_emm_report = 1; static int first_ecm_report = 1; time_t now = time(NULL); if (ts->process_emm && ts->emm_report_interval) { if (first_emm_report && now >= ts->emm_last_report) { first_emm_report = 0; ts->emm_last_report -= FIRST_REPORT_SEC; report_emms(ts, now); } else if ((time_t)(ts->emm_last_report + ts->emm_report_interval) <= now) { report_emms(ts, now); } } if (ts->process_ecm && ts->ecm_report_interval) { if (first_ecm_report && now >= ts->ecm_last_report) { first_ecm_report = 0; ts->ecm_last_report -= FIRST_REPORT_SEC; report_ecms(ts, now); } else if ((time_t)(ts->ecm_last_report + ts->ecm_report_interval) <= now) { report_ecms(ts, now); } } if (ts->stream_is_not_scrambled && ts->last_not_scrambled_report_ts <= now - 60) { ts_LOGf("CLR | No encrypted packets in the last %ld seconds. Stream is clear.\n", now - ts->last_scrambled_packet_ts); notify(ts, "STREAM_CLEAR", "No encrypted packets in the last %ld seconds. Stream is clear.", now - ts->last_scrambled_packet_ts); ts->last_not_scrambled_report_ts = now; } if (ts->process_ecm && !ts->key.is_valid_cw) { if (ts->cw_warn_sec && now >= ts->cw_next_warn) { report_cw_warn(ts, now); } } if (!ts->no_input) { if (ts->last_pmt_ts <= now - 3) { if (ts->have_valid_pmt) { ts_LOGf("MIS | There is no valid PMT in the input.\n"); notify(ts, "NO_PROGRAM", "The input is missing valid program."); ts->have_valid_pmt = 0; } } } }