diff --git a/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs b/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs index 3fec0ee56f..2f244b4e39 100644 --- a/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs +++ b/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs @@ -1,11 +1,10 @@ -using System.ComponentModel; -using System.Diagnostics; -using System.Runtime.Serialization; -using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; -using System; -using System.Collections.Generic; using MediaBrowser.Model.Library; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.Runtime.Serialization; namespace MediaBrowser.Model.LiveTv { @@ -20,7 +19,7 @@ namespace MediaBrowser.Model.LiveTv /// /// The name. public string Name { get; set; } - + /// /// Gets or sets the identifier. /// diff --git a/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs b/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs index fb931820e5..0a2873ef3d 100644 --- a/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs +++ b/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs @@ -10,13 +10,25 @@ using MediaBrowser.Model.Library; namespace MediaBrowser.Model.LiveTv { [DebuggerDisplay("Name = {Name}, StartTime = {StartDate}, EndTime = {EndDate}")] - public class ProgramInfoDto : INotifyPropertyChanged + public class ProgramInfoDto : INotifyPropertyChanged, IItemDto { /// /// Id of the program. /// public string Id { get; set; } + /// + /// Gets or sets the primary image aspect ratio. + /// + /// The primary image aspect ratio. + public double? PrimaryImageAspectRatio { get; set; } + + /// + /// Gets or sets the original primary image aspect ratio. + /// + /// The original primary image aspect ratio. + public double? OriginalPrimaryImageAspectRatio { get; set; } + /// /// Gets or sets the timer identifier. /// diff --git a/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs b/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs index 3705b7a29e..58bca06bd2 100644 --- a/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs +++ b/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs @@ -10,13 +10,25 @@ using System.Runtime.Serialization; namespace MediaBrowser.Model.LiveTv { [DebuggerDisplay("Name = {Name}, ChannelName = {ChannelName}")] - public class RecordingInfoDto : INotifyPropertyChanged + public class RecordingInfoDto : INotifyPropertyChanged, IItemDto { /// /// Id of the recording. /// public string Id { get; set; } + /// + /// Gets or sets the primary image aspect ratio. + /// + /// The primary image aspect ratio. + public double? PrimaryImageAspectRatio { get; set; } + + /// + /// Gets or sets the original primary image aspect ratio. + /// + /// The original primary image aspect ratio. + public double? OriginalPrimaryImageAspectRatio { get; set; } + /// /// Gets or sets the series timer identifier. /// diff --git a/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs index b7af8beebd..05c972a4ee 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs +++ b/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs @@ -2,7 +2,6 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using MoreLinq; using System; using System.Linq; using System.Threading; @@ -77,7 +76,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators double percent = numComplete; percent /= people.Count; - progress.Report(15 + 85 * percent); + progress.Report(100 * percent); } progress.Report(100); diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs index 7bf4846899..8d9abc1281 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs @@ -244,6 +244,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv if (imageTag != null) { dto.ImageTags[ImageType.Primary] = imageTag; + _dtoService.AttachPrimaryImageAspectRatio(dto, recording); } if (user != null) @@ -331,6 +332,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv if (imageTag != null) { dto.ImageTags[ImageType.Primary] = imageTag; + + _dtoService.AttachPrimaryImageAspectRatio(dto, info); } if (currentProgram != null) @@ -392,6 +395,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv if (imageTag != null) { dto.ImageTags[ImageType.Primary] = imageTag; + _dtoService.AttachPrimaryImageAspectRatio(dto, item); } if (user != null) diff --git a/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs b/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs index e64121c455..f1d4c3555c 100644 --- a/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs +++ b/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs @@ -79,9 +79,12 @@ namespace MediaBrowser.Server.Implementations.Session private void ResetPingTimer() { - var period = TimeSpan.FromSeconds(60); + if (_pingTimer != null) + { + var period = TimeSpan.FromSeconds(60); - _pingTimer.Change(period, period); + _pingTimer.Change(period, period); + } } private Task SendMessage(string name, CancellationToken cancellationToken) diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs index 0ee9e6213b..ee09395da9 100644 --- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs +++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs @@ -165,6 +165,8 @@ namespace MediaBrowser.Server.Implementations.Session if (disposable != null) { + _logger.Debug("Disposing session controller {0}", disposable.GetType().Name); + try { disposable.Dispose();