summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Ehrnsperger <markus@vdr1.(none)>2011-02-16 20:49:46 (GMT)
committerMarkus Ehrnsperger <markus@vdr1.(none)>2011-02-16 21:00:07 (GMT)
commitb4e66d3d624cc1cfbe2f435f02810f544633d993 (patch)
tree9327d4c957e10f8687ee36a64149581d3835a3e7
parenta6d58a2cfc617a048bbadf9cafc378a9c579aade (diff)
downloadvdr-patch-lnbsharing-b4e66d3d624cc1cfbe2f435f02810f544633d993.tar.gz
vdr-patch-lnbsharing-b4e66d3d624cc1cfbe2f435f02810f544633d993.tar.bz2
lnb-sharing 0.1.3lnb-sharing-0.1.3
- Fix an error that can occur if devices are explizitly specified (-D or --device) during start of VDR. Thanks to Lars (mini73 @ vdr-portal.de) for reporting this error. - Update History: Add credits to Uwe (Licherkette @ vdr-portal.de) for the correction done in 0.1.1
-rw-r--r--HISTORY.LNBshare12
-rw-r--r--config.h2
-rw-r--r--device.c14
3 files changed, 14 insertions, 14 deletions
diff --git a/HISTORY.LNBshare b/HISTORY.LNBshare
index d65d214..b5e7833 100644
--- a/HISTORY.LNBshare
+++ b/HISTORY.LNBshare
@@ -5,7 +5,6 @@ Version for VDR 1.4.3
- configurableLNBshare-VDR_1.4.3.patch from Matthias Lötzke (http://lötzke.de/vdr.html)
2010-04-10: Version for VDR 1.7.14
-
- Created HISTORY.LNBshare
- Created README.LNBshare
- Fixed possible buffer overflow in cMenuSetupLNB::Setup(void)
@@ -14,27 +13,28 @@ Version for VDR 1.4.3
- Adept to VDR 1.7.14. Support the new diseqc feature introduced with VDR 1.7.13: 'Added device definitions to the diseqc.conf file format, so that certain satellite positions can be limited to a given list of devices'.
2010-11-13:
-
- Fix: Devices sharing same LNB don't switch channel on main channel switch (thanks to hivdr @ vdr-portal.de for reporting the bug and spockele @ vdr-portal.de and hopsi @ vdr-portal.de for testing the correction)
- Fix: In LOG, device numbering is now as in VDR: Starting from 1, ...
- Fix: Encoding of german umlaut in "DVB-Empfänger %d nutzt LNB Nr"
2010-11-28:
-
- Fix: Device numbering in message 'LNB or DiSEq conflict with device ...'.
- Fix: Numbering of LNBs not using SAT
2010-12-25: Version 0.1.0 for VDR version 1.7.16
-
- Rename the patch to include patch version number (vdr-lnb-sharing-0.1.0-1.7.16.patch)
- Write patch version number to log file (if logging is switched on).
- Adept to VDR 1.7.16
-
2010-02-06 Version 0.1.1 for VDR version 1.7.16
-- Fix: If several DVB devices share one LNB, only the first of these devises will send signals like 22kHz. See README.LNBshare for details
+- Fix: If several DVB devices share one LNB, only the first of these devises will send signals like 22kHz. See README.LNBshare for details.
+ Thanks to Uwe (Licherkette @ vdr-portal.de) for finding and analyzing the error and testing the correction.
- README.LNBshare: Include warning about 1.3 FF cards with buggy Loop-Through that might result in destruction of LNBP-Chips if the Loop-Through is used
- Fix: Log file: Numbering of 'LNBs' not connected to a SAT DVB card
2010-02-08 Version 0.1.2 for VDR version 1.7.16
- Change: Make it easier to apply this patch together with the dynamite-Plugin patch. Note: this is mostly for maintainers of distributions and multi-patches. It will (must probably) not be possible for devices added with dynamite to share LNBs. Some concept work is required for this: How can VDR uniquely identify a device? How can a user identify such a device on OSD?
+
+2010-02-16 Version 0.1.3 for VDR version 1.7.16
+- Fix an error that can occur if devices are explizitly specified (-D or --device) during start of VDR. Thanks to Lars (mini73 @ vdr-portal.de) for reporting this error.
+
diff --git a/config.h b/config.h
index 05ebdba..bbb62a6 100644
--- a/config.h
+++ b/config.h
@@ -293,7 +293,7 @@ public:
int EmergencyExit;
//ML
- #define LNB_SHARING_VERSION "0.1.2"
+ #define LNB_SHARING_VERSION "0.1.3"
int VerboseLNBlog;
#define MAXDEVICES 16 // Since VDR 1.3.32 we can not #include "device.h" for MAXDEVICES anymore.
// With this workaround a warning will be shown during compilation if
diff --git a/device.c b/device.c
index c0f7e41..a3cecf9 100644
--- a/device.c
+++ b/device.c
@@ -155,9 +155,9 @@ void cDevice::SetLnbNr(void)
bool cDevice::IsLnbSendSignals(void)
{
- for (int i = 0; i < cardIndex; i++) {
+ for (int i = 0; device[i] != this && i < numDevices; i++) {
if (device[i]->IsShareLnb(this) ) {
- isyslog("Device %d: will not send any signal (like 22kHz) to LNB as device %d will do this", cardIndex+1, i+1);
+ isyslog("Device %d: will not send any signal (like 22kHz) to LNB as device %d will do this", cardIndex+1, device[i]->cardIndex + 1);
return false;
}
}
@@ -731,13 +731,13 @@ cDevice *cDevice::GetBadDevice(const cChannel *Channel)
if (this != device[i] && device[i]->IsShareLnb(this) && device[i]->IsLnbConflict(Channel) ) {
// there is a conflict between device[i] and 'this' if we tune this to Channel
if (Setup.VerboseLNBlog) {
- isyslog("LNB %d: Device check for channel %d on device %d. LNB or DiSEq conflict with device %d", LnbNr(), Channel->Number(), this->DeviceNumber() + 1, i + 1);
+ isyslog("LNB %d: Device check for channel %d on device %d. LNB or DiSEq conflict with device %d", LnbNr(), Channel->Number(), this->cardIndex + 1, device[i]->cardIndex + 1);
}
return device[i];
}
}
if (Setup.VerboseLNBlog) {
- isyslog("LNB %d: Device check for channel %d on device %d. OK", LnbNr(), Channel->Number(), this->DeviceNumber() + 1);
+ isyslog("LNB %d: Device check for channel %d on device %d. OK", LnbNr(), Channel->Number(), this->cardIndex + 1);
}
return NULL;
}
@@ -752,15 +752,15 @@ int cDevice::GetMaxBadPriority(const cChannel *Channel) const
if (this != device[i] && device[i]->IsShareLnb(this) && device[i]->IsLnbConflict(Channel) ) {
// there is a conflict between device[i] and 'this' if we tune this to Channel
if (Setup.VerboseLNBlog) {
- isyslog("LNB %d: Conflict for device %d, priority of conflicting device: %d", LnbNr(), i + 1, device[i]->Priority());
+ isyslog("LNB %d: Conflict for device %d, priority of conflicting device: %d", LnbNr(), device[i]->cardIndex + 1, device[i]->Priority());
}
if (device[i]->Receiving() && device[i]->Priority() > maxBadPriority) maxBadPriority = device[i]->Priority();
- if (i == ActualDevice()->CardIndex() && maxBadPriority < -1 ) maxBadPriority = -1;
+ if (device[i] == ActualDevice() && maxBadPriority < -1 ) maxBadPriority = -1;
}
}
if (Setup.VerboseLNBlog) {
- isyslog("LNB %d: Request for channel %d on device %d. MaxBadPriority is %d", LnbNr(), Channel->Number(), this->DeviceNumber() + 1, maxBadPriority);
+ isyslog("LNB %d: Request for channel %d on device %d. MaxBadPriority is %d", LnbNr(), Channel->Number(), this->cardIndex + 1, maxBadPriority);
}
return maxBadPriority;
}