From f8274a9a9f45d69114803cf47c339f54ba5d7b9e Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 25 Jan 2008 14:55:39 +0100 Subject: [PATCH] Fixed finding new transponders --- CONTRIBUTORS | 3 +++ HISTORY | 3 ++- nit.c | 8 ++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 0cd64b79..71abce1a 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2265,3 +2265,6 @@ Jiri Dobry Benjamin Hess for enhancing the SVDRP command CLRE to allow clearing the EPG data of a particular channel + +Winfried Koehler + for fixing finding new transponders diff --git a/HISTORY b/HISTORY index 14b74107..595955a4 100644 --- a/HISTORY +++ b/HISTORY @@ -5564,10 +5564,11 @@ Video Disk Recorder Revision History - Enhanced the SVDRP command CLRE to allow clearing the EPG data of a particular channel (thanks to Benjamin Hess). -2008-01-19: Version 1.5.14 +2008-01-25: Version 1.5.14 - Fixed the Play function in the pictures plugin. - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Updated the Makefile of the skincurses plugin (thanks to Rolf Ahrenberg). - The new option --localedir can be used to set the locale directory at runtime (based on a patch from Stefan Huelswitt). +- Fixed finding new transponders (thanks to Winfried Köhler). diff --git a/nit.c b/nit.c index ba80a68f..c74a8fd4 100644 --- a/nit.c +++ b/nit.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: nit.c 1.15 2007/08/17 14:02:45 kls Exp $ + * $Id: nit.c 1.16 2008/01/25 14:53:43 kls Exp $ */ #include "nit.h" @@ -145,6 +145,7 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) { int transponder = Channel->Transponder(); + found = true; if (!ISTRANSPONDER(cChannel::Transponder(Frequency, Polarization), transponder)) { for (int n = 0; n < NumFrequencies; n++) { if (ISTRANSPONDER(cChannel::Transponder(Frequencies[n], Polarization), transponder)) { @@ -156,7 +157,6 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length if (ISTRANSPONDER(cChannel::Transponder(Frequency, Polarization), Transponder())) // only modify channels if we're actually receiving this transponder Channel->SetSatTransponderData(Source, Frequency, Polarization, SymbolRate, CodeRate); } - found = true; } if (!found) { for (int n = 0; n < NumFrequencies; n++) { @@ -196,6 +196,7 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) { int transponder = Channel->Transponder(); + found = true; if (!ISTRANSPONDER(Frequency / 1000, transponder)) { for (int n = 0; n < NumFrequencies; n++) { if (ISTRANSPONDER(Frequencies[n] / 1000, transponder)) { @@ -207,7 +208,6 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length if (ISTRANSPONDER(Frequency / 1000, Transponder())) // only modify channels if we're actually receiving this transponder Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate); } - found = true; } if (!found) { for (int n = 0; n < NumFrequencies; n++) { @@ -254,6 +254,7 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) { int transponder = Channel->Transponder(); + found = true; if (!ISTRANSPONDER(Frequency / 1000000, transponder)) { for (int n = 0; n < NumFrequencies; n++) { if (ISTRANSPONDER(Frequencies[n] / 1000000, transponder)) { @@ -265,7 +266,6 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length if (ISTRANSPONDER(Frequency / 1000000, Transponder())) // only modify channels if we're actually receiving this transponder Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode); } - found = true; } if (!found) { for (int n = 0; n < NumFrequencies; n++) {