service check: text cleanups, add help text, re-enable service when they're broadcasted again, fixes #2595

This commit is contained in:
Jaroslav Kysela 2015-01-06 10:33:19 +01:00
parent 1027f294d0
commit 1afee1663a
3 changed files with 19 additions and 4 deletions

View file

@ -18,6 +18,12 @@
<dt>Enabled
<dd>Whether or not this service is available for use
<dt>Automatic Checking
<dd>Check for the service presence. If service is no longer broadcasted,
this field will become as "Missing In PAT/SDT". The
check can be also disabled for given service using this
column.
<dt>Channel
<dd>The channel to which the service is mapped

View file

@ -1052,6 +1052,10 @@ dvb_pat_callback
tvhdebug("pat", " sid %04X (%d) on pid %04X (%d)", sid, sid, pid, pid);
int save = 0;
if ((s = mpegts_service_find(mm, sid, pid, 1, &save))) {
if (!s->s_enabled && s->s_auto == SERVICE_AUTO_PAT_MISSING) {
tvhinfo("mpegts", "enabling service %s (found in PAT)", s->s_nicename);
s->s_enabled = 1;
}
s->s_dvb_check_seen = dispatch_clock;
mpegts_table_add(mm, DVB_PMT_BASE, DVB_PMT_MASK, dvb_pmt_callback,
NULL, "pmt", MT_CRC | MT_QUICKREQ | MT_SCANSUBS,
@ -1588,8 +1592,13 @@ dvb_sdt_callback
s = mpegts_service_find(mm, service_id, 0, 1, &save);
charset = dvb_charset_find(mn, mm, s);
if (s)
if (s) {
if (!s->s_enabled && s->s_auto == SERVICE_AUTO_PAT_MISSING) {
tvhinfo("mpegts", "enabling service %s (found in SDT)", s->s_nicename);
s->s_enabled = 1;
}
s->s_dvb_check_seen = dispatch_clock;
}
/* Descriptor loop */
DVB_DESC_EACH(lptr, llen, dtag, dlen, dptr) {

View file

@ -181,9 +181,9 @@ static htsmsg_t *
service_class_auto_list ( void *o )
{
static const struct strtab tab[] = {
{ "", 0 },
{ "No Auto (Disabled)", 1 },
{ "Missing In PAT/SDT", 2 }
{ "Auto Check Enabled", 0 },
{ "Auto Check Disabled", 1 },
{ "Missing In PAT/SDT", 2 }
};
return strtab2htsmsg(tab);
}