1
0
mirror of https://github.com/rofafor/vdr-plugin-satip.git synced 2023-10-10 13:37:42 +02:00

Tweaked tuning.

This commit is contained in:
Rolf Ahrenberg 2014-11-22 17:04:32 +02:00
parent 6d64a8b0a7
commit 005fa59dd6
3 changed files with 18 additions and 12 deletions

View File

@ -37,7 +37,10 @@ cSatipServer::cSatipServer(const char *addressP, const char *modelP, const char
quirkM |= eSatipQuirkSessionId;
// These devices contain a play (add/delpids) parameter bug:
if (strstr(*descriptionM, "fritzdvbc")) // Fritz!WLAN Repeater DVB-C
quirkM |= eSatipQuirkPlayPids | eSatipQuirkForceLock;
quirkM |= eSatipQuirkPlayPids;
// These devices contain a frontend locking bug:
if (strstr(*descriptionM, "fritzdvbc")) // Fritz!WLAN Repeater DVB-C
quirkM |= eSatipQuirkForceLock;
}
char *s, *p = strdup(*modelM);
char *r = strtok_r(p, ",", &s);

23
tuner.c
View File

@ -116,17 +116,20 @@ void cSatipTuner::Action(void)
case tsTuned:
//debug("cSatipTuner::%s(): tsTuned [device %d]", __FUNCTION__, deviceIdM);
reConnectM.Set(eConnectTimeoutMs);
// Read reception statistics via DESCRIBE and RTCP
if (hasLockM || ReadReceptionStatus()) {
// Quirk for devices without valid reception data
if (currentServerM && currentServerM->Quirk(cSatipServer::eSatipQuirkForceLock)) {
hasLockM = true;
signalStrengthM = eDefaultSignalStrength;
signalQualityM = eDefaultSignalQuality;
}
if (hasLockM)
RequestState(tsLocked);
// Quirk for devices without valid reception data
if (currentServerM && currentServerM->Quirk(cSatipServer::eSatipQuirkForceLock)) {
hasLockM = true;
signalStrengthM = eDefaultSignalStrength;
signalQualityM = eDefaultSignalQuality;
}
// Read reception statistics via DESCRIBE
else if (!ReadReceptionStatus()) {
error("Reading reception status failed - re-tuning [device %d]", deviceIdM);
RequestState(tsSet);
break;
}
if (hasLockM)
RequestState(tsLocked);
break;
case tsLocked:
//debug("cSatipTuner::%s(): tsLocked [device %d]", __FUNCTION__, deviceIdM);

View File

@ -52,7 +52,7 @@ private:
eDefaultSignalStrength = 15,
eDefaultSignalQuality = 224,
eApplicationMaxSizeB = 1500,
eSleepTimeoutMs = 500, // in milliseconds
eSleepTimeoutMs = 500, // in milliseconds
eStatusUpdateTimeoutMs = 1000, // in milliseconds
ePidUpdateIntervalMs = 250, // in milliseconds
eConnectTimeoutMs = 5000, // in milliseconds