summaryrefslogtreecommitdiff
path: root/PLUGINS/src/dvbhddevice
diff options
context:
space:
mode:
Diffstat (limited to 'PLUGINS/src/dvbhddevice')
-rw-r--r--PLUGINS/src/dvbhddevice/HISTORY4
-rw-r--r--PLUGINS/src/dvbhddevice/dvbhddevice.c18
-rw-r--r--PLUGINS/src/dvbhddevice/dvbhdffdevice.c6
-rw-r--r--PLUGINS/src/dvbhddevice/hdffosd.c10
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;
}
}
}