summaryrefslogtreecommitdiff
path: root/sdt.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2014-01-05 10:41:46 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2014-01-05 10:41:46 +0100
commitc7256c1c1123f2222c6b272af6472bc568b7d2ec (patch)
treecad2b286deaea4a2c574f7caae74a03231300ac5 /sdt.c
parent7cbced0c124a2d03290d82953c09f199602b1f7f (diff)
downloadvdr-c7256c1c1123f2222c6b272af6472bc568b7d2ec.tar.gz
vdr-c7256c1c1123f2222c6b272af6472bc568b7d2ec.tar.bz2
Channels that are no longer contained in the current SDT of a transponder are now marked with the keyword OBSOLETE in their name and provider fields2.1.3
Diffstat (limited to 'sdt.c')
-rw-r--r--sdt.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sdt.c b/sdt.c
index 5f2502b0..c6d0ce54 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 2.5 2010/05/16 14:23:21 kls Exp $
+ * $Id: sdt.c 3.1 2014/01/04 15:02:31 kls Exp $
*/
#include "sdt.h"
@@ -43,6 +43,8 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
cChannel *channel = Channels.GetByChannelID(tChannelID(Source(), sdt.getOriginalNetworkId(), sdt.getTransportStreamId(), SiSdtService.getServiceId()));
if (!channel)
channel = Channels.GetByChannelID(tChannelID(Source(), 0, Transponder(), SiSdtService.getServiceId()));
+ if (channel)
+ channel->SetSeen();
cLinkChannels *LinkChannels = NULL;
SI::Descriptor *d;
@@ -139,5 +141,7 @@ 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());
Channels.Unlock();
}