diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-08-16 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-08-16 18:00:00 +0200 |
commit | ed643353b100bee75459c4ef2d0330e7a04e1f2a (patch) | |
tree | 8a424eba464677a71309e1125ce4e7acef58607e /tools.h | |
parent | 527748826c8d3cfacff8a7ab3fda9551c1182590 (diff) | |
download | vdr-patch-lnbsharing-ed643353b100bee75459c4ef2d0330e7a04e1f2a.tar.gz vdr-patch-lnbsharing-ed643353b100bee75459c4ef2d0330e7a04e1f2a.tar.bz2 |
Version 1.1.7vdr-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).
By default it currently still uses the old driver.
- Added some missing #includes (thanks to Martin Hammerschmid).
- Changed the log error message "can't record MPEG1!" to "error in data stream!",
since the mentioning of MPEG1 has irritated many people.
- Consistently using malloc/free and new/delete (thanks to Andreas Schultz).
- Temporarily made cDevice::ProvidesCa() virtual (Andreas Schultz needs this
in his DXR3 plugin).
- cDevice no longer exposes a file handle to cPlayer. A derived cPlayer class
can now call DevicePoll() to see whether the replay device is ready for
further data. A derived cDevice class must implement Poll() and shall
check if any of its file handles is ready for data.
- Implemented several replay modes to allow players that play only audio (thanks
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.
Diffstat (limited to 'tools.h')
-rw-r--r-- | tools.h | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: tools.h 1.47 2002/06/09 11:09:10 kls Exp $ + * $Id: tools.h 1.49 2002/08/16 08:52:01 kls Exp $ */ #ifndef __TOOLS_H @@ -12,6 +12,7 @@ #include <errno.h> #include <fcntl.h> +#include <poll.h> #include <stdio.h> #include <string.h> #include <syslog.h> @@ -36,6 +37,8 @@ extern int SysLogLevel; #define MAXPARSEBUFFER KILOBYTE(10) +#define MALLOC(type, size) (type *)malloc(sizeof(type) * (size)) + #define DELETENULL(p) (delete (p), p = NULL) #define CHECK(s) { if ((s) < 0) LOG_ERROR; } // used for 'ioctl()' calls @@ -74,6 +77,17 @@ bool SpinUpDisk(const char *FileName); const char *WeekDayName(int WeekDay); // returns a statically allocated string! const char *DayDateTime(time_t t = 0); // returns a statically allocated string! +class cPoller { +private: + enum { MaxPollFiles = 16 }; + pollfd pfd[MaxPollFiles]; + int numFileHandles; +public: + cPoller(int FileHandle = -1, bool Out = false); + bool Add(int FileHandle, bool Out); + bool Poll(int TimeoutMs = 0); + }; + class cFile { private: static bool files[]; |