From a8b63626cab3af53bd748e5bd3b03938c6c14b51 Mon Sep 17 00:00:00 2001 From: Tommi Date: Mon, 31 Jan 2022 11:35:14 +0100 Subject: [PATCH] Fix race when checking for field trial from the encoder queue. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: webrtc:13633 Change-Id: I9eed5b849ad8b9d739261a119b8bffb3033951be Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249948 Commit-Queue: Tomas Gunnarsson Auto-Submit: Tomas Gunnarsson Reviewed-by: Henrik Boström Commit-Queue: Henrik Boström Cr-Commit-Position: refs/heads/main@{#35849} --- video/adaptation/video_stream_encoder_resource_manager.cc | 4 +++- video/adaptation/video_stream_encoder_resource_manager.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/video/adaptation/video_stream_encoder_resource_manager.cc b/video/adaptation/video_stream_encoder_resource_manager.cc index 6a1e9215a6..2847cdbb83 100644 --- a/video/adaptation/video_stream_encoder_resource_manager.cc +++ b/video/adaptation/video_stream_encoder_resource_manager.cc @@ -288,6 +288,8 @@ VideoStreamEncoderResourceManager::VideoStreamEncoderResourceManager( initial_frame_dropper_( std::make_unique(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; } diff --git a/video/adaptation/video_stream_encoder_resource_manager.h b/video/adaptation/video_stream_encoder_resource_manager.h index f1bc8854b2..26b8db3ffa 100644 --- a/video/adaptation/video_stream_encoder_resource_manager.h +++ b/video/adaptation/video_stream_encoder_resource_manager.h @@ -213,6 +213,8 @@ class VideoStreamEncoderResourceManager const std::unique_ptr 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 encoder_target_bitrate_bps_ RTC_GUARDED_BY(encoder_queue_); absl::optional encoder_rates_