diff --git a/MediaBrowser.Api/Library/LibraryService.cs b/MediaBrowser.Api/Library/LibraryService.cs
index 91f15c8a40..50c4ad14fc 100644
--- a/MediaBrowser.Api/Library/LibraryService.cs
+++ b/MediaBrowser.Api/Library/LibraryService.cs
@@ -262,7 +262,7 @@ namespace MediaBrowser.Api.Library
/// Initializes a new instance of the class.
///
public LibraryService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager,
- IDtoService dtoService, IUserDataManager userDataManager, IAuthorizationContext authContext, IActivityManager activityManager, ILocalizationManager localization)
+ IDtoService dtoService, IUserDataManager userDataManager, IAuthorizationContext authContext, IActivityManager activityManager, ILocalizationManager localization, ILiveTvManager liveTv)
{
_itemRepo = itemRepo;
_libraryManager = libraryManager;
@@ -272,6 +272,7 @@ namespace MediaBrowser.Api.Library
_authContext = authContext;
_activityManager = activityManager;
_localization = localization;
+ _liveTv = liveTv;
}
public object Get(GetMediaFolders request)
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index 40d93e8ef9..e89c833975 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -1217,7 +1217,7 @@ namespace MediaBrowser.Server.Implementations.Library
{
var result = ItemRepository.GetItemIdsList(query);
- var items = result.Select(GetItemById).ToArray();
+ var items = result.Select(GetItemById).Where(i => i != null).ToArray();
return new QueryResult
{
diff --git a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
index b96e3b26c1..c90b9eacb8 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
@@ -541,13 +541,16 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
}
recording.Status = RecordingStatus.Completed;
+ _logger.Info("Recording completed");
}
catch (OperationCanceledException)
{
+ _logger.Info("Recording cancelled");
recording.Status = RecordingStatus.Completed;
}
- catch
+ catch (Exception ex)
{
+ _logger.ErrorException("Error recording", ex);
recording.Status = RecordingStatus.Error;
}