diff --git a/Emby.Server.Implementations/Session/SessionManager.cs b/Emby.Server.Implementations/Session/SessionManager.cs index ad5bd63ff4..ab860ef678 100644 --- a/Emby.Server.Implementations/Session/SessionManager.cs +++ b/Emby.Server.Implementations/Session/SessionManager.cs @@ -424,16 +424,15 @@ namespace Emby.Server.Implementations.Session var nowPlayingQueue = info.NowPlayingQueue; - if (nowPlayingQueue != null) + if (nowPlayingQueue?.Length > 0) { session.NowPlayingQueue = nowPlayingQueue; + + var itemIds = nowPlayingQueue.Select(queue => queue.Id).ToArray(); + session.NowPlayingQueueFullItems = _dtoService.GetBaseItemDtos( + _libraryManager.GetItemList(new InternalItemsQuery { ItemIds = itemIds }), + new DtoOptions(true)); } - - var itemIds = session.NowPlayingQueue.Select(queue => queue.Id).ToArray(); - - session.NowPlayingQueueFullItems = _dtoService.GetBaseItemDtos(_libraryManager.GetItemList(new InternalItemsQuery { - ItemIds = itemIds, - }), new DtoOptions(true)).ToArray(); } /// diff --git a/MediaBrowser.Controller/Session/SessionInfo.cs b/MediaBrowser.Controller/Session/SessionInfo.cs index b7edb2c7c0..c2ca233868 100644 --- a/MediaBrowser.Controller/Session/SessionInfo.cs +++ b/MediaBrowser.Controller/Session/SessionInfo.cs @@ -39,6 +39,8 @@ namespace MediaBrowser.Controller.Session AdditionalUsers = Array.Empty(); PlayState = new PlayerStateInfo(); SessionControllers = Array.Empty(); + NowPlayingQueue = Array.Empty(); + NowPlayingQueueFullItems = Array.Empty(); } public PlayerStateInfo PlayState { get; set; } @@ -219,9 +221,9 @@ namespace MediaBrowser.Controller.Session } } - public QueueItem[] NowPlayingQueue { get; set; } + public IReadOnlyList NowPlayingQueue { get; set; } - public BaseItemDto[] NowPlayingQueueFullItems { get; set; } + public IReadOnlyList NowPlayingQueueFullItems { get; set; } public bool HasCustomDeviceName { get; set; }