Re-introduced the code that waits for a tuner lock in VDR/device.c

This commit is contained in:
Klaus Schmidinger 2005-09-02 13:55:37 +02:00
parent 85904ae23d
commit 2ffcc66af2
3 changed files with 15 additions and 1 deletions

View File

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

View File

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

View File

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