diff --git a/HISTORY b/HISTORY index ae644322..5bfa4e1b 100644 --- a/HISTORY +++ b/HISTORY @@ -8327,3 +8327,5 @@ Video Disk Recorder Revision History is now stored together with the CA descriptors and can be retrieved by calling GetPmtPid() (this information is only required to receive encrypted channels with the OctopusNet receiver via the 'satip' plugin). +- Channels that are not listed in the SDT are now only marked as OBSOLETE if + "Setup/DVB/Update channels" is set to a value other than "no" or "PIDs only". diff --git a/sdt.c b/sdt.c index 7537cfc1..4e6748d8 100644 --- a/sdt.c +++ b/sdt.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: sdt.c 3.3 2014/03/10 14:42:20 kls Exp $ + * $Id: sdt.c 3.4 2015/01/04 14:33:35 kls Exp $ */ #include "sdt.h" @@ -152,7 +152,9 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length delete LinkChannels; } } - if (sdt.getSectionNumber() == sdt.getLastSectionNumber()) - Channels.MarkObsoleteChannels(source, sdt.getOriginalNetworkId(), sdt.getTransportStreamId()); + if (sdt.getSectionNumber() == sdt.getLastSectionNumber()) { + if (Setup.UpdateChannels == 1 || Setup.UpdateChannels >= 3) + Channels.MarkObsoleteChannels(Source(), sdt.getOriginalNetworkId(), sdt.getTransportStreamId()); + } Channels.Unlock(); }