summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY2
-rw-r--r--sdt.c8
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();
}