From: Jaroslav Kysela Date: Tue, 26 Apr 2016 06:38:05 +0000 (+0200) Subject: mpegts service: fix enlist callback for raw (SAT>IP, scan) services, fixes #3746 X-Git-Tag: v4.2.1~611 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1dd5046aba0fa6425ccfe1774a80c9119e691db2;p=thirdparty%2Ftvheadend.git mpegts service: fix enlist callback for raw (SAT>IP, scan) services, fixes #3746 --- diff --git a/src/input/mpegts/mpegts_service.c b/src/input/mpegts/mpegts_service.c index 704369ee8..8ff8f77f6 100644 --- a/src/input/mpegts/mpegts_service.c +++ b/src/input/mpegts/mpegts_service.c @@ -281,7 +281,7 @@ mpegts_service_config_save ( service_t *t, char *filename, size_t fsize ) * 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 ) { @@ -330,6 +330,21 @@ mpegts_service_enlist 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 */ @@ -1023,7 +1038,7 @@ mpegts_service_create_raw ( mpegts_mux_t *mm ) 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;