From 442af96ed9c7b9cfadf46e85e8119ac0476408e0 Mon Sep 17 00:00:00 2001
From: CeruleanRed <64965209+CeruleanRed@users.noreply.github.com>
Date: Sun, 26 Oct 2025 17:37:16 +0100
Subject: [PATCH] Only save chapters that are within the runtime of the video
file (#15176)
---
Emby.Server.Implementations/Chapters/ChapterManager.cs | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/Emby.Server.Implementations/Chapters/ChapterManager.cs b/Emby.Server.Implementations/Chapters/ChapterManager.cs
index fea05931d7..d09ed30ae3 100644
--- a/Emby.Server.Implementations/Chapters/ChapterManager.cs
+++ b/Emby.Server.Implementations/Chapters/ChapterManager.cs
@@ -223,7 +223,7 @@ public class ChapterManager : IChapterManager
if (saveChapters && changesMade)
{
- _chapterRepository.SaveChapters(video.Id, chapters);
+ SaveChapters(video, chapters);
}
DeleteDeadImages(currentImages, chapters);
@@ -234,7 +234,9 @@ public class ChapterManager : IChapterManager
///
public void SaveChapters(Video video, IReadOnlyList chapters)
{
- _chapterRepository.SaveChapters(video.Id, chapters);
+ // Remove any chapters that are outside of the runtime of the video
+ var validChapters = chapters.Where(c => c.StartPositionTicks < video.RunTimeTicks).ToList();
+ _chapterRepository.SaveChapters(video.Id, validChapters);
}
///