aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-28 23:42:03 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-28 23:42:03 -0400
commit4d7f98361894e9de90ab964c3496fb7f613c28e2 (patch)
treef25d0e5beee3222aa1348451873281b8f34aa4a4 /MediaBrowser.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs
parenta83d6322e1da3de8abe76290927445577366409a (diff)
update recording scheduler
Diffstat (limited to 'MediaBrowser.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs16
1 files changed, 15 insertions, 1 deletions
diff --git a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs
index 323197aa5c..0c8d2ca2ba 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs
@@ -24,6 +24,11 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
public void RestartTimers()
{
StopTimers();
+
+ foreach (var item in GetAll().ToList())
+ {
+ AddTimer(item);
+ }
}
public void StopTimers()
@@ -90,7 +95,16 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
private void AddTimer(TimerInfo item)
{
- var timespan = RecordingHelper.GetStartTime(item) - DateTime.UtcNow;
+ var startDate = RecordingHelper.GetStartTime(item);
+ var now = DateTime.UtcNow;
+
+ if (startDate < now)
+ {
+ EventHelper.FireEventIfNotNull(TimerFired, this, new GenericEventArgs<TimerInfo> { Argument = item }, Logger);
+ return;
+ }
+
+ var timespan = startDate - now;
var timer = new Timer(TimerCallback, item.Id, timespan, TimeSpan.Zero);