diff options
author | Johns <johns98@gmx.net> | 2012-08-09 16:22:06 +0200 |
---|---|---|
committer | Johns <johns98@gmx.net> | 2012-08-09 16:22:06 +0200 |
commit | ecb48a5d637ff1c41001729cbf016e5498601bac (patch) | |
tree | ba602fc91b2b4f6e9e8f921ba4ca68a1659cb832 | |
parent | 9efc73144dea3189a919c6859543a630bca19a78 (diff) | |
download | vdr-plugin-softhddevice-ecb48a5d637ff1c41001729cbf016e5498601bac.tar.gz vdr-plugin-softhddevice-ecb48a5d637ff1c41001729cbf016e5498601bac.tar.bz2 |
Resume plugin, if dummy player looses control.
-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__); |