summaryrefslogtreecommitdiff
path: root/nit.c
diff options
context:
space:
mode:
Diffstat (limited to 'nit.c')
-rw-r--r--nit.c50
1 files changed, 28 insertions, 22 deletions
diff --git a/nit.c b/nit.c
index 007093db..4f535621 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.12 2006/05/27 15:35:16 kls Exp $
+ * $Id: nit.c 1.13 2006/10/28 12:31:04 kls Exp $
*/
#include "nit.h"
@@ -144,15 +144,17 @@ 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), 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), 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;
+ }
}
- }
+ }
+ Channel->SetSatTransponderData(Source, Frequency, Polarization, SymbolRate, CodeRate);
}
- Channel->SetSatTransponderData(Source, Frequency, Polarization, SymbolRate, CodeRate);
}
found = true;
}
@@ -193,15 +195,17 @@ 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, Channel->Transponder())) {
- for (int n = 0; n < NumFrequencies; n++) {
- if (ISTRANSPONDER(Frequencies[n] / 1000, Channel->Transponder())) {
- Frequency = Frequencies[n];
- break;
+ 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;
+ }
}
- }
+ }
+ Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate);
}
- Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate);
}
found = true;
}
@@ -249,15 +253,17 @@ 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, Channel->Transponder())) {
- for (int n = 0; n < NumFrequencies; n++) {
- if (ISTRANSPONDER(Frequencies[n] / 1000000, Channel->Transponder())) {
- Frequency = Frequencies[n];
- break;
+ 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;
+ }
}
- }
+ }
+ Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode);
}
- Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode);
}
found = true;
}