diff --git a/.gitignore b/.gitignore index 21c4cb6..7858ebc 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ .*.swp .gdb_history # work directory -chaos +.chaos # generated files .dependencies libvdr-softhddevice.so* diff --git a/ChangeLog b/ChangeLog index 7142f98..d2bff7d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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__);