diff -Nur nope/xine-0.3.4/Makefile xine-0.3.4jau02/Makefile --- nope/xine-0.3.4/Makefile 2004-05-28 00:06:43.000000000 +0200 +++ xine-0.3.4jau02/Makefile 2004-05-28 03:05:17.867268840 +0200 @@ -33,8 +33,9 @@ FIFO_DIR = /tmp/vdr-xine #DATA_DIR = /usr/local/share/vdr-xine -DATA_DIR = ./PLUGINS/src/xine/data +#DATA_DIR = ./PLUGINS/src/xine/data #DATA_DIR = /soft/vdr-1.3.8/share/vdr/xine +DATA_DIR = /video/plugins/xine/data ### The version number of VDR (taken from VDR's "config.h"): diff -Nur nope/xine-0.3.4/xineDevice.c xine-0.3.4jau02/xineDevice.c --- nope/xine-0.3.4/xineDevice.c 2004-05-27 23:27:49.000000000 +0200 +++ xine-0.3.4jau02/xineDevice.c 2004-06-08 18:33:40.961419504 +0200 @@ -17,6 +17,15 @@ return true; } + cSpuDecoder *cXineDevice::GetSpuDecoder(void) + { + if (!spuDecoder && IsPrimaryDevice()) + spuDecoder = new cDvbSpuDecoder(); + //::fprintf(stderr, "XineDevice::GetSpuDecoder: 0x%X prim:=%d\n", + // spuDecoder, IsPrimaryDevice()); + return spuDecoder; + } + bool cXineDevice::CanReplay(void) const { return true; @@ -214,7 +223,10 @@ muted = true; } +/** #define VERBOSE_RETURN(x) do{ fprintf(stderr, "FIXME: %s:%d\n", __FILE__, __LINE__); return x; } while (0) + */ +#define VERBOSE_RETURN(x) do{ return x; } while (0) static bool getPTS(const unsigned char *buf0, int len0, int64_t &pts) { @@ -787,6 +799,13 @@ cOsd *cXineDevice::NewOsd(int x, int y) #endif { + if(cOsd::IsOpen()) + { + // who owns the OSD ??? + ::fprintf(stderr, "cXineDevice::NewOsd will fail, allready opened .. (m_currentOsd=%d)\n", + m_currentOsd!=NULL); + } + m_currentOsd = new cXineOsd(*this, x, y); return m_currentOsd; @@ -846,6 +865,7 @@ , m_xineLib(settings, remote) { m_xineLib.SetEventSink(this); + spuDecoder = NULL; } cXineDevice::~cXineDevice() diff -Nur nope/xine-0.3.4/xineDevice.h xine-0.3.4jau02/xineDevice.h --- nope/xine-0.3.4/xineDevice.h 2004-05-20 19:53:17.000000000 +0200 +++ xine-0.3.4jau02/xineDevice.h 2004-05-28 03:03:16.613702184 +0200 @@ -5,6 +5,7 @@ #include +#include #include "xineLib.h" @@ -20,10 +21,12 @@ const cXineSettings &m_settings; cXineOsd *m_currentOsd; + cDvbSpuDecoder *spuDecoder; void playTrickVideo(const uchar *Data, int Length); virtual bool HasDecoder(void) const; + virtual cSpuDecoder *GetSpuDecoder(void); virtual bool CanReplay(void) const; virtual bool SetPlayMode(ePlayMode PlayMode); virtual void TrickSpeed(int Speed);