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 @@
-
+