git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix redraw problem when adding a timer
[enigma2.git]
/
lib
/
dvb
/
dvb.cpp
diff --git
a/lib/dvb/dvb.cpp
b/lib/dvb/dvb.cpp
index c8feccfdbe08f78837c1f11ffb2554941b4f7b59..13ae224c3d1490f26cabe046e7dfad2c7e836ec1 100644
(file)
--- a/
lib/dvb/dvb.cpp
+++ b/
lib/dvb/dvb.cpp
@@
-176,7
+176,6
@@
eDVBResourceManager::~eDVBResourceManager()
{
if (instance == this)
instance = 0;
{
if (instance == this)
instance = 0;
-
}
void eDVBResourceManager::addAdapter(iDVBAdapter *adapter)
}
void eDVBResourceManager::addAdapter(iDVBAdapter *adapter)
@@
-288,7
+287,7
@@
RESULT eDVBResourceManager::allocateChannel(const eDVBChannelID &channelid, eUse
// return errNoDemux;
RESULT res;
// return errNoDemux;
RESULT res;
- e
DVBChannel *
ch;
+ e
Ptr<eDVBChannel>
ch;
ch = new eDVBChannel(this, fe);
ePtr<iDVBFrontend> myfe;
ch = new eDVBChannel(this, fe);
ePtr<iDVBFrontend> myfe;
@@
-346,7
+345,6
@@
RESULT eDVBResourceManager::allocatePVRChannel(eUsePtr<iDVBPVRChannel> &channel)
RESULT eDVBResourceManager::addChannel(const eDVBChannelID &chid, eDVBChannel *ch)
{
RESULT eDVBResourceManager::addChannel(const eDVBChannelID &chid, eDVBChannel *ch)
{
- eDebug("add channel %p", ch);
m_active_channels.push_back(active_channel(chid, ch));
/* emit */ m_channelAdded(ch);
return 0;
m_active_channels.push_back(active_channel(chid, ch));
/* emit */ m_channelAdded(ch);
return 0;
@@
-404,7
+402,6
@@
eDVBChannel::~eDVBChannel()
void eDVBChannel::frontendStateChanged(iDVBFrontend*fe)
{
void eDVBChannel::frontendStateChanged(iDVBFrontend*fe)
{
- eDebug("fe state changed!");
int state, ourstate = 0;
/* if we are already in shutdown, don't change state. */
int state, ourstate = 0;
/* if we are already in shutdown, don't change state. */
@@
-422,10
+419,14
@@
void eDVBChannel::frontendStateChanged(iDVBFrontend*fe)
{
eDebug("OURSTATE: tuning");
ourstate = state_tuning;
{
eDebug("OURSTATE: tuning");
ourstate = state_tuning;
- } else if (state == iDVBFrontend::state
Failed
)
+ } else if (state == iDVBFrontend::state
LostLock
)
{
{
- eDebug("OURSTATE:
failed/unavailable
");
+ eDebug("OURSTATE:
lost lock
");
ourstate = state_unavailable;
ourstate = state_unavailable;
+ } else if (state == iDVBFrontend::stateFailed)
+ {
+ eDebug("OURSTATE: failed");
+ ourstate = state_failed;
} else
eFatal("state unknown");
} else
eFatal("state unknown");
@@
-475,7
+476,6
@@
RESULT eDVBChannel::setChannel(const eDVBChannelID &channelid)
eDebug("channel not found!");
return -ENOENT;
}
eDebug("channel not found!");
return -ENOENT;
}
- eDebug("allocateChannel: channel found..");
if (!m_frontend)
{
if (!m_frontend)
{
@@
-616,3
+616,14
@@
RESULT eDVBChannel::getCurrentPosition(pts_t &pos)
return 0;
}
return 0;
}
+
+RESULT eDVBChannel::seekTo(pts_t &pts)
+{
+ m_pvr_thread->pause();
+ if (m_decoder_demux)
+ m_decoder_demux->get().flush();
+ /* demux will also flush all decoder.. */
+// m_pvr_thread->seek(pts);
+ m_pvr_thread->resume();
+}
+