1 | diff --git a/mythtv/programs/mythbackend/scheduler.cpp b/mythtv/programs/mythbackend/scheduler.cpp |
---|
2 | index d6676b3..c7b9677 100644 |
---|
3 | --- a/mythtv/programs/mythbackend/scheduler.cpp |
---|
4 | +++ b/mythtv/programs/mythbackend/scheduler.cpp |
---|
5 | @@ -1785,7 +1785,7 @@ void Scheduler::run(void) |
---|
6 | |
---|
7 | QMutexLocker lockit(&schedLock); |
---|
8 | |
---|
9 | - int prerollseconds = 0; |
---|
10 | + int prerollseconds = gCoreContext->GetNumSetting("RecordPreRoll", 0); |
---|
11 | int wakeThreshold = 300; |
---|
12 | int idleTimeoutSecs = 0; |
---|
13 | int idleWaitForRecordingTime = 15; // in minutes |
---|
14 | @@ -1806,7 +1806,10 @@ void Scheduler::run(void) |
---|
15 | |
---|
16 | QDateTime curtime = MythDate::current(); |
---|
17 | int secs_to_next = (startIter != reclist.end()) ? |
---|
18 | - curtime.secsTo((*startIter)->GetRecordingStartTime()) : 60*60; |
---|
19 | + curtime.secsTo((*startIter)->GetRecordingStartTime()) - prerollseconds : 60*60; |
---|
20 | + |
---|
21 | + if (secs_to_next < 1) |
---|
22 | + secs_to_next = 1; |
---|
23 | |
---|
24 | // If we're about to start a recording don't do any reschedules... |
---|
25 | // instead sleep for a bit |
---|
26 | @@ -1975,7 +1978,7 @@ int Scheduler::CalcTimeToNextHandleRecordingEvent( |
---|
27 | if ((*i)->GetRecordingStatus() == (*i)->oldrecstatus) |
---|
28 | continue; |
---|
29 | |
---|
30 | - int secs_to_next = curtime.secsTo((*i)->GetRecordingStartTime()); |
---|
31 | + int secs_to_next = curtime.secsTo((*i)->GetRecordingStartTime()) - prerollseconds; |
---|
32 | |
---|
33 | if ((*i)->GetRecordingStatus() == rsWillRecord && |
---|
34 | !recPendingList[(*i)->MakeUniqueSchedulerKey()]) |
---|