diff --git a/src/input/mpegts/dvb_psi.c b/src/input/mpegts/dvb_psi.c index 14751d34..87e22649 100644 --- a/src/input/mpegts/dvb_psi.c +++ b/src/input/mpegts/dvb_psi.c @@ -589,10 +589,11 @@ dvb_pat_callback } else if (pid) { tvhdebug("pat", " sid %04X (%d) on pid %04X (%d)", sid, sid, pid, pid); int save = 0; - if (mpegts_service_find(mm, sid, pid, 1, &save)) - if (save) + if (mpegts_service_find(mm, sid, pid, 1, &save)) { + printf("ADD PMT HANDLER %04X %04X\n", sid, pid); mpegts_table_add(mm, DVB_PMT_BASE, DVB_PMT_MASK, dvb_pmt_callback, NULL, "pmt", MT_CRC | MT_QUICKREQ, pid); + } } /* Next */ diff --git a/src/input/mpegts/linuxdvb/linuxdvb_private.h b/src/input/mpegts/linuxdvb/linuxdvb_private.h index 80d0db3d..63bc6de5 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_private.h +++ b/src/input/mpegts/linuxdvb/linuxdvb_private.h @@ -146,11 +146,6 @@ struct linuxdvb_frontend */ int lfe_fullmux; int lfe_noclosefe; - - /* - * Callbacks - */ - int (*lfe_open_pid) (linuxdvb_frontend_t *lfe, int pid, const char *name); }; linuxdvb_frontend_t * diff --git a/src/input/mpegts/linuxdvb/linuxdvb_satconf.c b/src/input/mpegts/linuxdvb/linuxdvb_satconf.c index 40fdfc92..8a4f62a8 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_satconf.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_satconf.c @@ -559,13 +559,12 @@ linuxdvb_satconf_get_grace return r; } -static int +static mpegts_pid_t * linuxdvb_satconf_open_pid - ( linuxdvb_frontend_t *lfe, int pid, const char *name ) + ( mpegts_input_t *mi, mpegts_mux_t *mm, int pid, int type, void *owner ) { - linuxdvb_satconf_t *ls = (linuxdvb_satconf_t*)lfe; - lfe = (linuxdvb_frontend_t*)ls->ls_frontend; - return lfe->lfe_open_pid(lfe, pid, name); + linuxdvb_satconf_t *ls = (linuxdvb_satconf_t*)mi; + return ls->ls_frontend->mi_open_pid(ls->ls_frontend, mm, pid, type, owner); } /* ************************************************************************** @@ -593,7 +592,7 @@ linuxdvb_satconf_create0 ls->mi_started_mux = linuxdvb_satconf_started_mux; ls->mi_stopped_mux = linuxdvb_satconf_stopped_mux; ls->mi_has_subscription = linuxdvb_satconf_has_subscription; - ls->lfe_open_pid = linuxdvb_satconf_open_pid; + ls->mi_open_pid = linuxdvb_satconf_open_pid; /* Config */ if (conf) {