* Service instance list
*/
static int
-mpegts_service_enlist
+mpegts_service_enlist_raw
( service_t *t, tvh_input_t *ti, struct service_instance_list *sil,
int flags, int weight )
{
return 0;
}
+/*
+ * Service instance list
+ */
+static int
+mpegts_service_enlist
+ ( service_t *t, tvh_input_t *ti, struct service_instance_list *sil,
+ int flags, int weight )
+{
+ /* invalid PMT */
+ if (t->s_pmt_pid <= 0 || t->s_pmt_pid >= 8191)
+ return SM_CODE_INVALID_SERVICE;
+
+ return mpegts_service_enlist_raw(t, ti, sil, flags, weight);
+}
+
/*
* Start service
*/
s->s_delete = mpegts_service_delete;
s->s_is_enabled = mpegts_service_is_enabled;
s->s_config_save = mpegts_service_config_save;
- s->s_enlist = mpegts_service_enlist;
+ s->s_enlist = mpegts_service_enlist_raw;
s->s_start_feed = mpegts_service_start;
s->s_stop_feed = mpegts_service_stop;
s->s_refresh_feed = mpegts_service_refresh;