From 76c32d60f99e40c96e5def5383ab58f6582b4b6b Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Mon, 10 Mar 2014 13:17:11 +0100 Subject: [PATCH] When checking for obsolete channels, those with an RID that is not 0 are now ignored --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ channels.c | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index de2fb3ba..d85b2390 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -709,6 +709,8 @@ Oliver Endriss for suggesting to eliminate MAXDVBDEVICES for reporting that there are channels that need even more than 10 TS packets in order to detect the frame type + for suggesting to ignore channels with an RID that is not 0 when checking for obsolete + channels Reinhard Walter Buchner for adding some satellites to 'sources.conf' diff --git a/HISTORY b/HISTORY index 5f498241..6388b82f 100644 --- a/HISTORY +++ b/HISTORY @@ -8224,3 +8224,5 @@ Video Disk Recorder Revision History is opened. - Updated the Finnish OSD texts (thanks to Antti Hartikainen). - Fixed drawing the live indicator in the LCARS skin in case there are no devices. +- When checking for obsolete channels, those with an RID that is not 0 are now + ignored (suggested by Oliver Endriss). diff --git a/channels.c b/channels.c index 11367c7b..b0e24743 100644 --- a/channels.c +++ b/channels.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: channels.c 3.4 2014/01/04 15:01:52 kls Exp $ + * $Id: channels.c 3.5 2014/03/10 13:14:02 kls Exp $ */ #include "channels.h" @@ -1039,7 +1039,7 @@ cChannel *cChannels::NewChannel(const cChannel *Transponder, const char *Name, c void cChannels::MarkObsoleteChannels(int Source, int Nid, int Tid) { for (cChannel *channel = First(); channel; channel = Next(channel)) { - if (time(NULL) - channel->Seen() > CHANNELTIMEOBSOLETE && channel->Source() == Source && channel->Nid() == Nid && channel->Tid() == Tid) { + if (time(NULL) - channel->Seen() > CHANNELTIMEOBSOLETE && channel->Source() == Source && channel->Nid() == Nid && channel->Tid() == Tid && channel->Rid() == 0) { if (!endswith(channel->Name(), CHANNELMARKOBSOLETE)) channel->SetName(cString::sprintf("%s %s", channel->Name(), CHANNELMARKOBSOLETE), channel->ShortName(), cString::sprintf("%s %s", CHANNELMARKOBSOLETE, channel->Provider())); }