summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohns <johns98@gmx.net>2012-08-09 16:22:06 +0200
committerJohns <johns98@gmx.net>2012-08-09 16:22:06 +0200
commitecb48a5d637ff1c41001729cbf016e5498601bac (patch)
treeba602fc91b2b4f6e9e8f921ba4ca68a1659cb832
parent9efc73144dea3189a919c6859543a630bca19a78 (diff)
downloadvdr-plugin-softhddevice-ecb48a5d637ff1c41001729cbf016e5498601bac.tar.gz
vdr-plugin-softhddevice-ecb48a5d637ff1c41001729cbf016e5498601bac.tar.bz2
Resume plugin, if dummy player looses control.
-rw-r--r--.gitignore2
-rw-r--r--ChangeLog1
-rw-r--r--softhddev.c3
-rw-r--r--softhddevice.cpp17
4 files changed, 12 insertions, 11 deletions
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__);