diff --git a/src/input/mpegts/dvb_psi.c b/src/input/mpegts/dvb_psi.c index e1920c2a..118e22e0 100644 --- a/src/input/mpegts/dvb_psi.c +++ b/src/input/mpegts/dvb_psi.c @@ -827,13 +827,18 @@ dvb_nit_callback /* nit only */ case DVB_DESC_SAT_DEL: - mux = dvb_desc_sat_del(mm, onid, tsid, dptr, dlen); - break; case DVB_DESC_CABLE_DEL: - mux = dvb_desc_cable_del(mm, onid, tsid, dptr, dlen); - break; case DVB_DESC_TERR_DEL: - mux = dvb_desc_terr_del(mm, onid, tsid, dptr, dlen); + if (dtag == DVB_DESC_SAT_DEL) + mux = dvb_desc_sat_del(mm, onid, tsid, dptr, dlen); + else if (dtag == DVB_DESC_CABLE_DEL) + mux = dvb_desc_cable_del(mm, onid, tsid, dptr, dlen); + else + mux = dvb_desc_terr_del(mm, onid, tsid, dptr, dlen); + if (mux) { + mpegts_mux_set_tsid(mux, tsid); + mpegts_mux_set_tsid(mux, onid); + } break; /* Both */