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:
parent
dda828f707
commit
a8b63626ca
@ -288,6 +288,8 @@ VideoStreamEncoderResourceManager::VideoStreamEncoderResourceManager(
|
|||||||
initial_frame_dropper_(
|
initial_frame_dropper_(
|
||||||
std::make_unique<InitialFrameDropper>(quality_scaler_resource_)),
|
std::make_unique<InitialFrameDropper>(quality_scaler_resource_)),
|
||||||
quality_scaling_experiment_enabled_(QualityScalingExperiment::Enabled()),
|
quality_scaling_experiment_enabled_(QualityScalingExperiment::Enabled()),
|
||||||
|
pixel_limit_resource_experiment_enabled_(
|
||||||
|
field_trial::IsEnabled(kPixelLimitResourceFieldTrialName)),
|
||||||
encoder_target_bitrate_bps_(absl::nullopt),
|
encoder_target_bitrate_bps_(absl::nullopt),
|
||||||
quality_rampup_experiment_(
|
quality_rampup_experiment_(
|
||||||
QualityRampUpExperimentHelper::CreateIfEnabled(this, clock_)),
|
QualityRampUpExperimentHelper::CreateIfEnabled(this, clock_)),
|
||||||
@ -350,7 +352,7 @@ void VideoStreamEncoderResourceManager::MaybeInitializePixelLimitResource() {
|
|||||||
RTC_DCHECK_RUN_ON(encoder_queue_);
|
RTC_DCHECK_RUN_ON(encoder_queue_);
|
||||||
RTC_DCHECK(adaptation_processor_);
|
RTC_DCHECK(adaptation_processor_);
|
||||||
RTC_DCHECK(!pixel_limit_resource_);
|
RTC_DCHECK(!pixel_limit_resource_);
|
||||||
if (!field_trial::IsEnabled(kPixelLimitResourceFieldTrialName)) {
|
if (!pixel_limit_resource_experiment_enabled_) {
|
||||||
// The field trial is not running.
|
// The field trial is not running.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -213,6 +213,8 @@ class VideoStreamEncoderResourceManager
|
|||||||
const std::unique_ptr<InitialFrameDropper> initial_frame_dropper_
|
const std::unique_ptr<InitialFrameDropper> initial_frame_dropper_
|
||||||
RTC_GUARDED_BY(encoder_queue_);
|
RTC_GUARDED_BY(encoder_queue_);
|
||||||
const bool quality_scaling_experiment_enabled_ 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_
|
absl::optional<uint32_t> encoder_target_bitrate_bps_
|
||||||
RTC_GUARDED_BY(encoder_queue_);
|
RTC_GUARDED_BY(encoder_queue_);
|
||||||
absl::optional<VideoEncoder::RateControlParameters> encoder_rates_
|
absl::optional<VideoEncoder::RateControlParameters> encoder_rates_
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user