From c2d9577b3dd7557b7a9c702d5c1fd3b1bbe0e5e7 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 19 Feb 2012 14:54:00 +0100 Subject: Version 1.7.24 Original announce message: VDR developer version 1.7.24 is now available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.24.tar.bz2 A 'diff' against the previous version is available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.23-1.7.24.diff MD5 checksums: a034c5e399417dfc583483f650d003ee vdr-1.7.24.tar.bz2 aa1a2b202da92e65945ff39470b26618 vdr-1.7.23-1.7.24.diff WARNING: ======== This is a developer version. Even though I use it in my productive environment. I strongly recommend that you only use it under controlled conditions and for testing and debugging. From the HISTORY file: - Updated the Italian OSD texts (thanks to Diego Pierotto). - Fixed a high load in case a transponder can't be received. - Improved the way DVB_API_VERSION is checked. - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Fixed asserting there is a live programme if the primary device is bonded with a device that starts a recording on a different band. - Fixed the return type of cMyDeviceHook::DeviceProvidesTransponder() in PLUGINS.html. - Fixed a crash in a plugin using cDeviceHook when VDR ends (reported by Oliver Endriss). - Some improvements to the Makefiles (thanks to Christian Ruppert). - Fixed cRecording::LengthInSeconds(), which wrongfully rounded the result to full minutes (thanks to Christoph Haubrich). - Symbolic links are no longer resolved in cRecordings::ScanVideoDir() (thanks to Sundararaj Reel). - The epg.data file is now read in a separate thread to make the startup process faster in case the file is very large (suggested by Helmut Auer). - Fixed selecting the primary device for receiving the live viewing channel in case it is bonded with an other device and has no receiver attached to it. - Fixed a possible crash when canceling VDR while displaying subtitles, and the primary device is no longer available. - Improved handling subtitles of BBC channels. - No longer using tabs as delimiter in the EPG bugfix log (they were garbled in the log file). - Added a missing '.' after the month in VPS strings. - Added some missing 'const' to cDevice (thanks to Joachim Wilke). - Fixed handling the PrimaryLimit when requesting a device for live viewing (reported by Uwe Scheffler). - Removed superfluous calls to SetVideoFormat() from device constructors. This function is called in cDevice::SetPrimaryDevice(), anyway. - An ongoing editing process is now canceled if either the original or the edited version of the recording is deleted from the Recordings menu. - The SVDRP command DELR now won't delete a recording that is currently being edited. - Removed code stub for obsolete SVDRP command MOVT. - The DVB device adapters/frontends are now probed by scanning the /dev/dvb directory instead of looping through adapter/frontend numbers. This allows for "holes" in the device numbering. - cReadDir::Next() now skips directory entries "." and "..". - Fixed a possible deadlock in time shift mode. - Fixed switching into time shift mode when pausing live video (thanks to Reinhard Nissl for helping to debug this one). --- PLUGINS/src/dvbhddevice/dvbhddevice.c | 37 ++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'PLUGINS/src/dvbhddevice/dvbhddevice.c') diff --git a/PLUGINS/src/dvbhddevice/dvbhddevice.c b/PLUGINS/src/dvbhddevice/dvbhddevice.c index 0ad1698..a1e5881 100644 --- a/PLUGINS/src/dvbhddevice/dvbhddevice.c +++ b/PLUGINS/src/dvbhddevice/dvbhddevice.c @@ -3,29 +3,37 @@ * * See the README file for copyright information and how to reach the author. * - * $Id: dvbhddevice.c 1.14 2011/08/27 09:31:45 kls Exp $ + * $Id: dvbhddevice.c 1.16 2012/02/08 15:10:30 kls Exp $ */ #include +#include #include "dvbhdffdevice.h" +#include "menu.h" #include "setup.h" static const char *VERSION = "0.0.4"; static const char *DESCRIPTION = trNOOP("HD Full Featured DVB device"); +static const char *MAINMENUENTRY = "dvbhddevice"; class cPluginDvbhddevice : public cPlugin { private: cDvbHdFfDeviceProbe *probe; + bool mIsUserInactive; public: cPluginDvbhddevice(void); virtual ~cPluginDvbhddevice(); virtual const char *Version(void) { return VERSION; } virtual const char *Description(void) { return tr(DESCRIPTION); } + virtual void MainThreadHook(void); + virtual const char *MainMenuEntry(void); + virtual cOsdObject *MainMenuAction(void); virtual cMenuSetupPage *SetupMenu(void); virtual bool SetupParse(const char *Name, const char *Value); }; cPluginDvbhddevice::cPluginDvbhddevice(void) +: mIsUserInactive(true) { probe = new cDvbHdFfDeviceProbe; } @@ -35,6 +43,33 @@ cPluginDvbhddevice::~cPluginDvbhddevice() delete probe; } +void cPluginDvbhddevice::MainThreadHook(void) +{ + bool isUserInactive = ShutdownHandler.IsUserInactive(); + if (isUserInactive != mIsUserInactive) + { + mIsUserInactive = isUserInactive; + if (gHdffSetup.CecEnabled && gHdffSetup.CecTvOn) + { + HDFF::cHdffCmdIf * hdffCmdIf = cDvbHdFfDevice::GetHdffCmdHandler(); + if (!mIsUserInactive) + { + hdffCmdIf->CmdHdmiSendCecCommand(HDFF_CEC_COMMAND_TV_ON); + } + } + } +} + +const char *cPluginDvbhddevice::MainMenuEntry(void) +{ + return gHdffSetup.HideMainMenu ? NULL : MAINMENUENTRY; +} + +cOsdObject *cPluginDvbhddevice::MainMenuAction(void) +{ + return new cHdffMenu(cDvbHdFfDevice::GetHdffCmdHandler()); +} + cMenuSetupPage *cPluginDvbhddevice::SetupMenu(void) { return new cHdffSetupPage(cDvbHdFfDevice::GetHdffCmdHandler()); -- cgit v1.2.3