Resume plugin, if dummy player looses control.

This commit is contained in:
Johns 2012-08-09 16:22:06 +02:00
parent 9efc73144d
commit ecb48a5d63
4 changed files with 12 additions and 11 deletions

2
.gitignore vendored
View File

@ -4,7 +4,7 @@
.*.swp .*.swp
.gdb_history .gdb_history
# work directory # work directory
chaos .chaos
# generated files # generated files
.dependencies .dependencies
libvdr-softhddevice.so* libvdr-softhddevice.so*

View File

@ -1,6 +1,7 @@
User johns User johns
Date: Date:
Resume plugin, if suspend control stops.
Removes old audio code (!USE_AUDIORING). Removes old audio code (!USE_AUDIORING).
Use -DOSD_DEBUG to debug OSD. Use -DOSD_DEBUG to debug OSD.

View File

@ -1984,7 +1984,8 @@ int64_t GetSTC(void)
if (MyHwDecoder) { if (MyHwDecoder) {
return VideoGetClock(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; return AV_NOPTS_VALUE;
} }

View File

@ -1117,11 +1117,8 @@ eOSState cSoftHdControl::ProcessKey(eKeys key)
{ {
if (SuspendMode == SUSPEND_NORMAL && (!ISMODELESSKEY(key) if (SuspendMode == SUSPEND_NORMAL && (!ISMODELESSKEY(key)
|| key == kMenu || key == kBack || key == kStop)) { || key == kMenu || key == kBack || key == kStop)) {
if (Player) { delete Player;
delete Player; Player = NULL;
Player = NULL;
}
Resume(); Resume();
SuspendMode = NOT_SUSPENDED; SuspendMode = NOT_SUSPENDED;
return osEnd; return osEnd;
@ -1142,10 +1139,12 @@ cSoftHdControl::cSoftHdControl(void)
*/ */
cSoftHdControl::~cSoftHdControl() cSoftHdControl::~cSoftHdControl()
{ {
if (Player) { delete Player;
delete Player; Player = NULL;
// loose control resume
Player = NULL; if (SuspendMode == SUSPEND_NORMAL) {
Resume();
SuspendMode = NOT_SUSPENDED;
} }
dsyslog("[softhddev]%s: dummy player stopped\n", __FUNCTION__); dsyslog("[softhddev]%s: dummy player stopped\n", __FUNCTION__);