aboutsummaryrefslogtreecommitdiff
path: root/tests/Jellyfin.MediaEncoding.Keyframes.Tests/FfProbe/FfProbeKeyframeExtractorTests.cs
diff options
context:
space:
mode:
authorCody Robibero <cody@robibe.ro>2022-01-20 08:54:40 -0700
committerGitHub <noreply@github.com>2022-01-20 08:54:40 -0700
commit34ee6d82fb38b553d0ccd192fb7b2acfe2433c16 (patch)
tree1dd8c39e69302a13adbed2f8415a01ea62434a07 /tests/Jellyfin.MediaEncoding.Keyframes.Tests/FfProbe/FfProbeKeyframeExtractorTests.cs
parenta4246648f4b4d9df89da4830a7e7b49770eddc02 (diff)
parent90736ee346e1e78095667d060826c22e57525bb3 (diff)
Merge pull request #6600 from cvium/keyframe_extraction_v1
Diffstat (limited to 'tests/Jellyfin.MediaEncoding.Keyframes.Tests/FfProbe/FfProbeKeyframeExtractorTests.cs')
-rw-r--r--tests/Jellyfin.MediaEncoding.Keyframes.Tests/FfProbe/FfProbeKeyframeExtractorTests.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/FfProbe/FfProbeKeyframeExtractorTests.cs b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/FfProbe/FfProbeKeyframeExtractorTests.cs
new file mode 100644
index 000000000..e5debf8c0
--- /dev/null
+++ b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/FfProbe/FfProbeKeyframeExtractorTests.cs
@@ -0,0 +1,28 @@
+using System.IO;
+using System.Text.Json;
+using Xunit;
+
+namespace Jellyfin.MediaEncoding.Keyframes.FfProbe
+{
+ public class FfProbeKeyframeExtractorTests
+ {
+ [Theory]
+ [InlineData("keyframes.txt", "keyframes_result.json")]
+ [InlineData("keyframes_streamduration.txt", "keyframes_streamduration_result.json")]
+ public void ParseStream_Valid_Success(string testDataFileName, string resultFileName)
+ {
+ var testDataPath = Path.Combine("FfProbe/Test Data", testDataFileName);
+ var resultPath = Path.Combine("FfProbe/Test Data", resultFileName);
+ using var resultFileStream = File.OpenRead(resultPath);
+ var expectedResult = JsonSerializer.Deserialize<KeyframeData>(resultFileStream)!;
+
+ using var fileStream = File.OpenRead(testDataPath);
+ using var streamReader = new StreamReader(fileStream);
+
+ var result = FfProbeKeyframeExtractor.ParseStream(streamReader);
+
+ Assert.Equal(expectedResult.TotalDuration, result.TotalDuration);
+ Assert.Equal(expectedResult.KeyframeTicks, result.KeyframeTicks);
+ }
+ }
+}