From 5a860710a849b9d67d12731f1a616c4a3904487d Mon Sep 17 00:00:00 2001 From: Nick <20588554+nicknsy@users.noreply.github.com> Date: Mon, 4 Sep 2023 12:30:20 -0700 Subject: [PATCH] Make TrickplayManifest dictionary key a string rather than Guid --- Emby.Server.Implementations/Dto/DtoService.cs | 6 +----- .../Trickplay/TrickplayManager.cs | 6 +++--- MediaBrowser.Controller/Trickplay/ITrickplayManager.cs | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs index 19ae396628..be361c4d1c 100644 --- a/Emby.Server.Implementations/Dto/DtoService.cs +++ b/Emby.Server.Implementations/Dto/DtoService.cs @@ -1064,11 +1064,7 @@ namespace Emby.Server.Implementations.Dto if (options.ContainsField(ItemFields.Trickplay)) { - var manifest = _trickplayManager.GetTrickplayManifest(item).GetAwaiter().GetResult(); - - // To stay consistent with other fields, this must go from a Guid to a non-dashed string. - // This does not seem to occur automatically to dictionaries like it does with other Guid fields. - dto.Trickplay = manifest.ToDictionary(x => x.Key.ToString("N", CultureInfo.InvariantCulture), y => y.Value); + dto.Trickplay = _trickplayManager.GetTrickplayManifest(item).GetAwaiter().GetResult(); } if (video.ExtraType.HasValue) diff --git a/Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs b/Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs index e3bfdd50d6..107f8e5100 100644 --- a/Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs +++ b/Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs @@ -349,9 +349,9 @@ public class TrickplayManager : ITrickplayManager } /// - public async Task>> GetTrickplayManifest(BaseItem item) + public async Task>> GetTrickplayManifest(BaseItem item) { - var trickplayManifest = new Dictionary>(); + var trickplayManifest = new Dictionary>(); foreach (var mediaSource in item.GetMediaSources(false)) { var mediaSourceId = Guid.Parse(mediaSource.Id); @@ -359,7 +359,7 @@ public class TrickplayManager : ITrickplayManager if (trickplayResolutions.Count > 0) { - trickplayManifest[mediaSourceId] = trickplayResolutions; + trickplayManifest[mediaSource.Id] = trickplayResolutions; } } diff --git a/MediaBrowser.Controller/Trickplay/ITrickplayManager.cs b/MediaBrowser.Controller/Trickplay/ITrickplayManager.cs index 7bea54fbab..0c41f30235 100644 --- a/MediaBrowser.Controller/Trickplay/ITrickplayManager.cs +++ b/MediaBrowser.Controller/Trickplay/ITrickplayManager.cs @@ -54,7 +54,7 @@ public interface ITrickplayManager /// /// The item. /// A map of media source id to a map of tile width to trickplay info. - Task>> GetTrickplayManifest(BaseItem item); + Task>> GetTrickplayManifest(BaseItem item); /// /// Gets the path to a trickplay tile image.