aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/dvb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dvb/dvb.cpp')
-rw-r--r--lib/dvb/dvb.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp
index f2469365..93065074 100644
--- a/lib/dvb/dvb.cpp
+++ b/lib/dvb/dvb.cpp
@@ -312,6 +312,7 @@ RESULT eDVBResourceManager::allocateChannel(const eDVBChannelID &channelid, eUse
}
m_cached_channel_state_changed_conn.disconnect();
m_cached_channel=0;
+ m_releaseCachedChannelTimer.stop();
}
// eDebug("allocate channel.. %04x:%04x", channelid.transport_stream_id.get(), channelid.original_network_id.get());
@@ -391,8 +392,7 @@ void eDVBResourceManager::DVBChannelStateChanged(iDVBChannel *chan)
void eDVBResourceManager::releaseCachedChannel()
{
- eDebug("release cached channel");
- m_cached_channel_state_changed_conn.disconnect();
+ eDebug("release cached channel (timer timeout)");
m_cached_channel=0;
}
@@ -404,6 +404,7 @@ RESULT eDVBResourceManager::allocateRawChannel(eUsePtr<iDVBChannel> &channel, in
{
m_cached_channel_state_changed_conn.disconnect();
m_cached_channel=0;
+ m_releaseCachedChannelTimer.stop();
}
if (allocateFrontendByIndex(fe, frontend_index))
@@ -421,12 +422,6 @@ RESULT eDVBResourceManager::allocatePVRChannel(eUsePtr<iDVBPVRChannel> &channel)
{
ePtr<eDVBAllocatedDemux> demux;
- if (m_cached_channel)
- {
- m_cached_channel_state_changed_conn.disconnect();
- m_cached_channel=0;
- }
-
eDVBChannel *ch;
ch = new eDVBChannel(this, 0);