aboutsummaryrefslogtreecommitdiff
path: root/video
diff options
context:
space:
mode:
authorNiels Möller <nisse@webrtc.org>2018-04-13 13:37:52 +0200
committerCommit Bot <commit-bot@chromium.org>2018-04-13 12:55:29 +0000
commit19a68d405d4d8acf3276ded4a199abe9d2ef437f (patch)
tree935fc7585fc0b313dca3d4056b9e39222e9ecbb5 /video
parent4e140da62fb15e22aae9bb9a16682f1c01128dc5 (diff)
downloadwebrtc-19a68d405d4d8acf3276ded4a199abe9d2ef437f.tar.gz
Use VP8EncoderSimulcastProxy in VideoQualityTest.
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 <sprang@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22859}
Diffstat (limited to 'video')
-rw-r--r--video/video_quality_test.cc15
-rw-r--r--video/video_quality_test.h3
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<VP8EncoderSimulcastProxy>(&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<MultiplexEncoderAdapter>(
- 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 <string>
#include <vector>
-#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<std::unique_ptr<test::VideoCapturer>> video_capturers_;
std::vector<std::unique_ptr<test::VideoCapturer>> thumbnail_capturers_;
+ InternalEncoderFactory internal_encoder_factory_;
std::vector<std::unique_ptr<VideoEncoder>> video_encoders_;
std::vector<std::unique_ptr<VideoEncoder>> thumbnail_encoders_;