Fix race when checking for field trial from the encoder queue.

Bug: webrtc:13633
Change-Id: I9eed5b849ad8b9d739261a119b8bffb3033951be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249948
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35849}
This commit is contained in:
Tommi
2022-01-31 11:35:14 +01:00
committed by WebRTC LUCI CQ
parent dda828f707
commit a8b63626ca
2 changed files with 5 additions and 1 deletions

View File

@ -288,6 +288,8 @@ VideoStreamEncoderResourceManager::VideoStreamEncoderResourceManager(
initial_frame_dropper_(
std::make_unique<InitialFrameDropper>(quality_scaler_resource_)),
quality_scaling_experiment_enabled_(QualityScalingExperiment::Enabled()),
pixel_limit_resource_experiment_enabled_(
field_trial::IsEnabled(kPixelLimitResourceFieldTrialName)),
encoder_target_bitrate_bps_(absl::nullopt),
quality_rampup_experiment_(
QualityRampUpExperimentHelper::CreateIfEnabled(this, clock_)),
@ -350,7 +352,7 @@ void VideoStreamEncoderResourceManager::MaybeInitializePixelLimitResource() {
RTC_DCHECK_RUN_ON(encoder_queue_);
RTC_DCHECK(adaptation_processor_);
RTC_DCHECK(!pixel_limit_resource_);
if (!field_trial::IsEnabled(kPixelLimitResourceFieldTrialName)) {
if (!pixel_limit_resource_experiment_enabled_) {
// The field trial is not running.
return;
}

View File

@ -213,6 +213,8 @@ class VideoStreamEncoderResourceManager
const std::unique_ptr<InitialFrameDropper> initial_frame_dropper_
RTC_GUARDED_BY(encoder_queue_);
const bool quality_scaling_experiment_enabled_ RTC_GUARDED_BY(encoder_queue_);
const bool pixel_limit_resource_experiment_enabled_
RTC_GUARDED_BY(encoder_queue_);
absl::optional<uint32_t> encoder_target_bitrate_bps_
RTC_GUARDED_BY(encoder_queue_);
absl::optional<VideoEncoder::RateControlParameters> encoder_rates_