diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-07-28 23:42:03 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-07-28 23:42:03 -0400 |
| commit | 4d7f98361894e9de90ab964c3496fb7f613c28e2 (patch) | |
| tree | f25d0e5beee3222aa1348451873281b8f34aa4a4 /MediaBrowser.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs | |
| parent | a83d6322e1da3de8abe76290927445577366409a (diff) | |
update recording scheduler
Diffstat (limited to 'MediaBrowser.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs | 16 |
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); |
