summaryrefslogtreecommitdiff
path: root/player.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2002-08-16 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2002-08-16 18:00:00 +0200
commited643353b100bee75459c4ef2d0330e7a04e1f2a (patch)
tree8a424eba464677a71309e1125ce4e7acef58607e /player.h
parent527748826c8d3cfacff8a7ab3fda9551c1182590 (diff)
downloadvdr-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 'player.h')
-rw-r--r--player.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/player.h b/player.h
index 1bf6d37..12cc2a3 100644
--- a/player.h
+++ b/player.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: player.h 1.5 2002/07/13 11:12:26 kls Exp $
+ * $Id: player.h 1.8 2002/08/16 09:14:12 kls Exp $
*/
#ifndef __PLAYER_H
@@ -17,9 +17,9 @@ class cPlayer {
friend class cDevice;
private:
cDevice *device;
- int deviceFileHandle;
+ ePlayMode playMode;
protected:
- int DeviceFileHandle(void) { return deviceFileHandle; } //XXX+ needed for polling
+ bool DevicePoll(cPoller &Poller, int TimeoutMs = 0) { return device ? device->Poll(Poller, TimeoutMs) : false; }
void DeviceTrickSpeed(int Speed) { if (device) device->TrickSpeed(Speed); }
void DeviceClear(void) { if (device) device->Clear(); }
void DevicePlay(void) { if (device) device->Play(); }
@@ -28,17 +28,17 @@ protected:
void DeviceStillPicture(const uchar *Data, int Length) { if (device) device->StillPicture(Data, Length); }
void Detach(void);
virtual void Activate(bool On) {}
- // This function is called right after the cPlayer has been attached to
- // (On == true) or before it gets detached from (On == false) a cDevice.
- // It can be used to do things like starting/stopping a thread.
+ // This function is called right after the cPlayer has been attached to
+ // (On == true) or before it gets detached from (On == false) a cDevice.
+ // It can be used to do things like starting/stopping a thread.
int PlayVideo(const uchar *Data, int Length);
- // Sends the given Data to the video device and returns the number of
- // bytes that have actually been accepted by the video device (or a
- // negative value in case of an error).
+ // Sends the given Data to the video device and returns the number of
+ // bytes that have actually been accepted by the video device (or a
+ // negative value in case of an error).
int PlayAudio(const uchar *Data, int Length);
// XXX+ TODO
public:
- cPlayer(void);
+ cPlayer(ePlayMode PlayMode = pmAudioVideo);
virtual ~cPlayer();
bool IsAttached(void) { return device != NULL; }
virtual bool GetIndex(int &Current, int &Total, bool SnapToIFrame = false) { return false; }