X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fdvb%2Fdvb.cpp;h=68197c31e4e1a8ea27b1d258db5341e5dbe4c552;hp=c980ac5af99a0d7bfaee52d77261a739d93ea990;hb=6f17b15ba19d4aee7e72279593933f8de8f356b4;hpb=c4d7f98e70694e471409cda6de03d0f3b5816f27 diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp old mode 100644 new mode 100755 index c980ac5..68197c3 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -1184,8 +1184,22 @@ void eDVBChannel::frontendStateChanged(iDVBFrontend*fe) } } else if (state == iDVBFrontend::stateFailed) { +#ifdef BUILD_VUPLUS /* ikseong */ + if (m_current_frontend_parameters) + { + eDebug("OURSTATE: lost lock, trying to retune"); + ourstate = state_tuning; + m_frontend->get().tune(*m_current_frontend_parameters); + } + else + { + eDebug("OURSTATE: failed"); + ourstate = state_failed; + } +#else eDebug("OURSTATE: failed"); ourstate = state_failed; +#endif } else eFatal("state unknown"); @@ -1753,7 +1767,7 @@ RESULT eDVBChannel::getCurrentFrontendParameters(ePtr &p RESULT eDVBChannel::playFile(const char *file) { eRawFile *f = new eRawFile(); - ePtr source = f; + ePtr source = f; if (f->open(file) < 0) { @@ -1764,7 +1778,7 @@ RESULT eDVBChannel::playFile(const char *file) return playSource(source, file); } -RESULT eDVBChannel::playSource(ePtr &source, const char *streaminfo_file) +RESULT eDVBChannel::playSource(ePtr &source, const char *streaminfo_file) { ASSERT(!m_frontend); if (m_pvr_thread) @@ -1826,7 +1840,7 @@ void eDVBChannel::stopSource() } if (m_pvr_fd_dst >= 0) ::close(m_pvr_fd_dst); - ePtr d; + ePtr d; m_tstools.setSource(d); }