diff --git a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
index b54a7aaeeb..0a1735c238 100644
--- a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
+++ b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
@@ -60,6 +60,12 @@ namespace MediaBrowser.Controller.LiveTv
/// true if this instance is repeat; otherwise, false.
public bool IsRepeat { get; set; }
+ ///
+ /// Gets or sets the external series identifier.
+ ///
+ /// The external series identifier.
+ public string ExternalSeriesId { get; set; }
+
///
/// Gets or sets the episode title.
///
diff --git a/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs b/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs
index 7c590307fb..70c6892ef2 100644
--- a/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs
@@ -6,6 +6,9 @@ using System.Runtime.Serialization;
namespace MediaBrowser.Model.LiveTv
{
+ ///
+ /// Class SeriesTimerInfoDto.
+ ///
[DebuggerDisplay("Name = {Name}")]
public class SeriesTimerInfoDto : BaseTimerInfoDto
{
@@ -45,6 +48,12 @@ namespace MediaBrowser.Model.LiveTv
/// The image tags.
public Dictionary ImageTags { get; set; }
+ ///
+ /// Gets or sets the external series identifier.
+ ///
+ /// The external series identifier.
+ public string ExternalSeriesId { get; set; }
+
///
/// Gets a value indicating whether this instance has primary image.
///
diff --git a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
index 9ff8f72064..177a64ddc5 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
@@ -220,7 +220,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
if (enableDelay)
{
// A hack yes, but need to make sure the file is closed before attempting to delete it
- await Task.Delay(3000).ConfigureAwait(false);
+ await Task.Delay(3000, cancellationToken).ConfigureAwait(false);
}
}
diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs
index 9ffd8a500e..2587b10059 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs
@@ -105,7 +105,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
ExternalProgramId = info.ProgramId,
ServiceName = service.Name,
ChannelName = channelName,
- ServerId = _appHost.SystemId
+ ServerId = _appHost.SystemId,
+ ExternalSeriesId = info.SeriesId
};
if (!string.IsNullOrEmpty(info.ChannelId))
@@ -376,7 +377,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
RecordNewOnly = dto.RecordNewOnly,
ProgramId = dto.ExternalProgramId,
ChannelId = dto.ExternalChannelId,
- Id = dto.ExternalId
+ Id = dto.ExternalId,
+ SeriesId = dto.ExternalSeriesId
};
// Convert internal server id's to external tv provider id's
diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs
index 782473bea6..9065a8ac2a 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs
@@ -627,6 +627,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
item.ProductionYear = info.ProductionYear;
item.PremiereDate = item.PremiereDate ?? info.OriginalAirDate;
+ item.ExternalSeriesId = info.SeriesId;
if (isNew)
{
@@ -1786,7 +1787,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
ImagePath = program.ProviderImagePath,
ImageUrl = program.ProviderImageUrl,
Name = program.Name,
- OfficialRating = program.OfficialRating
+ OfficialRating = program.OfficialRating,
+ SeriesId = program.ExternalSeriesId
};
}
@@ -1829,6 +1831,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
info.Overview = program.Overview;
info.ProgramId = programDto.Id;
info.ExternalProgramId = program.ExternalId;
+ info.ExternalSeriesId = program.ExternalSeriesId;
if (program.EndDate.HasValue)
{
diff --git a/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs b/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs
index b09f8cfef5..35f77abcb6 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs
@@ -326,6 +326,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
{
return list;
}
+ channelId = channelId.Substring(ChannelIdPrefix.Length);
list.Add(GetMediaSource(info, channelId, "native"));
@@ -358,6 +359,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
{
return null;
}
+ channelId = channelId.Substring(ChannelIdPrefix.Length);
return GetMediaSource(info, channelId, streamId);
}