diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-08-04 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-08-04 18:00:00 +0200 |
commit | 527748826c8d3cfacff8a7ab3fda9551c1182590 (patch) | |
tree | 4e753aa85bc11b44e078809b643b7e5d6be5fdd9 /dvbdevice.h | |
parent | a4112a96a67dbeb1cd6a63d2b4fa4b837462f467 (diff) | |
download | vdr-patch-lnbsharing-527748826c8d3cfacff8a7ab3fda9551c1182590.tar.gz vdr-patch-lnbsharing-527748826c8d3cfacff8a7ab3fda9551c1182590.tar.bz2 |
Version 1.1.6vdr-1.1.6
- Re-visited the race condition fix in the cDvbPlayer (thanks again to Andreas
Schultz).
- Changed the VFAT handling to allow users who normally use it but have forgotten
to set it when compiling a new version of VDR to at least see their recordings
made with VFAT enabled (thanks to Christian Rienecker).
- Added some missing teletext PIDs (thanks to Joerg Riechardt).
- Fixed PID handling for cReceiver.
- Added a missing #include to ringbuffer.c (thanks to Martin Hammerschmid).
- Now using CC, CFLAGS, CXX and CXXFLAGS in Makefile.
- Changed the cDevice class to allow plugins to implement their own devices (see
PLUGINS.html for details).
Diffstat (limited to 'dvbdevice.h')
-rw-r--r-- | dvbdevice.h | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/dvbdevice.h b/dvbdevice.h new file mode 100644 index 0000000..25777f0 --- /dev/null +++ b/dvbdevice.h @@ -0,0 +1,97 @@ +/* + * dvbdevice.h: The DVB device interface + * + * 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 $ + */ + +#ifndef __DVBDEVICE_H +#define __DVBDEVICE_H + +#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> +#include "device.h" +#include "eit.h" + +class cDvbDevice : public cDevice { + friend class cDvbOsd; +private: + static bool Probe(const char *FileName); + // Probes for existing DVB devices. +public: + static bool Initialize(void); + // Initializes the DVB devices. + // Must be called before accessing any DVB functions. +private: + FrontendType frontendType; + int fd_osd, fd_frontend, fd_sec, fd_audio, fd_video, fd_dvr; + int OsdDeviceHandle(void) const { return fd_osd; } +protected: + virtual void MakePrimaryDevice(bool On); +public: + cDvbDevice(int n); + virtual ~cDvbDevice(); + virtual bool CanBeReUsed(int Frequency, int Vpid); + virtual bool HasDecoder(void) const; + +// Channel facilities + +private: + int frequency; +public: + virtual bool SetChannelDevice(const cChannel *Channel); + +// PID handle facilities + +protected: + virtual bool SetPid(cPidHandle *Handle, int Type, bool On); + +// Image Grab facilities + +public: + virtual bool GrabImage(const char *FileName, bool Jpeg = true, int Quality = -1, int SizeX = -1, int SizeY = -1); + +// Video format facilities + +public: + virtual void SetVideoFormat(bool VideoFormat16_9); + +// Volume facilities + +protected: + virtual void SetVolumeDevice(int Volume); + +// EIT facilities + +private: + cSIProcessor *siProcessor; + +// Player facilities + +protected: + virtual int SetPlayMode(bool On); +public: + virtual void TrickSpeed(int Speed); + virtual void Clear(void); + virtual void Play(void); + virtual void Freeze(void); + virtual void Mute(void); + virtual void StillPicture(const uchar *Data, int Length); + virtual int PlayVideo(const uchar *Data, int Length); + virtual int PlayAudio(const uchar *Data, int Length); + +// Receiver facilities + +protected: + virtual bool OpenDvr(void); + virtual void CloseDvr(void); + virtual int GetTSPacket(uchar *Data); + }; + +#endif //__DVBDEVICE_H |