use super::{AlrExperimentSettings, CongestionWindowConfig, VideoRateControlConfig};
pub use crate::{
goog_cc::{
AlrDetectorConfig, BitrateEstimatorConfig, BweLossExperiment,
BweSeparateAudioPacketsSettings, LossBasedBweV2Config, LossBasedControlConfig,
ProbeControllerConfig, RobustThroughputEstimatorSettings, RttBasedBackoffConfig,
SafeResetOnRouteChange, TrendlineEstimatorSettings,
},
remote_bitrate_estimator::{BweBackOffFactor, EstimateBoundedIncrease},
};
#[derive(Clone, Debug)]
pub struct FieldTrials {
pub robust_throughput_estimator_settings: RobustThroughputEstimatorSettings,
pub probing_configuration: ProbeControllerConfig,
pub rapid_recovery_experiment: bool,
pub alr_detector_parameters: AlrDetectorConfig,
pub alr_experiment_settings: AlrExperimentSettings,
pub add_pacing_to_congestion_window_pushback: bool,
pub congestion_window: CongestionWindowConfig,
pub video_rate_control: VideoRateControlConfig,
pub vp8_base_heavy_tl3_alloc: bool,
pub separate_audio_packets: BweSeparateAudioPacketsSettings,
pub loss_based_control: LossBasedControlConfig,
pub loss_based_bwe_v2: LossBasedBweV2Config,
pub max_rtt_limit: RttBasedBackoffConfig,
pub trendline_estimator_settings: TrendlineEstimatorSettings,
pub bwe_back_off_factor: BweBackOffFactor,
pub no_bitrate_increase_in_alr: bool,
pub estimate_bounded_increase: EstimateBoundedIncrease,
pub min_alloc_as_lower_bound: bool,
pub ignore_probes_lower_than_network_state_estimate: bool,
pub limit_probes_lower_than_throughput_estimate: bool,
pub pace_at_max_of_bwe_and_lower_link_capacity: bool,
pub limit_pacing_factor_by_upper_link_capacity_estimate: bool,
pub safe_reset_on_route_change: SafeResetOnRouteChange,
pub bwe_throughput_window_config: BitrateEstimatorConfig,
pub loss_experiment: BweLossExperiment,
pub receiver_limit_caps_only: bool,
}
impl Default for FieldTrials {
fn default() -> Self {
Self {
robust_throughput_estimator_settings: RobustThroughputEstimatorSettings::default(),
probing_configuration: ProbeControllerConfig::default(),
rapid_recovery_experiment: false,
alr_detector_parameters: AlrDetectorConfig::default(),
alr_experiment_settings: AlrExperimentSettings::default(),
add_pacing_to_congestion_window_pushback: false,
congestion_window: CongestionWindowConfig::default(),
video_rate_control: VideoRateControlConfig::default(),
vp8_base_heavy_tl3_alloc: false,
separate_audio_packets: BweSeparateAudioPacketsSettings::default(),
loss_based_control: LossBasedControlConfig::default(),
loss_based_bwe_v2: LossBasedBweV2Config::default(),
max_rtt_limit: RttBasedBackoffConfig::default(),
trendline_estimator_settings: TrendlineEstimatorSettings::default(),
bwe_back_off_factor: BweBackOffFactor::default(),
no_bitrate_increase_in_alr: false,
estimate_bounded_increase: EstimateBoundedIncrease::default(),
min_alloc_as_lower_bound: true,
ignore_probes_lower_than_network_state_estimate: true,
limit_probes_lower_than_throughput_estimate: true,
pace_at_max_of_bwe_and_lower_link_capacity: false,
limit_pacing_factor_by_upper_link_capacity_estimate: false,
safe_reset_on_route_change: SafeResetOnRouteChange::default(),
bwe_throughput_window_config: BitrateEstimatorConfig::default(),
loss_experiment: BweLossExperiment::default(),
receiver_limit_caps_only: false,
}
}
}