aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Server.Implementations/Serialization/MyXmlSerializer.cs5
-rw-r--r--MediaBrowser.Providers/MediaInfo/AudioFileProber.cs6
2 files changed, 8 insertions, 3 deletions
diff --git a/Emby.Server.Implementations/Serialization/MyXmlSerializer.cs b/Emby.Server.Implementations/Serialization/MyXmlSerializer.cs
index 1bac2600c..aa5fbbdf7 100644
--- a/Emby.Server.Implementations/Serialization/MyXmlSerializer.cs
+++ b/Emby.Server.Implementations/Serialization/MyXmlSerializer.cs
@@ -15,10 +15,9 @@ namespace Emby.Server.Implementations.Serialization
{
// Need to cache these
// http://dotnetcodebox.blogspot.com/2013/01/xmlserializer-class-may-result-in.html
- private static readonly ConcurrentDictionary<string, XmlSerializer> _serializers =
- new ConcurrentDictionary<string, XmlSerializer>();
+ private readonly ConcurrentDictionary<string, XmlSerializer> _serializers = new();
- private static XmlSerializer GetSerializer(Type type)
+ private XmlSerializer GetSerializer(Type type)
=> _serializers.GetOrAdd(
type.FullName ?? throw new ArgumentException($"Invalid type {type}."),
static (_, t) => new XmlSerializer(t),
diff --git a/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs b/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs
index 67b84681d..bbc9af227 100644
--- a/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs
+++ b/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs
@@ -338,6 +338,12 @@ namespace MediaBrowser.Providers.MediaInfo
audio.Artists = performers;
}
+ if (albumArtists.Length == 0)
+ {
+ // Album artists not provided, fall back to performers (artists).
+ albumArtists = performers;
+ }
+
if (options.ReplaceAllMetadata && albumArtists.Length != 0)
{
audio.AlbumArtists = albumArtists;