From 57716833b8dc9900a9f978e4a558b9810977725f Mon Sep 17 00:00:00 2001 From: theguymadmax Date: Fri, 2 May 2025 09:01:23 -0400 Subject: [PATCH] Fix trickplay directory path construction (#14036) --- Emby.Server.Implementations/Library/PathManager.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Emby.Server.Implementations/Library/PathManager.cs b/Emby.Server.Implementations/Library/PathManager.cs index dbd2333ff3..853d85e5e5 100644 --- a/Emby.Server.Implementations/Library/PathManager.cs +++ b/Emby.Server.Implementations/Library/PathManager.cs @@ -29,14 +29,14 @@ public class PathManager : IPathManager _appPaths = appPaths; } - private string SubtitleCachePath => Path.Join(_appPaths.DataPath, "subtitles"); + private string SubtitleCachePath => Path.Combine(_appPaths.DataPath, "subtitles"); - private string AttachmentCachePath => Path.Join(_appPaths.DataPath, "attachments"); + private string AttachmentCachePath => Path.Combine(_appPaths.DataPath, "attachments"); /// public string GetAttachmentPath(string mediaSourceId, string fileName) { - return Path.Join(GetAttachmentFolderPath(mediaSourceId), fileName); + return Path.Combine(GetAttachmentFolderPath(mediaSourceId), fileName); } /// @@ -58,7 +58,7 @@ public class PathManager : IPathManager /// public string GetSubtitlePath(string mediaSourceId, int streamIndex, string extension) { - return Path.Join(GetSubtitleFolderPath(mediaSourceId), streamIndex.ToString(CultureInfo.InvariantCulture) + extension); + return Path.Combine(GetSubtitleFolderPath(mediaSourceId), streamIndex.ToString(CultureInfo.InvariantCulture) + extension); } /// @@ -67,14 +67,14 @@ public class PathManager : IPathManager var id = item.Id.ToString("D", CultureInfo.InvariantCulture).AsSpan(); return saveWithMedia - ? Path.Join(item.ContainingFolderPath, Path.ChangeExtension(item.Path, ".trickplay")) + ? Path.Combine(item.ContainingFolderPath, Path.ChangeExtension(Path.GetFileName(item.Path), ".trickplay")) : Path.Join(_config.ApplicationPaths.TrickplayPath, id[..2], id); } /// public string GetChapterImageFolderPath(BaseItem item) { - return Path.Join(item.GetInternalMetadataPath(), "chapters"); + return Path.Combine(item.GetInternalMetadataPath(), "chapters"); } /// @@ -82,6 +82,6 @@ public class PathManager : IPathManager { var filename = item.DateModified.Ticks.ToString(CultureInfo.InvariantCulture) + "_" + chapterPositionTicks.ToString(CultureInfo.InvariantCulture) + ".jpg"; - return Path.Join(GetChapterImageFolderPath(item), filename); + return Path.Combine(GetChapterImageFolderPath(item), filename); } }