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:

committed by
Commit Bot

parent
ec9fc2208e
commit
6415dcad7a
@ -320,7 +320,6 @@ rtc_library("rtc_audio_video") {
|
|||||||
"../rtc_base:checks",
|
"../rtc_base:checks",
|
||||||
"../rtc_base:rtc_task_queue",
|
"../rtc_base:rtc_task_queue",
|
||||||
"../rtc_base:stringutils",
|
"../rtc_base:stringutils",
|
||||||
"../rtc_base/experiments:experimental_screenshare_settings",
|
|
||||||
"../rtc_base/experiments:field_trial_parser",
|
"../rtc_base/experiments:field_trial_parser",
|
||||||
"../rtc_base/experiments:min_video_bitrate_experiment",
|
"../rtc_base/experiments:min_video_bitrate_experiment",
|
||||||
"../rtc_base/experiments:normalize_simulcast_size_experiment",
|
"../rtc_base/experiments:normalize_simulcast_size_experiment",
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
#include "modules/video_coding/utility/simulcast_rate_allocator.h"
|
#include "modules/video_coding/utility/simulcast_rate_allocator.h"
|
||||||
#include "rtc_base/arraysize.h"
|
#include "rtc_base/arraysize.h"
|
||||||
#include "rtc_base/checks.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/min_video_bitrate_experiment.h"
|
||||||
#include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
|
#include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
|
||||||
#include "rtc_base/experiments/rate_control_settings.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
|
// more normal layout, with the regular 3 temporal layer pattern and no fps
|
||||||
// restrictions. The base simulcast layer will still use legacy setup.
|
// restrictions. The base simulcast layer will still use legacy setup.
|
||||||
if (num_simulcast_layers == kMaxScreenshareSimulcastLayers) {
|
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.
|
// Add optional upper simulcast layer.
|
||||||
const int num_temporal_layers = DefaultNumberOfTemporalLayers(1, true);
|
const int num_temporal_layers = DefaultNumberOfTemporalLayers(1, true);
|
||||||
int max_bitrate_bps;
|
int max_bitrate_bps;
|
||||||
@ -400,8 +392,7 @@ std::vector<webrtc::VideoStream> GetScreenshareLayers(
|
|||||||
} else if (DefaultNumberOfTemporalLayers(1, true) != 3 ||
|
} else if (DefaultNumberOfTemporalLayers(1, true) != 3 ||
|
||||||
base_heavy_tl3_rate_alloc) {
|
base_heavy_tl3_rate_alloc) {
|
||||||
// Experimental temporal layer mode used, use increased max bitrate.
|
// Experimental temporal layer mode used, use increased max bitrate.
|
||||||
max_bitrate_bps = experimental_settings.TopLayerMaxBitrate().value_or(
|
max_bitrate_bps = kScreenshareHighStreamMaxBitrate.bps();
|
||||||
kScreenshareHighStreamMaxBitrate.bps());
|
|
||||||
using_boosted_bitrate = true;
|
using_boosted_bitrate = true;
|
||||||
} else {
|
} else {
|
||||||
// Keep current bitrates with default 3tl/8 frame settings.
|
// Keep current bitrates with default 3tl/8 frame settings.
|
||||||
|
@ -315,7 +315,6 @@ rtc_library("video_coding_utility") {
|
|||||||
"../../rtc_base:rtc_base_approved",
|
"../../rtc_base:rtc_base_approved",
|
||||||
"../../rtc_base:rtc_numerics",
|
"../../rtc_base:rtc_numerics",
|
||||||
"../../rtc_base:rtc_task_queue",
|
"../../rtc_base:rtc_task_queue",
|
||||||
"../../rtc_base/experiments:experimental_screenshare_settings",
|
|
||||||
"../../rtc_base/experiments:quality_scaler_settings",
|
"../../rtc_base/experiments:quality_scaler_settings",
|
||||||
"../../rtc_base/experiments:quality_scaling_experiment",
|
"../../rtc_base/experiments:quality_scaling_experiment",
|
||||||
"../../rtc_base/experiments:rate_control_settings",
|
"../../rtc_base/experiments:rate_control_settings",
|
||||||
@ -442,7 +441,6 @@ rtc_library("webrtc_vp8") {
|
|||||||
"../../rtc_base:rtc_base_approved",
|
"../../rtc_base:rtc_base_approved",
|
||||||
"../../rtc_base:rtc_numerics",
|
"../../rtc_base:rtc_numerics",
|
||||||
"../../rtc_base/experiments:cpu_speed_experiment",
|
"../../rtc_base/experiments:cpu_speed_experiment",
|
||||||
"../../rtc_base/experiments:experimental_screenshare_settings",
|
|
||||||
"../../rtc_base/experiments:field_trial_parser",
|
"../../rtc_base/experiments:field_trial_parser",
|
||||||
"../../rtc_base/experiments:rate_control_settings",
|
"../../rtc_base/experiments:rate_control_settings",
|
||||||
"../../system_wrappers:field_trial",
|
"../../system_wrappers:field_trial",
|
||||||
|
@ -33,7 +33,6 @@
|
|||||||
#include "modules/video_coding/utility/simulcast_rate_allocator.h"
|
#include "modules/video_coding/utility/simulcast_rate_allocator.h"
|
||||||
#include "modules/video_coding/utility/simulcast_utility.h"
|
#include "modules/video_coding/utility/simulcast_utility.h"
|
||||||
#include "rtc_base/checks.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_parser.h"
|
||||||
#include "rtc_base/experiments/field_trial_units.h"
|
#include "rtc_base/experiments/field_trial_units.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
@ -280,8 +279,6 @@ LibvpxVp8Encoder::LibvpxVp8Encoder(std::unique_ptr<LibvpxInterface> interface,
|
|||||||
: libvpx_(std::move(interface)),
|
: libvpx_(std::move(interface)),
|
||||||
experimental_cpu_speed_config_arm_(CpuSpeedExperiment::GetConfigs()),
|
experimental_cpu_speed_config_arm_(CpuSpeedExperiment::GetConfigs()),
|
||||||
rate_control_settings_(RateControlSettings::ParseFromFieldTrials()),
|
rate_control_settings_(RateControlSettings::ParseFromFieldTrials()),
|
||||||
screenshare_max_qp_(
|
|
||||||
ExperimentalScreenshareSettings::ParseFromFieldTrials().MaxQp()),
|
|
||||||
frame_buffer_controller_factory_(
|
frame_buffer_controller_factory_(
|
||||||
std::move(settings.frame_buffer_controller_factory)),
|
std::move(settings.frame_buffer_controller_factory)),
|
||||||
resolution_bitrate_limits_(std::move(settings.resolution_bitrate_limits)),
|
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(),
|
qp_max_ = std::max(rate_control_settings_.LibvpxVp8QpMax().value(),
|
||||||
static_cast<int>(vpx_configs_[0].rc_min_quantizer));
|
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_max_quantizer = qp_max_;
|
||||||
vpx_configs_[0].rc_undershoot_pct = 100;
|
vpx_configs_[0].rc_undershoot_pct = 100;
|
||||||
vpx_configs_[0].rc_overshoot_pct = 15;
|
vpx_configs_[0].rc_overshoot_pct = 15;
|
||||||
|
@ -98,7 +98,6 @@ class LibvpxVp8Encoder : public VideoEncoder {
|
|||||||
const absl::optional<std::vector<CpuSpeedExperiment::Config>>
|
const absl::optional<std::vector<CpuSpeedExperiment::Config>>
|
||||||
experimental_cpu_speed_config_arm_;
|
experimental_cpu_speed_config_arm_;
|
||||||
const RateControlSettings rate_control_settings_;
|
const RateControlSettings rate_control_settings_;
|
||||||
const absl::optional<int> screenshare_max_qp_;
|
|
||||||
|
|
||||||
EncodedImageCallback* encoded_complete_callback_ = nullptr;
|
EncodedImageCallback* encoded_complete_callback_ = nullptr;
|
||||||
VideoCodec codec_;
|
VideoCodec codec_;
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
#include "rtc_base/experiments/experimental_screenshare_settings.h"
|
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -90,14 +89,6 @@ bool SimulcastUtility::IsConferenceModeScreenshare(const VideoCodec& codec) {
|
|||||||
return false;
|
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.
|
// Fixed default bitrates for legacy screenshare layers mode.
|
||||||
return (codec.numberOfSimulcastStreams == 0 && codec.maxBitrate == 1000) ||
|
return (codec.numberOfSimulcastStreams == 0 && codec.maxBitrate == 1000) ||
|
||||||
(codec.numberOfSimulcastStreams >= 1 &&
|
(codec.numberOfSimulcastStreams >= 1 &&
|
||||||
|
@ -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") {
|
rtc_library("stable_target_rate_experiment") {
|
||||||
sources = [
|
sources = [
|
||||||
"stable_target_rate_experiment.cc",
|
"stable_target_rate_experiment.cc",
|
||||||
|
@ -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
|
|
@ -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_
|
|
Reference in New Issue
Block a user