Atomically increment GainControl instance counter.

Fixes potential data race.

TBR: saza@webrtc.org
Bug: None
Change-Id: I56477566b761884cdb04c20852b8a4f16c158369
Reviewed-on: https://webrtc-review.googlesource.com/94081
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24283}
This commit is contained in:
Alex Loiko
2018-08-14 11:12:32 +02:00
committed by Commit Bot
parent 61e511afbe
commit f689d4c465

View File

@ -12,6 +12,7 @@
#include "modules/audio_processing/include/audio_processing.h"
#include "modules/audio_processing/logging/apm_data_dumper.h"
#include "rtc_base/atomicops.h"
#include "rtc_base/checks.h"
#include "rtc_base/criticalsection.h"
@ -22,12 +23,11 @@ int GainControlForExperimentalAgc::instance_counter_ = 0;
GainControlForExperimentalAgc::GainControlForExperimentalAgc(
GainControl* gain_control,
rtc::CriticalSection* crit_capture)
: data_dumper_(new ApmDataDumper(instance_counter_)),
: data_dumper_(
new ApmDataDumper(rtc::AtomicOps::Increment(&instance_counter_))),
real_gain_control_(gain_control),
volume_(0),
crit_capture_(crit_capture) {
instance_counter_++;
}
crit_capture_(crit_capture) {}
GainControlForExperimentalAgc::~GainControlForExperimentalAgc() = default;