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:
@ -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;
|
||||
}
|
||||
|
@ -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_
|
||||
|
Reference in New Issue
Block a user