diff options
author | Niels Möller <nisse@webrtc.org> | 2018-04-13 13:37:52 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2018-04-13 12:55:29 +0000 |
commit | 19a68d405d4d8acf3276ded4a199abe9d2ef437f (patch) | |
tree | 935fc7585fc0b313dca3d4056b9e39222e9ecbb5 /video | |
parent | 4e140da62fb15e22aae9bb9a16682f1c01128dc5 (diff) | |
download | webrtc-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.cc | 15 | ||||
-rw-r--r-- | 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<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_; |