#include "test/frame_generator_capturer.h"
#include <algorithm>
#include <cmath>
#include <cstddef>
#include <memory>
#include <utility>
#include "absl/types/optional.h"
#include "api/task_queue/task_queue_base.h"
#include "api/task_queue/task_queue_factory.h"
#include "api/test/frame_generator_interface.h"
#include "api/units/time_delta.h"
#include "api/video/color_space.h"
#include "api/video/video_frame.h"
#include "api/video/video_rotation.h"
#include "api/video/video_sink_interface.h"
#include "api/video/video_source_interface.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/synchronization/mutex.h"
#include "rtc_base/task_utils/repeating_task.h"
#include "system_wrappers/include/clock.h"
#include "test/test_video_capturer.h"
namespace webrtc {
namespace test {
FrameGeneratorCapturer::FrameGeneratorCapturer(
Clock* clock,
std::unique_ptr<FrameGeneratorInterface> frame_generator,
int target_fps,
TaskQueueFactory& task_queue_factory)
: … { … }
FrameGeneratorCapturer::~FrameGeneratorCapturer() { … }
void FrameGeneratorCapturer::SetFakeRotation(VideoRotation rotation) { … }
void FrameGeneratorCapturer::SetFakeColorSpace(
absl::optional<ColorSpace> color_space) { … }
bool FrameGeneratorCapturer::Init() { … }
void FrameGeneratorCapturer::InsertFrame() { … }
absl::optional<FrameGeneratorCapturer::Resolution>
FrameGeneratorCapturer::GetResolution() const { … }
void FrameGeneratorCapturer::Start() { … }
void FrameGeneratorCapturer::Stop() { … }
void FrameGeneratorCapturer::ChangeResolution(size_t width, size_t height) { … }
void FrameGeneratorCapturer::ChangeFramerate(int target_framerate) { … }
int FrameGeneratorCapturer::GetFrameWidth() const { … }
int FrameGeneratorCapturer::GetFrameHeight() const { … }
void FrameGeneratorCapturer::OnOutputFormatRequest(
int width,
int height,
const absl::optional<int>& max_fps) { … }
void FrameGeneratorCapturer::SetSinkWantsObserver(SinkWantsObserver* observer) { … }
void FrameGeneratorCapturer::AddOrUpdateSink(
rtc::VideoSinkInterface<VideoFrame>* sink,
const rtc::VideoSinkWants& wants) { … }
void FrameGeneratorCapturer::RemoveSink(
rtc::VideoSinkInterface<VideoFrame>* sink) { … }
void FrameGeneratorCapturer::ForceFrame() { … }
int FrameGeneratorCapturer::GetCurrentConfiguredFramerate() { … }
}
}