#include "rtc_base/experiments/rate_control_settings.h"
#include <inttypes.h>
#include <stdio.h>
#include <string>
#include "absl/strings/match.h"
#include "rtc_base/logging.h"
#include "rtc_base/numerics/safe_conversions.h"
namespace webrtc {
namespace {
const int kDefaultAcceptedQueueMs = …;
const int kDefaultMinPushbackTargetBitrateBps = …;
const char kCongestionWindowDefaultFieldTrialString[] = …;
const char kUseBaseHeavyVp8Tl3RateAllocationFieldTrialName[] = …;
}
constexpr char CongestionWindowConfig::kKey[];
std::unique_ptr<StructParametersParser> CongestionWindowConfig::Parser() { … }
CongestionWindowConfig CongestionWindowConfig::Parse(absl::string_view config) { … }
constexpr char VideoRateControlConfig::kKey[];
std::unique_ptr<StructParametersParser> VideoRateControlConfig::Parser() { … }
RateControlSettings::RateControlSettings(
const FieldTrialsView& key_value_config) { … }
RateControlSettings::~RateControlSettings() = default;
RateControlSettings::RateControlSettings(RateControlSettings&&) = default;
bool RateControlSettings::UseCongestionWindow() const { … }
int64_t RateControlSettings::GetCongestionWindowAdditionalTimeMs() const { … }
bool RateControlSettings::UseCongestionWindowPushback() const { … }
bool RateControlSettings::UseCongestionWindowDropFrameOnly() const { … }
uint32_t RateControlSettings::CongestionWindowMinPushbackTargetBitrateBps()
const { … }
absl::optional<DataSize>
RateControlSettings::CongestionWindowInitialDataWindow() const { … }
absl::optional<double> RateControlSettings::GetPacingFactor() const { … }
bool RateControlSettings::UseAlrProbing() const { … }
absl::optional<int> RateControlSettings::LibvpxVp8QpMax() const { … }
absl::optional<int> RateControlSettings::LibvpxVp8MinPixels() const { … }
bool RateControlSettings::LibvpxVp8TrustedRateController() const { … }
bool RateControlSettings::Vp8BoostBaseLayerQuality() const { … }
bool RateControlSettings::LibvpxVp9TrustedRateController() const { … }
bool RateControlSettings::Vp8BaseHeavyTl3RateAllocation() const { … }
bool RateControlSettings::UseEncoderBitrateAdjuster() const { … }
bool RateControlSettings::BitrateAdjusterCanUseNetworkHeadroom() const { … }
}