summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY4
-rw-r--r--device.c11
3 files changed, 15 insertions, 1 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d5ce36d9..40ced81a 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -791,6 +791,7 @@ Malcolm Caldwell <malcolm.caldwell@ntu.edu.au>
for modifying LOF handling to allow for C-band reception
for reporting a crash in creating a new timer in case there is no device in the
system that can actually receive any channel
+ for suggesting to re-introduced the code that waits for a tuner lock in VDR/device.c
Ludwig Nussel <ludwig.nussel@web.de>
for making the LIRC thread avoid high CPU load in case the connection to LIRC gets lost
diff --git a/HISTORY b/HISTORY
index 45a08ad5..38a258f3 100644
--- a/HISTORY
+++ b/HISTORY
@@ -3765,3 +3765,7 @@ Video Disk Recorder Revision History
- Made LIRC command parsing more robust (thanks to Ville Skyttä).
- Introduced a separate 'plugins-install' target in the Makefile (thanks to Daniel
Thompson).
+- Re-introduced the code that waits for a tuner lock in VDR/device.c, since
+ apparently some users actually need it. It's not active by default, you'll have
+ to define the WAIT_FOR_TUNER_LOCK macro in that file if you need it (suggested
+ by Malcolm Caldwell).
diff --git a/device.c b/device.c
index 23808030..0ae2965d 100644
--- a/device.c
+++ b/device.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: device.c 1.107 2005/08/27 09:01:09 kls Exp $
+ * $Id: device.c 1.108 2005/09/02 13:52:31 kls Exp $
*/
#include "device.h"
@@ -1185,6 +1185,15 @@ bool cDevice::AttachReceiver(cReceiver *Receiver)
return false;
if (Receiver->device == this)
return true;
+// activate the following line if you need it - actually the driver should be fixed!
+//#define WAIT_FOR_TUNER_LOCK
+#ifdef WAIT_FOR_TUNER_LOCK
+#define TUNER_LOCK_TIMEOUT 5000 // ms
+ if (!HasLock(TUNER_LOCK_TIMEOUT)) {
+ esyslog("ERROR: device %d has no lock, can't attach receiver!", CardIndex() + 1);
+ return false;
+ }
+#endif
cMutexLock MutexLock(&mutexReceiver);
for (int i = 0; i < MAXRECEIVERS; i++) {
if (!receiver[i]) {