git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
display remaining time for next event
[enigma2.git]
/
lib
/
dvb
/
dvb.cpp
diff --git
a/lib/dvb/dvb.cpp
b/lib/dvb/dvb.cpp
index f246936588842d5c957390a86c599931717488e9..ad865c0883adada226438142c98e87e4d468e374 100644
(file)
--- 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_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());
}
// 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()
{
void eDVBResourceManager::releaseCachedChannel()
{
- eDebug("release cached channel");
- m_cached_channel_state_changed_conn.disconnect();
+ eDebug("release cached channel (timer timeout)");
m_cached_channel=0;
}
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_cached_channel_state_changed_conn.disconnect();
m_cached_channel=0;
+ m_releaseCachedChannelTimer.stop();
}
if (allocateFrontendByIndex(fe, frontend_index))
}
if (allocateFrontendByIndex(fe, frontend_index))
@@
-421,12
+422,6
@@
RESULT eDVBResourceManager::allocatePVRChannel(eUsePtr<iDVBPVRChannel> &channel)
{
ePtr<eDVBAllocatedDemux> demux;
{
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);
eDVBChannel *ch;
ch = new eDVBChannel(this, 0);
@@
-1031,7
+1026,7
@@
RESULT eDVBChannel::getCurrentPosition(iDVBDemux *decoding_demux, pts_t &pos, in
}
if (now < pos) /* wrap around */
}
if (now < pos) /* wrap around */
- pos = now +
((pts_t)1)<<33
- pos;
+ pos = now +
0x200000000LL
- pos;
else
pos = now - pos;
else
pos = now - pos;