diff --git a/CHANGELOG.md b/CHANGELOG.md index 569ffc9df..ffab33ecd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - This behavior caused extremely slow QSV stream starts - Fix displaying multiple languages in UI for movies, artists, shows - Fix MySQL queries that could fail during media server library scans +- Fix scanning Jellyfin libraries when library options and/or path infos are not returned from Jellyfin API ### Changed - Upgrade ffmpeg to 6.1, which is now *required* for all installs diff --git a/ErsatzTV.Application/ErsatzTV.Application.csproj b/ErsatzTV.Application/ErsatzTV.Application.csproj index 75412a7a8..5c1bfda0f 100644 --- a/ErsatzTV.Application/ErsatzTV.Application.csproj +++ b/ErsatzTV.Application/ErsatzTV.Application.csproj @@ -20,7 +20,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj b/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj index 984bf0935..5ea4329ae 100644 --- a/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj +++ b/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj @@ -16,15 +16,15 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + diff --git a/ErsatzTV.Core/ErsatzTV.Core.csproj b/ErsatzTV.Core/ErsatzTV.Core.csproj index addbba088..5ebb31699 100644 --- a/ErsatzTV.Core/ErsatzTV.Core.csproj +++ b/ErsatzTV.Core/ErsatzTV.Core.csproj @@ -25,8 +25,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - - + + diff --git a/ErsatzTV.FFmpeg.Tests/ErsatzTV.FFmpeg.Tests.csproj b/ErsatzTV.FFmpeg.Tests/ErsatzTV.FFmpeg.Tests.csproj index 768a9688d..6e9c405e5 100644 --- a/ErsatzTV.FFmpeg.Tests/ErsatzTV.FFmpeg.Tests.csproj +++ b/ErsatzTV.FFmpeg.Tests/ErsatzTV.FFmpeg.Tests.csproj @@ -10,9 +10,9 @@ - + - + diff --git a/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj b/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj index 22642ba50..04ee9117c 100644 --- a/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj +++ b/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj @@ -10,9 +10,9 @@ - + - + runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj b/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj index 34d19c41e..dc611447d 100644 --- a/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj +++ b/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj @@ -14,7 +14,7 @@ - + diff --git a/ErsatzTV.Infrastructure/Jellyfin/JellyfinApiClient.cs b/ErsatzTV.Infrastructure/Jellyfin/JellyfinApiClient.cs index cf8bb9b5f..41f9e9805 100644 --- a/ErsatzTV.Infrastructure/Jellyfin/JellyfinApiClient.cs +++ b/ErsatzTV.Infrastructure/Jellyfin/JellyfinApiClient.cs @@ -371,15 +371,25 @@ public class JellyfinApiClient : IJellyfinApiClient _ => None }; - private static List GetPathInfos(JellyfinLibraryResponse response) => - response.LibraryOptions.PathInfos - .Filter(pi => !string.IsNullOrWhiteSpace(pi.NetworkPath)) - .Map( - pi => new JellyfinPathInfo - { - Path = pi.Path, - NetworkPath = pi.NetworkPath - }).ToList(); + private static List GetPathInfos(JellyfinLibraryResponse response) + { + var result = new List(); + + if (response.LibraryOptions?.PathInfos is not null) + { + result.AddRange( + response.LibraryOptions.PathInfos + .Filter(pi => !string.IsNullOrWhiteSpace(pi.NetworkPath)) + .Map( + pi => new JellyfinPathInfo + { + Path = pi.Path, + NetworkPath = pi.NetworkPath + })); + } + + return result; + } private Option CacheCollectionLibraryId(string itemId) { diff --git a/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj b/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj index b3886e14c..bfb6e4ec6 100644 --- a/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj +++ b/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj @@ -11,9 +11,9 @@ - + - + runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj b/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj index 006dabd97..c6708c1d2 100644 --- a/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj +++ b/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj @@ -27,11 +27,11 @@ - + - - + + diff --git a/ErsatzTV/ErsatzTV.csproj b/ErsatzTV/ErsatzTV.csproj index 20e65c74c..d33e14b07 100644 --- a/ErsatzTV/ErsatzTV.csproj +++ b/ErsatzTV/ErsatzTV.csproj @@ -78,7 +78,7 @@ - +