aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/dvb.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-03-31 14:47:40 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-03-31 14:47:40 +0000
commitca0ef0330257a8c91ca7778b376f2d74dd80c527 (patch)
tree9c1a6fb1cd4908c693f9cd5d32979a96ac11b1ff /lib/dvb/dvb.cpp
parenta7c89c1f5d2b670f51552bee927b11116ab7eecb (diff)
downloadenigma2-ca0ef0330257a8c91ca7778b376f2d74dd80c527.tar.gz
enigma2-ca0ef0330257a8c91ca7778b376f2d74dd80c527.zip
release cached channel when its no more used and a pvr channel request is pending
Diffstat (limited to 'lib/dvb/dvb.cpp')
-rw-r--r--lib/dvb/dvb.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp
index ba76a40d..55aa6ea9 100644
--- a/lib/dvb/dvb.cpp
+++ b/lib/dvb/dvb.cpp
@@ -432,9 +432,16 @@ RESULT eDVBResourceManager::allocatePVRChannel(eUsePtr<iDVBPVRChannel> &channel)
{
ePtr<eDVBAllocatedDemux> demux;
+ if (m_cached_channel && m_releaseCachedChannelTimer.isActive())
+ {
+ m_cached_channel_state_changed_conn.disconnect();
+ m_cached_channel=0;
+ m_releaseCachedChannelTimer.stop();
+ }
+
eDVBChannel *ch;
ch = new eDVBChannel(this, 0);
-
+
channel = ch;
return 0;
}