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; quirkM |= eSatipQuirkSessionId;
// These devices contain a play (add/delpids) parameter bug: // These devices contain a play (add/delpids) parameter bug:
if (strstr(*descriptionM, "fritzdvbc")) // Fritz!WLAN Repeater DVB-C 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 *s, *p = strdup(*modelM);
char *r = strtok_r(p, ",", &s); char *r = strtok_r(p, ",", &s);

23
tuner.c
View File

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

View File

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