diff options
| author | Cody Robibero <cody@robibe.ro> | 2022-01-20 08:54:40 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-20 08:54:40 -0700 |
| commit | 34ee6d82fb38b553d0ccd192fb7b2acfe2433c16 (patch) | |
| tree | 1dd8c39e69302a13adbed2f8415a01ea62434a07 /tests/Jellyfin.MediaEncoding.Keyframes.Tests/FfProbe/FfProbeKeyframeExtractorTests.cs | |
| parent | a4246648f4b4d9df89da4830a7e7b49770eddc02 (diff) | |
| parent | 90736ee346e1e78095667d060826c22e57525bb3 (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.cs | 28 |
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); + } + } +} |
