Update test VideoEncoderFactories to pass Environment to construct VideoEncoder
Bug: webrtc:15860 Change-Id: If89593b75879183569cef603cede542f16262fa7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343385 Reviewed-by: Jeremy Leconte <jleconte@webrtc.org> Auto-Submit: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Jeremy Leconte <jleconte@webrtc.org> Cr-Commit-Position: refs/heads/main@{#41921}
This commit is contained in:
parent
1d26fd33ca
commit
802552a803
@ -205,6 +205,7 @@ rtc_library("video_test_common") {
|
|||||||
"../api:create_frame_generator",
|
"../api:create_frame_generator",
|
||||||
"../api:frame_generator_api",
|
"../api:frame_generator_api",
|
||||||
"../api:scoped_refptr",
|
"../api:scoped_refptr",
|
||||||
|
"../api/environment",
|
||||||
"../api/task_queue",
|
"../api/task_queue",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
|
|||||||
@ -16,6 +16,7 @@
|
|||||||
#include "absl/memory/memory.h"
|
#include "absl/memory/memory.h"
|
||||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||||
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
|
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
|
||||||
|
#include "api/environment/environment.h"
|
||||||
#include "api/rtc_event_log/rtc_event_log_factory.h"
|
#include "api/rtc_event_log/rtc_event_log_factory.h"
|
||||||
#include "api/task_queue/default_task_queue_factory.h"
|
#include "api/task_queue/default_task_queue_factory.h"
|
||||||
#include "api/test/create_time_controller.h"
|
#include "api/test/create_time_controller.h"
|
||||||
@ -177,19 +178,16 @@ class LambdaSetRemoteDescriptionObserver
|
|||||||
|
|
||||||
class FakeVideoEncoderFactory : public VideoEncoderFactory {
|
class FakeVideoEncoderFactory : public VideoEncoderFactory {
|
||||||
public:
|
public:
|
||||||
FakeVideoEncoderFactory(Clock* clock) : clock_(clock) {}
|
|
||||||
std::vector<SdpVideoFormat> GetSupportedFormats() const override {
|
std::vector<SdpVideoFormat> GetSupportedFormats() const override {
|
||||||
return {SdpVideoFormat::VP8()};
|
return {SdpVideoFormat::VP8()};
|
||||||
}
|
}
|
||||||
std::unique_ptr<VideoEncoder> CreateVideoEncoder(
|
std::unique_ptr<VideoEncoder> Create(const Environment& env,
|
||||||
const SdpVideoFormat& format) override {
|
const SdpVideoFormat& format) override {
|
||||||
RTC_CHECK_EQ(format.name, "VP8");
|
RTC_CHECK_EQ(format.name, "VP8");
|
||||||
return std::make_unique<FakeVp8Encoder>(clock_);
|
return std::make_unique<FakeVp8Encoder>(&env.clock());
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
|
||||||
Clock* const clock_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class FakeVideoDecoderFactory : public VideoDecoderFactory {
|
class FakeVideoDecoderFactory : public VideoDecoderFactory {
|
||||||
public:
|
public:
|
||||||
std::vector<SdpVideoFormat> GetSupportedFormats() const override {
|
std::vector<SdpVideoFormat> GetSupportedFormats() const override {
|
||||||
@ -260,8 +258,8 @@ PeerScenarioClient::PeerScenarioClient(
|
|||||||
TestAudioDeviceModule::CreateDiscardRenderer(config.audio.sample_rate));
|
TestAudioDeviceModule::CreateDiscardRenderer(config.audio.sample_rate));
|
||||||
|
|
||||||
if (config.video.use_fake_codecs) {
|
if (config.video.use_fake_codecs) {
|
||||||
pcf_deps.video_encoder_factory = std::make_unique<FakeVideoEncoderFactory>(
|
pcf_deps.video_encoder_factory =
|
||||||
net->time_controller()->GetClock());
|
std::make_unique<FakeVideoEncoderFactory>();
|
||||||
pcf_deps.video_decoder_factory =
|
pcf_deps.video_decoder_factory =
|
||||||
std::make_unique<FakeVideoDecoderFactory>();
|
std::make_unique<FakeVideoDecoderFactory>();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "api/environment/environment.h"
|
||||||
#include "api/video_codecs/video_encoder.h"
|
#include "api/video_codecs/video_encoder.h"
|
||||||
#include "api/video_codecs/video_encoder_factory.h"
|
#include "api/video_codecs/video_encoder_factory.h"
|
||||||
#include "test/video_encoder_proxy_factory.h"
|
#include "test/video_encoder_proxy_factory.h"
|
||||||
@ -30,12 +31,12 @@ class VideoEncoderNullableProxyFactory final : public VideoEncoderProxyFactory {
|
|||||||
|
|
||||||
~VideoEncoderNullableProxyFactory() override = default;
|
~VideoEncoderNullableProxyFactory() override = default;
|
||||||
|
|
||||||
std::unique_ptr<VideoEncoder> CreateVideoEncoder(
|
std::unique_ptr<VideoEncoder> Create(const Environment& env,
|
||||||
const SdpVideoFormat& format) override {
|
const SdpVideoFormat& format) override {
|
||||||
if (!encoder_) {
|
if (!encoder_) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
return VideoEncoderProxyFactory::CreateVideoEncoder(format);
|
return VideoEncoderProxyFactory::Create(env, format);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "api/environment/environment.h"
|
||||||
#include "api/video_codecs/video_encoder.h"
|
#include "api/video_codecs/video_encoder.h"
|
||||||
#include "api/video_codecs/video_encoder_factory.h"
|
#include "api/video_codecs/video_encoder_factory.h"
|
||||||
|
|
||||||
@ -45,8 +46,8 @@ class VideoEncoderProxyFactory : public VideoEncoderFactory {
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<VideoEncoder> CreateVideoEncoder(
|
std::unique_ptr<VideoEncoder> Create(const Environment& env,
|
||||||
const SdpVideoFormat& format) override {
|
const SdpVideoFormat& format) override {
|
||||||
++num_simultaneous_encoder_instances_;
|
++num_simultaneous_encoder_instances_;
|
||||||
max_num_simultaneous_encoder_instances_ =
|
max_num_simultaneous_encoder_instances_ =
|
||||||
std::max(max_num_simultaneous_encoder_instances_,
|
std::max(max_num_simultaneous_encoder_instances_,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user