diff --git a/api/BUILD.gn b/api/BUILD.gn index 4265f97cd7..8bb6f06f58 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -459,6 +459,7 @@ if (rtc_include_tests) { ":frame_generator_api", "../system_wrappers", "../test:video_test_common", + "../test:video_test_support", "//third_party/abseil-cpp/absl/types:optional", ] } diff --git a/api/test/create_frame_generator.cc b/api/test/create_frame_generator.cc index b6e62a4d97..6b5b9fac77 100644 --- a/api/test/create_frame_generator.cc +++ b/api/test/create_frame_generator.cc @@ -13,6 +13,7 @@ #include #include "test/frame_generator.h" +#include "test/testsupport/ivf_video_frame_generator.h" namespace webrtc { namespace test { @@ -35,6 +36,12 @@ std::unique_ptr CreateFromYuvFileFrameGenerator( frame_repeat_count); } +// Creates a frame generator that repeatedly plays an ivf file. +std::unique_ptr CreateFromYuvFileFrameGenerator( + std::string file) { + return std::make_unique(std::move(file)); +} + std::unique_ptr CreateScrollingInputFromYuvFilesFrameGenerator( Clock* clock, diff --git a/api/test/create_frame_generator.h b/api/test/create_frame_generator.h index 692c964638..920ff862b0 100644 --- a/api/test/create_frame_generator.h +++ b/api/test/create_frame_generator.h @@ -41,6 +41,10 @@ std::unique_ptr CreateFromYuvFileFrameGenerator( size_t height, int frame_repeat_count); +// Creates a frame generator that repeatedly plays an ivf file. +std::unique_ptr CreateFromYuvFileFrameGenerator( + std::string file); + // Creates a frame generator which takes a set of yuv files (wrapping a // frame generator created by CreateFromYuvFile() above), but outputs frames // that have been cropped to specified resolution: source_width/source_height