Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
mpegts: factor out service auto-enable function
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
  • Loading branch information
swegener authored and perexg committed Nov 14, 2015
1 parent 960c362 commit d1ce213
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions src/input/mpegts/dvb_psi.c
Expand Up @@ -110,6 +110,17 @@ dvb_bouquet_comment ( bouquet_t *bq, mpegts_mux_t *mm )
bouquet_change_comment(bq, comment, 0);
}

static void
dvb_service_autoenable( mpegts_service_t *s, const char *where )
{
if (!s->s_enabled && s->s_auto == SERVICE_AUTO_PAT_MISSING) {
tvhinfo("mpegts", "enabling service %s [sid %04X/%d] (found in %s)",
s->s_nicename, s->s_dvb_service_id, s->s_dvb_service_id, where);
service_set_enabled((service_t *)s, 1, SERVICE_AUTO_NORMAL);
}
s->s_dvb_check_seen = dispatch_clock;
}

#if ENABLE_MPEGTS_DVB
static mpegts_mux_t *
dvb_fs_mux_find ( mpegts_mux_t *mm, uint16_t onid, uint16_t tsid )
Expand Down Expand Up @@ -1464,14 +1475,8 @@ dvb_sdt_mux
s = mpegts_service_find(mm, service_id, 0, 1, &save);
charset = dvb_charset_find(mn, mm, s);

if (s) {
if (!s->s_enabled && s->s_auto == SERVICE_AUTO_PAT_MISSING) {
tvhinfo("mpegts", "enabling service %s [sid %04X/%d] (found in SDT)",
s->s_nicename, s->s_dvb_service_id, s->s_dvb_service_id);
service_set_enabled((service_t *)s, 1, SERVICE_AUTO_NORMAL);
}
s->s_dvb_check_seen = dispatch_clock;
}
if (s)
dvb_service_autoenable(s, "SDT");

/* Descriptor loop */
DVB_DESC_EACH(lptr, llen, dtag, dlen, dptr) {
Expand Down Expand Up @@ -2420,14 +2425,9 @@ psi_parse_pmt
descrambler_caid_changed((service_t *)t);
}

if (service_has_audio_or_video((service_t *)t)) {
t->s_dvb_check_seen = dispatch_clock;
if (!t->s_enabled && t->s_auto == SERVICE_AUTO_PAT_MISSING) {
tvhinfo("mpegts", "enabling service %s [sid %04X/%d] (found in PAT and PMT)",
t->s_nicename, t->s_dvb_service_id, t->s_dvb_service_id);
service_set_enabled((service_t *)t, 1, SERVICE_AUTO_NORMAL);
}
}
if (service_has_audio_or_video((service_t *)t))
dvb_service_autoenable(t, "PAT and PMT");

return ret;
}

Expand Down

0 comments on commit d1ce213

Please sign in to comment.