From fd682083a4d79d82113f345ac9b56d7afb1ed868 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 16 Aug 2002 09:57:10 +0200 Subject: [PATCH] Now running even w/o DVB devices, provided at least one device is implemented by a plugin --- HISTORY | 5 ++++- device.c | 4 ++-- vdr.c | 11 ++++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/HISTORY b/HISTORY index 87d19d58..c7269cda 100644 --- a/HISTORY +++ b/HISTORY @@ -1393,7 +1393,7 @@ Video Disk Recorder Revision History - Changed the cDevice class to allow plugins to implement their own devices (see PLUGINS.html for details). -2002-08-15: Version 1.1.7 +2002-08-16: Version 1.1.7 - Adapted VDR to the NEWSTRUCT driver. To use the new driver, compile VDR with 'make NEWSTRUCT=1' (thanks to Holger Wächtler for some valuable advice). @@ -1412,3 +1412,6 @@ Video Disk Recorder Revision History to Stefan Huelswitt). - Improved cCondVar::Wait() and implemented cCondVar::TimedWait() (thanks to Stefan Huelswitt). +- VDR no longer gives up if there is no DVB device. It continues to work if + there is at least one device, either a DVB device found by the core VDR code + itself, or a device implemented by a plugin. diff --git a/device.c b/device.c index ff18aebf..6a310377 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.11 2002/08/16 08:52:56 kls Exp $ + * $Id: device.c 1.12 2002/08/16 09:50:43 kls Exp $ */ #include "device.h" @@ -97,7 +97,7 @@ bool cDevice::SetPrimaryDevice(int n) primaryDevice->MakePrimaryDevice(true); return true; } - esyslog("invalid device number: %d", n + 1); + esyslog("invalid primary device number: %d", n + 1); return false; } diff --git a/vdr.c b/vdr.c index 286b0bb2..9da5b5ee 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/people/kls/vdr * - * $Id: vdr.c 1.119 2002/08/11 11:32:15 kls Exp $ + * $Id: vdr.c 1.120 2002/08/16 09:54:03 kls Exp $ */ #include @@ -327,8 +327,7 @@ int main(int argc, char *argv[]) // DVB interfaces: - if (!cDvbDevice::Initialize()) - return 2; + cDvbDevice::Initialize(); cSIProcessor::Read(); @@ -340,6 +339,12 @@ int main(int argc, char *argv[]) // Primary device: cDevice::SetPrimaryDevice(Setup.PrimaryDVB); + if (!cDevice::PrimaryDevice()) { + const char *msg = "no primary device found - giving up!"; + fprintf(stderr, "vdr: %s\n", msg); + esyslog("ERROR: %s", msg); + return 2; + } // OSD: