summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2007-04-29 11:37:14 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2007-04-29 11:37:14 +0200
commitb8a568b792c6a0f9e26b26e4c8c7c3865eddf824 (patch)
tree52a6fb010392d40cbdfb3f4420b0f0906c89eeca
parent842efc15c53957f534d31c5527b1c65dc486c496 (diff)
downloadvdr-b8a568b792c6a0f9e26b26e4c8c7c3865eddf824.tar.gz
vdr-b8a568b792c6a0f9e26b26e4c8c7c3865eddf824.tar.bz2
Fixed handling frequencies in NitFilter::Process()
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY3
-rw-r--r--nit.c53
3 files changed, 28 insertions, 29 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 9bb2a9ad..fe86dab2 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -2007,6 +2007,7 @@ Anssi Hannula <anssi.hannula@gmail.com>
for suggesting that cDevice::GetDevice() should prefer any device that's already
receiving and doesn't require detatching receivers
for improving handling Transfer Mode devices when selecting a device to receive
+ for fixing handling frequencies in NitFilter::Process()
Antti Hartikainen <ami+vdr@ah.fi>
for updating 'S13E' in 'sources.conf'
diff --git a/HISTORY b/HISTORY
index 2345dfed..24792371 100644
--- a/HISTORY
+++ b/HISTORY
@@ -5048,7 +5048,8 @@ Video Disk Recorder Revision History
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
-2007-04-28: Version 1.4.6-1
+2007-04-29: Version 1.4.6-1
- Fixed a busy loop in fast forward if the next video data file is missing
(thanks to Reinhard Nissl).
+- Fixed handling frequencies in NitFilter::Process() (thanks to Anssi Hannula).
diff --git a/nit.c b/nit.c
index 4f535621..d7dfc7b4 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.13 2006/10/28 12:31:04 kls Exp $
+ * $Id: nit.c 1.13.1.1 2007/04/29 11:35:33 kls Exp $
*/
#include "nit.h"
@@ -144,17 +144,16 @@ 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()) {
if (Setup.UpdateChannels >= 5) {
- if (ISTRANSPONDER(cChannel::Transponder(Frequency, Polarization), Transponder())) { // only modify channels if we're actually receiving this transponder
- if (!ISTRANSPONDER(cChannel::Transponder(Frequency, Polarization), Channel->Transponder())) {
- for (int n = 0; n < NumFrequencies; n++) {
- if (ISTRANSPONDER(cChannel::Transponder(Frequencies[n], Polarization), Channel->Transponder())) {
- Frequency = Frequencies[n];
- break;
- }
+ if (!ISTRANSPONDER(cChannel::Transponder(Frequency, Polarization), Channel->Transponder())) {
+ for (int n = 0; n < NumFrequencies; n++) {
+ if (ISTRANSPONDER(cChannel::Transponder(Frequencies[n], Polarization), Channel->Transponder())) {
+ Frequency = Frequencies[n];
+ break;
}
- }
- Channel->SetSatTransponderData(Source, Frequency, Polarization, SymbolRate, CodeRate);
+ }
}
+ 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;
}
@@ -195,17 +194,16 @@ 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()) {
if (Setup.UpdateChannels >= 5) {
- if (ISTRANSPONDER(Frequency / 1000, Transponder())) { // only modify channels if we're actually receiving this transponder
- if (!ISTRANSPONDER(Frequency / 1000, Channel->Transponder())) {
- for (int n = 0; n < NumFrequencies; n++) {
- if (ISTRANSPONDER(Frequencies[n] / 1000, Channel->Transponder())) {
- Frequency = Frequencies[n];
- break;
- }
+ if (!ISTRANSPONDER(Frequency / 1000, Channel->Transponder())) {
+ for (int n = 0; n < NumFrequencies; n++) {
+ if (ISTRANSPONDER(Frequencies[n] / 1000, Channel->Transponder())) {
+ Frequency = Frequencies[n];
+ break;
}
- }
- Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate);
+ }
}
+ if (ISTRANSPONDER(Frequency / 1000, Transponder())) // only modify channels if we're actually receiving this transponder
+ Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate);
}
found = true;
}
@@ -253,17 +251,16 @@ 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()) {
if (Setup.UpdateChannels >= 5) {
- if (ISTRANSPONDER(Frequency / 1000000, Transponder())) { // only modify channels if we're actually receiving this transponder
- if (!ISTRANSPONDER(Frequency / 1000000, Channel->Transponder())) {
- for (int n = 0; n < NumFrequencies; n++) {
- if (ISTRANSPONDER(Frequencies[n] / 1000000, Channel->Transponder())) {
- Frequency = Frequencies[n];
- break;
- }
+ if (!ISTRANSPONDER(Frequency / 1000000, Channel->Transponder())) {
+ for (int n = 0; n < NumFrequencies; n++) {
+ if (ISTRANSPONDER(Frequencies[n] / 1000000, Channel->Transponder())) {
+ Frequency = Frequencies[n];
+ break;
}
- }
- Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode);
+ }
}
+ 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;
}