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
*/
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;
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);
}