release cached channel when its no more used and a pvr channel request is pending
[enigma2.git] / lib / dvb / dvb.cpp
index ba76a40d3555f7af697822178ab34f1e437bf5ba..55aa6ea9c62cc15a17dbc755c0edb4c574a471ac 100644 (file)
@@ -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;
 }