git.cweiske.de
/
enigma2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
45ed0e8
)
frontend.cpp: add support for FE_TIMEDOUT frontend event flag
author
ghost
<andreas.monzner@multimedia-labs.de>
Mon, 21 Sep 2009 12:49:25 +0000
(14:49 +0200)
committer
ghost
<andreas.monzner@multimedia-labs.de>
Mon, 21 Sep 2009 12:49:25 +0000
(14:49 +0200)
lib/dvb/frontend.cpp
patch
|
blob
|
history
diff --git
a/lib/dvb/frontend.cpp
b/lib/dvb/frontend.cpp
index 15a46db83b66ed2139301c4987be154d75e819a2..0319c4c94dc9c4cc587ccfee5ee94b938822d6d0 100644
(file)
--- a/
lib/dvb/frontend.cpp
+++ b/
lib/dvb/frontend.cpp
@@
-666,15
+666,28
@@
void eDVBFrontend::feEvent(int w)
#if HAVE_DVB_API_VERSION < 3
if (event.type == FE_COMPLETION_EV)
#else
#if HAVE_DVB_API_VERSION < 3
if (event.type == FE_COMPLETION_EV)
#else
- eDebug("(%d)fe event: status %x, inversion %s
", m_dvbid, event.status, (event.parameters.inversion == INVERSION_ON) ? "on" : "off"
);
+ eDebug("(%d)fe event: status %x, inversion %s
, m_tuning %d", m_dvbid, event.status, (event.parameters.inversion == INVERSION_ON) ? "on" : "off", m_tuning
);
if (event.status & FE_HAS_LOCK)
#endif
{
state = stateLock;
} else
{
if (event.status & FE_HAS_LOCK)
#endif
{
state = stateLock;
} else
{
- if (m_tuning)
+ if (m_tuning)
{
state = stateTuning;
state = stateTuning;
+#if HAVE_DVB_API_VERSION >= 3
+ if (event.status & FE_TIMEDOUT) {
+ eDebug("FE_TIMEDOUT! ..abort");
+ m_tuneTimer->stop();
+ timeout();
+ return;
+ }
+ ++m_tuning;
+#else
+ m_tuneTimer->stop();
+ timeout();
+#endif
+ }
else
{
eDebug("stateLostLock");
else
{
eDebug("stateLostLock");
@@
-2387,9
+2400,9
@@
RESULT eDVBFrontend::tune(const iDVBFrontendParameters &where)
if (!m_simulate)
{
m_tuneTimer->start(0,true);
if (!m_simulate)
{
m_tuneTimer->start(0,true);
+ m_tuning = 1;
if (m_state != stateTuning)
{
if (m_state != stateTuning)
{
- m_tuning = 1;
m_state = stateTuning;
m_stateChanged(this);
}
m_state = stateTuning;
m_stateChanged(this);
}