mirror of
https://github.com/rofafor/vdr-plugin-satip.git
synced 2023-10-10 11:37:42 +00:00
Fixed keepalive heartbeat again.
This commit is contained in:
parent
88b2ad9244
commit
5e8b7b7c5e
3
HISTORY
3
HISTORY
@ -26,9 +26,10 @@ VDR Plugin 'satip' Revision History
|
|||||||
- Fixed pid leaking while disabling section filters.
|
- Fixed pid leaking while disabling section filters.
|
||||||
- Fixed keepalive heartbeat.
|
- Fixed keepalive heartbeat.
|
||||||
|
|
||||||
2014-03-30: Version 0.2.1
|
2014-04-01: Version 0.2.1
|
||||||
|
|
||||||
- Changed implementation to report about RTP packet
|
- Changed implementation to report about RTP packet
|
||||||
errors on 5 minutes interval only.
|
errors on 5 minutes interval only.
|
||||||
- Added a check to write new sections only if there
|
- Added a check to write new sections only if there
|
||||||
is no data in the read socket.
|
is no data in the read socket.
|
||||||
|
- Fixed keepalive heartbeat again.
|
||||||
|
@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: vdr-satip 0.2.1\n"
|
"Project-Id-Version: vdr-satip 0.2.1\n"
|
||||||
"Report-Msgid-Bugs-To: <see README>\n"
|
"Report-Msgid-Bugs-To: <see README>\n"
|
||||||
"POT-Creation-Date: 2014-03-30 03:30+0200\n"
|
"POT-Creation-Date: 2014-04-01 04:01+0200\n"
|
||||||
"PO-Revision-Date: 2014-03-30 03:30+0200\n"
|
"PO-Revision-Date: 2014-04-01 04:01+0200\n"
|
||||||
"Last-Translator: Frank Neumann <fnu@yavdr.org>\n"
|
"Last-Translator: Frank Neumann <fnu@yavdr.org>\n"
|
||||||
"Language-Team: German <vdr@linuxtv.org>\n"
|
"Language-Team: German <vdr@linuxtv.org>\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
|
@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: vdr-satip 0.2.1\n"
|
"Project-Id-Version: vdr-satip 0.2.1\n"
|
||||||
"Report-Msgid-Bugs-To: <see README>\n"
|
"Report-Msgid-Bugs-To: <see README>\n"
|
||||||
"POT-Creation-Date: 2014-03-30 03:30+0200\n"
|
"POT-Creation-Date: 2014-04-01 04:01+0200\n"
|
||||||
"PO-Revision-Date: 2014-03-30 03:30+0200\n"
|
"PO-Revision-Date: 2014-04-01 04:01+0200\n"
|
||||||
"Last-Translator: Rolf Ahrenberg\n"
|
"Last-Translator: Rolf Ahrenberg\n"
|
||||||
"Language-Team: Finnish <vdr@linuxtv.org>\n"
|
"Language-Team: Finnish <vdr@linuxtv.org>\n"
|
||||||
"Language: fi\n"
|
"Language: fi\n"
|
||||||
|
15
tuner.c
15
tuner.c
@ -27,7 +27,7 @@ cSatipTuner::cSatipTuner(cSatipDeviceIf &deviceP, unsigned int packetLenP)
|
|||||||
keepAliveM(),
|
keepAliveM(),
|
||||||
pidUpdateCacheM(),
|
pidUpdateCacheM(),
|
||||||
sessionM(),
|
sessionM(),
|
||||||
timeoutM(eDefKeepAliveIntervalMs),
|
timeoutM(eMinKeepAliveIntervalMs),
|
||||||
openedM(false),
|
openedM(false),
|
||||||
tunedM(false),
|
tunedM(false),
|
||||||
hasLockM(false),
|
hasLockM(false),
|
||||||
@ -83,9 +83,9 @@ size_t cSatipTuner::HeaderCallback(void *ptrP, size_t sizeP, size_t nmembP, void
|
|||||||
int timeout = -1;
|
int timeout = -1;
|
||||||
char *session = NULL;
|
char *session = NULL;
|
||||||
if (sscanf(r, "Session:%m[^;];timeout=%11d", &session, &timeout) == 2)
|
if (sscanf(r, "Session:%m[^;];timeout=%11d", &session, &timeout) == 2)
|
||||||
obj->SetSessionTimeout(skipspace(session), timeout);
|
obj->SetSessionTimeout(skipspace(session), (timeout - 1) * 1000);
|
||||||
else if (sscanf(r, "Session:%m[^;]", &session) == 1)
|
else if (sscanf(r, "Session:%m[^;]", &session) == 1)
|
||||||
obj->SetSessionTimeout(skipspace(session), -1);
|
obj->SetSessionTimeout(skipspace(session));
|
||||||
FREE_POINTER(session);
|
FREE_POINTER(session);
|
||||||
}
|
}
|
||||||
r = strtok_r(NULL, "\r\n", &s);
|
r = strtok_r(NULL, "\r\n", &s);
|
||||||
@ -304,7 +304,7 @@ bool cSatipTuner::Disconnect(void)
|
|||||||
if (currentServerM)
|
if (currentServerM)
|
||||||
cSatipDiscover::GetInstance()->UseServer(currentServerM, false);
|
cSatipDiscover::GetInstance()->UseServer(currentServerM, false);
|
||||||
tunedM = false;
|
tunedM = false;
|
||||||
timeoutM = eDefKeepAliveIntervalMs;
|
timeoutM = eMinKeepAliveIntervalMs;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -383,12 +383,7 @@ void cSatipTuner::SetSessionTimeout(const char *sessionP, int timeoutP)
|
|||||||
cMutexLock MutexLock(&mutexM);
|
cMutexLock MutexLock(&mutexM);
|
||||||
debug("cSatipTuner::%s(%s, %d)", __FUNCTION__, sessionP, timeoutP);
|
debug("cSatipTuner::%s(%s, %d)", __FUNCTION__, sessionP, timeoutP);
|
||||||
sessionM = sessionP;
|
sessionM = sessionP;
|
||||||
if (timeoutP > 30)
|
timeoutM = (timeoutP > eMinKeepAliveIntervalMs) ? timeoutP : eMinKeepAliveIntervalMs;
|
||||||
timeoutM = timeoutP * 1000L;
|
|
||||||
else if (timeoutP > 0)
|
|
||||||
timeoutM = eMinKeepAliveIntervalMs;
|
|
||||||
else
|
|
||||||
timeoutM = eDefKeepAliveIntervalMs;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cSatipTuner::SetSource(cSatipServer *serverP, const char *parameterP, const int indexP)
|
bool cSatipTuner::SetSource(cSatipServer *serverP, const char *parameterP, const int indexP)
|
||||||
|
5
tuner.h
5
tuner.h
@ -29,8 +29,7 @@ private:
|
|||||||
eConnectTimeoutMs = 1500, // in milliseconds
|
eConnectTimeoutMs = 1500, // in milliseconds
|
||||||
ePidUpdateIntervalMs = 100, // in milliseconds
|
ePidUpdateIntervalMs = 100, // in milliseconds
|
||||||
eReConnectTimeoutMs = 5000, // in milliseconds
|
eReConnectTimeoutMs = 5000, // in milliseconds
|
||||||
eMinKeepAliveIntervalMs = 300000, // in milliseconds
|
eMinKeepAliveIntervalMs = 300000 // in milliseconds
|
||||||
eDefKeepAliveIntervalMs = 600000 // in milliseconds
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static size_t HeaderCallback(void *ptrP, size_t sizeP, size_t nmembP, void *dataP);
|
static size_t HeaderCallback(void *ptrP, size_t sizeP, size_t nmembP, void *dataP);
|
||||||
@ -67,7 +66,7 @@ private:
|
|||||||
bool ValidateLatestResponse(void);
|
bool ValidateLatestResponse(void);
|
||||||
void ParseReceptionParameters(const char *paramP);
|
void ParseReceptionParameters(const char *paramP);
|
||||||
void SetStreamId(int streamIdP);
|
void SetStreamId(int streamIdP);
|
||||||
void SetSessionTimeout(const char *sessionP, int timeoutP);
|
void SetSessionTimeout(const char *sessionP, int timeoutP = 0);
|
||||||
bool KeepAlive(void);
|
bool KeepAlive(void);
|
||||||
bool UpdateSignalInfoCache(void);
|
bool UpdateSignalInfoCache(void);
|
||||||
bool UpdatePids(void);
|
bool UpdatePids(void);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user