Make TrickplayManifest dictionary key a string rather than Guid

pull/9554/head
Nick 8 months ago
parent 65b269c151
commit 5a860710a8

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

@ -349,9 +349,9 @@ public class TrickplayManager : ITrickplayManager
}
/// <inheritdoc />
public async Task<Dictionary<Guid, Dictionary<int, TrickplayInfo>>> GetTrickplayManifest(BaseItem item)
public async Task<Dictionary<string, Dictionary<int, TrickplayInfo>>> GetTrickplayManifest(BaseItem item)
{
var trickplayManifest = new Dictionary<Guid, Dictionary<int, TrickplayInfo>>();
var trickplayManifest = new Dictionary<string, Dictionary<int, TrickplayInfo>>();
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;
}
}

@ -54,7 +54,7 @@ public interface ITrickplayManager
/// </summary>
/// <param name="item">The item.</param>
/// <returns>A map of media source id to a map of tile width to trickplay info.</returns>
Task<Dictionary<Guid, Dictionary<int, TrickplayInfo>>> GetTrickplayManifest(BaseItem item);
Task<Dictionary<string, Dictionary<int, TrickplayInfo>>> GetTrickplayManifest(BaseItem item);
/// <summary>
/// Gets the path to a trickplay tile image.

Loading…
Cancel
Save