mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-14 14:20:45 +01:00

Bug: webrtc:10427 Change-Id: I5e7182fc8932943adc3e5f147be51b0b5df93172 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127882 Reviewed-by: Åsa Persson <asapersson@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Jonas Oreland <jonaso@webrtc.org> Reviewed-by: Philip Eliasson <philipel@webrtc.org> Commit-Queue: Rasmus Brandt <brandtr@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27233}
86 lines
2.9 KiB
C++
86 lines
2.9 KiB
C++
/*
|
|
* Copyright 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/keyframe_interval_settings.h"
|
|
#include "test/field_trial.h"
|
|
#include "test/gtest.h"
|
|
|
|
namespace webrtc {
|
|
namespace {
|
|
|
|
TEST(KeyframeIntervalSettingsTest, ParsesMinKeyframeSendIntervalMs) {
|
|
EXPECT_FALSE(KeyframeIntervalSettings::ParseFromFieldTrials()
|
|
.MinKeyframeSendIntervalMs());
|
|
|
|
test::ScopedFieldTrials field_trials(
|
|
"WebRTC-KeyframeInterval/min_keyframe_send_interval_ms:100/");
|
|
EXPECT_EQ(KeyframeIntervalSettings::ParseFromFieldTrials()
|
|
.MinKeyframeSendIntervalMs(),
|
|
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/");
|
|
EXPECT_FALSE(KeyframeIntervalSettings::ParseFromFieldTrials()
|
|
.MinKeyframeSendIntervalMs());
|
|
EXPECT_FALSE(
|
|
KeyframeIntervalSettings::ParseFromFieldTrials().MaxWaitForKeyframeMs());
|
|
EXPECT_FALSE(
|
|
KeyframeIntervalSettings::ParseFromFieldTrials().MaxWaitForFrameMs());
|
|
}
|
|
|
|
} // namespace
|
|
} // namespace webrtc
|