From: Jaroslav Kysela Date: Mon, 14 Jan 2019 14:21:24 +0000 (+0100) Subject: service: enlist - use also is_enabled callback to check the network/mux enable state X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97b71ef9e40064c94f17593547f7c80b1833b45a;p=thirdparty%2Ftvheadend.git service: enlist - use also is_enabled callback to check the network/mux enable state --- diff --git a/src/input/mpegts/mpegts_service.c b/src/input/mpegts/mpegts_service.c index 56844e53a..b8933a4e5 100644 --- a/src/input/mpegts/mpegts_service.c +++ b/src/input/mpegts/mpegts_service.c @@ -280,6 +280,14 @@ mpegts_service_is_enabled(service_t *t, int flags) return mm->mm_is_enabled(mm) ? s->s_enabled : 0; } +static int +mpegts_service_is_enabled_raw(service_t *t, int flags) +{ + mpegts_service_t *s = (mpegts_service_t*)t; + mpegts_mux_t *mm = s->s_dvb_mux; + return mm->mm_is_enabled(mm) ? s->s_enabled : 0; +} + /* * Save */ @@ -1175,7 +1183,7 @@ mpegts_service_create_raw ( mpegts_mux_t *mm ) s->s_dvb_mux = mm; s->s_delete = mpegts_service_delete; - s->s_is_enabled = mpegts_service_is_enabled; + s->s_is_enabled = mpegts_service_is_enabled_raw; s->s_config_save = mpegts_service_config_save; s->s_enlist = mpegts_service_enlist_raw; s->s_start_feed = mpegts_service_start; diff --git a/src/service.c b/src/service.c index a53c85f5c..cdcf5b5ea 100644 --- a/src/service.c +++ b/src/service.c @@ -449,6 +449,10 @@ service_find_instance break; } } else { + if (!s->s_is_enabled(s, flags)) { + *error = SM_CODE_SVC_NOT_ENABLED; + return NULL; + } r = s->s_enlist(s, ti, sil, flags, weight); }