mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
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). 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.
This commit is contained in:
16
tools.h
16
tools.h
@@ -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[];
|
||||
|
||||
Reference in New Issue
Block a user