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:
Klaus Schmidinger
2002-08-16 18:00:00 +02:00
parent 527748826c
commit ed643353b1
35 changed files with 702 additions and 397 deletions

View File

@@ -4,18 +4,22 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: dvbdevice.h 1.1 2002/08/04 12:19:10 kls Exp $
* $Id: dvbdevice.h 1.5 2002/08/16 08:53:30 kls Exp $
*/
#ifndef __DVBDEVICE_H
#define __DVBDEVICE_H
#ifdef NEWSTRUCT
#include <linux/dvb/frontend.h>
#else
#include <stdlib.h> // FIXME: this is apparently necessary for the ost/... header files
// FIXME: shouldn't every header file include ALL the other header
// FIXME: files it depends on? The sequence in which header files
// FIXME: are included here should not matter - and it should NOT
// FIXME: be necessary to include <stdlib.h> here!
#include <ost/frontend.h>
#endif
#include "device.h"
#include "eit.h"
@@ -30,7 +34,11 @@ public:
// Must be called before accessing any DVB functions.
private:
FrontendType frontendType;
#ifdef NEWSTRUCT
int fd_osd, fd_frontend, fd_audio, fd_video, fd_dvr;
#else
int fd_osd, fd_frontend, fd_sec, fd_audio, fd_video, fd_dvr;
#endif
int OsdDeviceHandle(void) const { return fd_osd; }
protected:
virtual void MakePrimaryDevice(bool On);
@@ -75,7 +83,8 @@ private:
// Player facilities
protected:
virtual int SetPlayMode(bool On);
ePlayMode playMode;
virtual bool SetPlayMode(ePlayMode PlayMode);
public:
virtual void TrickSpeed(int Speed);
virtual void Clear(void);
@@ -83,6 +92,7 @@ public:
virtual void Freeze(void);
virtual void Mute(void);
virtual void StillPicture(const uchar *Data, int Length);
virtual bool Poll(cPoller &Poller, int TimeoutMs = 0);
virtual int PlayVideo(const uchar *Data, int Length);
virtual int PlayAudio(const uchar *Data, int Length);