mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 06:47:35 +00:00
Tests/LibVideo: Add a test for Matroska files containing CRC32 elements
This commit is contained in:
parent
cf1cb04af0
commit
b94c132dd1
4 changed files with 28 additions and 1 deletions
25
Tests/LibVideo/TestParseMatroska.cpp
Normal file
25
Tests/LibVideo/TestParseMatroska.cpp
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Copyright (c) 2023, Gregory Bertilson <zaggy1024@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibTest/TestCase.h>
|
||||
|
||||
#include <LibVideo/Containers/Matroska/Reader.h>
|
||||
|
||||
TEST_CASE(master_elements_containing_crc32)
|
||||
{
|
||||
auto matroska_reader = MUST(Video::Matroska::Reader::from_file("master_elements_containing_crc32.mkv"sv));
|
||||
u64 video_track = 0;
|
||||
MUST(matroska_reader.for_each_track_of_type(Video::Matroska::TrackEntry::TrackType::Video, [&](Video::Matroska::TrackEntry const& track_entry) -> Video::DecoderErrorOr<IterationDecision> {
|
||||
video_track = track_entry.track_number();
|
||||
return IterationDecision::Break;
|
||||
}));
|
||||
VERIFY(video_track == 1);
|
||||
|
||||
auto iterator = MUST(matroska_reader.create_sample_iterator(video_track));
|
||||
MUST(iterator.next_block());
|
||||
MUST(matroska_reader.seek_to_random_access_point(iterator, Duration::from_seconds(7)));
|
||||
MUST(iterator.next_block());
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue