diff options
| author | Dylan Dellett-Wion <iamdylandw@gmail.com> | 2026-04-26 00:24:15 -0400 |
|---|---|---|
| committer | Dylan Dellett-Wion <iamdylandw@gmail.com> | 2026-04-26 00:24:15 -0400 |
| commit | 9f5f18d2dbf6ccad49015765600fc858e5f85c1e (patch) | |
| tree | d438787863c0cbd0f2de68391f7f9c24ea37bb4a | |
| parent | 8044156df5b8fc3edc4ab47f72c62db4b96c4d2b (diff) | |
Add test for keyframe duration overshoot clamping
| -rw-r--r-- | tests/Jellyfin.MediaEncoding.Hls.Tests/Playlist/DynamicHlsPlaylistGeneratorTests.cs | 11 |
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] |
