From 27c0fffe7c1114edae85c82141e366d7084a2edc Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Tue, 12 Mar 2019 14:02:53 +0100 Subject: [PATCH] Fixed triggering the SDT filter when parsing the NIT --- CONTRIBUTORS | 1 + HISTORY | 1 + nit.c | 12 +++++------- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 6100d7c0..c8ca17a3 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3573,6 +3573,7 @@ Helmut Binder for fixing accessing the actual frontend on multi frontend devices for fixing processing the last entry in the scan list of the EIT scanner for fixing processing transponder data in the NIT + for fixing triggering the SDT filter when parsing the NIT Ulrich Eckhardt for reporting a problem with shutdown after user inactivity in case a plugin is diff --git a/HISTORY b/HISTORY index 9c4f7afb..4745574d 100644 --- a/HISTORY +++ b/HISTORY @@ -9379,3 +9379,4 @@ Video Disk Recorder Revision History - Fixed processing the last entry in the scan list of the EIT scanner (thanks to Helmut Binder). - Fixed processing transponder data in the NIT (thanks to Helmut Binder). +- Fixed triggering the SDT filter when parsing the NIT (thanks to Helmut Binder). diff --git a/nit.c b/nit.c index e75acc82..5c6db7e4 100644 --- a/nit.c +++ b/nit.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: nit.c 4.6 2019/03/12 13:01:33 kls Exp $ + * $Id: nit.c 4.7 2019/03/12 14:00:52 kls Exp $ */ #include "nit.h" @@ -153,8 +153,6 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length } } } - if (ISTRANSPONDER(cChannel::Transponder(Frequency, dtp.Polarization()), Transponder())) - sdtFilter->Trigger(Source); } break; case SI::S2SatelliteDeliverySystemDescriptorTag: { @@ -218,8 +216,6 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length } } } - if (ISTRANSPONDER(Frequency / 1000, Transponder())) - sdtFilter->Trigger(Source); } break; case SI::TerrestrialDeliverySystemDescriptorTag: { @@ -286,8 +282,6 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length } } } - if (ISTRANSPONDER(Frequency / 1000000, Transponder())) - sdtFilter->Trigger(Source); } break; case SI::ExtensionDescriptorTag: { @@ -367,5 +361,9 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length delete d; } } + if (nit.getSectionNumber() == nit.getLastSectionNumber()) { + dbgnit(" trigger sdtFilter for current tp %d\n", Transponder()); + sdtFilter->Trigger(Source()); + } StateKey.Remove(ChannelsModified); }