htsmsg_t *m = htsmsg_create();
htsmsg_add_str(m, "id", tdmi->tdmi_identifier);
- htsmsg_add_u32(m, "quality", 100 + tdmi->tdmi_quality * 2);
+ htsmsg_add_u32(m, "quality", tdmi->tdmi_quality);
notify_by_msg("dvbmux", m);
}
n = dvb_mux_badness(tdmi);
if(n > 0) {
- if(tdmi->tdmi_quality > -50) {
- tdmi->tdmi_quality -= n;
+ i = MAX(tdmi->tdmi_quality - n, 0);
+ if(i != tdmi->tdmi_quality) {
+ tdmi->tdmi_quality = i;
dvb_notify_mux_quality(tdmi);
savemux = 1;
}
} else {
- if(tdmi->tdmi_quality < 0) {
+ if(tdmi->tdmi_quality < 100) {
tdmi->tdmi_quality++;
dvb_notify_mux_quality(tdmi);
savemux = 1;
htsmsg_t *m = htsmsg_create();
- htsmsg_add_u32(m, "quality", -tdmi->tdmi_quality);
+ htsmsg_add_u32(m, "quality", tdmi->tdmi_quality);
htsmsg_add_str(m, "status", tdmi->tdmi_last_status);
htsmsg_add_u32(m, "transportstreamid", tdmi->tdmi_transport_stream_id);
}
if(!htsmsg_get_u32(m, "quality", &u32))
- tdmi->tdmi_quality = -u32;
+ tdmi->tdmi_quality = u32;
}
return NULL;
}
}
}
-/**
- *
- */
-int
-dvb_quality_to_percent(int qual)
-{
- return (qual + 50) * 2;
-}
-
th_dvb_adapter_t *dvb_adapter_find_by_identifier(const char *identifier);
th_dvb_mux_instance_t *dvb_mux_find_by_identifier(const char *identifier);
void dvb_mux_nicename(char *buf, size_t size, th_dvb_mux_instance_t *tdmi);
-int dvb_quality_to_percent(int qual);
int dvb_mux_badness(th_dvb_mux_instance_t *tdmi);
const char *dvb_mux_status(th_dvb_mux_instance_t *tdmi);
extjs_dvbtree_node(out, 0,
tdmi->tdmi_identifier, buf, "DVB Mux",
tdmi->tdmi_last_status,
- 100 + tdmi->tdmi_quality * 2, "mux");
+ tdmi->tdmi_quality, "mux");
}
} else if((tdmi = dvb_mux_find_by_identifier(s)) != NULL) {