diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | softhddev.c | 3 | ||||
-rw-r--r-- | softhddevice.cpp | 17 |
4 files changed, 12 insertions, 11 deletions
@@ -4,7 +4,7 @@ .*.swp .gdb_history # work directory -chaos +.chaos # generated files .dependencies libvdr-softhddevice.so* @@ -1,6 +1,7 @@ User johns Date: + Resume plugin, if suspend control stops. Removes old audio code (!USE_AUDIORING). Use -DOSD_DEBUG to debug OSD. diff --git a/softhddev.c b/softhddev.c index 788049d..215d8a8 100644 --- a/softhddev.c +++ b/softhddev.c @@ -1984,7 +1984,8 @@ int64_t GetSTC(void) if (MyHwDecoder) { return VideoGetClock(MyHwDecoder); } - Error(_("softhddev: %s called without hw decoder\n"), __FUNCTION__); + // could happen during dettached + Warning(_("softhddev: %s called without hw decoder\n"), __FUNCTION__); return AV_NOPTS_VALUE; } diff --git a/softhddevice.cpp b/softhddevice.cpp index 301b23d..a6646a6 100644 --- a/softhddevice.cpp +++ b/softhddevice.cpp @@ -1117,11 +1117,8 @@ eOSState cSoftHdControl::ProcessKey(eKeys key) { if (SuspendMode == SUSPEND_NORMAL && (!ISMODELESSKEY(key) || key == kMenu || key == kBack || key == kStop)) { - if (Player) { - delete Player; - - Player = NULL; - } + delete Player; + Player = NULL; Resume(); SuspendMode = NOT_SUSPENDED; return osEnd; @@ -1142,10 +1139,12 @@ cSoftHdControl::cSoftHdControl(void) */ cSoftHdControl::~cSoftHdControl() { - if (Player) { - delete Player; - - Player = NULL; + delete Player; + Player = NULL; + // loose control resume + if (SuspendMode == SUSPEND_NORMAL) { + Resume(); + SuspendMode = NOT_SUSPENDED; } dsyslog("[softhddev]%s: dummy player stopped\n", __FUNCTION__); |