Remove WebRTC-ExperimentalScreenshareSettings.

This field trial is unused.

Bug: webrtc:11503
Change-Id: Id79b0dc64fed3559b9b63ebcf539e5536ddad589
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173339
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31090}
This commit is contained in:
Mirko Bonadei 2020-04-11 16:55:29 +02:00 committed by Commit Bot
parent ec9fc2208e
commit 6415dcad7a
9 changed files with 1 additions and 139 deletions

View file

@ -320,7 +320,6 @@ rtc_library("rtc_audio_video") {
"../rtc_base:checks",
"../rtc_base:rtc_task_queue",
"../rtc_base:stringutils",
"../rtc_base/experiments:experimental_screenshare_settings",
"../rtc_base/experiments:field_trial_parser",
"../rtc_base/experiments:min_video_bitrate_experiment",
"../rtc_base/experiments:normalize_simulcast_size_experiment",

View file

@ -22,7 +22,6 @@
#include "modules/video_coding/utility/simulcast_rate_allocator.h"
#include "rtc_base/arraysize.h"
#include "rtc_base/checks.h"
#include "rtc_base/experiments/experimental_screenshare_settings.h"
#include "rtc_base/experiments/min_video_bitrate_experiment.h"
#include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
#include "rtc_base/experiments/rate_control_settings.h"
@ -379,13 +378,6 @@ std::vector<webrtc::VideoStream> GetScreenshareLayers(
// more normal layout, with the regular 3 temporal layer pattern and no fps
// restrictions. The base simulcast layer will still use legacy setup.
if (num_simulcast_layers == kMaxScreenshareSimulcastLayers) {
auto experimental_settings =
webrtc::ExperimentalScreenshareSettings::ParseFromFieldTrials();
if (temporal_layers_supported &&
experimental_settings.BaseLayerMaxBitrate().has_value()) {
layers[0].max_bitrate_bps = *experimental_settings.BaseLayerMaxBitrate();
}
// Add optional upper simulcast layer.
const int num_temporal_layers = DefaultNumberOfTemporalLayers(1, true);
int max_bitrate_bps;
@ -400,8 +392,7 @@ std::vector<webrtc::VideoStream> GetScreenshareLayers(
} else if (DefaultNumberOfTemporalLayers(1, true) != 3 ||
base_heavy_tl3_rate_alloc) {
// Experimental temporal layer mode used, use increased max bitrate.
max_bitrate_bps = experimental_settings.TopLayerMaxBitrate().value_or(
kScreenshareHighStreamMaxBitrate.bps());
max_bitrate_bps = kScreenshareHighStreamMaxBitrate.bps();
using_boosted_bitrate = true;
} else {
// Keep current bitrates with default 3tl/8 frame settings.

View file

@ -315,7 +315,6 @@ rtc_library("video_coding_utility") {
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_numerics",
"../../rtc_base:rtc_task_queue",
"../../rtc_base/experiments:experimental_screenshare_settings",
"../../rtc_base/experiments:quality_scaler_settings",
"../../rtc_base/experiments:quality_scaling_experiment",
"../../rtc_base/experiments:rate_control_settings",
@ -442,7 +441,6 @@ rtc_library("webrtc_vp8") {
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_numerics",
"../../rtc_base/experiments:cpu_speed_experiment",
"../../rtc_base/experiments:experimental_screenshare_settings",
"../../rtc_base/experiments:field_trial_parser",
"../../rtc_base/experiments:rate_control_settings",
"../../system_wrappers:field_trial",

View file

@ -33,7 +33,6 @@
#include "modules/video_coding/utility/simulcast_rate_allocator.h"
#include "modules/video_coding/utility/simulcast_utility.h"
#include "rtc_base/checks.h"
#include "rtc_base/experiments/experimental_screenshare_settings.h"
#include "rtc_base/experiments/field_trial_parser.h"
#include "rtc_base/experiments/field_trial_units.h"
#include "rtc_base/logging.h"
@ -280,8 +279,6 @@ LibvpxVp8Encoder::LibvpxVp8Encoder(std::unique_ptr<LibvpxInterface> interface,
: libvpx_(std::move(interface)),
experimental_cpu_speed_config_arm_(CpuSpeedExperiment::GetConfigs()),
rate_control_settings_(RateControlSettings::ParseFromFieldTrials()),
screenshare_max_qp_(
ExperimentalScreenshareSettings::ParseFromFieldTrials().MaxQp()),
frame_buffer_controller_factory_(
std::move(settings.frame_buffer_controller_factory)),
resolution_bitrate_limits_(std::move(settings.resolution_bitrate_limits)),
@ -585,9 +582,6 @@ int LibvpxVp8Encoder::InitEncode(const VideoCodec* inst,
qp_max_ = std::max(rate_control_settings_.LibvpxVp8QpMax().value(),
static_cast<int>(vpx_configs_[0].rc_min_quantizer));
}
if (codec_.mode == VideoCodecMode::kScreensharing && screenshare_max_qp_) {
qp_max_ = *screenshare_max_qp_;
}
vpx_configs_[0].rc_max_quantizer = qp_max_;
vpx_configs_[0].rc_undershoot_pct = 100;
vpx_configs_[0].rc_overshoot_pct = 15;

View file

@ -98,7 +98,6 @@ class LibvpxVp8Encoder : public VideoEncoder {
const absl::optional<std::vector<CpuSpeedExperiment::Config>>
experimental_cpu_speed_config_arm_;
const RateControlSettings rate_control_settings_;
const absl::optional<int> screenshare_max_qp_;
EncodedImageCallback* encoded_complete_callback_ = nullptr;
VideoCodec codec_;

View file

@ -14,7 +14,6 @@
#include <cmath>
#include "rtc_base/checks.h"
#include "rtc_base/experiments/experimental_screenshare_settings.h"
namespace webrtc {
@ -90,14 +89,6 @@ bool SimulcastUtility::IsConferenceModeScreenshare(const VideoCodec& codec) {
return false;
}
if (codec.numberOfSimulcastStreams > 0 &&
ExperimentalScreenshareSettings::ParseFromFieldTrials()
.DefaultTlInBaseLayer()
.value_or(false)) {
// Don't use ScreenshareLayers for base layer, regardless of flags.
return false;
}
// Fixed default bitrates for legacy screenshare layers mode.
return (codec.numberOfSimulcastStreams == 0 && codec.maxBitrate == 1000) ||
(codec.numberOfSimulcastStreams >= 1 &&

View file

@ -182,19 +182,6 @@ rtc_library("keyframe_interval_settings_experiment") {
]
}
rtc_library("experimental_screenshare_settings") {
sources = [
"experimental_screenshare_settings.cc",
"experimental_screenshare_settings.h",
]
deps = [
":field_trial_parser",
"../../api/transport:field_trial_based_config",
"../../api/transport:webrtc_key_value_config",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("stable_target_rate_experiment") {
sources = [
"stable_target_rate_experiment.cc",

View file

@ -1,57 +0,0 @@
/*
* Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "rtc_base/experiments/experimental_screenshare_settings.h"
#include "api/transport/field_trial_based_config.h"
namespace webrtc {
namespace {
constexpr char kFieldTrialName[] = "WebRTC-ExperimentalScreenshareSettings";
} // namespace
ExperimentalScreenshareSettings::ExperimentalScreenshareSettings(
const WebRtcKeyValueConfig* key_value_config)
: max_qp_("max_qp"),
default_tl_in_base_layer_("default_tl_in_base_layer"),
base_layer_max_bitrate_("base_layer_max_bitrate"),
top_layer_max_bitrate("top_layer_max_bitrate") {
ParseFieldTrial({&max_qp_, &default_tl_in_base_layer_,
&base_layer_max_bitrate_, &top_layer_max_bitrate},
key_value_config->Lookup(kFieldTrialName));
}
ExperimentalScreenshareSettings
ExperimentalScreenshareSettings::ParseFromFieldTrials() {
FieldTrialBasedConfig field_trial_config;
return ExperimentalScreenshareSettings(&field_trial_config);
}
absl::optional<int> ExperimentalScreenshareSettings::MaxQp() const {
return max_qp_.GetOptional();
}
absl::optional<bool> ExperimentalScreenshareSettings::DefaultTlInBaseLayer()
const {
return default_tl_in_base_layer_.GetOptional();
}
absl::optional<int> ExperimentalScreenshareSettings::BaseLayerMaxBitrate()
const {
return base_layer_max_bitrate_.GetOptional();
}
absl::optional<int> ExperimentalScreenshareSettings::TopLayerMaxBitrate()
const {
return top_layer_max_bitrate.GetOptional();
}
} // namespace webrtc

View file

@ -1,40 +0,0 @@
/*
* Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef RTC_BASE_EXPERIMENTS_EXPERIMENTAL_SCREENSHARE_SETTINGS_H_
#define RTC_BASE_EXPERIMENTS_EXPERIMENTAL_SCREENSHARE_SETTINGS_H_
#include "absl/types/optional.h"
#include "api/transport/webrtc_key_value_config.h"
#include "rtc_base/experiments/field_trial_parser.h"
namespace webrtc {
class ExperimentalScreenshareSettings {
public:
static ExperimentalScreenshareSettings ParseFromFieldTrials();
explicit ExperimentalScreenshareSettings(
const WebRtcKeyValueConfig* key_value_config);
absl::optional<int> MaxQp() const;
absl::optional<bool> DefaultTlInBaseLayer() const;
absl::optional<int> BaseLayerMaxBitrate() const;
absl::optional<int> TopLayerMaxBitrate() const;
private:
FieldTrialOptional<int> max_qp_;
FieldTrialOptional<bool> default_tl_in_base_layer_;
FieldTrialOptional<int> base_layer_max_bitrate_;
FieldTrialOptional<int> top_layer_max_bitrate;
};
} // namespace webrtc
#endif // RTC_BASE_EXPERIMENTS_EXPERIMENTAL_SCREENSHARE_SETTINGS_H_