<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
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,
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) {
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);
}