X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8eadc0e09e19713d6c2b1c12aa2946042cfafabe..d59ce3f9c60c4466006ad1e148cec9a6e3a29cb2:/lib/dvb/dvb.cpp?ds=sidebyside diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 6a0211ec..32e19308 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -591,8 +591,9 @@ void eDVBChannel::frontendStateChanged(iDVBFrontend*fe) ourstate = state_tuning; } else if (state == iDVBFrontend::stateLostLock) { - eDebug("OURSTATE: lost lock"); - ourstate = state_unavailable; + eDebug("OURSTATE: lost lock.. retune"); + ourstate = state_tuning; + m_frontend->get().tune(*m_feparm); } else if (state == iDVBFrontend::stateFailed) { eDebug("OURSTATE: failed"); @@ -652,6 +653,7 @@ RESULT eDVBChannel::setChannel(const eDVBChannelID &channelid, ePtrget().tune(*feparm); + m_feparm = feparm; if (res) { @@ -749,6 +751,7 @@ RESULT eDVBChannel::playFile(const char *file) m_stateChanged(this); m_pvr_thread = new eFilePushThread(); + m_pvr_thread->enablePVRCommit(1); m_pvr_thread->start(m_pvr_fd_src, m_pvr_fd_dst); CONNECT(m_pvr_thread->m_event, eDVBChannel::pvrEvent);