fix recording timers

This commit is contained in:
Luke Pulverenti 2016-06-23 01:26:34 -04:00
parent cb36d426f2
commit 70f75f8adb
2 changed files with 23 additions and 3 deletions

View file

@ -461,7 +461,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
return CreateTimer(info, cancellationToken);
}
public Task CreateSeriesTimerAsync(SeriesTimerInfo info, CancellationToken cancellationToken)
public Task CreateSeriesTimerAsync(SeriesTimerInfo info, CancellationToken cancellationToken)
{
return CreateSeriesTimer(info, cancellationToken);
}
@ -1011,7 +1011,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
Action onStarted = () =>
{
timer.Status = RecordingStatus.InProgress;
_timerProvider.AddOrUpdate(timer);
_timerProvider.AddOrUpdate(timer, false);
result.Item3.Release();
isResourceOpen = false;
@ -1060,7 +1060,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
if (recordingStatus == RecordingStatus.Completed)
{
timer.Status = RecordingStatus.Completed;
_timerProvider.AddOrUpdate(timer);
_timerProvider.AddOrUpdate(timer, false);
OnSuccessfulRecording(info.IsSeries, recordPath);
_timerProvider.Delete(timer);

View file

@ -72,6 +72,26 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
}
}
public void AddOrUpdate(TimerInfo item, bool resetTimer)
{
if (resetTimer)
{
AddOrUpdate(item);
return;
}
var list = GetAll().ToList();
if (!list.Any(i => EqualityComparer(i, item)))
{
base.Add(item);
}
else
{
base.Update(item);
}
}
public override void Add(TimerInfo item)
{
if (string.IsNullOrWhiteSpace(item.Id))