From 5d697c36dce47d0af5d8ae07f05d6d8d1d64cbb1 Mon Sep 17 00:00:00 2001 From: Rolf Ahrenberg Date: Sat, 22 Nov 2014 20:06:56 +0200 Subject: [PATCH] Fixed reading reception status. --- tuner.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/tuner.c b/tuner.c index 9ede756..8cd8164 100644 --- a/tuner.c +++ b/tuner.c @@ -116,20 +116,17 @@ void cSatipTuner::Action(void) case tsTuned: //debug("cSatipTuner::%s(): tsTuned [device %d]", __FUNCTION__, deviceIdM); reConnectM.Set(eConnectTimeoutMs); - // Quirk for devices without valid reception data - if (currentServerM && currentServerM->Quirk(cSatipServer::eSatipQuirkForceLock)) { - hasLockM = true; - signalStrengthM = eDefaultSignalStrength; - signalQualityM = eDefaultSignalQuality; + // 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); } - // 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);