aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Dellett-Wion <iamdylandw@gmail.com>2026-04-26 00:24:15 -0400
committerDylan Dellett-Wion <iamdylandw@gmail.com>2026-04-26 00:24:15 -0400
commit9f5f18d2dbf6ccad49015765600fc858e5f85c1e (patch)
treed438787863c0cbd0f2de68391f7f9c24ea37bb4a
parent8044156df5b8fc3edc4ab47f72c62db4b96c4d2b (diff)
Add test for keyframe duration overshoot clamping
-rw-r--r--tests/Jellyfin.MediaEncoding.Hls.Tests/Playlist/DynamicHlsPlaylistGeneratorTests.cs11
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/Jellyfin.MediaEncoding.Hls.Tests/Playlist/DynamicHlsPlaylistGeneratorTests.cs b/tests/Jellyfin.MediaEncoding.Hls.Tests/Playlist/DynamicHlsPlaylistGeneratorTests.cs
index fc969527e8..1406c8ee91 100644
--- a/tests/Jellyfin.MediaEncoding.Hls.Tests/Playlist/DynamicHlsPlaylistGeneratorTests.cs
+++ b/tests/Jellyfin.MediaEncoding.Hls.Tests/Playlist/DynamicHlsPlaylistGeneratorTests.cs
@@ -15,10 +15,17 @@ namespace Jellyfin.MediaEncoding.Hls.Tests.Playlist
}
[Fact]
- public void ComputeSegments_InvalidDuration_ThrowsArgumentException()
+ public void ComputeSegments_ZeroDurationOvershoot_ClampsToDuration()
{
var keyframeData = new KeyframeData(0, new[] { MsToTicks(10000) });
- Assert.Throws<ArgumentException>(() => DynamicHlsPlaylistGenerator.ComputeSegments(keyframeData, 6000));
+ Assert.Equal(new[] { 10.0 }, DynamicHlsPlaylistGenerator.ComputeSegments(keyframeData, 6000));
+ }
+
+ [Fact]
+ public void ComputeSegments_MinorDurationOvershoot_ClampsToDuration()
+ {
+ var keyframeData = new KeyframeData(MsToTicks(9900), new[] { 0L, MsToTicks(5000), MsToTicks(10000) });
+ Assert.Equal(new[] { 10.0 }, DynamicHlsPlaylistGenerator.ComputeSegments(keyframeData, 6000));
}
[Theory]