summaryrefslogtreecommitdiff
path: root/device.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2005-08-21 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2005-08-21 18:00:00 +0200
commitdab203efe9e24f1dade33ee1da6a39b26f8501f0 (patch)
tree9399cbee3798f5232eddca484e118275fe8e472e /device.h
parentddd1e13e53c4970058884e2af31c2681617e7bf3 (diff)
downloadvdr-patch-lnbsharing-dab203efe9e24f1dade33ee1da6a39b26f8501f0.tar.gz
vdr-patch-lnbsharing-dab203efe9e24f1dade33ee1da6a39b26f8501f0.tar.bz2
Version 1.3.30vdr-1.3.30
- Improved responsiveness inside CAM menus. - Added handling of the 'Close MMI' tag to avoid error log messages with CAMs that actually use it. - Now waiting at startup until all DVB devices are ready. This includes having all CAMs initialized and ready to decrypt, so that no more "channel not available" happens if VDR is started with the current channel being an encrypted one, or a timer on such a channel hits right after starting VDR. - Fixed cVideoRepacker to better handle errors in data (thanks to Reinhard Nissl). - Fixed cDvbTuner to avoid lockups on NPTL systems (thanks to Marcel Wiesweg). - Added 'Service' functions to the plugin interface (thanks to Udo Richter). See PLUGINS.html, section "Custom services" for details. - Replaced the get/put_unaligned() macros from <asm/unaligned.h> with own inline functions to avoid problems on platforms that don't provide these (thanks to David Woodhouse for his help).
Diffstat (limited to 'device.h')
-rw-r--r--device.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/device.h b/device.h
index fc9ba3a..c7075cb 100644
--- a/device.h
+++ b/device.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: device.h 1.61 2005/08/13 11:44:13 kls Exp $
+ * $Id: device.h 1.62 2005/08/21 08:52:20 kls Exp $
*/
#ifndef __DEVICE_H
@@ -102,6 +102,12 @@ private:
public:
static int NumDevices(void) { return numDevices; }
///< Returns the total number of devices.
+ static bool WaitForAllDevicesReady(int Timeout = 0);
+ ///< Waits until all devices have become ready, or the given Timeout
+ ///< (seconds) has expired. While waiting, the Ready() function of each
+ ///< device is called in turn, until they all return true.
+ ///< \return True if all devices have become ready within the given
+ ///< timeout.
static void SetUseDevice(int n);
///< Sets the 'useDevice' flag of the given device.
///< If this function is not called before initializing, all devices
@@ -136,6 +142,11 @@ private:
protected:
cDevice(void);
virtual ~cDevice();
+ virtual bool Ready(void);
+ ///< Returns true if this device is ready. Devices with conditional
+ ///< access hardware may need some time until they are up and running.
+ ///< This function is called in a loop at startup until all devices
+ ///< are ready (see WaitForAllDevicesReady()).
static int NextCardIndex(int n = 0);
///< Calculates the next card index.
///< Each device in a given machine must have a unique card index, which