diff options
| -rw-r--r-- | xineDevice.c | 9 | ||||
| -rw-r--r-- | xineDevice.h | 3 | ||||
| -rw-r--r-- | xineOsd.c | 8 |
3 files changed, 9 insertions, 11 deletions
diff --git a/xineDevice.c b/xineDevice.c index f08b61b..9ab77c7 100644 --- a/xineDevice.c +++ b/xineDevice.c @@ -300,19 +300,14 @@ namespace PluginXine //#endif } - void cXineDevice::TrickSpeed(int Speed) - { - TrickSpeed(Speed, false); - } - - void cXineDevice::TrickSpeed(int Speed, bool IBP) + void cXineDevice::TrickSpeed(int Speed, bool Forward) { f = false; ts = Speed; xfprintf(stderr, "TrickSpeed: %d\n", Speed); m_xineLib.execFuncTrickSpeedMode(lastCmdWasClear); - m_xineLib.execFuncSetSpeed(100.0 / Speed * (IBP ? 12 : 1)); + m_xineLib.execFuncSetSpeed(100.0 / Speed); m_xineLib.execFuncWait(); m_xineLib.freeze(false); m_xineLib.pause(false); diff --git a/xineDevice.h b/xineDevice.h index 5570e9f..9767019 100644 --- a/xineDevice.h +++ b/xineDevice.h @@ -50,8 +50,7 @@ namespace PluginXine virtual bool CanReplay(void) const; virtual bool SetPlayMode(ePlayMode PlayMode); virtual bool HasIBPTrickSpeed(void); - virtual void TrickSpeed(int Speed, bool IBP); - virtual void TrickSpeed(int Speed); + virtual void TrickSpeed(int Speed, bool Forward); virtual void Clear(void); virtual void Play(void); virtual void Freeze(void); @@ -498,7 +498,7 @@ if (!head) } } - while (cPixmapMemory *pm = RenderPixmaps()) + while (cPixmapMemory *pm = dynamic_cast<cPixmapMemory*>(RenderPixmaps())) { if (!head) { @@ -518,7 +518,11 @@ if (!head) ); */ m_pRawOsd->Copy(pm, pm->DrawPort().Shifted(-pm->DrawPort().Point()), pm->ViewPort().Point()); - delete pm; +#if APIVERSNUM >= 20110 + DestroyPixmap(pm); +#else + delete pm; +#endif } } else if (m_pRawOsd) |
