From 19a68d405d4d8acf3276ded4a199abe9d2ef437f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Fri, 13 Apr 2018 13:37:52 +0200 Subject: [PATCH] Use VP8EncoderSimulcastProxy in VideoQualityTest. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This simplifies configuration, and it is a preparation for replaceing encoder instance with an encoder factory in VideoSendStream::Config::EncoderSettings. Bug: webrtc:8830 Change-Id: Iaf4f6ad9e7cfaa76d8600c4fa68f393e2f3ea331 Reviewed-on: https://webrtc-review.googlesource.com/69809 Reviewed-by: Erik Språng Commit-Queue: Niels Moller Cr-Commit-Position: refs/heads/master@{#22859} --- video/video_quality_test.cc | 15 ++++----------- video/video_quality_test.h | 3 ++- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/video/video_quality_test.cc b/video/video_quality_test.cc index 61072663da..0a477c4b5b 100644 --- a/video/video_quality_test.cc +++ b/video/video_quality_test.cc @@ -19,6 +19,7 @@ #include "logging/rtc_event_log/output/rtc_event_log_output_file.h" #include "media/engine/internalencoderfactory.h" +#include "media/engine/vp8_encoder_simulcast_proxy.h" #include "media/engine/webrtcvideoengine.h" #include "modules/audio_mixer/audio_mixer_impl.h" #include "modules/rtp_rtcp/source/rtp_format.h" @@ -1375,23 +1376,15 @@ void VideoQualityTest::SetupVideo(Transport* send_transport, H264Encoder::Create(cricket::VideoCodec("H264")); payload_type = kPayloadTypeH264; } else if (params_.video[video_idx].codec == "VP8") { - if (params_.screenshare[video_idx].enabled && - params_.ss[video_idx].streams.size() > 1) { - // Simulcast screenshare needs a simulcast encoder adapter to work, - // since encoders usually can't natively do simulcast with different - // frame rates for the different layers. - video_encoders_[video_idx].reset( - new SimulcastEncoderAdapter(new InternalEncoderFactory())); - } else { - video_encoders_[video_idx] = VP8Encoder::Create(); - } + video_encoders_[video_idx] = + rtc::MakeUnique(&internal_encoder_factory_); payload_type = kPayloadTypeVP8; } else if (params_.video[video_idx].codec == "VP9") { video_encoders_[video_idx] = VP9Encoder::Create(); payload_type = kPayloadTypeVP9; } else if (params_.video[video_idx].codec == "multiplex") { video_encoders_[video_idx] = rtc::MakeUnique( - new InternalEncoderFactory(), SdpVideoFormat(cricket::kVp9CodecName)); + &internal_encoder_factory_, SdpVideoFormat(cricket::kVp9CodecName)); payload_type = kPayloadTypeVP9; } else { RTC_NOTREACHED() << "Codec not supported!"; diff --git a/video/video_quality_test.h b/video/video_quality_test.h index 66a9fdbaf4..688a004a09 100644 --- a/video/video_quality_test.h +++ b/video/video_quality_test.h @@ -15,7 +15,7 @@ #include #include -#include "media/engine/simulcast_encoder_adapter.h" +#include "media/engine/internalencoderfactory.h" #include "test/call_test.h" #include "test/frame_generator.h" #include "test/layer_filtering_transport.h" @@ -148,6 +148,7 @@ class VideoQualityTest : public test::CallTest { std::vector> video_capturers_; std::vector> thumbnail_capturers_; + InternalEncoderFactory internal_encoder_factory_; std::vector> video_encoders_; std::vector> thumbnail_encoders_;