From d19b29e856bc58a3a62d87672b8b791b5b509a92 Mon Sep 17 00:00:00 2001 From: David Engel Date: Thu, 27 Jun 2013 16:10:34 -0500 Subject: [PATCH] Removed tuning timeout support from the scheduler. It's no longer needed now that the recorder has its own timeout support. --- mythtv/programs/mythbackend/scheduler.cpp | 78 ++--------------------- mythtv/programs/mythbackend/scheduler.h | 4 +- 2 files changed, 7 insertions(+), 75 deletions(-) diff --git a/mythtv/programs/mythbackend/scheduler.cpp b/mythtv/programs/mythbackend/scheduler.cpp index 17e02db0440..ff235677620 100644 --- a/mythtv/programs/mythbackend/scheduler.cpp +++ b/mythtv/programs/mythbackend/scheduler.cpp @@ -1826,7 +1826,6 @@ void Scheduler::run(void) int wakeThreshold = 300; int idleTimeoutSecs = 0; int idleWaitForRecordingTime = 15; // in minutes - int tuningTimeout = 180; // in seconds bool blockShutdown = gCoreContext->GetNumSetting("blockSDWUwithoutClient", 1); bool firstRun = true; @@ -1889,8 +1888,6 @@ void Scheduler::run(void) idleWaitForRecordingTime = gCoreContext->GetNumSetting("idleWaitForRecordingTime", 15); - tuningTimeout = - gCoreContext->GetNumSetting("tuningTimeout", 180); QTime t; t.start(); if (HandleReschedule()) @@ -1931,8 +1928,7 @@ void Scheduler::run(void) for ( ; startIter != reclist.end(); ++startIter) { if ((*startIter)->GetRecordingStatus() != - (*startIter)->oldrecstatus || - (*startIter)->GetRecordingStatus() == rsTuning) + (*startIter)->oldrecstatus) { break; } @@ -1946,12 +1942,12 @@ void Scheduler::run(void) { done = HandleRecording( **it, statuschanged, nextStartTime, nextWakeTime, - prerollseconds, tuningTimeout); + prerollseconds); } - // HandleRecording() and HandleTuning() temporarily unlocks - // schedLock. If anything changed, reclist iterators could be - // invalidated so start over. + // HandleRecording() temporarily unlocks schedLock. If + // anything changed, reclist iterators could be invalidated so + // start over. if (reclist_changed) continue; @@ -2396,14 +2392,8 @@ void Scheduler::HandleWakeSlave(RecordingInfo &ri, int prerollseconds) bool Scheduler::HandleRecording( RecordingInfo &ri, bool &statuschanged, QDateTime &nextStartTime, QDateTime &nextWakeTime, - int prerollseconds, int tuningTimeout) + int prerollseconds) { - if (ri.GetRecordingStatus() == rsTuning) - { - HandleTuning(ri, statuschanged, nextWakeTime, tuningTimeout); - return reclist_changed; - } - if (ri.GetRecordingStatus() == ri.oldrecstatus) return false; @@ -2624,9 +2614,6 @@ bool Scheduler::HandleRecording( HandleRecordingStatusChange(ri, recStatus, details); statuschanged = true; - if (recStatus == rsTuning) - HandleTuning(ri, statuschanged, nextWakeTime, tuningTimeout); - return reclist_changed; } @@ -2667,59 +2654,6 @@ void Scheduler::HandleRecordingStatusChange( } } -void Scheduler::HandleTuning( - RecordingInfo &ri, bool &statuschanged, QDateTime &nextWakeTime, - int tuningTimeout) -{ - if (rsTuning != ri.GetRecordingStatus() || tuningTimeout == 0) - return; - - QDateTime curtime = MythDate::current(); - QDateTime starttime = max(ri.GetRecordingStartTime(), - ri.GetScheduledStartTime()); - if (starttime.secsTo(curtime) < tuningTimeout) - { - nextWakeTime = min(nextWakeTime, starttime.addSecs(tuningTimeout)); - return; - } - - // Determine current recording status - QMap::iterator tvit = m_tvList->find(ri.GetCardID()); - RecStatusTypes recStatus = rsTunerBusy; - if (tvit == m_tvList->end()) - { - QString msg = QString("Invalid cardid (%1) for %2") - .arg(ri.GetCardID()).arg(ri.GetTitle()); - LOG(VB_GENERAL, LOG_ERR, LOC + msg); - } - else - { - schedLock.unlock(); - recStatus = (*tvit)->GetRecordingStatus(); - schedLock.lock(); - if (reclist_changed) - return; - - if (rsTuning == recStatus) - { - // If tuning is still taking place this long after we - // started give up on it so the scheduler can try to - // find another broadcast of the same material. - recStatus = rsFailed; - LOG(VB_GENERAL, LOG_INFO, - QString("Canceling recording since tuning timeout, " - "%1 seconds, has been exceeded.") - .arg(tuningTimeout)); - } - } - - QString details = QString("%1: channel %2 on cardid %3, sourceid %4") - .arg(ri.toString(ProgramInfo::kTitleSubtitle)) - .arg(ri.GetChanID()).arg(ri.GetCardID()).arg(ri.GetSourceID()); - HandleRecordingStatusChange(ri, recStatus, details); - statuschanged = true; -} - void Scheduler::HandleIdleShutdown( bool &blockShutdown, QDateTime &idleSince, int prerollseconds, int idleTimeoutSecs, int idleWaitForRecordingTime, diff --git a/mythtv/programs/mythbackend/scheduler.h b/mythtv/programs/mythbackend/scheduler.h index 0e0abe4d536..df5a1d7538a 100644 --- a/mythtv/programs/mythbackend/scheduler.h +++ b/mythtv/programs/mythbackend/scheduler.h @@ -169,9 +169,7 @@ class Scheduler : public MThread, public MythScheduler void HandleWakeSlave(RecordingInfo &ri, int prerollseconds); bool HandleRecording(RecordingInfo &ri, bool &statuschanged, QDateTime &nextStartTime, QDateTime &nextWakeTime, - int prerollseconds, int tuningTimeout); - void HandleTuning(RecordingInfo &ri, bool &statuschanged, - QDateTime &nextWakeTime, int tuningTimeout); + int prerollseconds); void HandleRecordingStatusChange( RecordingInfo &ri, RecStatusTypes recStatus, const QString &details); void HandleIdleShutdown(