mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +01:00
Removes unused parameters of WebRTC-KeyframeInterval.
Bug: webrtc:12420 Change-Id: I2735cc11f2a558fea397566fc99fdb18f9295e05 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212960 Commit-Queue: Erik Språng <sprang@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33552}
This commit is contained in:
parent
90c3981773
commit
ac732f6a13
5 changed files with 17 additions and 91 deletions
|
@ -22,11 +22,8 @@ constexpr char kFieldTrialName[] = "WebRTC-KeyframeInterval";
|
|||
|
||||
KeyframeIntervalSettings::KeyframeIntervalSettings(
|
||||
const WebRtcKeyValueConfig* const key_value_config)
|
||||
: min_keyframe_send_interval_ms_("min_keyframe_send_interval_ms"),
|
||||
max_wait_for_keyframe_ms_("max_wait_for_keyframe_ms"),
|
||||
max_wait_for_frame_ms_("max_wait_for_frame_ms") {
|
||||
ParseFieldTrial({&min_keyframe_send_interval_ms_, &max_wait_for_keyframe_ms_,
|
||||
&max_wait_for_frame_ms_},
|
||||
: min_keyframe_send_interval_ms_("min_keyframe_send_interval_ms") {
|
||||
ParseFieldTrial({&min_keyframe_send_interval_ms_},
|
||||
key_value_config->Lookup(kFieldTrialName));
|
||||
}
|
||||
|
||||
|
@ -39,13 +36,4 @@ absl::optional<int> KeyframeIntervalSettings::MinKeyframeSendIntervalMs()
|
|||
const {
|
||||
return min_keyframe_send_interval_ms_.GetOptional();
|
||||
}
|
||||
|
||||
absl::optional<int> KeyframeIntervalSettings::MaxWaitForKeyframeMs() const {
|
||||
return max_wait_for_keyframe_ms_.GetOptional();
|
||||
}
|
||||
|
||||
absl::optional<int> KeyframeIntervalSettings::MaxWaitForFrameMs() const {
|
||||
return max_wait_for_frame_ms_.GetOptional();
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
|
|
@ -17,6 +17,9 @@
|
|||
|
||||
namespace webrtc {
|
||||
|
||||
// TODO(bugs.webrtc.org/10427): Remove and replace with proper configuration
|
||||
// parameter, or move to using FIR if intent is to avoid triggering multiple
|
||||
// times to PLIs corresponding to the same request when RTT is large.
|
||||
class KeyframeIntervalSettings final {
|
||||
public:
|
||||
static KeyframeIntervalSettings ParseFromFieldTrials();
|
||||
|
@ -25,22 +28,11 @@ class KeyframeIntervalSettings final {
|
|||
// The encoded keyframe send rate is <= 1/MinKeyframeSendIntervalMs().
|
||||
absl::optional<int> MinKeyframeSendIntervalMs() const;
|
||||
|
||||
// Receiver side.
|
||||
// The keyframe request send rate is
|
||||
// - when we have not received a key frame at all:
|
||||
// <= 1/MaxWaitForKeyframeMs()
|
||||
// - when we have not received a frame recently:
|
||||
// <= 1/MaxWaitForFrameMs()
|
||||
absl::optional<int> MaxWaitForKeyframeMs() const;
|
||||
absl::optional<int> MaxWaitForFrameMs() const;
|
||||
|
||||
private:
|
||||
explicit KeyframeIntervalSettings(
|
||||
const WebRtcKeyValueConfig* key_value_config);
|
||||
|
||||
FieldTrialOptional<int> min_keyframe_send_interval_ms_;
|
||||
FieldTrialOptional<int> max_wait_for_keyframe_ms_;
|
||||
FieldTrialOptional<int> max_wait_for_frame_ms_;
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
|
|
@ -27,60 +27,16 @@ TEST(KeyframeIntervalSettingsTest, ParsesMinKeyframeSendIntervalMs) {
|
|||
100);
|
||||
}
|
||||
|
||||
TEST(KeyframeIntervalSettingsTest, ParsesMaxWaitForKeyframeMs) {
|
||||
EXPECT_FALSE(
|
||||
KeyframeIntervalSettings::ParseFromFieldTrials().MaxWaitForKeyframeMs());
|
||||
|
||||
test::ScopedFieldTrials field_trials(
|
||||
"WebRTC-KeyframeInterval/max_wait_for_keyframe_ms:100/");
|
||||
EXPECT_EQ(
|
||||
KeyframeIntervalSettings::ParseFromFieldTrials().MaxWaitForKeyframeMs(),
|
||||
100);
|
||||
}
|
||||
|
||||
TEST(KeyframeIntervalSettingsTest, ParsesMaxWaitForFrameMs) {
|
||||
EXPECT_FALSE(
|
||||
KeyframeIntervalSettings::ParseFromFieldTrials().MaxWaitForFrameMs());
|
||||
|
||||
test::ScopedFieldTrials field_trials(
|
||||
"WebRTC-KeyframeInterval/max_wait_for_frame_ms:100/");
|
||||
EXPECT_EQ(
|
||||
KeyframeIntervalSettings::ParseFromFieldTrials().MaxWaitForFrameMs(),
|
||||
100);
|
||||
}
|
||||
|
||||
TEST(KeyframeIntervalSettingsTest, ParsesAllValues) {
|
||||
test::ScopedFieldTrials field_trials(
|
||||
"WebRTC-KeyframeInterval/"
|
||||
"min_keyframe_send_interval_ms:100,"
|
||||
"max_wait_for_keyframe_ms:101,"
|
||||
"max_wait_for_frame_ms:102/");
|
||||
EXPECT_EQ(KeyframeIntervalSettings::ParseFromFieldTrials()
|
||||
.MinKeyframeSendIntervalMs(),
|
||||
100);
|
||||
EXPECT_EQ(
|
||||
KeyframeIntervalSettings::ParseFromFieldTrials().MaxWaitForKeyframeMs(),
|
||||
101);
|
||||
EXPECT_EQ(
|
||||
KeyframeIntervalSettings::ParseFromFieldTrials().MaxWaitForFrameMs(),
|
||||
102);
|
||||
}
|
||||
|
||||
TEST(KeyframeIntervalSettingsTest, DoesNotParseAllValuesWhenIncorrectlySet) {
|
||||
EXPECT_FALSE(
|
||||
KeyframeIntervalSettings::ParseFromFieldTrials().MaxWaitForFrameMs());
|
||||
|
||||
test::ScopedFieldTrials field_trials(
|
||||
"WebRTC-KeyframeInterval/"
|
||||
"min_keyframe_send_interval_ms:a,"
|
||||
"max_wait_for_keyframe_ms:b,"
|
||||
"max_wait_for_frame_ms:c/");
|
||||
TEST(KeyframeIntervalSettingsTest, DoesNotParseIncorrectValues) {
|
||||
EXPECT_FALSE(KeyframeIntervalSettings::ParseFromFieldTrials()
|
||||
.MinKeyframeSendIntervalMs());
|
||||
|
||||
test::ScopedFieldTrials field_trials(
|
||||
"WebRTC-KeyframeInterval/min_keyframe_send_interval_ms:a/");
|
||||
EXPECT_FALSE(KeyframeIntervalSettings::ParseFromFieldTrials()
|
||||
.MinKeyframeSendIntervalMs());
|
||||
EXPECT_FALSE(KeyframeIntervalSettings::ParseFromFieldTrials()
|
||||
.MinKeyframeSendIntervalMs());
|
||||
EXPECT_FALSE(
|
||||
KeyframeIntervalSettings::ParseFromFieldTrials().MaxWaitForKeyframeMs());
|
||||
EXPECT_FALSE(
|
||||
KeyframeIntervalSettings::ParseFromFieldTrials().MaxWaitForFrameMs());
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
#include "modules/video_coding/timing.h"
|
||||
#include "modules/video_coding/utility/vp8_header_parser.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/experiments/keyframe_interval_settings.h"
|
||||
#include "rtc_base/location.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "rtc_base/strings/string_builder.h"
|
||||
|
@ -220,12 +219,8 @@ VideoReceiveStream::VideoReceiveStream(
|
|||
config_.frame_decryptor,
|
||||
config_.frame_transformer),
|
||||
rtp_stream_sync_(this),
|
||||
max_wait_for_keyframe_ms_(KeyframeIntervalSettings::ParseFromFieldTrials()
|
||||
.MaxWaitForKeyframeMs()
|
||||
.value_or(kMaxWaitForKeyFrameMs)),
|
||||
max_wait_for_frame_ms_(KeyframeIntervalSettings::ParseFromFieldTrials()
|
||||
.MaxWaitForFrameMs()
|
||||
.value_or(kMaxWaitForFrameMs)),
|
||||
max_wait_for_keyframe_ms_(kMaxWaitForKeyFrameMs),
|
||||
max_wait_for_frame_ms_(kMaxWaitForFrameMs),
|
||||
decode_queue_(task_queue_factory_->CreateTaskQueue(
|
||||
"DecodingQueue",
|
||||
TaskQueueFactory::Priority::HIGH)) {
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
#include "modules/video_coding/timing.h"
|
||||
#include "modules/video_coding/utility/vp8_header_parser.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/experiments/keyframe_interval_settings.h"
|
||||
#include "rtc_base/location.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "rtc_base/strings/string_builder.h"
|
||||
|
@ -226,12 +225,8 @@ VideoReceiveStream2::VideoReceiveStream2(
|
|||
config_.frame_decryptor,
|
||||
config_.frame_transformer),
|
||||
rtp_stream_sync_(current_queue, this),
|
||||
max_wait_for_keyframe_ms_(KeyframeIntervalSettings::ParseFromFieldTrials()
|
||||
.MaxWaitForKeyframeMs()
|
||||
.value_or(kMaxWaitForKeyFrameMs)),
|
||||
max_wait_for_frame_ms_(KeyframeIntervalSettings::ParseFromFieldTrials()
|
||||
.MaxWaitForFrameMs()
|
||||
.value_or(kMaxWaitForFrameMs)),
|
||||
max_wait_for_keyframe_ms_(kMaxWaitForKeyFrameMs),
|
||||
max_wait_for_frame_ms_(kMaxWaitForFrameMs),
|
||||
low_latency_renderer_enabled_("enabled", true),
|
||||
low_latency_renderer_include_predecode_buffer_("include_predecode_buffer",
|
||||
true),
|
||||
|
|
Loading…
Reference in a new issue