mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-09-01 09:51:13 +02:00
Merge branch 'master' of https://github.com/neutrino-mp/neutrino-mp into ni/mp/tuxbox
Conflicts:
configure.ac
data/locale/deutsch.locale
data/locale/english.locale
data/locale/slovak.locale
lib/libcoolstream/hardware_caps.cpp
lib/libcoolstream/hardware_caps.h
lib/libdvbsub/dvbsubtitle.cpp
lib/timerdclient/timerdclient.cpp
src/daemonc/Makefile.am
src/daemonc/remotecontrol.cpp
src/driver/framebuffer_ng.h
src/driver/pictureviewer/Makefile.am
src/driver/streamts.cpp
src/eitd/sectionsd.cpp
src/gui/bedit/bouqueteditor_channels.cpp
src/gui/dboxinfo.cpp
src/gui/epgplus.cpp
src/gui/epgview.cpp
src/gui/plugins.cpp
src/gui/streaminfo2.cpp
src/gui/themes.cpp
src/gui/widget/listbox.cpp
src/gui/widget/listhelpers.cpp
src/neutrino.cpp
src/system/helpers.cpp
src/system/helpers.h
src/system/settings.cpp
src/system/settings.h
src/zapit/src/getservices.cpp
Origin commit data
------------------
Branch: ni/coolstream
Commit: 75cce3b113
Author: vanhofen <vanhofen@gmx.de>
Date: 2016-10-25 (Tue, 25 Oct 2016)
------------------
This commit was generated by Migit
This commit is contained in:
@@ -1390,7 +1390,6 @@ bool CTimeThread::setSystemTime(time_t tim, bool force)
|
||||
gettimeofday(&tv, NULL);
|
||||
timediff = int64_t(tim * 1000000 - (tv.tv_usec + tv.tv_sec * 1000000));
|
||||
localtime_r(&tv.tv_sec, &t);
|
||||
int absdiff = abs(tim - tv.tv_sec);
|
||||
|
||||
xprintf("%s: timediff %" PRId64 ", current: %02d.%02d.%04d %02d:%02d:%02d, dvb: %s",
|
||||
name.c_str(), timediff,
|
||||
@@ -1402,9 +1401,7 @@ bool CTimeThread::setSystemTime(time_t tim, bool force)
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
if (absdiff < 1) /* do not bother for differences less than one second */
|
||||
return true;
|
||||
if (absdiff < 120) {
|
||||
if (timeset && abs(tim - tv.tv_sec) < 120) { /* abs() is int */
|
||||
struct timeval oldd;
|
||||
tv.tv_sec = time_t(timediff / 1000000LL);
|
||||
tv.tv_usec = suseconds_t(timediff % 1000000LL);
|
||||
@@ -1508,7 +1505,8 @@ void CTimeThread::run()
|
||||
dvb_time = st.getTime();
|
||||
success = true;
|
||||
}
|
||||
}
|
||||
} else
|
||||
retry = false; /* reset bogon detector after invalid read() */
|
||||
}
|
||||
/* default sleep time */
|
||||
sleep_time = ntprefresh * 60;
|
||||
@@ -1723,10 +1721,21 @@ bool CCNThread::shouldSleep()
|
||||
if (eit_version != 0xff)
|
||||
return true;
|
||||
|
||||
if (++eit_retry > 1) {
|
||||
xprintf("%s::%s eit_retry > 1 (%d) -> going to sleep\n", name.c_str(), __func__, eit_retry);
|
||||
/* on first retry, restart the demux. I'm not sure if it is a driver bug
|
||||
* or a bug in our logic, but without this, I'm sometimes missing CN events
|
||||
* and / or the eit_version and thus the update filter will stop working */
|
||||
if (++eit_retry < 2) {
|
||||
xprintf("%s::%s first retry (%d) -> restart demux\n", name.c_str(), __func__, eit_retry);
|
||||
change(0); /* this also resets lastChanged */
|
||||
}
|
||||
/* ugly, this has been checked before. But timeoutsDMX can be < 0 for multiple reasons,
|
||||
* and only skipTime should send CNThread finally to sleep if eit_version is not found */
|
||||
time_t since = time_monotonic() - lastChanged;
|
||||
if (since > skipTime) {
|
||||
xprintf("%s::%s timed out after %lds -> going to sleep\n", name.c_str(), __func__, since);
|
||||
return true;
|
||||
}
|
||||
/* retry */
|
||||
sendToSleepNow = false;
|
||||
return false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user