diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2002-09-08 14:17:51 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2002-09-08 14:17:51 +0200 |
commit | 9133fdcf630192fb57b7db4e3b35839588c3451d (patch) | |
tree | 38b51eb9d1bd241f1a7a28192d42f7bd91f59523 /dvbdevice.c | |
parent | 1b396902e488e093234ac181bbc0e514dd098942 (diff) | |
download | vdr-9133fdcf630192fb57b7db4e3b35839588c3451d.tar.gz vdr-9133fdcf630192fb57b7db4e3b35839588c3451d.tar.bz2 |
Implemented an SPU decoder
Diffstat (limited to 'dvbdevice.c')
-rw-r--r-- | dvbdevice.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/dvbdevice.c b/dvbdevice.c index 3d971b59..2b9c0aae 100644 --- a/dvbdevice.c +++ b/dvbdevice.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.c 1.11 2002/09/07 13:39:49 kls Exp $ + * $Id: dvbdevice.c 1.12 2002/09/08 14:07:08 kls Exp $ */ #include "dvbdevice.h" @@ -80,6 +80,7 @@ cDvbDevice::cDvbDevice(int n) { frontendType = FrontendType(-1); // don't know how else to initialize this - there is no FE_UNKNOWN siProcessor = NULL; + spuDecoder = NULL; playMode = pmNone; // Devices that are present on all card types: @@ -128,6 +129,7 @@ cDvbDevice::cDvbDevice(int n) cDvbDevice::~cDvbDevice() { + delete spuDecoder; delete siProcessor; // We're not explicitly closing any device files here, since this sometimes // caused segfaults. Besides, the program is about to terminate anyway... @@ -189,6 +191,13 @@ cOsdBase *cDvbDevice::NewOsd(int x, int y) return new cDvbOsd(x, y); } +cSpuDecoder *cDvbDevice::GetSpuDecoder(void) +{ + if (!spuDecoder && IsPrimaryDevice()) + spuDecoder = new cDvbSpuDecoder(); + return spuDecoder; +} + bool cDvbDevice::GrabImage(const char *FileName, bool Jpeg, int Quality, int SizeX, int SizeY) { int videoDev = DvbOpen(DEV_VIDEO, CardIndex(), O_RDWR, true); |