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; }