From 761fb103b710db225eefa195dfd6f4387319b117 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 4 Jan 2015 14:37:36 +0100 Subject: 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" --- HISTORY | 2 ++ sdt.c | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) 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(); } -- cgit v1.2.3