mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed handling "pending" timers that blocked others that actually could record
This commit is contained in:
parent
881c251bea
commit
5cd7945ab5
@ -844,6 +844,8 @@ Ludwig Nussel <ludwig.nussel@web.de>
|
|||||||
Thomas Koch <tom@harhar.net>
|
Thomas Koch <tom@harhar.net>
|
||||||
for his support in keeping the Premiere World channels up to date in 'channels.conf'
|
for his support in keeping the Premiere World channels up to date in 'channels.conf'
|
||||||
for implementing the SVDRP command STAT
|
for implementing the SVDRP command STAT
|
||||||
|
for reporting a problem with "pending" timers that blocked others that actually
|
||||||
|
could record
|
||||||
|
|
||||||
Stefan Hußfeldt <vdr@marvin.on-luebeck.de>
|
Stefan Hußfeldt <vdr@marvin.on-luebeck.de>
|
||||||
for his help in keeping 'channels.conf.cable' up to date
|
for his help in keeping 'channels.conf.cable' up to date
|
||||||
|
2
HISTORY
2
HISTORY
@ -4278,3 +4278,5 @@ Video Disk Recorder Revision History
|
|||||||
- Fixed setting "No title" for broken event data (reported by Ronny Kornexl).
|
- Fixed setting "No title" for broken event data (reported by Ronny Kornexl).
|
||||||
- Fixed channel up/down switching on single card systems (reported by Stefan
|
- Fixed channel up/down switching on single card systems (reported by Stefan
|
||||||
Huelswitt).
|
Huelswitt).
|
||||||
|
- Fixed handling "pending" timers that blocked others that actually could record
|
||||||
|
(reported by Thomas Koch).
|
||||||
|
11
timers.c
11
timers.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: timers.c 1.45 2006/01/28 15:09:05 kls Exp $
|
* $Id: timers.c 1.46 2006/02/03 15:20:14 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
@ -535,13 +535,22 @@ cTimer *cTimers::GetTimer(cTimer *Timer)
|
|||||||
|
|
||||||
cTimer *cTimers::GetMatch(time_t t)
|
cTimer *cTimers::GetMatch(time_t t)
|
||||||
{
|
{
|
||||||
|
static int LastPending = -1;
|
||||||
cTimer *t0 = NULL;
|
cTimer *t0 = NULL;
|
||||||
for (cTimer *ti = First(); ti; ti = Next(ti)) {
|
for (cTimer *ti = First(); ti; ti = Next(ti)) {
|
||||||
if (!ti->Recording() && ti->Matches(t)) {
|
if (!ti->Recording() && ti->Matches(t)) {
|
||||||
|
if (ti->Pending()) {
|
||||||
|
if (ti->Index() > LastPending)
|
||||||
|
LastPending = ti->Index();
|
||||||
|
else
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!t0 || ti->Priority() > t0->Priority())
|
if (!t0 || ti->Priority() > t0->Priority())
|
||||||
t0 = ti;
|
t0 = ti;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!t0)
|
||||||
|
LastPending = -1;
|
||||||
return t0;
|
return t0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user