summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Ehrnsperger <markus@vdr1.(none)>2011-02-08 19:57:16 (GMT)
committerMarkus Ehrnsperger <markus@vdr1.(none)>2011-02-08 19:57:16 (GMT)
commita6d58a2cfc617a048bbadf9cafc378a9c579aade (patch)
tree98071fe4ed752a1e158a59593dd7de31ebc1dd36
parentbbea9e80be431b7422aaa4a8a9c0a171ddc105d5 (diff)
downloadvdr-patch-lnbsharing-a6d58a2cfc617a048bbadf9cafc378a9c579aade.tar.gz
vdr-patch-lnbsharing-a6d58a2cfc617a048bbadf9cafc378a9c579aade.tar.bz2
lnb-sharing 0.1.2lnb-sharing-0.1.2
- 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?
-rw-r--r--HISTORY.LNBshare3
-rw-r--r--config.h2
-rw-r--r--dvbdevice.c17
-rw-r--r--dvbdevice.h1
4 files changed, 13 insertions, 10 deletions
diff --git a/HISTORY.LNBshare b/HISTORY.LNBshare
index 6f95a45..d65d214 100644
--- a/HISTORY.LNBshare
+++ b/HISTORY.LNBshare
@@ -35,3 +35,6 @@ Version for VDR 1.4.3
- Fix: If several DVB devices share one LNB, only the first of these devises will send signals like 22kHz. See README.LNBshare for details
- 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?
diff --git a/config.h b/config.h
index 60d8027..05ebdba 100644
--- a/config.h
+++ b/config.h
@@ -293,7 +293,7 @@ public:
int EmergencyExit;
//ML
- #define LNB_SHARING_VERSION "0.1.1"
+ #define LNB_SHARING_VERSION "0.1.2"
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/dvbdevice.c b/dvbdevice.c
index ab9496a..ae4d82e 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -261,7 +261,7 @@ private:
int adapter, frontend;
int tuneTimeout;
int lockTimeout;
- bool lnbSendSignals; // LNB Sharing
+ bool lnbSendSignals; // LNB Sharing. false if this device must not send signals to the LNB (like 22 kHz, ...).
time_t lastTimeoutReport;
fe_delivery_system frontendType;
cChannel channel;
@@ -274,7 +274,7 @@ private:
bool SetFrontend(void);
virtual void Action(void);
public:
- cDvbTuner(int Device, int Fd_Frontend, int Adapter, int Frontend, fe_delivery_system FrontendType, bool LnbSendSignals);
+ cDvbTuner(int Device, int Fd_Frontend, int Adapter, int Frontend, fe_delivery_system FrontendType, cDvbDevice *Dvbdevice); // LNB Sharing
virtual ~cDvbTuner();
const cChannel *GetTransponder(void) const { return &channel; }
bool IsTunedTo(const cChannel *Channel) const;
@@ -282,9 +282,13 @@ public:
bool Locked(int TimeoutMs = 0);
};
-cDvbTuner::cDvbTuner(int Device, int Fd_Frontend, int Adapter, int Frontend, fe_delivery_system FrontendType, bool LnbSendSignals) // LNB Sharing
+cDvbTuner::cDvbTuner(int Device, int Fd_Frontend, int Adapter, int Frontend, fe_delivery_system FrontendType, cDvbDevice *Dvbdevice) // LNB Sharing
{
- lnbSendSignals = LnbSendSignals; // LNB Sharing
+// LNB Sharing
+ if(Dvbdevice) {
+ lnbSendSignals = Dvbdevice->IsLnbSendSignals();
+ } else lnbSendSignals = true;
+// END LNB Sharing
device = Device;
fd_frontend = Fd_Frontend;
adapter = Adapter;
@@ -730,10 +734,8 @@ cDvbDevice::cDvbDevice(int Adapter, int Frontend)
lnbState = -1;
SetLnbNrFromSetup();
lnbSource = NULL;
+ dvbTuner = new cDvbTuner(CardIndex() + 1, fd_frontend, adapter, frontend, frontendType, this);
//ML-Ende
-
-
- dvbTuner = new cDvbTuner(CardIndex() + 1, fd_frontend, adapter, frontend, frontendType, lnbSendSignals);
}
}
else
@@ -1069,7 +1071,6 @@ void cDvbDevice::SetLnbNrFromSetup(void)
{
lnbNr = Setup.CardUsesLnbNr[CardIndex()];
isyslog("LNB-sharing: setting device %d to use LNB %d", CardIndex() + 1, lnbNr);
- lnbSendSignals = IsLnbSendSignals();
}
bool cDvbDevice::IsShareLnb(const cDevice *Device)
diff --git a/dvbdevice.h b/dvbdevice.h
index be3ee13..b3d09bc 100644
--- a/dvbdevice.h
+++ b/dvbdevice.h
@@ -133,7 +133,6 @@ private:
// cDiseqc *lnbSource; // can not #include "diseqc.h". A workaround follows:
int *lnbSource; // [DiSEqC] DiSEqC-Source
int lnbNr; // Number of LNB used
- bool lnbSendSignals; // false if this device must not send signals to the LNB (like 22 kHz, ...).
public:
int *LnbSource(void) { return lnbSource; };