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();