diff options
Diffstat (limited to 'PLUGINS/src/dvbhddevice')
-rw-r--r-- | PLUGINS/src/dvbhddevice/HISTORY | 4 | ||||
-rw-r--r-- | PLUGINS/src/dvbhddevice/dvbhddevice.c | 18 | ||||
-rw-r--r-- | PLUGINS/src/dvbhddevice/dvbhdffdevice.c | 6 | ||||
-rw-r--r-- | PLUGINS/src/dvbhddevice/hdffosd.c | 10 |
4 files changed, 24 insertions, 14 deletions
diff --git a/PLUGINS/src/dvbhddevice/HISTORY b/PLUGINS/src/dvbhddevice/HISTORY index 2332019..ceee7da 100644 --- a/PLUGINS/src/dvbhddevice/HISTORY +++ b/PLUGINS/src/dvbhddevice/HISTORY @@ -51,3 +51,7 @@ VDR Plugin 'dvbhddevice' Revision History 2013-01-12: Version 0.0.6 - Adapted Makefile to changes introduced in recent VDR versions. + +2013-01-24: Version 0.0.7 + +- Fixed cHdffOsd::SetAreas() (didn't clear the OSD). diff --git a/PLUGINS/src/dvbhddevice/dvbhddevice.c b/PLUGINS/src/dvbhddevice/dvbhddevice.c index faf6c5c..4d755f6 100644 --- a/PLUGINS/src/dvbhddevice/dvbhddevice.c +++ b/PLUGINS/src/dvbhddevice/dvbhddevice.c @@ -3,7 +3,7 @@ * * See the README file for copyright information and how to reach the author. * - * $Id: dvbhddevice.c 1.19 2013/01/12 14:11:35 kls Exp $ + * $Id: dvbhddevice.c 1.21 2013/01/29 08:59:36 kls Exp $ */ #include <vdr/plugin.h> @@ -12,7 +12,7 @@ #include "menu.h" #include "setup.h" -static const char *VERSION = "0.0.6"; +static const char *VERSION = "0.0.7"; static const char *DESCRIPTION = trNOOP("HD Full Featured DVB device"); static const char *MAINMENUENTRY = "dvbhddevice"; @@ -26,6 +26,7 @@ public: virtual const char *Version(void) { return VERSION; } virtual const char *Description(void) { return tr(DESCRIPTION); } virtual void MainThreadHook(void); + virtual void Stop(void); virtual const char *MainMenuEntry(void); virtual cOsdObject *MainMenuAction(void); virtual cMenuSetupPage *SetupMenu(void); @@ -60,6 +61,19 @@ void cPluginDvbhddevice::MainThreadHook(void) } } +void cPluginDvbhddevice::Stop(void) +{ + if (gHdffSetup.CecEnabled && gHdffSetup.CecTvOff) + { + HDFF::cHdffCmdIf * hdffCmdIf = cDvbHdFfDevice::GetHdffCmdHandler(); + if (hdffCmdIf) + { + hdffCmdIf->CmdHdmiSendCecCommand(HDFF_CEC_COMMAND_TV_OFF); + isyslog("HDFF_CEC_COMMAND_TV_OFF"); + } + } +} + const char *cPluginDvbhddevice::MainMenuEntry(void) { return gHdffSetup.HideMainMenu ? NULL : MAINMENUENTRY; diff --git a/PLUGINS/src/dvbhddevice/dvbhdffdevice.c b/PLUGINS/src/dvbhddevice/dvbhdffdevice.c index e81d93b..f25d0b7 100644 --- a/PLUGINS/src/dvbhddevice/dvbhdffdevice.c +++ b/PLUGINS/src/dvbhddevice/dvbhdffdevice.c @@ -3,7 +3,7 @@ * * See the README file for copyright information and how to reach the author. * - * $Id: dvbhdffdevice.c 1.47 2012/12/29 13:23:22 kls Exp $ + * $Id: dvbhdffdevice.c 1.48 2013/01/29 08:59:36 kls Exp $ */ #include <stdint.h> @@ -96,10 +96,6 @@ cDvbHdFfDevice::~cDvbHdFfDevice() delete spuDecoder; if (isHdffPrimary) { - if (gHdffSetup.CecEnabled && gHdffSetup.CecTvOff) - { - mHdffCmdIf->CmdHdmiSendCecCommand(HDFF_CEC_COMMAND_TV_OFF); - } delete mHdffCmdIf; } // We're not explicitly closing any device files here, since this sometimes diff --git a/PLUGINS/src/dvbhddevice/hdffosd.c b/PLUGINS/src/dvbhddevice/hdffosd.c index 5d55c95..09d370e 100644 --- a/PLUGINS/src/dvbhddevice/hdffosd.c +++ b/PLUGINS/src/dvbhddevice/hdffosd.c @@ -3,7 +3,7 @@ * * See the README file for copyright information and how to reach the author. * - * $Id: hdffosd.c 1.18 2012/11/15 09:20:24 kls Exp $ + * $Id: hdffosd.c 1.20 2013/01/29 08:59:36 kls Exp $ */ #include "hdffosd.h" @@ -38,7 +38,6 @@ private: int mTop; int mDispWidth; int mDispHeight; - bool shown; bool mChanged; uint32_t mDisplay; tFontFace mFontFaces[MAX_NUM_FONTFACES]; @@ -77,7 +76,6 @@ cHdffOsd::cHdffOsd(int Left, int Top, HDFF::cHdffCmdIf * pHdffCmdIf, uint Level) mHdffCmdIf = pHdffCmdIf; mLeft = Left; mTop = Top; - shown = false; mChanged = false; mBitmapPalette = HDFF_INVALID_HANDLE; @@ -154,11 +152,10 @@ eOsdError cHdffOsd::SetAreas(const tArea *Areas, int NumAreas) { //printf("SetAreas %d: %d %d %d %d %d\n", i, Areas[i].x1, Areas[i].y1, Areas[i].x2, Areas[i].y2, Areas[i].bpp); } - if (shown) + if (mDisplay != HDFF_INVALID_HANDLE) { mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0); mHdffCmdIf->CmdOsdRenderDisplay(mDisplay); - shown = false; } error = cOsd::SetAreas(Areas, NumAreas); @@ -180,11 +177,10 @@ void cHdffOsd::SetActive(bool On) if (GetBitmap(0)) // only flush here if there are already bitmaps Flush(); } - else if (shown) + else if (mDisplay != HDFF_INVALID_HANDLE) { mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0); mHdffCmdIf->CmdOsdRenderDisplay(mDisplay); - shown = false; } } } |