Fixed finding new transponders

This commit is contained in:
Klaus Schmidinger 2008-01-25 14:55:39 +01:00
parent 6d8f92e240
commit f8274a9a9f
3 changed files with 9 additions and 5 deletions

View File

@ -2265,3 +2265,6 @@ Jiri Dobry <jdobry@centrum.cz>
Benjamin Hess <benjamin.h@gmx.ch>
for enhancing the SVDRP command CLRE to allow clearing the EPG data of a particular
channel
Winfried Koehler <w_koehl@gmx.de>
for fixing finding new transponders

View File

@ -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).

8
nit.c
View File

@ -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++) {