diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2014-01-05 10:41:46 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2014-01-05 10:41:46 +0100 |
commit | c7256c1c1123f2222c6b272af6472bc568b7d2ec (patch) | |
tree | cad2b286deaea4a2c574f7caae74a03231300ac5 /sdt.c | |
parent | 7cbced0c124a2d03290d82953c09f199602b1f7f (diff) | |
download | vdr-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.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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(); } |