htsmsg_add_str(m, "adapterId", tdmi->tdmi_adapter->tda_identifier);
notify_by_msg("dvbService", m);
}
-
-
-/**
- * Get the signal status from a DVB transport
- */
-int
-dvb_transport_get_signal_status(service_t *t, signal_status_t *status)
-{
- th_dvb_mux_instance_t *tdmi = t->s_dvb_mux_instance;
-
- status->status_text = dvb_mux_status(tdmi);
- status->snr = tdmi->tdmi_snr;
- status->signal = tdmi->tdmi_signal;
- status->ber = tdmi->tdmi_ber;
- status->unc = tdmi->tdmi_uncorrected_blocks;
- return 0;
-}
htsp_send(htsp, m, pkt->pkt_payload, &hs->hs_q, pktbuf_len(pkt->pkt_payload));
if(hs->hs_last_report != dispatch_clock) {
- signal_status_t status;
/* Send a queue and signal status report every second */
/* We use a special queue for queue status message so they're not
blocked by anything else */
htsp_send_message(hs->hs_htsp, m, &hs->hs_htsp->htsp_hmq_qstatus);
-
-
- if(!service_get_signal_status(hs->hs_s->ths_service, &status)) {
-
- m = htsmsg_create_map();
- htsmsg_add_str(m, "method", "signalStatus");
- htsmsg_add_u32(m, "subscriptionId", hs->hs_sid);
-
- htsmsg_add_str(m, "feStatus", status.status_text);
- if(status.snr != -2)
- htsmsg_add_u32(m, "feSNR", status.snr);
- if(status.signal != -2)
- htsmsg_add_u32(m, "feSignal", status.signal);
- if(status.ber != -2)
- htsmsg_add_u32(m, "feBER", status.ber);
- if(status.unc != -2)
- htsmsg_add_u32(m, "feUNC", status.unc);
- htsp_send_message(hs->hs_htsp, m, &hs->hs_htsp->htsp_hmq_qstatus);
- }
-
}
pkt_ref_dec(pkt);
}
}
return 0;
}
-
-
-/**
- * Get the signal status from a service
- */
-int
-service_get_signal_status(service_t *t, signal_status_t *status)
-{
- // get signal status from the service
- switch(t->s_type) {
-#if ENABLE_LINUXDVB
- case SERVICE_TYPE_DVB:
- return dvb_transport_get_signal_status(t, status);
-#endif
- default:
- return -1;
- }
-}
-
uint16_t service_get_encryption(service_t *t);
-int service_get_signal_status(service_t *t, signal_status_t *status);
-
void service_set_dvb_default_charset(service_t *t, const char *dvb_default_charset);
void service_set_dvb_eit_enable(service_t *t, int dvb_eit_enable);