Browse Source

Add only correct person blurhash

crobibero 4 years ago
parent
commit
d077c425d3
1 changed files with 14 additions and 1 deletions
  1. 14 1
      Emby.Server.Implementations/Dto/DtoService.cs

+ 14 - 1
Emby.Server.Implementations/Dto/DtoService.cs

@@ -582,7 +582,20 @@ namespace Emby.Server.Implementations.Dto
                 {
                     baseItemPerson.PrimaryImageTag = GetTagAndFillBlurhash(dto, entity, ImageType.Primary);
                     baseItemPerson.Id = entity.Id.ToString("N", CultureInfo.InvariantCulture);
-                    baseItemPerson.ImageBlurHashes = dto.ImageBlurHashes;
+                    // Only add BlurHash for the person's image.
+                    baseItemPerson.ImageBlurHashes = new Dictionary<ImageType, Dictionary<string, string>>();
+                    foreach (var (imageType, blurHash) in dto.ImageBlurHashes)
+                    {
+                        baseItemPerson.ImageBlurHashes[imageType] = new Dictionary<string, string>();
+                        foreach (var (imageId, blurHashValue) in blurHash)
+                        {
+                            if (string.Equals(baseItemPerson.PrimaryImageTag, imageId, StringComparison.OrdinalIgnoreCase))
+                            {
+                                baseItemPerson.ImageBlurHashes[imageType][imageId] = blurHashValue;
+                            }
+                        }
+                    }
+
                     list.Add(baseItemPerson);
                 }
             }