Update FakeVideoEncoderFactory to rely on webrtc::Environment

Bug: webrtc:15860
Change-Id: I6bc2246892400a0656c672b122455040488be3a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343788
Reviewed-by: Erik Språng <sprang@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41964}
This commit is contained in:
Danil Chapovalov 2024-03-21 18:28:16 +01:00 committed by WebRTC LUCI CQ
parent 71b9a581b4
commit 6f1d4e74cc
4 changed files with 13 additions and 18 deletions

View File

@ -12,6 +12,7 @@
#include <memory>
#include "api/environment/environment.h"
#include "api/video_codecs/sdp_video_format.h"
#include "api/video_codecs/video_decoder.h"
#include "api/video_codecs/video_encoder.h"
@ -30,22 +31,16 @@ static const char kFakeCodecFactoryCodecName[] = "FakeCodec";
namespace webrtc {
FakeVideoEncoderFactory::FakeVideoEncoderFactory() = default;
// static
std::unique_ptr<VideoEncoder> FakeVideoEncoderFactory::CreateVideoEncoder() {
return std::make_unique<test::FakeEncoder>(Clock::GetRealTimeClock());
}
std::vector<SdpVideoFormat> FakeVideoEncoderFactory::GetSupportedFormats()
const {
return std::vector<SdpVideoFormat>(
1, SdpVideoFormat(kFakeCodecFactoryCodecName));
}
std::unique_ptr<VideoEncoder> FakeVideoEncoderFactory::CreateVideoEncoder(
std::unique_ptr<VideoEncoder> FakeVideoEncoderFactory::Create(
const Environment& env,
const SdpVideoFormat& format) {
return std::make_unique<test::FakeEncoder>(Clock::GetRealTimeClock());
return std::make_unique<test::FakeEncoder>(&env.clock());
}
FakeVideoDecoderFactory::FakeVideoDecoderFactory() = default;

View File

@ -14,6 +14,7 @@
#include <memory>
#include <vector>
#include "api/environment/environment.h"
#include "api/video_codecs/video_decoder_factory.h"
#include "api/video_codecs/video_encoder_factory.h"
#include "rtc_base/system/rtc_export.h"
@ -24,13 +25,11 @@ namespace webrtc {
// the given bitrate constraints.
class RTC_EXPORT FakeVideoEncoderFactory : public VideoEncoderFactory {
public:
FakeVideoEncoderFactory();
static std::unique_ptr<VideoEncoder> CreateVideoEncoder();
FakeVideoEncoderFactory() = default;
// VideoEncoderFactory implementation
std::vector<SdpVideoFormat> GetSupportedFormats() const override;
std::unique_ptr<VideoEncoder> CreateVideoEncoder(
std::unique_ptr<VideoEncoder> Create(const Environment& env,
const SdpVideoFormat& format) override;
};

View File

@ -171,7 +171,7 @@ class MockVideoEncoderFactory : public VideoEncoderFactory {
public:
std::vector<SdpVideoFormat> GetSupportedFormats() const override;
std::unique_ptr<VideoEncoder> CreateVideoEncoder(
std::unique_ptr<VideoEncoder> Create(const Environment& env,
const SdpVideoFormat& format) override;
const std::vector<MockVideoEncoder*>& encoders() const;
@ -359,7 +359,8 @@ std::vector<SdpVideoFormat> MockVideoEncoderFactory::GetSupportedFormats()
return {SdpVideoFormat::VP8()};
}
std::unique_ptr<VideoEncoder> MockVideoEncoderFactory::CreateVideoEncoder(
std::unique_ptr<VideoEncoder> MockVideoEncoderFactory::Create(
const Environment& env,
const SdpVideoFormat& format) {
if (create_video_encoder_return_nullptr_) {
return nullptr;

View File

@ -320,7 +320,7 @@ std::unique_ptr<VideoEncoder> VideoQualityTest::CreateVideoEncoder(
encoder = std::make_unique<SimulcastEncoderAdapter>(
env, encoder_factory_.get(), nullptr, format);
} else if (format.name == "FakeCodec") {
encoder = webrtc::FakeVideoEncoderFactory::CreateVideoEncoder();
encoder = FakeVideoEncoderFactory().Create(env, format);
} else {
encoder = encoder_factory_->Create(env, format);
}